128 lines
5.9 KiB
PHP
128 lines
5.9 KiB
PHP
|
<?php
|
|||
|
#namespace anySite\initSite;
|
|||
|
session_start();
|
|||
|
|
|||
|
class Core{
|
|||
|
/* ---------------------------------------------------------------------------------------------------------- */
|
|||
|
function __construct($default_mod="main"){
|
|||
|
//Важные константы, но надо бы от них уходить...
|
|||
|
//define ( 'MYDIR', $_SERVER['DOCUMENT_ROOT'] );
|
|||
|
define ('SITE', $_SERVER['SERVER_NAME']);
|
|||
|
define ( 'SMARTY_DIR', MYDIR . '/api/soft/smarty/4.1.0/libs/' );
|
|||
|
define ( 'TMPDIR', '/tmp/cache/' . $_SERVER['SERVER_NAME'] );//смотрим куда кешировать
|
|||
|
//Создаем каталоги если нет
|
|||
|
@mkdir('log', 0700); //Папка для логов
|
|||
|
@mkdir ( TMPDIR, 0700 );
|
|||
|
|
|||
|
//выбор ИД
|
|||
|
if ( isset ( $_GET['id'] ) )
|
|||
|
define('ID', @$_GET['id']);
|
|||
|
else
|
|||
|
define('ID', 1);
|
|||
|
if (@$_SESSION['user_id']) define('MYID', $_SESSION['user_id']);
|
|||
|
|
|||
|
}
|
|||
|
/* ---------------------------------------------------------------------------------------------------------- */
|
|||
|
function detect_ip() {
|
|||
|
$ip = false;
|
|||
|
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"]) and preg_match("#^[0-9.]+$#", $_SERVER["HTTP_X_FORWARDED_FOR"])) {
|
|||
|
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
|
|||
|
}
|
|||
|
else if (isset($_SERVER["HTTP_X_REAL_IP"]) and preg_match("#^[0-9.]+$#", $_SERVER["HTTP_X_REAL_IP"])) {
|
|||
|
$ip = $_SERVER["HTTP_X_REAL_IP"];
|
|||
|
}
|
|||
|
else if (preg_match("#^[0-9.]+$#", $_SERVER["REMOTE_ADDR"])) {
|
|||
|
$ip = $_SERVER["REMOTE_ADDR"];
|
|||
|
}
|
|||
|
return $ip;
|
|||
|
}
|
|||
|
/* ---------------------------------------------------------------------------------------------------------- */
|
|||
|
function login_cookies ( $db ) {
|
|||
|
//print_r($_COOKIE);
|
|||
|
if ( @$_COOKIE['cookies'] && !@$_SESSION['user_id']){
|
|||
|
$res = $db->from_j ( base64_decode ( $_COOKIE['cookies'] ) );
|
|||
|
unset( $res['capcha'] );
|
|||
|
unset( $res['dostup'] );
|
|||
|
unset( $res['test'] );
|
|||
|
$res2['id']=$res['user_id'];
|
|||
|
$res2['pwd']=$res['pwd'];
|
|||
|
//print_r($res2);
|
|||
|
$act = $db -> get_val( 'users', $res2, 'act' );
|
|||
|
if ( $act ==1 ){
|
|||
|
$a['user_id'] = $res2['id'];
|
|||
|
$dostup = $db -> get_val ( 'users', $res2, 'dostup' );
|
|||
|
if ( $dostup ) {
|
|||
|
$_SESSION['user_id'] = $res2['id'];
|
|||
|
$_SESSION['dostup'] = $dostup;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
$core = new Core();
|
|||
|
require_once SMARTY_DIR . 'Smarty.class.php';
|
|||
|
$smarty = new Smarty();
|
|||
|
|
|||
|
$smarty->assign('conf', MYDIR . '/set/config.conf');/*Константа подвала*/
|
|||
|
|
|||
|
//$smarty->config_load(MYDIR . '/set/config.conf');
|
|||
|
|
|||
|
define('USER_IP', $core -> detect_ip());
|
|||
|
|
|||
|
require_once MYDIR . '/set/conf.php'; //цепляем конфиги
|
|||
|
//require_once MYDIR . '/api/php/' . $set['bd_type']; //вызываем апи для работы с мускулом
|
|||
|
require_once MYDIR . '/api/php/mysql7.php'; //вызываем апи для работы с мускулом
|
|||
|
|
|||
|
|
|||
|
|
|||
|
//use anySite\db as db;
|
|||
|
|
|||
|
|
|||
|
$db = new MySQL(BD_NAME, BD_TYPE, BD_HOST, BD_USER, BD_PWD, 'global');
|
|||
|
//$db2 = new MySQL('p006', 'MYSQL', 'yurecnt.ru', 'admin', '32143214', 'global');
|
|||
|
//if (BD_TYPE!='SQLITE3')
|
|||
|
//$db -> connect( $set['bd_host'], $set['bd_user'], $set['bd_pass'], $set['bd_name'] );
|
|||
|
$db -> debug = 1;//логирование в API - 1 - да, 0 нет, 2 - выводит в браузер
|
|||
|
|
|||
|
|
|||
|
$db->user_browser($_SERVER['HTTP_USER_AGENT']);
|
|||
|
|
|||
|
if ( !@$_SESSION['user_id'] ) $core -> login_cookies( $db );
|
|||
|
//$smarty->template_dir = MYDIR . '/api/modules/' . MOD;
|
|||
|
$smarty->compile_dir = TMPDIR . '/';
|
|||
|
$smarty->config_dir = MYDIR . '/int/config/';
|
|||
|
$smarty->cache_dir = TMPDIR . '/';
|
|||
|
$smarty->assign('header', 'skin/inc/header.html');/*Константа шапки*/
|
|||
|
$smarty->assign('menu', 'skin/inc/menu.html');/*Константа шапки*/
|
|||
|
$smarty->assign('footer', 'skin/inc/footer.html');/*Константа подвала*/
|
|||
|
if (SITE!='new.yurecnt.ru' && SITE!='etalon.yurecnt.ru' && SITE!='creativewebstudio.ru' && SITE!='tk-ligat.ru' && SITE !='p006.yurecnt.ru'){//Костыль для внедрения новой админки
|
|||
|
$smarty->assign('header_admin', 'api/admin_skin/inc/header.html');/*Константа шапки*/
|
|||
|
$smarty->assign('menu_admin', 'api/admin_skin/inc/menu.html');/*Константа шапки*/
|
|||
|
$smarty->assign('footer_admin', 'api/admin_skin/inc/footer.html');/*Константа подвала*/
|
|||
|
}else{
|
|||
|
$smarty->assign('header_admin', 'api/admin/inc/header.html');/*Константа шапки*/
|
|||
|
$smarty->assign('menu_admin', 'api/admin/inc/menu.html');/*Константа шапки*/
|
|||
|
$smarty->assign('footer_admin', 'api/admin/inc/footer.html');/*Константа подвала*/
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
//указываем путь к настройкам модуля (можно вынести в глобал, но пока нет смысла, если не все модули настраиваются)
|
|||
|
$smarty -> assign( 'modal_settings', MYDIR . '/api/modules/' . MOD . '/modal.html' );
|
|||
|
//проверяем, есть ли у модуля настройки, запрашиваем из базы по модулю json, если ничего не пришло, создаем строкуы
|
|||
|
unset($a);
|
|||
|
$a['mod']=MOD;
|
|||
|
$id_set=$db->get_val('settings', $a, 'id');
|
|||
|
if (!$id_set)
|
|||
|
$db->add ('settings', $a);
|
|||
|
else
|
|||
|
$json_set=$db->get_val('settings', $a, 'json');
|
|||
|
$mod_settings = json_decode($json_set, true);
|
|||
|
//print_r($mod_settings);
|
|||
|
$smarty -> assign( 'mod_settings', $mod_settings);
|
|||
|
|
|||
|
//print_r($settings);
|
|||
|
include_once MYDIR . '/api/modules/' . MOD . '/class.php';//бля....... акт не работает =(
|
|||
|
include_once MYDIR . '/api/modules/' . MOD . '/index.php';
|
|||
|
?>
|