<?php
/**
* СодеÑÐ¶Ð¸Ñ Ð½Ð°Ð±Ð¾Ñ Ð¸Ð½Ð¸ÑиализаÑионнÑÑ
ÑÑнкÑий и конÑÑанÑ
*
* @package energine
* @subpackage core
* @author pavka
* @copyright ColoCall 2007
* @version $Id: ini.func.php,v 1.7 2008/04/03 09:56:10 pavka Exp $
*/
/**
* опÑÑ Ð¿Ð¾ÐºÐ°Ð·ÑÐ²Ð°ÐµÑ ÑÑо еÑÑÑ ÐµÑе лÑди полÑзÑÑÑиеÑÑ register_globals = On
* не каÑиÑ
*/
if (ini_get('register_globals')) {
die('ЧÑо ж ÑÑ, ÑÑÑко, ÑвоÑиÑÑ! ÐÑклÑÑи register_globals.');
}
/**
* Хак Ð´Ð»Ñ cgi mode, где SCRIPT_FILENAME возвÑаÑÐ°ÐµÑ Ð¿ÑÑÑ Ðº PHP, вмеÑÑо пÑÑи к ÑекÑÑÐµÐ¼Ñ Ð¸ÑполнÑÐµÐ¼Ð¾Ð¼Ñ ÑайлÑ
*/
$_SERVER['SCRIPT_FILENAME'] = (isset($_SERVER['PATH_TRANSLATED']))?$_SERVER['PATH_TRANSLATED']:$_SERVER['SCRIPT_FILENAME'];
/**
* ÑÑÑанавливаем макÑималÑнÑй ÑÑÐ¾Ð²ÐµÐ½Ñ Ð¾ÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð¾Ñибок
*/
error_reporting(E_ALL | E_STRICT);
/**
* вклÑÑаем вÑвод оÑибок и оÑклÑÑаем вÑвод в HTML
*/
ini_set('display_errors', 1);
ini_set('html_errors', 0);
/**
* оÑклÑÑаем magic_quotes_runtime
*/
set_magic_quotes_runtime(1);
/**
* поÑколÑÐºÑ magic_quotes_gpc в runtime оÑклÑÑиÑÑ Ð½ÐµÐ»ÑзÑ, идем на ÑÑ
иÑÑение
*/
if (get_magic_quotes_gpc()) {
function recursiveStripslashes($value) {
$value = is_array($value)?array_map('recursiveStripslashes', $value):stripslashes($value);
return $value;
}
$_POST = array_map('recursiveStripslashes', $_POST);
$_GET = array_map('recursiveStripslashes', $_GET);
$_COOKIE = array_map('recursiveStripslashes', $_COOKIE);
$_REQUEST = array_map('recursiveStripslashes', $_REQUEST);
}
date_default_timezone_set('Europe/Kiev');
/**
* ÐÑÑÑ Ðº диÑекÑоÑии полÑзоваÑелÑÑкиÑ
компоненÑов
*/
define('SITE_COMPONENTS_DIR', 'site/components');
/**
* Шаблон пÑÑи к диÑекÑоÑиÑм компоненÑов ÑÑандаÑÑнÑÑ
модÑлей,
* где * заменÑеÑÑÑ Ð¸Ð¼ÐµÐ½ÐµÐ¼ модÑлÑ
*/
define('CORE_COMPONENTS_DIR', 'core/modules/*/components');
/**
* ÐÑÑÑ Ðº диÑекÑоÑии ÑдÑа ÑиÑÑемÑ
*/
define('CORE_FRAMEWORK_DIR', 'core/framework');
/**
* ФÑнкÑÐ¸Ñ Ð°Ð²ÑозагÑÑзки Ñайлов клаÑÑов
*
* @param string $className Ð¸Ð¼Ñ ÐºÐ»Ð°ÑÑа
* @return void
* @staticvar array $paths маÑÑив пÑÑей к Ñайлам клаÑÑов вида [Ð¸Ð¼Ñ ÐºÐ»Ð°ÑÑа]=>пÑÑÑ Ðº ÑÐ°Ð¹Ð»Ñ ÐºÐ»Ð°ÑÑа
*/
function __autoload($className){
static $paths = array();
//еÑли маÑÑив пÑÑей не заполнен - заполнÑем
if (empty($paths)) {
$tmp = glob(
'{'.implode(',', array(CORE_FRAMEWORK_DIR, CORE_COMPONENTS_DIR, SITE_COMPONENTS_DIR)).'}/*.class.php',
GLOB_BRACE
);
foreach ($tmp as $fileName) {
$paths[substr(strrchr($fileName,'/'), 1, -10)] = $fileName;
}
}
if (isset($paths[$className])) {
require($paths[$className]);
}
else {
trigger_error('no class '.$className.' found');
}
}