Öffentliche Methoden | |
| transform () | |
| parseDocument () | |
| renderDocument () | |
Öffentliche Attribute | |
| $text = '' | |
| $doc | |
| $page | |
| $element | |
Definiert in Zeile 11 der Datei Transformer.class.php.
| Transformer::parseDocument | ( | ) |
Parsen eines Textes.
Der Text muss in der Eigenschaft 'text' bereits zur Verfügung stehen.
Der Text wird geparst und als DOM (Document object model) intern gespeichert.
Definiert in Zeile 34 der Datei Transformer.class.php.
Wird benutzt von transform().
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 }
| Transformer::renderDocument | ( | ) |
Das interne Dokumente wird gerendet.
Die fertige Ausgabe steht anschliessend in der Eigenschaft "renderedText" zur Verfügung.
Definiert in Zeile 52 der Datei Transformer.class.php.
Benutzt $text.
Wird benutzt von transform().
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 }
| Transformer::transform | ( | ) |
Definiert in Zeile 18 der Datei Transformer.class.php.
Benutzt parseDocument() und renderDocument().
00019 { 00020 $this->parseDocument(); 00021 $this->renderDocument(); 00022 00023 $this->text = $this->renderedText; 00024 }
| Transformer::$doc |
Definiert in Zeile 14 der Datei Transformer.class.php.
| Transformer::$element |
Definiert in Zeile 16 der Datei Transformer.class.php.
| Transformer::$page |
Definiert in Zeile 15 der Datei Transformer.class.php.
| Transformer::$text = '' |
1.5.8