<?php

/**
 * основной файл обработки всех урл для сайта
 */

//session_start();

// загрузка настроек *********************************************************
define('ROOT_DIR', dirname(__FILE__).'/');
require_once(ROOT_DIR.'_config.php');	//динамические настройки
require_once(ROOT_DIR.'_config2.php');	//установка настроек

// загрузка функций **********************************************************
//require_once(ROOT_DIR.'functions/admin_func.php');	//функции админки
require_once(ROOT_DIR.'functions/auth_func.php');	//функции авторизации
require_once(ROOT_DIR.'functions/common_func.php');	//общие функции
//require_once(ROOT_DIR.'functions/file_func.php');	//функции для работы с файлами
require_once(ROOT_DIR.'functions/html_func.php');	//функции для работы нтмл кодом
//require_once(ROOT_DIR.'functions/form_func.php');	//функции для работы со формами
//require_once(ROOT_DIR.'functions/image_func.php');	//функции для работы с картинками
require_once(ROOT_DIR.'functions/lang_func.php');	//функции словаря
//require_once(ROOT_DIR.'functions/mail_func.php');	//функции почты
require_once(ROOT_DIR.'functions/mysql_func.php');	//функции для работы с БД
require_once(ROOT_DIR.'functions/string_func.php');	//функции для работы со строками
require_once(ROOT_DIR.'functions/array_func.php');	//функции для работы с массивами
require_once(ROOT_DIR.'functions/tariff_func.php');	//функции для работы с тарифами
require_once(ROOT_DIR.'functions/timers_func.php');


//file_put_contents(__DIR__ . '/log.txt', date('H:i:s') . " | " . $_SERVER['REQUEST_URI'] . PHP_EOL, FILE_APPEND);


$ip = get_ip();
//временное отключение конкретного вредителя
if($ip == '193.9.114.178' /*OR $ip == '217.119.68.142'*/){
    echo html_render('layouts/_dummy_block');
    die();
}


//подлючаться к конкретной базе
//mysql_close_db();
//mysql_connect_db($config['mysql']['efir'],true);

$request_url = explode('?',$_SERVER['REQUEST_URI'],2); //dd($request_url);
//создание массива $u
$u = explode('/',$request_url[0]);

if ($u[1]=='api') {
	require_once(ROOT_DIR.'api/index.php');
	die();
}
if ($u[1]=='_imgs') {
	require_once(ROOT_DIR.'_imgs/index.php');
	die();
}

/*
if ($config['multilingual'] AND $config['multilingual_u0']) {
	//смещаем на 1 влево все $u для того чтобы в $u[0] был урл языка
	foreach ($u as $k=>$v) {
		$k1 = $k+1;
		if (isset($u[$k1])) $u[$k]=$u[$k1];
		else unset($u[$k]);
	}
}
*/
//создаем до 10 уровня вложеность урл
for ($i=0; $i<10; $i++) if (empty($u[$i])) $u[$i] = '';
/*
if ($config['site'] == 1) {
    if($u[1]=='webinar' AND strripos($u[2],'1117fce796') !== false AND !@$_SESSION['user']['id']) {
        die();
    }
}
/**/
$abc['user'] = $user = user('auth'); //print_r($user);
if(@$user['id'] AND access('user need_update_user') AND !@$user['moderation']){
    $config['need_update_user'] = need_update_user($user);
}
if(@$_GET['report'] AND !@$user['id']){
    $redirect_url = get_unset_url($_GET,array('report'));
    header('location: ' . $redirect_url);
    die();
}
//включена заглушка для всех кроме администраторов или если ошибка с БД
if (test_user()) {
    echo html_render('layouts/_dummy_block');
    die();
}


if(@$abc['user']['email'] == 'wi.school.online@gmail.com' AND !@$_COOKIE['refreshauth']){
    setcookie("refreshauth",1, time()+60*60*24*300,'/',$config['.main_domain']);
    $_SESSION['user'] = [];
    unset($_SESSION['user']);
    setcookie("login",'', time()-1,'/',$config['.main_domain']);
    setcookie("hash",'', time()-1,'/',$config['.main_domain']);
    $abc['user'] = $user = user();
}


