openrat-cms

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

commit 4f5127840dfc66884e8d264c40828a2768de835b
parent f1b04237376135a761084181858e048224e7d1b6
Author: Jan Dankert <devnull@localhost>
Date:   Tue, 13 Nov 2012 19:43:12 +0100

Dokumentation ergaenzt.

Diffstat:
util/Http.class.php | 95+++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------
1 file changed, 62 insertions(+), 33 deletions(-)

diff --git a/util/Http.class.php b/util/Http.class.php @@ -26,11 +26,12 @@ */ class Http { - var $url = array(); - var $header = array(); - var $responseHeader = array(); - var $requestParameter = array(); - var $urlParameter = array(); + public $header = array(); + + public $url = array(); + public $responseHeader = array(); + public $requestParameter = array(); + public $urlParameter = array(); /** * HTTP-Request-Typ.<br> @@ -39,12 +40,12 @@ class Http * * @var String Request-Typ */ - var $method = 'GET'; - var $error = ''; - var $status = ''; - var $body = ''; + public $method = 'GET'; + public $error = ''; + public $status = ''; + public $body = ''; - var $httpCmd = ''; + public $httpCmd = ''; @@ -113,8 +114,9 @@ class Http /** - * Erzeugt eine Zeichenkette mit allen Parametern. - * @param withPraefixQuestionMark Praefix mit Fragezeichen (f�r GET-Anfragen) + * Erzeugt eine HTTP-Parameterstring mit allen Parametern. + * + * @param withPraefixQuestionMark Praefix mit Fragezeichen (fuer GET-Anfragen) * @return String URL-Parameter */ public function getParameterString( $withPraefixQuestionMark=false ) @@ -140,7 +142,8 @@ class Http /** - * Sendet eine Redirect-Anweisung an den Browser. + * Liefert die URL des Requests. + * * @return String URL */ public function getUrl() @@ -175,7 +178,7 @@ class Http /** - * Erzeugt den HTTP-Request + * Führt einen HTTP-Request durch. * * @return boolean Erfolg der Anfrage. */ @@ -362,8 +365,11 @@ class Http * Aus dem HTTP-Header werden die vom Browser angeforderten Sprachen * gelesen.<br> * Es wird eine Liste von Sprachen erzeugt.<br> - * Beispiel: 'de_DE','de','en_GB','en' ... usw.<br> - * Wenn der Browser 'de_DE' anfordert, wird hier auch 'de' (als Fallback) ermittelt. + * + * Beispiel: + * 'de_DE','de','en_GB','en' ... usw.<br> + * Wenn der Browser 'de_DE' anfordert, wird hier zusätzlich + * auch 'de' (als Fallback) ermittelt. * * @static * @return Array @@ -388,12 +394,11 @@ class Http /** - * Ermittelt die aktuelle URL des Requests (ohne Datei). + * Ermittelt die aktuelle HTTP-Adresse des Requests (inkl. Pfad, jedoch ohne Datei). * - * @static * @return String URL */ - public function getServer() + public static function getServer() { $https = getenv('HTTPS'); @@ -412,8 +417,8 @@ class Http /** * Server-Fehlermeldung anzeigen.<br> * - * Erzeugt einen "HTTP 501 Internal Server Error". Zu�tzlich - * wird ein 'rollback' auf der Datenbank ausgef�hrt. + * Erzeugt einen "HTTP 501 Internal Server Error". Zusaetzlich + * wird ein 'rollback' auf der Datenbank ausgefaehrt. * * @param String $message Eigener Hinweistext */ @@ -430,9 +435,11 @@ class Http /** * Der Benutzer ist nicht autorisiert, eine Aktion auszufuehren. + * * Diese Funktion erzeugt einen "HTTP 403 Not Authorized" und das * Skript wird beendet. * + * @param String $text Text * @param String $message Eigener Hinweistext */ public static function notAuthorized($text,$message) @@ -446,10 +453,12 @@ class Http /** - * Der Benutzer ist nicht autorisiert, eine Aktion auszufuehren. - * Diese Funktion erzeugt einen "HTTP 403 Not Authorized" und das + * Nichts gefunden. + * + * Diese Funktion erzeugt einen "HTTP 404 Not found" und das * Skript wird beendet. * + * @param String $text Text * @param String $message Eigener Hinweistext */ public static function notFound($text,$message) @@ -459,6 +468,11 @@ class Http + /** + * Kein Inhalt. + * + * Die HTTP-Antwort stellt gegenüber dem Client klar, dass es keinen Inhalt gibt. + */ public static function noContent() { header('HTTP/1.0 204 No Content'); @@ -470,9 +484,10 @@ class Http /** * Schickt einen HTTP-Status zum Client und beendet das Skript. * - * @param Integer $status HTTP-Status - * @param String $text HTTP-Meldung - * @param String $message Eigener Hinweistext + * @param Integer $status HTTP-Status (ganzzahlig) (Default: 501) + * @param String $text HTTP-Meldung (Default: 'Internal Server Error') + * @param String $message Eigener Hinweistext (Default: leer) + * @param String $reason Technischer Grund (Default: leer) */ public static function sendStatus( $status=501,$text='Internal Server Error',$message='',$reason='' ) { @@ -526,7 +541,8 @@ HTML; /** - * + * Liefert den Mime-Type, den der Browser (oder besser: HTTP-Client) wünscht. + * * @return Array Mime-Typen, welche vom User-Agent akzeptiert werden. */ public static function getAccept() @@ -536,15 +552,18 @@ HTML; } + + /** + * Liefert die IPv4-Adresse des Clients. Falls der Request durch einen Proxy kam, wird + * versucht, die echte IP-Adresse aus dem Anfrageheader zu ermitteln. + * + * @return Client-IPv4-Adresse + */ public static function getClientIP() { $ip = ''; - if ( isset($_SERVER["REMOTE_ADDR"]) ) - { - $ip = $_SERVER["REMOTE_ADDR"]; - } - elseif ( isset($_SERVER["HTTP_X_FORWARDED_FOR"]) ) + if ( isset($_SERVER["HTTP_X_FORWARDED_FOR"]) ) { $ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; } @@ -552,12 +571,22 @@ HTML; { $ip = $_SERVER["HTTP_CLIENT_IP"]; } + elseif ( isset($_SERVER["REMOTE_ADDR"]) ) + { + $ip = $_SERVER["REMOTE_ADDR"]; + } return $ip; } - + + /** + * Ermittelt den TCP/IP-Port des Clients. + * Achtung, bei Proxy-Zugriffen kann dies der Port des Proxys sein. + * + * @return TCP/IP-Port + */ public static function getClientPort() { $ip = '';