* @license http://www.contenido.org/license/LIZENZ.txt * @link http://www.4fb.de * @link http://www.contenido.org * @since file available since contenido release <= 4.6 * * {@internal * created unknown * modified 2008-06-26, Frederic Schneider, add security fix * modified 2008-11-12, Andreas Lindner, add function htmlentities_iso88592 * * $Id$: * }} * */ if(!defined('CON_FRAMEWORK')) { die('Illegal call'); } /** * Returns encoding for language with ID $iLang (global $lang in contenido style). * The parameter $oDb has to be an instance of DB_ConLite (global $db in con) and * $cfg is the equivalent to global $cfg array in contenido. * If no encoding is found or any parameter is not valid, the function will return * false, otherwise the encoding as string like it is stored in database. * modified 18.03.2008 - Removed special mySQl behaviour (using db object instead) Timo Trautmann * * @param DB_ConLite $oDb * @param int $iLang * @param array $cfg * @return string */ function getEncodingByLanguage (&$oDb, $iLang, $cfg) { $sResult = false; if (!is_object($oDb)) { $oDb = new DB_ConLite(); } $iLang = (int) $iLang; if ($iLang > 0 && is_array($cfg) && is_array($cfg['tab'])) { // prepare query $sQuery = " SELECT encoding FROM " . $cfg["tab"]["lang"] . " WHERE idlang = " . Contenido_Security::toInteger($iLang); if ($oDb->query($sQuery)) { if ($oDb->next_record()) { $sResult = trim($oDb->f('encoding')); } } } return $sResult; } /** * Special version of htmlentites for iso-8859-2 * Returns transformed string * * @param string $sInput * @return string */ function htmlentities_iso88592 ($sInput = '') { $arrEntities_pl = array('ê', 'ó', '±', '¶', '³', '¿', '¼', 'æ', 'ñ', 'Ê', 'Ó', '¡', '¦', '£', '¬', '¯', 'Æ', 'Ñ'); $arrEntities = clGetHtmlTranslationTable(HTML_ENTITIES); $arrEntities = array_diff($arrEntities, $arrEntities_pl); return strtr($sInput, $arrEntities); } ?>