developer.jelix.org is not used any more and exists only for history. Post new tickets on the Github account.
developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.

Ticket #323: patch_ticket_323_v2.diff

File patch_ticket_323_v2.diff, 1.4 KB (added by Uriel C, 14 years ago)

Version sécurisée qui fait un instanceof jIFormDatasource avant d'assigner la datasource

  • lib/jelix/forms/jFormsCompiler.class.php

     
    44* @subpackage forms
    55* @author     Laurent Jouanneau
    66* @contributor Loic Mathaud
     7* @contributor Uriel Corfa Emotic SARL
    78* @copyright   2006-2007 Laurent Jouanneau
    89* @copyright   2007 Loic Mathaud
     10* @copyright   2007 Emotic SARL
    911* @link        http://www.jelix.org
    1012* @licence    GNU Lesser General Public Licence see LICENCE file or http://www.gnu.org/licenses/lgpl.html
    1113*/
     
    239241                    if($controltype == 'submit'){
    240242                        $source[]='$ctrl->standalone=false;';
    241243                    }
     244                }elseif(isset($control['dsclass'])){
     245                    $dsclass = (string)$control['dsclass'];
     246                    $class = new jSelectorClass($dsclass);
     247                    $source[]='jClasses::inc(\''.$dsclass.'\');';
     248                    $source[]='$datasource = new '.$class->className.'($this->id());';
     249                    $source[]='if ($datasource instanceof jIFormDatasource){$ctrl->datasource=$datasource;}';
     250                    $source[]='else{$ctrl->datasource=new jFormStaticDatasource();}';
    242251                }elseif(isset($control->item)){
    243252                    if($controltype == 'submit'){
    244253                        $source[]='$ctrl->standalone=false;';