//[9.413] большой веб с редиректами
if ($config['site'] == 2) {
    redirect_webinar_extensions();
    $arr_redirects = array();
    /*
        $arr_redirects = array(
            'd824c0039fb62e8'=>'99e8ffe8e6a575f',
            '634d9e4027335f0'=>'99c796c38c8cdb7',
            'd7850eab6ade55c'=>'e0b4c8085fe47b3',
            '8bf649a2ba59a7c'=>'a3c0f7341e64411',
        );
        /**/
    /*
    if($config['server'] == 17 AND @$u[1]=='webinar' AND @$u[2]=='e3f0db9806'){
        header('location: https://efir10.webinar-stars.com/webinar/e3f0db9806/');
        die();
    }
    /**/

    /*
    if($config['server'] == 16 AND @$u[1]=='webinar' AND @$u[2]=='76160af97e'){
        header('location: https://efir13.webinar-stars.com/webinar/76160af97e/');
        die();
    }
    /**/
/*
    if($config['server'] == 13 AND @$u[1]=='webinar' AND @$u[2]=='c5fb44ebae'){
        $queryString = $_SERVER['QUERY_STRING'];
        $redirectUrl = 'https://efir14.webinar-stars.com/webinar/c5fb44ebae/';
        if (!empty($queryString)) {
            $redirectUrl .= '?' . $queryString;
        }
        header('location: '.$redirectUrl);
        die();
    }
    /**/
    //https://efir14.webinar-stars.com/webinar/a43336b4ad/?utm_source=chat&utm_medium=webinar_21082025&utm_campaign=august2025
    //https://efir15.webinar-stars.com/webinar/2a849d756d
    //https://efir7.webinar-stars.com/webinar/0689b5d1ba/?utm_term=g


    if($config['server'] == 15 AND @$u[1]=='webinar' AND @$u[2]=='d421033828'){
        $queryString = $_SERVER['QUERY_STRING'];
        $redirectUrl = 'https://efir16.webinar-stars.com/webinar/d421033828/';
        if (!empty($queryString)) {
            $redirectUrl .= '?' . $queryString;
        }
        header('location: '.$redirectUrl);
        die();
    }


    if($config['server'] == 7 AND @$u[1]=='webinar' AND @$u[2]=='0689b5d1ba'){
        $queryString = $_SERVER['QUERY_STRING'];
        $redirectUrl = 'https://efir14.webinar-stars.com/webinar/0689b5d1ba/';
        if (!empty($queryString)) {
            $redirectUrl .= '?' . $queryString;
        }
        header('location: '.$redirectUrl);
        die();
    }

    if($config['server'] == 15 AND @$u[1]=='webinar' AND @$u[2]=='bd3231e128'){
        $queryString = $_SERVER['QUERY_STRING'];
        $redirectUrl = 'https://efir16.webinar-stars.com/webinar/bd3231e128/';
        if (!empty($queryString)) {
            $redirectUrl .= '?' . $queryString;
        }
        header('location: '.$redirectUrl);
        die();
    }
    if($config['server'] == 15 AND @$u[1]=='webinar' AND @$u[2]=='2a849d756d'){
        $queryString = $_SERVER['QUERY_STRING'];
        $redirectUrl = 'https://efir16.webinar-stars.com/webinar/2a849d756d/';
        if (!empty($queryString)) {
            $redirectUrl .= '?' . $queryString;
        }
        header('location: '.$redirectUrl);
        die();
    }


    if($config['server'] == 14 AND @$u[1]=='webinar' AND @$u[2]=='a43336b4ad'){
        $queryString = $_SERVER['QUERY_STRING'];
        $redirectUrl = 'https://efir14.webinar-stars.com/webinar/5bb54d328c/';
        if (!empty($queryString)) {
            $redirectUrl .= '?' . $queryString;
        }
        header('location: '.$redirectUrl);
        die();
    }

    if($config['server'] == 0 AND @$u[1]=='webinar' AND @$u[2]=='013dbc3671'){
        $queryString = $_SERVER['QUERY_STRING'];
        $redirectUrl = 'https://efir2.webinar-stars.com/webinar/013dbc3671/';
        if (!empty($queryString)) {
            $redirectUrl .= '?' . $queryString;
        }
        header('location: '.$redirectUrl);
        die();
    }

    if($config['server'] == 0 AND @$u[1]=='webinar' AND @$u[2]=='efedf90d19'){
        $queryString = $_SERVER['QUERY_STRING'];
        $redirectUrl = 'https://efir.webinar-stars.com/webinar/3e0c6eee170a317/';
        if (!empty($queryString)) {
            $redirectUrl .= '?' . $queryString;
        }
        header('location: '.$redirectUrl);
        die();
    }
    /*
    if($config['server'] == 7 AND @$u[1]=='webinar' AND @$u[2]=='a44d89e03c'){
        $queryString = $_SERVER['QUERY_STRING'];
        $redirectUrl = 'https://efir10.webinar-stars.com/webinar/a44d89e03c/';
        if (!empty($queryString)) {
            $redirectUrl .= '?' . $queryString;
        }
        header('location: '.$redirectUrl);
        die();
    }
    /**/

    if($config['server'] == 8 AND @$u[1]=='webinar' AND @$u[2]=='d54097a0d1'){
        $queryString = $_SERVER['QUERY_STRING'];
        $redirectUrl = 'https://efir8.webinar-stars.com/webinar/a47ffd75fb/';
        if (!empty($queryString)) {
            $redirectUrl .= '?' . $queryString;
        }
        header('location: '.$redirectUrl);
        die();
    }




    if($config['server'] == 14 AND @$u[1]=='webinar' AND @$u[2]=='d406f177e2'){
        $queryString = $_SERVER['QUERY_STRING'];
        $redirectUrl = 'https://efir17.webinar-stars.com/webinar/d406f177e2/';
        if (!empty($queryString)) {
            $redirectUrl .= '?' . $queryString;
        }
        header('location: '.$redirectUrl);
        die();
    }



    if($config['server'] == 15 AND @$u[1]=='webinar' AND @$u[2]=='916e38922223b00'){
        $queryString = $_SERVER['QUERY_STRING'];
        $redirectUrl = 'https://efir16.webinar-stars.com/webinar/916e38922223b00/';
        if (!empty($queryString)) {
            $redirectUrl .= '?' . $queryString;
        }
        header('location: '.$redirectUrl);
        die();
    }


    if($config['server'] == 15 AND @$u[1]=='webinar' AND @$u[2]=='d23b4b289b'){
        $queryString = $_SERVER['QUERY_STRING'];
        $redirectUrl = 'https://efir16.webinar-stars.com/webinar/d23b4b289b/';
        if (!empty($queryString)) {
            $redirectUrl .= '?' . $queryString;
        }
        header('location: '.$redirectUrl);
        die();
    }


    if($config['server'] == 0 AND @$u[1]=='webinar' AND @$u[2]=='21d204fadf9a2b1'){
        $queryString = $_SERVER['QUERY_STRING'];
        $redirectUrl = 'https://efir.webinar-stars.com/webinar/7e3c30f1ad735de/';
        if (!empty($queryString)) {
            $redirectUrl .= '?' . $queryString;
        }
        header('location: '.$redirectUrl);
        die();
    }


    if($config['server'] == 0 AND @$u[1]=='webinar' AND @$u[2]=='21d204fadf9a2b1'){
        $queryString = $_SERVER['QUERY_STRING'];
        $redirectUrl = 'https://efir.webinar-stars.com/webinar/a7dd996c83/';
        if (!empty($queryString)) {
            $redirectUrl .= '?' . $queryString;
        }
        header('location: '.$redirectUrl);
        die();
    }



    if($config['server'] == 8 AND @$u[1]=='webinar' AND @$u[2]=='4654ba653b'){
        $queryString = $_SERVER['QUERY_STRING'];
        $redirectUrl = 'https://efir8.webinar-stars.com/webinar/50755e77e5/';
        if (!empty($queryString)) {
            $redirectUrl .= '?' . $queryString;
        }
        header('location: '.$redirectUrl);
        die();
    }



    if($config['server'] == 0 AND @$u[1]=='webinar' AND @$u[2]=='4ef32c456a9d964'){
        $queryString = $_SERVER['QUERY_STRING'];
        $redirectUrl = 'https://efir14.webinar-stars.com/webinar/4ef32c456a9d964/';
        if (!empty($queryString)) {
            $redirectUrl .= '?' . $queryString;
        }
        header('location: '.$redirectUrl);
        die();
    }

    if($config['server'] == 15 AND @$u[1]=='webinar' AND @$u[2]=='c2ca6e56be'){
        header('location: https://efir16.webinar-stars.com/webinar/c2ca6e56be/');
        die();
    }

    if($config['server'] == 3 AND @$u[1]=='webinar' AND @$u[2]=='a0d378a0fe'){
        header('location: https://efir3.webinar-stars.com/webinar/17771ce0339b98c/');
        die();
    }

    if($config['server'] == 17 AND @$u[1]=='webinar' AND @$u[2]=='f7efa2fd29'){
        header('location: https://efir7.webinar-stars.com/webinar/f7efa2fd29/');
        die();
    }



    if($config['server'] == 8 AND @$u[1]=='webinar' AND @$u[2]=='70335018dea308e'){
        header('location: https://efir8.webinar-stars.com/webinar/d838e4fc9eee108/');
        die();
    }

    if($config['server'] == 15 AND @$u[1]=='webinar' AND @$u[2]=='388a4f21c0'){
        header('location: https://efir16.webinar-stars.com/webinar/388a4f21c0/');
        die();
    }
    if($config['server'] == 15 AND @$u[1]=='webinar' AND @$u[2]=='b925b6d1be'){
        header('location: https://efir16.webinar-stars.com/webinar/b925b6d1be/');
        die();
    }

    if($config['server'] == 15 AND @$u[1]=='webinar' AND @$u[2]=='9622a03ada'){
        header('location: https://efir14.webinar-stars.com/webinar/9622a03ada/');
        die();
    }

    if(@$u[1]=='webinar' AND @$u[2]=='9af787ac2dd6dcb'){
        $request_url_temp = explode('?',$_SERVER['REQUEST_URI']);
        $redirect = '/webinar/9af787ac3dd6dcb/';
        if(@$request_url_temp[1]){
            $redirect = $redirect.'?'.$request_url_temp[1];
        }
        header('location: ' . $redirect);
        die();
    }

    if(@$u[1]=='webinar' AND @$u[2]=='36c5d00569' AND date('Y-m-d') < '2024-09-20'){
        $request_url_temp = explode('?',$_SERVER['REQUEST_URI']);
        $redirect = 'https://efir13.webinar-stars.com/webinar/f17bbca05f/';
        if(@$request_url_temp[1]){
            $redirect = $redirect.'?'.$request_url_temp[1];
        }
        header('location: ' . $redirect);
        die();
    }


    if(@$u[1]=='webinar' AND @$arr_redirects[$u[2]]){
        $request_url_temp = explode('?',$_SERVER['REQUEST_URI']);
        $redirect = '/webinar/'.@$arr_redirects[$u[2]].'/';
        if(@$request_url_temp[1]){
            $redirect = $redirect.'?'.$request_url_temp[1];
        }
        if(!@$_SESSION[$u[2]] AND rand(0, 1)){
            header('location: ' . $redirect);
            die();
        }
        else{
            $_SESSION[$u[2]] = 1;
        }
    }

    if(@$u[1]=='webinar' AND @$u[2]=='bffe56357a' AND date('Y-m-d') < '2024-08-22'){
        $request_url_temp = explode('?',$_SERVER['REQUEST_URI']);
        $redirect = '/webinar/34a8b68f8d/';
        if(@$request_url_temp[1]){
            $redirect = $redirect.'?'.$request_url_temp[1];
        }
        header('location: ' . $redirect);
        die();
    }



    $arr_redirects = array(
        '4325f6e78aa7c52'=>'a4d06281ec40053',
        '3f3165bb93dca25'=>'79c016dd1a743a2',
        'fa250085255d500'=>'c5f1af5c2bf3c05',
        'ccd509b22e1da5d'=>'2ba76c1aaa9b902',
        'a850ea407e5acf3'=>'b2044ab5528811c',
        'fc075d51a1e2379'=>'d2a105255812566',
    );
    if(@$u[1]=='webinar' AND @$arr_redirects[$u[2]]){
        $request_url_temp = explode('?',$_SERVER['REQUEST_URI']);
        $redirect = '/webinar/'.@$arr_redirects[$u[2]].'/';
        if(@$request_url_temp[1]){
            $redirect = $redirect.'?'.$request_url_temp[1];
        }
        header('location: ' . $redirect);
        die();
    }

    if(@$u[1]=='webinar' AND @$u[2]=='36ecbceeff3129a' AND date('Y-m-d') < '2024-06-19'){
        $request_url_temp = explode('?',$_SERVER['REQUEST_URI']);
        $redirect = '/webinar/e6aa31fae8cb89f/';
        if(@$request_url_temp[1]){
            $redirect = $redirect.'?'.$request_url_temp[1];
        }
        header('location: ' . $redirect);
        die();
    }


    if(@$u[1]=='webinar' AND @$u[2]=='115aa9ee61' AND date('Y-m-d') < '2024-06-22'){
        $request_url_temp = explode('?',$_SERVER['REQUEST_URI']);
        $redirect = '/webinar/292afb3e6b/';
        if(@$request_url_temp[1]){
            $redirect = $redirect.'?'.$request_url_temp[1];
        }
        header('location: ' . $redirect);
        die();
    }





    if(@$u[1]=='webinar' AND @$u[2]=='08ce9cd752832a8' AND date('Y-m-d') < '2024-03-21'){
        $request_url_temp = explode('?',$_SERVER['REQUEST_URI']);
        $redirect = '/webinar/a084d15a0827b2e/';
        if(@$request_url_temp[1]){
            $redirect = $redirect.'?'.$request_url_temp[1];
        }
        header('location: ' . $redirect);
        die();
    }
    if(@$u[1]=='webinar' AND @$u[2]=='86281a63e1c8c55' AND date('Y-m-d') < '2024-03-21'){
        $request_url_temp = explode('?',$_SERVER['REQUEST_URI']);
        $redirect = '/webinar/a084d15a0827b2e/';
        if(@$request_url_temp[1]){
            $redirect = $redirect.'?'.$request_url_temp[1];
        }
        header('location: ' . $redirect);
        die();
    }



    if(@$u[1]=='webinar' AND @$u[2]=='cebdf9b642' AND date('Y-m-d') < '2024-02-12'){
        $request_url_temp = explode('?',$_SERVER['REQUEST_URI']);
        $redirect = '/webinar/b7efe6e08f44138/';
        if(@$request_url_temp[1]){
            $redirect = $redirect.'?'.$request_url_temp[1];
        }
        header('location: ' . $redirect);
        die();
    }



    if(@$u[1]=='webinar' AND @$u[2]=='d56ca83c19e6c6c' AND date('Y-m-d') < '2024-02-07'){
        $request_url_temp = explode('?',$_SERVER['REQUEST_URI']);
        $redirect = '/webinar/51c86d7f8e1e533/';
        if(@$request_url_temp[1]){
            $redirect = $redirect.'?'.$request_url_temp[1];
        }
        header('location: ' . $redirect);
        die();
    }


    if(@$u[1]=='webinar' AND @$u[2]=='267c8b74b8' AND date('Y-m-d') < '2024-01-23'){
        $request_url_temp = explode('?',$_SERVER['REQUEST_URI']);
        $redirect = '/webinar/a57f9473e69a8bd/';
        if(@$request_url_temp[1]){
            $redirect = $redirect.'?'.$request_url_temp[1];
        }
        header('location: ' . $redirect);
        die();
    }

    if(@$u[1]=='webinar' AND @$u[2]=='601ba2c98d' AND date('Y-m-d') < '2024-01-15'){
        $request_url_temp = explode('?',$_SERVER['REQUEST_URI']);
        $redirect = '/webinar/f02e3924da76178/';
        if(@$request_url_temp[1]){
            $redirect = $redirect.'?'.$request_url_temp[1];
        }
        header('location: ' . $redirect);
        die();
    }

    if(@$u[1]=='webinar' AND @$u[2]=='31c47ec0e2' AND date('Y-m-d') < '2024-01-22'){
        $request_url_temp = explode('?',$_SERVER['REQUEST_URI']);
        $redirect = '/webinar/a57f9473e6b06f7/';
        if(@$request_url_temp[1]){
            $redirect = $redirect.'?'.$request_url_temp[1];
        }
        header('location: ' . $redirect);
        die();
    }
    if(@$u[1]=='webinar' AND @$u[2]=='601ba2c98d' AND date('Y-m-d') < '2023-11-14'){
        $request_url_temp = explode('?',$_SERVER['REQUEST_URI']);
        $redirect = '/webinar/0abc86db4acddf4/';
        if(@$request_url_temp[1]){
            $redirect = $redirect.'?'.$request_url_temp[1];
        }
        header('location: ' . $redirect);
        die();
    }


    if(@$u[1]=='webinar' AND @$u[2]=='601ba2c98d' AND date('Y-m-d') < '2023-09-26'){
        $request_url_temp = explode('?',$_SERVER['REQUEST_URI']);
        $redirect = '/webinar/8ca9bf90367ab46/';
        if(@$request_url_temp[1]){
            $redirect = $redirect.'?'.$request_url_temp[1];
        }
        header('location: ' . $redirect);
        die();
    }

    if(@$u[1]=='webinar' AND @$u[2]=='24949e11c721a53' AND date('Y-m-d') < '2023-08-29'){
        $request_url_temp = explode('?',$_SERVER['REQUEST_URI']);
        $redirect = '/webinar/c2746be3ceeaf7f/';
        if(@$request_url_temp[1]){
            $redirect = $redirect.'?'.$request_url_temp[1];
        }
        header('location: ' . $redirect);
        die();
    }


}
if($config['site']==2 AND $config['server'] == 7 AND $u[1]=='webinar' AND $u[2]=='601ba2c98d' AND date('Y-m-d') < '2023-11-06'){
    header('location: https://efir7.webinar-stars.com/webinar/8aed0da83e69a32/');
    die();
}

