Index: trunk/core/kernel/parser/tags.php =================================================================== diff -u -N -r5340 -r5547 --- trunk/core/kernel/parser/tags.php (.../tags.php) (revision 5340) +++ trunk/core/kernel/parser/tags.php (.../tags.php) (revision 5547) @@ -365,7 +365,30 @@ return $code; } + /* $tmp_pref = $this->getPrefixSpecial(); + $tmp = $this->Application->processPrefix($tmp_pref); + $tmp_processor = $tmp['prefix'].'_TagProcessor'; + if (strpos($tmp['prefix'], '$') !== false) { + $processor_to_check = '{'.$tmp['prefix'].'}_TagProcessor'; + } + else { + $processor_to_check = $tmp_processor; + } */ + $code[] = '$tmp = $application->processPrefix("'.$this->getPrefixSpecial().'");'."\n"; + + /*if (!isset($this->Application->CompilationCache[$this->getPrefixSpecial()])) { + $code[] = '$tmp = $application->processPrefix("'.$this->getPrefixSpecial().'");'."\n"; + $code[] = '$__tp = $tmp[\'prefix\'].\'_TagProcessor\';'."\n"; + $code[] = '$application->CachedProcessors["'.$this->getPrefixSpecial().'"] =& $application->recallObject($__tp);'."\n"; + $this->Application->CompilationCache[$this->getPrefixSpecial()] = true; + + if (strpos($tmp_pref, '$') === false) { + $this->Application->CachedProcessors[$this->getPrefixSpecial()] =& $this->Application->recallObject($tmp_processor); + } + } + + $this->Parser->UsedProcessors[] = $tmp['prefix'];*/ $code[] = '$__tp = $tmp[\'prefix\'].\'_TagProcessor\';'."\n"; $code[] = '$p =& $application->recallObject($__tp);'."\n"; $code[] = '$p->Prefix = $tmp[\'prefix\'];'."\n"; @@ -374,6 +397,8 @@ $tag_func = $this->Tag; if ($tag_func == 'include') $tag_func = 'MyInclude'; +// $code[] = '$o .= $application->CachedProcessors["'.$this->getPrefixSpecial().'"]->ProcessParsedTag(\''.$tag_func.'\', '.$to_pass.', "'.$this->Processor.'");'."\n"; + $code[] = '$o .= $p->ProcessParsedTag(\''.$tag_func.'\', '.$to_pass.', "'.$this->Processor.'");'."\n"; /*$code = ' $processor =& $application->recallObject(\''.$this->Processor.'_TagProcessor\');