Changeset 843
- Timestamp:
- 03/26/08 00:30:24 (8 months ago)
- Files:
-
- trunk/lib/jelix/core/defaultconfig.ini.php (modified) (1 diff)
- trunk/lib/jelix/core/defaultconfig.ini.php (modified) (1 diff)
- trunk/lib/jelix/core/defaultconfig.ini.php (modified) (1 diff)
- trunk/lib/jelix/plugins/tpl/html/block.form.php (modified) (1 diff)
- trunk/lib/jelix/plugins/tpl/html/block.form.php (modified) (1 diff)
- trunk/lib/jelix/plugins/tpl/html/block.form.php (modified) (1 diff)
- trunk/lib/jelix/utils/jFilter.class.php (modified) (2 diffs)
- trunk/lib/jelix/utils/jFilter.class.php (modified) (2 diffs)
- trunk/lib/jelix/utils/jFilter.class.php (modified) (2 diffs)
- trunk/lib/jelix/utils/jIniFile.class.php (modified) (2 diffs)
- trunk/lib/jelix/utils/jIniFile.class.php (modified) (2 diffs)
- trunk/lib/jelix/utils/jIniFile.class.php (modified) (2 diffs)
- trunk/testapp/modules/jelix_tests/tests/jforms.htmlbuilder.html_cli.php (modified) (2 diffs)
- trunk/testapp/modules/jelix_tests/tests/jforms.htmlbuilder.html_cli.php (modified) (2 diffs)
- trunk/testapp/modules/jelix_tests/tests/jforms.htmlbuilder.html_cli.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/lib/jelix/core/defaultconfig.ini.php
r841 r843 221 221 222 222 [htmleditors] 223 wymeditor = jelix/wymeditor/jquery.wymeditor.js 223 wymeditor[] = jelix/jquery/jquery.js 224 wymeditor[] = jelix/wymeditor/jquery.wymeditor.js 224 225 wymeditor.config.simple = jelix/wymeditor/config/simple.js 225 226 wymeditor.skin.default = jelix/wymeditor/skins/default/screen.css trunk/lib/jelix/core/defaultconfig.ini.php
r841 r843 221 221 222 222 [htmleditors] 223 wymeditor = jelix/wymeditor/jquery.wymeditor.js 223 wymeditor[] = jelix/jquery/jquery.js 224 wymeditor[] = jelix/wymeditor/jquery.wymeditor.js 224 225 wymeditor.config.simple = jelix/wymeditor/config/simple.js 225 226 wymeditor.skin.default = jelix/wymeditor/skins/default/screen.css trunk/lib/jelix/core/defaultconfig.ini.php
r841 r843 221 221 222 222 [htmleditors] 223 wymeditor = jelix/wymeditor/jquery.wymeditor.js 223 wymeditor[] = jelix/jquery/jquery.js 224 wymeditor[] = jelix/wymeditor/jquery.wymeditor.js 224 225 wymeditor.config.simple = jelix/wymeditor/config/simple.js 225 226 wymeditor.skin.default = jelix/wymeditor/skins/default/screen.css trunk/lib/jelix/plugins/tpl/html/block.form.php
r841 r843 75 75 foreach($t->_vars as $k=>$v){ 76 76 if($v instanceof jFormsBase && count($edlist = $v->getHtmlEditors())) { 77 $gJCoord->response->addJSLink($www.\'jquery/jquery.js\');78 77 foreach($edlist as $ed) { 79 if(isset($gJConfig->htmleditors[$ed->engine])) 80 $gJCoord->response->addJSLink($bp.$gJConfig->htmleditors[$ed->engine]); 78 if(isset($gJConfig->htmleditors[$ed->engine])){ 79 if(is_array($gJConfig->htmleditors[$ed->engine])){ 80 foreach($gJConfig->htmleditors[$ed->engine] as $url) { 81 $gJCoord->response->addJSLink($bp.$url); 82 } 83 }else 84 $gJCoord->response->addJSLink($bp.$gJConfig->htmleditors[$ed->engine]); 85 } 81 86 if(isset($gJConfig->htmleditors[$ed->engine.\'.config.\'.$ed->config])) 82 87 $gJCoord->response->addJSLink($bp.$gJConfig->htmleditors[$ed->engine.\'.config.\'.$ed->config]); trunk/lib/jelix/plugins/tpl/html/block.form.php
r841 r843 75 75 foreach($t->_vars as $k=>$v){ 76 76 if($v instanceof jFormsBase && count($edlist = $v->getHtmlEditors())) { 77 $gJCoord->response->addJSLink($www.\'jquery/jquery.js\');78 77 foreach($edlist as $ed) { 79 if(isset($gJConfig->htmleditors[$ed->engine])) 80 $gJCoord->response->addJSLink($bp.$gJConfig->htmleditors[$ed->engine]); 78 if(isset($gJConfig->htmleditors[$ed->engine])){ 79 if(is_array($gJConfig->htmleditors[$ed->engine])){ 80 foreach($gJConfig->htmleditors[$ed->engine] as $url) { 81 $gJCoord->response->addJSLink($bp.$url); 82 } 83 }else 84 $gJCoord->response->addJSLink($bp.$gJConfig->htmleditors[$ed->engine]); 85 } 81 86 if(isset($gJConfig->htmleditors[$ed->engine.\'.config.\'.$ed->config])) 82 87 $gJCoord->response->addJSLink($bp.$gJConfig->htmleditors[$ed->engine.\'.config.\'.$ed->config]); trunk/lib/jelix/plugins/tpl/html/block.form.php
r841 r843 75 75 foreach($t->_vars as $k=>$v){ 76 76 if($v instanceof jFormsBase && count($edlist = $v->getHtmlEditors())) { 77 $gJCoord->response->addJSLink($www.\'jquery/jquery.js\');78 77 foreach($edlist as $ed) { 79 if(isset($gJConfig->htmleditors[$ed->engine])) 80 $gJCoord->response->addJSLink($bp.$gJConfig->htmleditors[$ed->engine]); 78 if(isset($gJConfig->htmleditors[$ed->engine])){ 79 if(is_array($gJConfig->htmleditors[$ed->engine])){ 80 foreach($gJConfig->htmleditors[$ed->engine] as $url) { 81 $gJCoord->response->addJSLink($bp.$url); 82 } 83 }else 84 $gJCoord->response->addJSLink($bp.$gJConfig->htmleditors[$ed->engine]); 85 } 81 86 if(isset($gJConfig->htmleditors[$ed->engine.\'.config.\'.$ed->config])) 82 87 $gJCoord->response->addJSLink($bp.$gJConfig->htmleditors[$ed->engine.\'.config.\'.$ed->config]); trunk/lib/jelix/utils/jFilter.class.php
r836 r843 239 239 $item->parentNode->removeChild($item); 240 240 } 241 242 241 self::cleanAttr($doc->getElementsByTagName('body')->item(0)); 243 242 $doc->formatOutput = true; … … 256 255 $child->removeAttributeNode($attr); 257 256 else if(strtolower($attr->localName) == 'href') { 258 if( strpos(strtolower(trim($attr->nodeValue)),"javascript:") !==false)257 if(preg_match("/^(javascript|vbscript)\:.*/",trim($attr->nodeValue))) 259 258 $child->removeAttributeNode($attr); 260 259 } trunk/lib/jelix/utils/jFilter.class.php
r836 r843 239 239 $item->parentNode->removeChild($item); 240 240 } 241 242 241 self::cleanAttr($doc->getElementsByTagName('body')->item(0)); 243 242 $doc->formatOutput = true; … … 256 255 $child->removeAttributeNode($attr); 257 256 else if(strtolower($attr->localName) == 'href') { 258 if( strpos(strtolower(trim($attr->nodeValue)),"javascript:") !==false)257 if(preg_match("/^(javascript|vbscript)\:.*/",trim($attr->nodeValue))) 259 258 $child->removeAttributeNode($attr); 260 259 } trunk/lib/jelix/utils/jFilter.class.php
r836 r843 239 239 $item->parentNode->removeChild($item); 240 240 } 241 242 241 self::cleanAttr($doc->getElementsByTagName('body')->item(0)); 243 242 $doc->formatOutput = true; … … 256 255 $child->removeAttributeNode($attr); 257 256 else if(strtolower($attr->localName) == 'href') { 258 if( strpos(strtolower(trim($attr->nodeValue)),"javascript:") !==false)257 if(preg_match("/^(javascript|vbscript)\:.*/",trim($attr->nodeValue))) 259 258 $child->removeAttributeNode($attr); 260 259 } trunk/lib/jelix/utils/jIniFile.class.php
r839 r843 45 45 $result.='['.$k."]\n"; 46 46 foreach($v as $k2 => $v2){ 47 $result .= $k2.'='.self::_iniValue($v2)."\n";47 $result .= self::_iniValue($k2,$v2); 48 48 } 49 49 } else { 50 // on met les valeurs simples en debut de fichier51 $result = $k.'='.self::_iniValue($v)."\n".$result;50 // we put simple values at the beginning of the file. 51 $result = self::_iniValue($k,$v).$result; 52 52 } 53 53 } … … 73 73 * @return string the formated value 74 74 */ 75 static private function _iniValue($value){ 76 if ($value == '' || is_numeric($value) || preg_match("/^[\w]*$/", $value)) { 77 return $value; 75 static private function _iniValue($key, $value){ 76 if(is_array($value)) { 77 $res = ''; 78 foreach($value as $v) 79 $res.=self::_iniValue($key.'[]', $v); 80 return $res; 81 }else if ($value == '' || is_numeric($value) || preg_match("/^[\w]*$/", $value)) { 82 return $key.'='.$value."\n"; 78 83 } else { 79 return '"'.$value.'"';84 return $key.'="'.$value."\"\n"; 80 85 } 81 86 } trunk/lib/jelix/utils/jIniFile.class.php
r839 r843 45 45 $result.='['.$k."]\n"; 46 46 foreach($v as $k2 => $v2){ 47 $result .= $k2.'='.self::_iniValue($v2)."\n";47 $result .= self::_iniValue($k2,$v2); 48 48 } 49 49 } else { 50 // on met les valeurs simples en debut de fichier51 $result = $k.'='.self::_iniValue($v)."\n".$result;50 // we put simple values at the beginning of the file. 51 $result = self::_iniValue($k,$v).$result; 52 52 } 53 53 } … … 73 73 * @return string the formated value 74 74 */ 75 static private function _iniValue($value){ 76 if ($value == '' || is_numeric($value) || preg_match("/^[\w]*$/", $value)) { 77 return $value; 75 static private function _iniValue($key, $value){ 76 if(is_array($value)) { 77 $res = ''; 78 foreach($value as $v) 79 $res.=self::_iniValue($key.'[]', $v); 80 return $res; 81 }else if ($value == '' || is_numeric($value) || preg_match("/^[\w]*$/", $value)) { 82 return $key.'='.$value."\n"; 78 83 } else { 79 return '"'.$value.'"';84 return $key.'="'.$value."\"\n"; 80 85 } 81 86 } trunk/lib/jelix/utils/jIniFile.class.php
r839 r843 45 45 $result.='['.$k."]\n"; 46 46 foreach($v as $k2 => $v2){ 47 $result .= $k2.'='.self::_iniValue($v2)."\n";47 $result .= self::_iniValue($k2,$v2); 48 48 } 49 49 } else { 50 // on met les valeurs simples en debut de fichier51 $result = $k.'='.self::_iniValue($v)."\n".$result;50 // we put simple values at the beginning of the file. 51 $result = self::_iniValue($k,$v).$result; 52 52 } 53 53 } … … 73 73 * @return string the formated value 74 74 */ 75 static private function _iniValue($value){ 76 if ($value == '' || is_numeric($value) || preg_match("/^[\w]*$/", $value)) { 77 return $value; 75 static private function _iniValue($key, $value){ 76 if(is_array($value)) { 77 $res = ''; 78 foreach($value as $v) 79 $res.=self::_iniValue($key.'[]', $v); 80 return $res; 81 }else if ($value == '' || is_numeric($value) || preg_match("/^[\w]*$/", $value)) { 82 return $key.'='.$value."\n"; 78 83 } else { 79 return '"'.$value.'"';84 return $key.'="'.$value."\"\n"; 80 85 } 81 86 } trunk/testapp/modules/jelix_tests/tests/jforms.htmlbuilder.html_cli.php
r841 r843 741 741 742 742 ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 743 $this->assertEqualOrDiff('<textarea name="contenu" id="'.$this->formname.'_contenu" rows="5" cols="40"><p>Ceci est un contenu</p></textarea>', $out); 743 $this->assertEqualOrDiff('<script type="text/javascript"> 744 //<![CDATA[ 745 jelix_wymeditor_simple("'.$this->formname.'_contenu"); 746 //]]> 747 </script><textarea name="contenu" id="'.$this->formname.'_contenu" rows="5" cols="40"><p>Ceci est un contenu</p></textarea>', $out); 744 748 745 749 $ctrl->readonly=true; 746 750 ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 747 $this->assertEqualOrDiff('<textarea name="contenu" id="'.$this->formname.'_contenu" readonly="readonly" rows="5" cols="40"><p>Ceci est un contenu</p></textarea>', $out); 751 $this->assertEqualOrDiff('<script type="text/javascript"> 752 //<![CDATA[ 753 jelix_wymeditor_simple("'.$this->formname.'_contenu"); 754 //]]> 755 </script><textarea name="contenu" id="'.$this->formname.'_contenu" readonly="readonly" rows="5" cols="40"><p>Ceci est un contenu</p></textarea>', $out); 748 756 749 757 $ctrl->hint='ceci est un tooltip'; … … 752 760 753 761 ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 754 $this->assertEqualOrDiff('<textarea name="contenu" id="'.$this->formname.'_contenu" readonly="readonly" title="ceci est un tooltip" rows="5" cols="40"><p>Ceci est un contenu</p></textarea>', $out); 762 $this->assertEqualOrDiff('<script type="text/javascript"> 763 //<![CDATA[ 764 jelix_wymeditor_simple("'.$this->formname.'_contenu"); 765 //]]> 766 </script><textarea name="contenu" id="'.$this->formname.'_contenu" readonly="readonly" title="ceci est un tooltip" rows="5" cols="40"><p>Ceci est un contenu</p></textarea>', $out); 755 767 756 768 $ctrl->rows=20; 757 769 ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 758 $this->assertEqualOrDiff('<textarea name="contenu" id="'.$this->formname.'_contenu" readonly="readonly" title="ceci est un tooltip" rows="20" cols="40"><p>Ceci est un contenu</p></textarea>', $out); 770 $this->assertEqualOrDiff('<script type="text/javascript"> 771 //<![CDATA[ 772 jelix_wymeditor_simple("'.$this->formname.'_contenu"); 773 //]]> 774 </script><textarea name="contenu" id="'.$this->formname.'_contenu" readonly="readonly" title="ceci est un tooltip" rows="20" cols="40"><p>Ceci est un contenu</p></textarea>', $out); 759 775 760 776 $ctrl->cols=60; 761 777 ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 762 $this->assertEqualOrDiff('<textarea name="contenu" id="'.$this->formname.'_contenu" readonly="readonly" title="ceci est un tooltip" rows="20" cols="60"><p>Ceci est un contenu</p></textarea>', $out); 778 $this->assertEqualOrDiff('<script type="text/javascript"> 779 //<![CDATA[ 780 jelix_wymeditor_simple("'.$this->formname.'_contenu"); 781 //]]> 782 </script><textarea name="contenu" id="'.$this->formname.'_contenu" readonly="readonly" title="ceci est un tooltip" rows="20" cols="60"><p>Ceci est un contenu</p></textarea>', $out); 763 783 764 784 } trunk/testapp/modules/jelix_tests/tests/jforms.htmlbuilder.html_cli.php
r841 r843 741 741 742 742 ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 743 $this->assertEqualOrDiff('<textarea name="contenu" id="'.$this->formname.'_contenu" rows="5" cols="40"><p>Ceci est un contenu</p></textarea>', $out); 743 $this->assertEqualOrDiff('<script type="text/javascript"> 744 //<![CDATA[ 745 jelix_wymeditor_simple("'.$this->formname.'_contenu"); 746 //]]> 747 </script><textarea name="contenu" id="'.$this->formname.'_contenu" rows="5" cols="40"><p>Ceci est un contenu</p></textarea>', $out); 744 748 745 749 $ctrl->readonly=true; 746 750 ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 747 $this->assertEqualOrDiff('<textarea name="contenu" id="'.$this->formname.'_contenu" readonly="readonly" rows="5" cols="40"><p>Ceci est un contenu</p></textarea>', $out); 751 $this->assertEqualOrDiff('<script type="text/javascript"> 752 //<![CDATA[ 753 jelix_wymeditor_simple("'.$this->formname.'_contenu"); 754 //]]> 755 </script><textarea name="contenu" id="'.$this->formname.'_contenu" readonly="readonly" rows="5" cols="40"><p>Ceci est un contenu</p></textarea>', $out); 748 756 749 757 $ctrl->hint='ceci est un tooltip'; … … 752 760 753 761 ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 754 $this->assertEqualOrDiff('<textarea name="contenu" id="'.$this->formname.'_contenu" readonly="readonly" title="ceci est un tooltip" rows="5" cols="40"><p>Ceci est un contenu</p></textarea>', $out); 762 $this->assertEqualOrDiff('<script type="text/javascript"> 763 //<![CDATA[ 764 jelix_wymeditor_simple("'.$this->formname.'_contenu"); 765 //]]> 766 </script><textarea name="contenu" id="'.$this->formname.'_contenu" readonly="readonly" title="ceci est un tooltip" rows="5" cols="40"><p>Ceci est un contenu</p></textarea>', $out); 755 767 756 768 $ctrl->rows=20; 757 769 ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 758 $this->assertEqualOrDiff('<textarea name="contenu" id="'.$this->formname.'_contenu" readonly="readonly" title="ceci est un tooltip" rows="20" cols="40"><p>Ceci est un contenu</p></textarea>', $out); 770 $this->assertEqualOrDiff('<script type="text/javascript"> 771 //<![CDATA[ 772 jelix_wymeditor_simple("'.$this->formname.'_contenu"); 773 //]]> 774 </script><textarea name="contenu" id="'.$this->formname.'_contenu" readonly="readonly" title="ceci est un tooltip" rows="20" cols="40"><p>Ceci est un contenu</p></textarea>', $out); 759 775 760 776 $ctrl->cols=60; 761 777 ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 762 $this->assertEqualOrDiff('<textarea name="contenu" id="'.$this->formname.'_contenu" readonly="readonly" title="ceci est un tooltip" rows="20" cols="60"><p>Ceci est un contenu</p></textarea>', $out); 778 $this->assertEqualOrDiff('<script type="text/javascript"> 779 //<![CDATA[ 780 jelix_wymeditor_simple("'.$this->formname.'_contenu"); 781 //]]> 782 </script><textarea name="contenu" id="'.$this->formname.'_contenu" readonly="readonly" title="ceci est un tooltip" rows="20" cols="60"><p>Ceci est un contenu</p></textarea>', $out); 763 783 764 784 } trunk/testapp/modules/jelix_tests/tests/jforms.htmlbuilder.html_cli.php
r841 r843 741 741 742 742 ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 743 $this->assertEqualOrDiff('<textarea name="contenu" id="'.$this->formname.'_contenu" rows="5" cols="40"><p>Ceci est un contenu</p></textarea>', $out); 743 $this->assertEqualOrDiff('<script type="text/javascript"> 744 //<![CDATA[ 745 jelix_wymeditor_simple("'.$this->formname.'_contenu"); 746 //]]> 747 </script><textarea name="contenu" id="'.$this->formname.'_contenu" rows="5" cols="40"><p>Ceci est un contenu</p></textarea>', $out); 744 748 745 749 $ctrl->readonly=true; 746 750 ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 747 $this->assertEqualOrDiff('<textarea name="contenu" id="'.$this->formname.'_contenu" readonly="readonly" rows="5" cols="40"><p>Ceci est un contenu</p></textarea>', $out); 751 $this->assertEqualOrDiff('<script type="text/javascript"> 752 //<![CDATA[ 753 jelix_wymeditor_simple("'.$this->formname.'_contenu"); 754 //]]> 755 </script><textarea name="contenu" id="'.$this->formname.'_contenu" readonly="readonly" rows="5" cols="40"><p>Ceci est un contenu</p></textarea>', $out); 748 756 749 757 $ctrl->hint='ceci est un tooltip'; … … 752 760 753 761 ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 754 $this->assertEqualOrDiff('<textarea name="contenu" id="'.$this->formname.'_contenu" readonly="readonly" title="ceci est un tooltip" rows="5" cols="40"><p>Ceci est un contenu</p></textarea>', $out); 762 $this->assertEqualOrDiff('<script type="text/javascript"> 763 //<![CDATA[ 764 jelix_wymeditor_simple("'.$this->formname.'_contenu"); 765 //]]> 766 </script><textarea name="contenu" id="'.$this->formname.'_contenu" readonly="readonly" title="ceci est un tooltip" rows="5" cols="40"><p>Ceci est un contenu</p></textarea>', $out); 755 767 756 768 $ctrl->rows=20; 757 769 ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 758 $this->assertEqualOrDiff('<textarea name="contenu" id="'.$this->formname.'_contenu" readonly="readonly" title="ceci est un tooltip" rows="20" cols="40"><p>Ceci est un contenu</p></textarea>', $out); 770 $this->assertEqualOrDiff('<script type="text/javascript"> 771 //<![CDATA[ 772 jelix_wymeditor_simple("'.$this->formname.'_contenu"); 773 //]]> 774 </script><textarea name="contenu" id="'.$this->formname.'_contenu" readonly="readonly" title="ceci est un tooltip" rows="20" cols="40"><p>Ceci est un contenu</p></textarea>', $out); 759 775 760 776 $ctrl->cols=60; 761 777 ob_start();$this->builder->outputControl($ctrl);$out = ob_get_clean(); 762 $this->assertEqualOrDiff('<textarea name="contenu" id="'.$this->formname.'_contenu" readonly="readonly" title="ceci est un tooltip" rows="20" cols="60"><p>Ceci est un contenu</p></textarea>', $out); 778 $this->assertEqualOrDiff('<script type="text/javascript"> 779 //<![CDATA[ 780 jelix_wymeditor_simple("'.$this->formname.'_contenu"); 781 //]]> 782 </script><textarea name="contenu" id="'.$this->formname.'_contenu" readonly="readonly" title="ceci est un tooltip" rows="20" cols="60"><p>Ceci est un contenu</p></textarea>', $out); 763 783 764 784 }