//редирект вебинара
if ($config['site']==2 AND $u[1]=='webinar' AND $u[2]=='0fde6e5556') {
	header('location: https://youtu.be/hRXOxaLswYo');
	die();
}
if($config['site']==2 AND $config['server'] == 4 AND $u[1]=='webinar' AND $u[2]=='b0338ec887'){
    header('location: https://efir4.webinar-stars.com/webinar/23651f392b/');
    die();
}

//редирект вебинара
if ($config['site']==2 AND $u[1]=='webinar' AND $u[2]=='6e6cbbeaee5024b') {
	header('location: https://efir2.webinar-stars.com/webinar/2be5cdfae51add6/');
	die();
}

//$config['need_open_modal'] = get_invitation_modal_info();
/*
dd($config['need_open_modal']);
dd(@$_COOKIE['last_opened_invitation_modal']);
die();
/**/
if(@$user['language'] AND $test = mysql_select("SELECT * FROM languages WHERE id = '".$user['language']."' AND display = 1 LIMIT 1 ","row")){
    $lang = lang($user['language']);
}
else{
    $test = mysql_select("SELECT * FROM languages WHERE display = 1 ORDER by rank DESC LIMIT 1 ","row");
    $lang = lang($test['id']);
    if(@$user['id']){
        mysql_fn('update','users',array('id'=>$user['id'],'language'=>$lang['id']));
        $user['language'] = $abc['user']['language'] = $_SESSION['user']['language'] = $lang['id'];
    }
}
change_var();
//dd($config['webinar_modes']);
//die();
/*
dd($user);
dd($lang);
die();
/**/
$abc['lang'] = $lang;
if(@$lang){
    $_SESSION['current_language'] = array('id'=>@$lang['id']);
}
require_once(ROOT_DIR.'functions/data_func.php');	//общие массивы

