p006/set/int.php

128 lines
5.9 KiB
PHP
Raw Normal View History

2022-11-29 22:06:03 +05:00
<?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';
?>