Transformer.class.php
gehe zur Dokumentation dieser Datei00001 <?php
00002
00011 class Transformer
00012 {
00013 var $text = '';
00014 var $doc;
00015 var $page;
00016 var $element;
00017
00018 function transform()
00019 {
00020 $this->parseDocument();
00021 $this->renderDocument();
00022
00023 $this->text = $this->renderedText;
00024 }
00025
00026
00027
00034 function parseDocument()
00035 {
00036
00037 $zeilen = explode("\n",$this->text);
00038
00039
00040 $parser = new WikiParser();
00041 $this->doc = new DocumentElement();
00042 $this->doc->element = $this->element;
00043 $this->doc->parse( $zeilen );
00044 }
00045
00046
00047
00052 function renderDocument()
00053 {
00054 $this->doc->encodeHtml = !$this->element->html;
00055
00056 $text = $this->doc->render( $this->page->mimeType() );
00057
00058
00059
00060 $linkedObjectIds = $this->doc->linkedObjectIds;
00061 rsort( $linkedObjectIds,SORT_NUMERIC );
00062
00063
00064
00065
00066
00067 foreach( $linkedObjectIds as $objectId )
00068 {
00069 $targetPath = $this->page->path_to_object( $objectId );
00070 $text = str_replace( 'object:' .$objectId, $targetPath, $text );
00071 $text = str_replace( 'object://'.$objectId, $targetPath, $text );
00072 }
00073
00074 $this->renderedText = $text;
00075 }
00076 }
00077
00078 ?>