openrat-cms

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

commit f292f43191389364c47902efc18675a2ffc6a512
parent cd1007a8e4b6a00950c75b9d9fc6ed3b2481b11e
Author: dankert <devnull@localhost>
Date:   Sun,  1 Mar 2009 02:44:00 +0100

Funktionen zum Enkodieren von HTML-Zeichen.

Diffstat:
functions/language.inc.php | 52++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 50 insertions(+), 2 deletions(-)

diff --git a/functions/language.inc.php b/functions/language.inc.php @@ -60,12 +60,60 @@ function lang( $textVar,$vars = array() ) // Wenn Textvariable nicht vorhanden ist, dann als letzten Ausweg nur den Variablennamen zurueckgeben -// return( '?'.$text.'?' ); - return( $textVar ); +//return( '?'.$text.'?' ); + return( '?unknown-lang-key:'.$textVar.'?' ); + //return( $textVar ); } + +/** + * Diese Funktion stellt ein Wort in der eingestellten + * Sprache zur Verfuegung. Sonderzeichen werden als HTML maskiert. + * + * @var String Name der Sprachvariablen + * @var Array Liste (Assoziatives Array) von Variablen + * + * @package openrat.functions + * @param $key + * @return unknown_type + */ +function langHtml( $key,$vars = array() ) { + + return encodeHtml( lang($key,$vars) ); +} + +/** + * Ersetzt alle Zeichen mit dem Ordinalwert > 127 mit einer HTML-Maskierung. + * + * @return String + */ +function encodeHtml($text) +{ + $charset = lang('CHARSET'); + if ( in_array( $charset, array('ISO-8859-1','ISO-8859-15','UTF-8')) ) + { + return htmlentities($text,ENT_QUOTES,$charset ); + } + else + { + $t2 = ''; + + for ( $i=0;$i<strlen($tmp_text);$i++) + { + $o = ord($tmp_text[$i]); + if ( $o <= 127 ) + $t2 .= $tmp_text[$i]; + else + $t2 .= '&#'.$o.';'; + } + + return $t2; + } +} + + /** * Diese Funktion prueft, ob ein Sprachelement vorhanden ist *