//v1.3.3 переменные для шаблонов
$abc['template'] = '_template'; //основной шаблон с header
$abc['layout'] = 'page'; //внутренний шаблон модуля
$abc['module'] = 'page'; //модуль

//список модулей на сайте
$modules = mysql_select("SELECT url name,module id FROM pages WHERE module!='pages' AND language=".$lang['id']." AND display=1",'array',60*60);

//аутентификация - создание массива с данными пользователя
//$abc['user'] = $user = user('auth'); //print_r($user);
//принудительная авторизация под админом - для демки
//$_SESSION['user'] = $user = mysql_select("SELECT ut.*,u.*FROM users u LEFT JOIN user_types ut ON u.type = ut.id WHERE u.id=1 LIMIT 1",'row');

//v1.2.45 - редирект на основной домен
if (@$config['domain_main_redirect'] AND @$config['domain_main']) {
	if ($config['local']==false AND $config['domain_main']!=$_SERVER['HTTP_HOST']) {
		header('HTTP/1.1 301 Moved Permanently');
		header('location: ' . $config['http_domain'] . $_SERVER['REQUEST_URI']);
		die();
	}
}

//v1.2.34 - переадресация https
if (@$config['https']==1) {
	if($_SERVER['HTTPS']!='on') {
		header('HTTP/1.1 301 Moved Permanently');
		header('location: ' . $config['http_domain'] . $_SERVER['REQUEST_URI']);
		die();
	}
}

