Changeset 584

Show
Ignore:
Timestamp:
09/14/07 15:29:34 (1 year ago)
Author:
laurentj
Message:

fixed bug #270: jdao, patterns in property were not supports well

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lib/jelix/dao/jDaoParser.class.php

    r582 r584  
    270270    * constructor. 
    271271    */ 
    272     function __construct ($params, $def){ 
     272    function __construct ($aParams, $def){ 
    273273        $needed = array('name', 'fieldname', 'table', 'datatype', 'required', 'minlength', 
    274         'maxlength', 'regexp', 'sequence', 'updatemotif', 'insertmotif', 'selectmotif', 'updatepattern', 'insertpattern', 'selectpattern'); 
    275  
    276         $params = $def->getAttr($params, $needed); 
     274        'maxlength', 'regexp', 'sequence'); 
     275 
     276        $params = $def->getAttr($aParams, $needed); 
    277277 
    278278        if ($params['name']===null){ 
     
    333333            // *motif attributes are deprecated since  1.0b3 
    334334            // TODO: remove support of *motif attributes in jelix 1.0 
    335             $this->updatePattern= $params['updatemotif']!==null ? $params['updatemotif'] :'%s'; 
    336             $this->insertPattern= $params['insertmotif']!==null ? $params['insertmotif'] :'%s'; 
    337             $this->selectPattern= $params['selectmotif']!==null ? $params['selectmotif'] :'%s'; 
    338             $this->updatePattern= $params['updatepattern']!==null ? $params['updatepattern'] :$this->updatePattern; 
    339             $this->insertPattern= $params['insertpattern']!==null ? $params['insertpattern'] :$this->insertPattern; 
    340             $this->selectPattern= $params['selectpattern']!==null ? $params['selectpattern'] :$this->selectPattern; 
     335 
     336            if(isset($aParams['updatepattern'])) { 
     337                $this->updatePattern=(string)$aParams['updatepattern']; 
     338            }elseif(isset($aParams['updatemotif'])){ 
     339                $this->updatePattern=(string)$aParams['updatemotif']; 
     340            } 
     341 
     342            if(isset($aParams['insertpattern'])) { 
     343                $this->insertPattern=(string)$aParams['insertpattern']; 
     344            }elseif(isset($aParams['insertmotif'])){ 
     345                $this->insertPattern=(string)$aParams['insertmotif']; 
     346            } 
     347 
     348            if(isset($aParams['selectpattern'])) { 
     349                $this->selectPattern=(string)$aParams['selectpattern']; 
     350            }elseif(isset($aParams['selectmotif'])){ 
     351                $this->selectPattern=(string)$aParams['selectmotif']; 
     352            } 
    341353        } 
    342354 
  • trunk/lib/jelix/dao/jDaoParser.class.php

    r582 r584  
    270270    * constructor. 
    271271    */ 
    272     function __construct ($params, $def){ 
     272    function __construct ($aParams, $def){ 
    273273        $needed = array('name', 'fieldname', 'table', 'datatype', 'required', 'minlength', 
    274         'maxlength', 'regexp', 'sequence', 'updatemotif', 'insertmotif', 'selectmotif', 'updatepattern', 'insertpattern', 'selectpattern'); 
    275  
    276         $params = $def->getAttr($params, $needed); 
     274        'maxlength', 'regexp', 'sequence'); 
     275 
     276        $params = $def->getAttr($aParams, $needed); 
    277277 
    278278        if ($params['name']===null){ 
     
    333333            // *motif attributes are deprecated since  1.0b3 
    334334            // TODO: remove support of *motif attributes in jelix 1.0 
    335             $this->updatePattern= $params['updatemotif']!==null ? $params['updatemotif'] :'%s'; 
    336             $this->insertPattern= $params['insertmotif']!==null ? $params['insertmotif'] :'%s'; 
    337             $this->selectPattern= $params['selectmotif']!==null ? $params['selectmotif'] :'%s'; 
    338             $this->updatePattern= $params['updatepattern']!==null ? $params['updatepattern'] :$this->updatePattern; 
    339             $this->insertPattern= $params['insertpattern']!==null ? $params['insertpattern'] :$this->insertPattern; 
    340             $this->selectPattern= $params['selectpattern']!==null ? $params['selectpattern'] :$this->selectPattern; 
     335 
     336            if(isset($aParams['updatepattern'])) { 
     337                $this->updatePattern=(string)$aParams['updatepattern']; 
     338            }elseif(isset($aParams['updatemotif'])){ 
     339                $this->updatePattern=(string)$aParams['updatemotif']; 
     340            } 
     341 
     342            if(isset($aParams['insertpattern'])) { 
     343                $this->insertPattern=(string)$aParams['insertpattern']; 
     344            }elseif(isset($aParams['insertmotif'])){ 
     345                $this->insertPattern=(string)$aParams['insertmotif']; 
     346            } 
     347 
     348            if(isset($aParams['selectpattern'])) { 
     349                $this->selectPattern=(string)$aParams['selectpattern']; 
     350            }elseif(isset($aParams['selectmotif'])){ 
     351                $this->selectPattern=(string)$aParams['selectmotif']; 
     352            } 
    341353        } 
    342354 
  • trunk/lib/jelix/INSTALL

    r418 r584  
    55--------------------- 
    66 
    7 Jelix worked only on PHP 5.0 and upper. 
     7Jelix works only on PHP 5.1 and upper. 
    88 
    99This php extensions should be installed : dom, simplexml, pcre, session, spl, tokenizer. 
     
    2929 
    3030see http://jelix.org/articles/manuel/installation 
    31 or http://jelix.org/articles/en/manuel/installation 
     31or http://jelix.org/articles/en/manual/installation 
  • trunk/lib/jelix/INSTALL

    r418 r584  
    55--------------------- 
    66 
    7 Jelix worked only on PHP 5.0 and upper. 
     7Jelix works only on PHP 5.1 and upper. 
    88 
    99This php extensions should be installed : dom, simplexml, pcre, session, spl, tokenizer. 
     
    2929 
    3030see http://jelix.org/articles/manuel/installation 
    31 or http://jelix.org/articles/en/manuel/installation 
     31or http://jelix.org/articles/en/manual/installation 
  • trunk/testapp/modules/jelix_tests/tests/jdao.parser.html.php

    r576 r584  
    390390        </object>' 
    391391        ), 
    392  
     392       array( '<?xml version="1.0"?> 
     393        <property name="label" datatype="string" selectpattern="%s" insertpattern="" updatepattern=""/>', 
     394        '<?xml version="1.0"?> 
     395        <object> 
     396            <string p="name" value="label"/> 
     397            <string p="fieldName" value="label"/> 
     398            <string p="table" value="news"/> 
     399            <string p="datatype" value="string"/> 
     400            <null p="regExp"/> 
     401            <boolean p="required" value="false"/> 
     402            <boolean p="requiredInConditions" value="false"/> 
     403            <boolean p="isPK" value="false" /> 
     404            <boolean p="isFK" value="false" /> 
     405            <string p="updatePattern" value="" /> 
     406            <string p="insertPattern" value="" /> 
     407            <string p="selectPattern" value="%s" /> 
     408            <string p="sequenceName" value="" /> 
     409            <null p="maxlength"/> 
     410            <null p="minlength"/> 
     411            <boolean p="ofPrimaryTable" value="true" /> 
     412        </object>' 
     413        ), 
     414 
     415       array( '<?xml version="1.0"?> 
     416        <property name="label" datatype="string" selectpattern="CASE WHEN LENGTH(password) = 0 THEN 1 ELSE 0 END" insertpattern="" updatepattern=""/>', 
     417        '<?xml version="1.0"?> 
     418        <object> 
     419            <string p="name" value="label"/> 
     420            <string p="fieldName" value="label"/> 
     421            <string p="table" value="news"/> 
     422            <string p="datatype" value="string"/> 
     423            <null p="regExp"/> 
     424            <boolean p="required" value="false"/> 
     425            <boolean p="requiredInConditions" value="false"/> 
     426            <boolean p="isPK" value="false" /> 
     427            <boolean p="isFK" value="false" /> 
     428            <string p="updatePattern" value="" /> 
     429            <string p="insertPattern" value="" /> 
     430            <string p="selectPattern" value="CASE WHEN LENGTH(password) = 0 THEN 1 ELSE 0 END" /> 
     431            <string p="sequenceName" value="" /> 
     432            <null p="maxlength"/> 
     433            <null p="minlength"/> 
     434            <boolean p="ofPrimaryTable" value="true" /> 
     435        </object>' 
     436        ), 
    393437    ); 
    394438 
  • trunk/testapp/modules/jelix_tests/tests/jdao.parser.html.php

    r576 r584  
    390390        </object>' 
    391391        ), 
    392  
     392       array( '<?xml version="1.0"?> 
     393        <property name="label" datatype="string" selectpattern="%s" insertpattern="" updatepattern=""/>', 
     394        '<?xml version="1.0"?> 
     395        <object> 
     396            <string p="name" value="label"/> 
     397            <string p="fieldName" value="label"/> 
     398            <string p="table" value="news"/> 
     399            <string p="datatype" value="string"/> 
     400            <null p="regExp"/> 
     401            <boolean p="required" value="false"/> 
     402            <boolean p="requiredInConditions" value="false"/> 
     403            <boolean p="isPK" value="false" /> 
     404            <boolean p="isFK" value="false" /> 
     405            <string p="updatePattern" value="" /> 
     406            <string p="insertPattern" value="" /> 
     407            <string p="selectPattern" value="%s" /> 
     408            <string p="sequenceName" value="" /> 
     409            <null p="maxlength"/> 
     410            <null p="minlength"/> 
     411            <boolean p="ofPrimaryTable" value="true" /> 
     412        </object>' 
     413        ), 
     414 
     415       array( '<?xml version="1.0"?> 
     416        <property name="label" datatype="string" selectpattern="CASE WHEN LENGTH(password) = 0 THEN 1 ELSE 0 END" insertpattern="" updatepattern=""/>', 
     417        '<?xml version="1.0"?> 
     418        <object> 
     419            <string p="name" value="label"/> 
     420            <string p="fieldName" value="label"/> 
     421            <string p="table" value="news"/> 
     422            <string p="datatype" value="string"/> 
     423            <null p="regExp"/> 
     424            <boolean p="required" value="false"/> 
     425            <boolean p="requiredInConditions" value="false"/> 
     426            <boolean p="isPK" value="false" /> 
     427            <boolean p="isFK" value="false" /> 
     428            <string p="updatePattern" value="" /> 
     429            <string p="insertPattern" value="" /> 
     430            <string p="selectPattern" value="CASE WHEN LENGTH(password) = 0 THEN 1 ELSE 0 END" /> 
     431            <string p="sequenceName" value="" /> 
     432            <null p="maxlength"/> 
     433            <null p="minlength"/> 
     434            <boolean p="ofPrimaryTable" value="true" /> 
     435        </object>' 
     436        ), 
    393437    ); 
    394438 
Download in other formats: Unified Diff Zip Archive