* @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; } } ?>