//включена заглушка для всех кроме администраторов или если ошибка с БД
if (($config['dummy']==1 AND access('user admin')==false) OR @$config['mysql_error']) {
	echo html_render('layouts/_dummy');
	die();
}

//редиректы с админки
if ($config['redirects']) {
	//$request_url = explode('?',$_SERVER['REQUEST_URI']); //print_r($request_url);
	if ($redirect = mysql_select("SELECT * FROM redirects WHERE old_url='".mysql_res($request_url[0])."'",'row')) {
		header('HTTP/1.1 301 Moved Permanently');
		header('location: '.$config['http_domain'].$redirect['new_url']);
		die();
	}
}

$error = 0;
//мультиязычность
if ($config['multilingual']) {
	//если урл языка не совпадает
	if ($u[0]!='' AND $u[0]!=$lang['url']) $error++;
}

//нет задвоения // в урл
if (strripos($request_url[0], '//')===false) {
    if(@$u[1] == 'timer'){
        if($timer = mysql_select("SELECT * FROM timers WHERE hash = '".@$u[2]."' LIMIT 1 ","row")){
            require_once(ROOT_DIR.'functions/timers_func.php');
            $timer['data'] = @$timer['data']?json_decode($timer['data'],true):array();
            // Встановлюємо хедер Content-Type
            header('Content-Type: text/javascript');
            // Додаємо кастомний хедер
            header('X-Custom-Header: MyHeaderValue');
            echo get_timer_code($timer);
            die();
        }
        else{
            $error ++;
        }
    }
	//условие для главной страницы или модуля
	$where = ($u[1] == '') ? "module='index'" : "url='" . mysql_res($u[1]) . "'";
	//sql-запрос в таблицу pages
	$query = "
		SELECT *, id AS pid
		FROM pages
		WHERE display=1 AND language=" . $lang['id'] . " AND " . $where . "
		LIMIT 1
	"; //echo $query;
	//массив $abc['page] содержит начальную информацию для страницы, которая может быть изменена/дополнена в модуле
	if ($error == 0 AND $abc['page'] = mysql_select($query, 'row', 60 * 60)) {
		$abc['module'] = $abc['page']['module'];
		$abc['layout'] = $abc['page']['module'];
		//хлебные крошки, начинаем с главной
		$abc['breadcrumb'] = array();
		$abc['breadcrumb'][] = array(
			'name'=>i18n('common|site_name'),
			'url'=>get_url('index')
		);
		if ($abc['page']['level'] > 1) {
			$query = "
				SELECT name,url,module
				FROM pages
				WHERE left_key <= " . $abc['page']['left_key'] . "
					AND right_key >= " . $abc['page']['right_key'] . "
				ORDER BY left_key ASC
			";
			$breadcrumb = breadcrumb($query, get_url('page',array('url'=>'{url}','module'=>'{module}')), 60 * 60);
			$abc['breadcrumb'] = array_merge($abc['breadcrumb'],$breadcrumb);
		}
		else {
			$abc['breadcrumb'][] = array(
				'name'=>$abc['page']['name'],
				'url'=>get_url('page', $abc['page'])
			);
		}
		//загрузка модуля
		$file_module = ROOT_DIR . 'modules/' . $abc['module'] . '.php';
		if (is_file($file_module)) {
			require_once($file_module);
			//v1.3.3 если нет layout то ставим default, нужно для $abc['content'] (ранее $html['content'])
			if (!file_exists(ROOT_DIR.$config['style'].'/includes/layouts/'.$abc['layout'].'.php')) {
				$abc['layout'] = 'default';
			}
		}
		else {
			trigger_error('file not exists ' . $file_module, E_USER_DEPRECATED);
			$error++;
		}
	}
	else $error++;
}
else $error++;
//404
if ($error>0) {
	header("HTTP/1.0 404 Not Found");
	$abc['page']['title'] = $abc['page']['name'] = $abc['page']['description'] = i18n('common|str_no_page_name');
	$abc['layout'] = 'error';
	if ($abc['template'] = '_template_webinar') $abc['template'] = '_template';
	if (!access('user auth')) $abc['template'] = '_template_login';
}
//РЕДИРЕКТЫ если не 404`
else{
	//1) 301 редирект при неккоректном урл
	if($_SERVER['REQUEST_URI']) {
		//$request_url = explode('?',$_SERVER['REQUEST_URI']);
		if (substr($request_url[0], -1)!='/') {
			$url = isset($request_url[1]) ? '?'.$request_url[1] : '';
			header('HTTP/1.1 301 Moved Permanently');
			die(header('location: '.$request_url[0].'/'.$url));
		}
	}
	//2) редирект если запрашивают через index.php
	if (strpos($_SERVER['REQUEST_URI'],'/index.php')!==false) { // проверяем есть ли вхождение строки
		header('HTTP/1.1 301 Moved Permanently');
		// редиректим на адрес без '/index.php', будет выбивать на 404, либо главную
		die(header('location: '.$config['http_domain'].str_replace('/index.php','',$_SERVER['REQUEST_URI'])));
	}
	//3) v1.2.30 редирект для uppercase
	if (@$config['redirect_uppercase']) {
		//$request_url = explode('?',$_SERVER['REQUEST_URI']); //print_r($request_url);
		$lowercase = mb_strtolower($request_url[0],'UTF-8');
		if ($lowercase!=$request_url[0]) {
			header('HTTP/1.1 301 Moved Permanently');
			header('location: '.$config['http_domain'].$lowercase);
			die();
		}
	}
}

