openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 28fd57bed9f3cc80c5dccceaf5d94c1edf80136c
parent e4970543c1140c90c1ec32afdde619676e730220
Author: dankert <devnull@localhost>
Date:   Thu, 29 Mar 2007 21:04:02 +0200

Dokumentation erg?nzt.

Diffstat:
textClasses/LinkElement.class.php | 36++++++++++++++++++++++++++++++++++--
1 file changed, 34 insertions(+), 2 deletions(-)

diff --git a/textClasses/LinkElement.class.php b/textClasses/LinkElement.class.php @@ -1,6 +1,11 @@ <?php /** + * Darstellung eines Verweises auf eine URL.<br> + * <br> + * Es wird nur das Verweisziel gespeichert.<br> + * Der verweisende Text wird nicht hier, sondern in einem der Unterelemente gespeichert. + * * @author $Author$ * @version $Revision$ * @package openrat.text @@ -21,6 +26,12 @@ class LinkElement extends AbstractElement var $name; + /** + * Setzt das Ziel des Links.<br> + * Als Parameter wird eine URL erwartet. + * + * @param target Verweisziel + */ function setTarget( $target ) { $this->target = $target; @@ -58,18 +69,25 @@ class LinkElement extends AbstractElement } + /** + * Ermittelt die URL des Links. + */ function getUrl() { $url = ''; + // Protokollangabe im Format <protokoll>:// if ( $this->protocol != '') { $url .= $this->protocol.':'; + // Ausnahme: Das "mailto"-Protokoll darf keinen Doppelslash haben. if ( $this->protocol != 'mailto' ) $url.='//'; } + // Benutzer und Kennwort anhängen. + // Format: <benutzer>:<kennwort>@ if ( $this->user != '' ) { $url .= $this->user; @@ -80,25 +98,34 @@ class LinkElement extends AbstractElement $url .= '@'; } + // Hostnamen anhängen. $url .= $this->host; + // Port anhängen if ( $this->port != '' ) $url .= ':'.$this->port; - + + // Den Pfad anhängen. $url .= $this->url_encode($this->path); + // Den Query-Teil mit einem "?" getrennt anhängen. if ( $this->query != '' ) $url .= '?'.$this->url_encode($this->query); // $url .= '?'.urlencode($this->query); + // Fragment mit "#" getrennt anhängen. if ( $this->fragment != '' ) - $url .= '#'.$this->fragment; + $url .= '#'.$this->url_encode($this->fragment); return $url; } + /** + * Hilfsfunktion für #url_encode(). + * Ein Ganzzahl-Wert wird in Hexadezimal umgewandelt. + */ function int2hex($intega) { $Ziffer = "0123456789ABCDEF"; @@ -106,6 +133,11 @@ class LinkElement extends AbstractElement } + + /** + * Kodiert eine URL.<br> + * Alle Zeichen mit dem Ordinalwert >=129 werden kodiert. + */ function url_encode( $text ) { for($i=129;$i<255;$i++)