commit f292f43191389364c47902efc18675a2ffc6a512
parent cd1007a8e4b6a00950c75b9d9fc6ed3b2481b11e
Author: dankert <devnull@localhost>
Date: Sun, 1 Mar 2009 02:44:00 +0100
Funktionen zum Enkodieren von HTML-Zeichen.
Diffstat:
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
*