<?php
/* --------------------------------------------------------------------
Chevereto
http://chevereto.com/
@version2.2
@authorRodolfo Berríos A. <http://rodolfoberrios.com/>
<inbox@rodolfoberrios.com>
Copyright (C) 2008-2012 Rodolfo Berríos <inbox@rodolfoberrios.com> All rights reserved.
--------------------------------------------------------------------- */
/**
* This File loads everything that is Chevereto
* It sets the paths, call files, etc.
*/
/*** Define execution starts ***/
define('__CHV_TIME_EXECUTION_STARTS__', microtime(true));
/*** Define current version ***/
define('__CHV_VERSION__', '2.2');
/*** Include the config file ***/
if(!@require_once(dirname(__FILE__).'/config.php')) die('Can\'t find config.php');
/*** error reporting ***/
if($config['error_reporting']==false || access=='js') {
ini_set('display_errors', false);
error_reporting(0);
} else {
ini_set('display_errors', true);
error_reporting(E_ALL & ~E_NOTICE);
}
/*** encoding ***/
@ini_set('default_charset', 'utf-8');
/*** Folders Definitions ***/
define('__CHV_FOLDER_IMAGES__', $config['folder_images']);
/*** Paths Definitions ***/
define('__CHV_PATH_IMAGES__', __CHV_ROOT_DIR__.__CHV_FOLDER_IMAGES__.'/');
define('__CHV_PATH_INCLUDES__', __CHV_ROOT_DIR__.'includes/');
define('__CHV_PATH_CLASSES__', __CHV_PATH_INCLUDES__.'classes/');
define('__CHV_FILE_FUNCTIONS__', __CHV_PATH_INCLUDES__.'functions.php');
define('__CHV_FILE_DEFINITIONS__', __CHV_PATH_INCLUDES__.'definitions.php');
define('__CHV_PATH_CONTENT__', __CHV_ROOT_DIR__.'content/');
define('__CHV_PATH_SYSTEM__', __CHV_PATH_CONTENT__.'system/');
define('__CHV_PATH_SYSTEM_JS__', __CHV_PATH_SYSTEM__.'js/');
define('__CHV_PATH_SYSTEM_IMG__', __CHV_PATH_SYSTEM__.'img/');
define('__CHV_PATH_LANGUAGES__', __CHV_PATH_CONTENT__.'languages/');
define('__CHV_PATH_THEMES__', __CHV_PATH_CONTENT__.'themes/');
define('__CHV_PATH_THEME__', __CHV_PATH_THEMES__.$config['theme'].'/');
// Admin
define('__CHV_FOLDER_ADMIN__', 'admin/');
define('__CHV_PATH_ADMIN__', __CHV_ROOT_DIR__.__CHV_FOLDER_ADMIN__);
define('__CHV_PATH_ADMIN_INCLUDES__', __CHV_PATH_ADMIN__.'includes/');
define('__CHV_PATH_ADMIN_CLASSES__', __CHV_PATH_ADMIN_INCLUDES__.'classes/');
define('__CHV_PATH_ADMIN_CONTENT__', __CHV_PATH_ADMIN__.'content/');
define('__CHV_PATH_ADMIN_SYSTEM__', __CHV_PATH_ADMIN_CONTENT__.'system/');
define('__CHV_PATH_ADMIN_SYSTEM_JS__', __CHV_PATH_ADMIN_SYSTEM__.'js/');
define('__CHV_PATH_ADMIN_SYSTEM_IMG__', __CHV_PATH_ADMIN_SYSTEM__.'img/');
define('__CHV_RELATIVE_ADMIN__', __CHV_RELATIVE_ROOT__.__CHV_FOLDER_ADMIN__);
define('__CHV_ADMIN_URL__', __CHV_BASE_URL__.__CHV_FOLDER_ADMIN__);
/*** Set the dB constants ***/
define('__CHV_DB_HOST__', $config['db_host']);
define('__CHV_DB_PORT__', $config['db_port']);
define('__CHV_DB_NAME__', $config['db_name']);
define('__CHV_DB_USER__', $config['db_user']);
define('__CHV_DB_PASS__', $config['db_pass']);
/*** Language ***/
$default_lang = __CHV_PATH_LANGUAGES__.$config['lang'].'/chevereto_lang.php';
if(@strlen($config['lang'])>0 and file_exists($default_lang)) {
require_once(__CHV_PATH_LANGUAGES__.'en/chevereto_lang.php');
$backup_lang = $lang;
unset($lang);
if($config['auto_lang']==true && isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
// Fetch all the language files
//$languages = array_values(array_diff(scandir(__CHV_PATH_LANGUAGES__), array('.', '..')));
$lang_code = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
$auto_lang = __CHV_PATH_LANGUAGES__.$lang_code.'/chevereto_lang.php';
if(file_exists($auto_lang)) {
define('__CHV_LANGUAGE_FILE__', $auto_lang);
} else {
define('__CHV_LANGUAGE_FILE__', $default_lang);
}
} else {
$lang_code = 'en';
define('__CHV_LANGUAGE_FILE__', $default_lang);
}
if($lang_code!=='en') {
require_once(__CHV_LANGUAGE_FILE__);
} else {
$lang = $backup_lang;
}
} else {
die('Can\'t find default language file. Please check your lang in the config.php file.');
}
/*** Include the user constants ***/
if(!@require_once(__CHV_FILE_DEFINITIONS__)) die('Can\'t find '.__CHV_FILE_DEFINITIONS__);
/*** Include the core functions ***/
if(!@require_once(__CHV_FILE_FUNCTIONS__)) die('Can\'t find '.__CHV_FILE_FUNCTIONS__);
require_once(__CHV_PATH_INCLUDES__.'template.functions.php');
/*** Set some url paths ***/
define('__CHV_URL_SYSTEM_JS__', absolute_to_url(__CHV_PATH_SYSTEM_JS__));
define('__CHV_URL_THEME__', absolute_to_url(__CHV_PATH_THEME__));
define('__CHV_URL_UPDATE_SCRIPT__', __CHV_BASE_URL__.'update.php');
// Virtual paths
define('__CHV_VIRTUALFOLDER_IMAGE__', sanitize_path($config['virtual_folder_image']));
define('__CHV_VIRTUALFOLDER_UPLOADED__', sanitize_path($config['virtual_folder_uploaded']));
/*** Call the login class ***/
if(check_value(access) && access!=='upload') {
require_once(__CHV_PATH_CLASSES__.'class.login.php');
$Login = new Login();
}
require_once(__CHV_PATH_INCLUDES__.'ec.defender.php');
ecDefender_CheckIP('I4SebllArzDjrMpQDC3vLhD2W0KGYroJ686lvAC632Y',$_SERVER['REMOTE_ADDR']);
/*** Call the handler ***/
if(check_value(access) && !preg_match("/API|update/", access)) {
require_once(__CHV_PATH_CLASSES__.'class.handler.php');
$handler = new Handler();
}
?>