Changeset 1053
- Timestamp:
- 08/18/08 01:50:47 (3 months ago)
- Files:
-
- trunk/build/manifests/jelix-lib.mn (modified) (1 diff)
- trunk/lib/jelix/docs/ns/jforms_1.1.rng (modified) (1 diff)
- trunk/lib/jelix/forms/jFormsBase.class.php (modified) (1 diff)
- trunk/lib/jelix/forms/jFormsCompiler.class.php (modified) (1 diff)
- trunk/lib/jelix/forms/jFormsCompiler_jf_1_0.class.php (modified) (1 diff)
- trunk/lib/jelix/forms/jFormsCompiler_jf_1_1.class.php (modified) (1 diff)
- trunk/lib/jelix/forms/jFormsControl.class.php (modified) (1 diff)
- trunk/lib/jelix/forms/jIFormsBuilderCompiler.iface.php (deleted)
- trunk/lib/jelix/plugins/jforms/html/html.jformsbuilder.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/build/manifests/jelix-lib.mn
r1052 r1053 209 209 jFormsDataContainer.class.php 210 210 jFormsDatasource.class.php 211 jIFormsBuilderCompiler.iface.php212 211 213 212 cd lib/jelix/installer trunk/lib/jelix/docs/ns/jforms_1.1.rng
r1033 r1053 245 245 <ref name="control.common" /> 246 246 <ref name="UI.attr.readonly" /> 247 <optional><attribute name="selectedvalue" /></optional> 247 248 <oneOrMore> 248 249 <element name="item"> trunk/lib/jelix/forms/jFormsBase.class.php
r1032 r1053 557 557 */ 558 558 public function getBuilder($buildertype){ 559 global $gJConfig; 559 560 if($buildertype == '') $buildertype = 'html'; 560 if(isset($ this->builders[$buildertype])){561 if(isset($this->builders[$buildertype] ['inst']))562 return $this->builders[$buildertype] ['inst'];561 if(isset($gJConfig->_pluginsPathList_jforms[$buildertype])){ 562 if(isset($this->builders[$buildertype])) 563 return $this->builders[$buildertype]; 563 564 include_once(JELIX_LIB_PATH.'forms/jFormsBuilderBase.class.php'); 564 include_once ($this->builders[$buildertype][0]); 565 $c = $this->builders[$buildertype][1]; 566 $o = $this->builders[$buildertype]['inst'] = new $c($this); 565 include_once ($gJConfig->_pluginsPathList_jforms[$buildertype].$buildertype.'.jformsbuilder.php'); 566 //echo "builder=".$gJConfig->_pluginsPathList_jforms[$buildertype]; 567 $c = $buildertype.'JformsBuilder'; 568 $o = $this->builders[$buildertype] = new $c($this); 567 569 return $o; 568 570 }else{ trunk/lib/jelix/forms/jFormsCompiler.class.php
r1050 r1053 51 51 $source[]='<?php '; 52 52 $source[]='class '.$selector->getClass().' extends jFormsBase {'; 53 $source[]=' protected $builders = array( '; 54 55 $srcBuilders=array(); 56 foreach($gJConfig->_pluginsPathList_jforms as $buildername => $pluginPath) { 57 $srcBuilders[$buildername]=array(); 58 $srcBuilders[$buildername][] = '<?php '; 59 $srcBuilders[$buildername][] = ' require_once(\''.$pluginPath.$buildername.'.jformsbuilder.php\'); '; 60 $srcBuilders[$buildername][] = ' class '.$selector->getClass().'_builder_'.$buildername.' extends '.$buildername.'JformsBuilder {'; 61 $srcBuilders[$buildername][] = ' public function __construct($form){'; 62 $srcBuilders[$buildername][] = ' parent::__construct($form);'; 63 $srcBuilders[$buildername][] = ' }'; 64 65 $source[]=' \''.$buildername.'\'=>array(\''.$selector->getCompiledBuilderFilePath($buildername).'\',\''.$selector->getClass().'_builder_'.$buildername.'\'), '; 66 } 67 68 $source[]=' );'; 53 69 54 $source[]=' public function __construct($sel, &$container, $reset = false){'; 70 55 $source[]=' parent::__construct($sel, $container, $reset);'; 71 56 72 $compiler->compile($doc, $source , $srcBuilders);57 $compiler->compile($doc, $source); 73 58 74 59 $source[]=" }\n} ?>"; 75 60 jFile::write($selector->getCompiledFilePath(), implode("\n", $source)); 76 61 77 foreach($gJConfig->_pluginsPathList_jforms as $buildername => $pluginPath) {78 $srcBuilders[$buildername][]= '} ?>';79 jFile::write($selector->getCompiledBuilderFilePath($buildername), implode("\n", $srcBuilders[$buildername]));80 }81 62 return true; 82 63 } trunk/lib/jelix/forms/jFormsCompiler_jf_1_0.class.php
r1050 r1053 24 24 protected $sourceFile; 25 25 26 protected $srcBuilders;27 28 26 public function __construct($sourceFile) { 29 27 $this->sourceFile = $sourceFile; 30 28 } 31 29 32 public function compile ($doc, &$source , &$srcBuilders) {30 public function compile ($doc, &$source) { 33 31 34 32 global $gJConfig; 35 36 $this->srcBuilders = &$srcBuilders;37 33 38 34 $xml = simplexml_import_dom($doc); trunk/lib/jelix/forms/jFormsCompiler_jf_1_1.class.php
r1051 r1053 127 127 $hasSelected = false; 128 128 $selectedvalue = null; 129 130 if(isset($attributes['selectedvalue'])){ 131 $selectedvalue= (string)$control['selectedvalue']; 132 $hasSelected = true; 133 unset($attributes['selectedvalue']); 134 } 135 129 136 $itemCount = 0; 130 137 foreach($control->item as $item){ trunk/lib/jelix/forms/jFormsControl.class.php
r1050 r1053 631 631 632 632 function addChildControl($control, $itemValue = '') { 633 $this->childControls[$control->ref] =$control;633 $this->childControls[$control->ref] = $control; 634 634 $this->items[$itemValue][$control->ref] = $control; 635 635 } trunk/lib/jelix/plugins/jforms/html/html.jformsbuilder.php
r1050 r1053 16 16 * @subpackage jelix-plugins 17 17 */ 18 abstractclass htmlJformsBuilder extends jFormsBuilderBase {18 class htmlJformsBuilder extends jFormsBuilderBase { 19 19 20 20 protected $options;
