Transformer.class.php

gehe zur Dokumentation dieser Datei
00001 <?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           // Den Text zeilenweise aufteilen.
00037           $zeilen = explode("\n",$this->text);
00038           
00039           // Dokument erzeugen und den Text parsen.
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           // Liste der verlinkten Objekt-Ids.
00059           // Die Objekt-Ids werden absteigend sortiert, damit z.B. '33' vor '3' ersetzt wird.       
00060           $linkedObjectIds = $this->doc->linkedObjectIds;
00061           rsort( $linkedObjectIds,SORT_NUMERIC );
00062 
00063           // Links object:nnn ersetzen
00064           //
00065           // Das Dokument-Objekt hat keine Information über die aktuelle Seite,
00066           // daher werden die Links auf Objekte hier gesetzt.
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 ?>

Erzeugt am Thu May 14 00:55:49 2009 für OpenRat von  doxygen 1.5.8