//callback-функция для буфера вывода gzip.
//ob_start("ob_gzhandler"); - закоментировал так как не понятно было работает или нет
if (@$config['html_minify']) {
	ob_start("html_minify"); //в common добавил функцию для сжатия нтмл
}
if(@$_GET['test_upload_materials']){
    $abc['template'] = '_template_test_materials';
}

if(is_file(ROOT_DIR.('templates/src/vendors/jquery/jquery-validation-1.19.1/localization/messages_'.$lang['url'].'.js'))){
    $config['sources']['bundle.js'][5] = '/templates/src/vendors/jquery/jquery-validation-1.19.1/localization/messages_'.$lang['url'].'.js';
}
// если есть поля для обновления то отправляем на шаблон обновления данных
if(@$config['need_update_user']){
    //$abc['template'] = '_template_update_user';
    $abc['template'] = '_template_login';
    $abc['layout'] = 'update_user';
}

if (file_exists(ROOT_DIR.'/files/languages/'.$lang['id'].'/dictionary/scripts.php')) {
    require (ROOT_DIR.'/files/languages/'.$lang['id'].'/dictionary/scripts.php');
    if(@$lang['scripts']){
        foreach ($lang['scripts'] as $k => $v){
            $lang['scripts'][$k] = filter_var($v,FILTER_SANITIZE_STRING);
        }
        $config['script_languages'] = json_encode($lang['scripts']);
    }
}

//загрузка шаблона
echo html_render('layouts/'.$abc['template']);

//debug queries
if (access('user admin') AND @$_GET['show_queries']) {
	dd($config['queries']);
}
mysql_close_db();
