Index: trunk/core/kernel/processors/tag_processor.php
===================================================================
diff -u -r932 -r1339
--- trunk/core/kernel/processors/tag_processor.php (.../tag_processor.php) (revision 932)
+++ trunk/core/kernel/processors/tag_processor.php (.../tag_processor.php) (revision 1339)
@@ -19,10 +19,45 @@
}
else
{
+ if ($this->Application->hasObject('TagsAggregator')) {
+ $aggregator = $this->Application->recallObject('TagsAggregator');
+ $tag_mapping = $aggregator->GetArrayValue($tag->Prefix, $Method);
+ if ($tag_mapping) {
+
+ $mapped_tag =& new MyTag('', $this->Application->Parser);
+ $mapped_tag->CopyFrom($tag);
+ $mapped_tag->Processor = $tag_mapping[0];
+ $mapped_tag->Tag = $tag_mapping[1];
+ $mapped_tag->NP['PrefixSpecial'] = $tag->getPrefixSpecial();
+ $mapped_tag->RebuildTagData();
+ return $mapped_tag->DoProcessTag();
+ }
+ }
$this->Application->trigerError('Tag Undefined:
'.$tag->RebuildTagData().'');
return false;
}
}
+
+ function ProcessParsedTag($tag, $params)
+ {
+ $Method=$tag;
+ if(method_exists($this, $Method))
+ {
+ if( $this->Application->isDebugMode() && dbg_ConstOn('DBG_SHOW_TAGS') )
+ {
+ global $debugger;
+ $debugger->appendHTML('Processing PreParsed Tag '.$Method.' in '.$this->Prefix);
+ }
+
+ //echo htmlspecialchars($tag->GetFullTag()).'
';
+ return $this->$Method($params);
+ }
+ else
+ {
+ $this->Application->trigerError('Tag Undefined:
'.$tag.'');
+ return false;
+ }
+ }
}
/*class ProcessorsPool {