Index: branches/unlabeled/unlabeled-1.12.2/core/kernel/parser/tags.php =================================================================== diff -u -r5899 -r5946 --- branches/unlabeled/unlabeled-1.12.2/core/kernel/parser/tags.php (.../tags.php) (revision 5899) +++ branches/unlabeled/unlabeled-1.12.2/core/kernel/parser/tags.php (.../tags.php) (revision 5946) @@ -260,6 +260,10 @@ // $tag->Prefix - l_TagProcessor $tmp = $this->Application->processPrefix($this->Processor); + if (isset($this->NamedParams['_ignore_missing_'])) { + if (!$this->Application->prefixRegistred($tmp['prefix'])) return ''; + } + $processor =& $this->Application->recallObject($tmp['prefix'].'_TagProcessor'); // $this->Processor $tmp=explode('_',$tmp['prefix'],2); @@ -383,7 +387,11 @@ } else { $prefix = $this->getPrefixSpecial(); + if (isset($this->NamedParams['_ignore_missing_'])) { + if (!$this->Application->prefixRegistred($prefix)) return array(); + } } + $code[] = '$tmp = $application->processPrefix("'.$prefix.'");'."\n"; /*if (!isset($this->Application->CompilationCache[$this->getPrefixSpecial()])) { Index: branches/unlabeled/unlabeled-1.61.2/core/kernel/processors/main_processor.php =================================================================== diff -u -r5911 -r5946 --- branches/unlabeled/unlabeled-1.61.2/core/kernel/processors/main_processor.php (.../main_processor.php) (revision 5911) +++ branches/unlabeled/unlabeled-1.61.2/core/kernel/processors/main_processor.php (.../main_processor.php) (revision 5946) @@ -650,9 +650,13 @@ function RenderElements($params) { + if (!isset($params['elements']) || !$params['elements']) return; $elements = explode(',',$params['elements']); if (isset($params['skip']) && $params['skip']) { - $skip = explode(',',$params['skip']); + $tmp_skip = explode(',',$params['skip']); + foreach ($tmp_skip as $elem) { + $skip[] = trim($elem); + } } else { $skip = array(); @@ -662,9 +666,9 @@ foreach ($elements as $an_element) { $cur = trim($an_element); - if (in_array($an_element,$skip)) continue; + if (in_array($cur,$skip)) continue; $pass_params = $params; - $pass_params['name'] = trim($an_element); + $pass_params['name'] = $cur; $o .= $this->ParseBlock($pass_params); } return $o;