91 lines
5.5 KiB
PHP
Executable File
91 lines
5.5 KiB
PHP
Executable File
<?php
|
||
session_start();
|
||
define( 'MYDIR', $_SERVER['DOCUMENT_ROOT'] ); //Делаем константу со своей директорией
|
||
define( 'SMARTY_DIR', MYDIR . '/api/soft/smarty/3.1.30/libs/' );//цепляем смарти
|
||
require_once SMARTY_DIR . 'Smarty.class.php';
|
||
$smarty = new Smarty();
|
||
require_once MYDIR . '/set/conf.php'; //цепляем конфиги
|
||
require_once 'api/php/mysql.php'; //вызываем апи для работы с мускулом
|
||
global $db;
|
||
$db = new MySQL;
|
||
$db -> connect( $set['bd_host'], $set['bd_user'], $set['bd_pass'], $set['bd_name'] );
|
||
$db -> debug = 0;//логирование в API - 1 - да, 0 нет
|
||
define ( 'TMPDIR', MYDIR . '/../tmp/' . $_SERVER['SERVER_NAME'] );//смотрим куда кешировать
|
||
@mkdir ( TMPDIR, 0777 );
|
||
$smarty->template_dir = MYDIR . '/skin/';
|
||
$smarty->compile_dir = TMPDIR . '/';
|
||
$smarty->config_dir = MYDIR . '/config/';
|
||
$smarty->cache_dir = TMPDIR . '/';
|
||
//включаем логирование
|
||
require_once MYDIR . '/api/php/log.php';
|
||
$log = new save_log;
|
||
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;
|
||
}
|
||
define('USER_IP', detect_ip());
|
||
define('SITE', $_SERVER['SERVER_NAME']);
|
||
define('SITE_SQL', ' AND `site`="' . $_SERVER['SERVER_NAME'] . '" ');//убрать
|
||
//собираем настройки....
|
||
$b['mod'] = 'global';
|
||
$db -> get_val( 'settings', $b, 'xml' );
|
||
$xml = $db -> result;
|
||
require_once MYDIR . '/api/php/parsexml.php';
|
||
$parce -> make_massiv ( $xml );
|
||
$arr = $parce -> res;
|
||
foreach ( $arr as $key => $value ) $settings[$key] = $value;
|
||
$smarty->assign('global_settings', $settings);
|
||
define( 'SKIN', SITE );
|
||
define( 'SITE_NAME', $settings['site_name'] );
|
||
define( 'LOGO', $settings['logo'] );
|
||
|
||
//админ-панель
|
||
$smarty->assign('header_admin', MYDIR . '/api/templates/admin/inc/header.html');/*Константа шапки*/
|
||
$smarty->assign('footer_admin', MYDIR . '/api/templates/admin/inc/footer.html');/*Константа подвала*/
|
||
|
||
//все остальное
|
||
$smarty->assign('header', MYDIR . '/api/templates/' . SKIN . '/inc/header.html');/*Константа шапки*/
|
||
$smarty->assign('mini_admin', MYDIR . '/api/templates/' . SKIN . '/inc/admin.html');/*Константа шапки*/
|
||
$smarty->assign('menu', MYDIR . '/api/templates/' . SKIN . '/inc/menu.html');/*Константа шапки*/
|
||
$smarty->assign('footer', MYDIR . '/api/templates/' . SKIN . '/inc/footer.html');/*Константа подвала*/
|
||
$smarty->assign('modal_login', MYDIR . '/api/templates/' . SKIN . '/inc/modal_login.html');/*Константа подвала*/
|
||
$smarty->assign('login_form', MYDIR . '/api/templates/' . SKIN . '/inc/login_form.html');/*Константа подвала*/
|
||
//выбор модуля
|
||
if ( isset ( $_GET['mod'] ) )
|
||
define ( 'MOD', mysql_real_escape_string ( @$_GET['mod'] ) );
|
||
else
|
||
define ( 'MOD', $settings['default_mod'] );
|
||
//выбор ИД
|
||
if ( isset ( $_GET['id'] ) )
|
||
define('ID', mysql_real_escape_string(@$_GET['id']));
|
||
else
|
||
define('ID', 1);
|
||
//достаем модуль...
|
||
$db -> change_db( $set['bd_code'] );//выбираем базу с кодом
|
||
$a['mod'] = MOD;
|
||
define ('URL', base64_encode($_SERVER['REQUEST_URI']));
|
||
$db -> get_massiv( 'mod', $a, '', 1 );
|
||
$massiv=$db -> result;
|
||
$a['mod'] = $massiv[0][2];
|
||
$a['js'] = $massiv[0]['js'];
|
||
unset($massiv);
|
||
if ( MOD=='default' ) die();
|
||
$a['mod'] = gzdecode( base64_decode( $a['mod'] ) );
|
||
$db -> change_db( $set['bd_name'] );
|
||
//устанавливаем SQL-запрос из модуля для создания таблы
|
||
if ($a['sql'])mysql_query($a['sql']);
|
||
$smarty->assign('js_mod', '<script type="text/javascript">' . @gzdecode( base64_decode($a['js'])) . '</script>');
|
||
eval( $a['mod'] );
|
||
$smarty->assign('footer_counters', '
|
||
<!-- Yandex.Metrika informer --> <a href="https://metrika.yandex.ru/dashboard?id=48366086" target="_blank" rel="nofollow"><img src="https://informer.yandex.ru/informer/48366086/3_0_FFFFFFFF_EFEFEFFF_0_pageviews" style="width:88px; height:31px; border:0;" alt="Яндекс.Метрика" title="Яндекс.Метрика: данные за сегодня (просмотры, визиты и уникальные посетители)" class="ym-advanced-informer" data-cid="48366086" data-lang="ru" /></a> <!-- /Yandex.Metrika informer --> <!-- Yandex.Metrika counter --> <script type="text/javascript" > (function (d, w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounter48366086 = new Ya.Metrika({ id:48366086, clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true }); } catch(e) { } }); var n = d.getElementsByTagName("script")[0], s = d.createElement("script"), f = function () { n.parentNode.insertBefore(s, n); }; s.type = "text/javascript"; s.async = true; s.src = "https://mc.yandex.ru/metrika/watch.js"; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); } })(document, window, "yandex_metrika_callbacks"); </script> <noscript><div><img src="https://mc.yandex.ru/watch/48366086" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <!-- /Yandex.Metrika counter -->
|
||
');
|
||
?>
|