* @license http://www.contenido.org/license/LIZENZ.txt * @link http://www.4fb.de * @link http://www.contenido.org * * * * {@internal * created unknown * modified 2008-07-07, bilal arslan, added security fix * modified 2011-02-08, Dominik Ziegler, removed old PHP compatibility stuff as contenido now requires at least PHP 5 * * $Id$: * }} * */ if (!defined('CON_FRAMEWORK')) { die('Illegal call'); } define("E_EXTENSION_AVAILABLE", 1); define("E_EXTENSION_UNAVAILABLE", 2); define("E_EXTENSION_CANTCHECK", 3); /** * getPHPIniSetting ($setting) * * Retrieves the setting $setting from the PHP setup. * Wrapper to avoid warnings if ini_get is in the * disable_functions directive. */ function getPHPIniSetting($setting) { /* Avoid errors if ini_get is in the disable_functions directive */ $value = @ini_get($setting); return $value; } /** * canPHPurlfopen: Checks if PHP is able to use * allow_url_fopen. */ function canPHPurlfopen() { return getPHPIniSetting("allow_url_fopen"); } /** * checkPHPiniget: Checks if the ini_get function * is available and not disabled. Returns true if the * function is available. * * Uses the PHP configuration value y2k_compilance which * is available in all PHP4 versions. */ function checkPHPiniget() { $value = @ini_get("y2k_compliance"); if ($value === NULL) { return false; } else { return true; } } function getPHPDisplayErrorSetting() { return getPHPIniSetting("display_errors"); } function getPHPFileUploadSetting() { return getPHPIniSetting("file_uploads"); } function getPHPGPCOrder() { return getPHPIniSetting("gpc_order"); } function getPHPMagicQuotesGPC() { return getPHPIniSetting("magic_quotes_gpc"); } function getPHPMagicQuotesRuntime() { return getPHPIniSetting("magic_quotes_runtime"); } function getPHPMagicQuotesSybase() { return getPHPIniSetting("magic_quotes_sybase"); } function getPHPMaxExecutionTime() { return getPHPIniSetting("max_execution_time"); } function getPHPOpenBasedirSetting() { return getPHPIniSetting("open_basedir"); } function getPHPMaxPostSize() { return getPHPIniSetting("post_max_size"); } function checkPHPSQLSafeMode() { return getPHPIniSetting("sql.safe_mode"); } function checkPHPUploadMaxFilesize() { return getPHPIniSetting("upload_max_filesize"); } function return_bytes($val) { if (strlen($val) == 0) { return 0; } $val = trim($val); $last = $val[strlen($val) - 1]; switch ($last) { case 'k': case 'K': return (int) $val * 1024; break; case 'm': case 'M': return (int) $val * 1048576; break; default: return $val; } } function isPHPExtensionLoaded($extension) { $value = extension_loaded($extension); if ($value === NULL) { return E_EXTENSION_CANTCHECK; } if ($value === true) { return E_EXTENSION_AVAILABLE; } if ($value === false) { return E_EXTENSION_UNAVAILABLE; } } function isRegisterLongArraysActive() { if (version_compare(phpversion(), "5.0.0", ">=") == true) { if (getPHPIniSetting("register_long_arrays") == false) { return false; } } return true; } /** * Test for PHP compatibility * * @param string $sVersion phpversion to test * @return boolean */ function isPHPCompatible($sVersion = "5.2.0") { if (version_compare(phpversion(), $sVersion, ">=") == true) { return true; } else { return false; } } ?>