getHost());
/////////////////////////////////// Включаем таймер /////////////////////////////////////////
$inCore->startGenTimer();
////////////////////////// Загружаем нужные классы //////////////////////////////////////////
$inCore->loadClass('page'); //страница
$inCore->loadClass('plugin'); //плагины
$inCore->loadClass('user'); //пользователь
$inCore->loadClass('actions'); //лента активности
$inDB = cmsDatabase::getInstance();
$inPage = cmsPage::getInstance();
$inConf = cmsConfig::getInstance();
$inUser = cmsUser::getInstance();
cmsCore::loadLanguage('lang'); //главный языковый файл
$inUser->autoLogin(); //автоматически авторизуем пользователя, если найден кукис
//проверяем что пользователь не удален и не забанен
if (!$inUser->update() && !$_SERVER['REQUEST_URI']!=='/logout') { $inCore->halt(); }
//определяем заголовок главной страницы
$home_title = $inConf->hometitle ? $inConf->hometitle : $inConf->sitename;
//устанавливаем заголовок браузера в название сайта
$inPage->setTitle( $inConf->sitename );
////////////////////////// Проверяем, включен ли сайт //////////////////////////
//Если сайт выключен и пользователь не администратор,
//то показываем шаблон сообщения о том что сайт отключен
if ( $inConf->siteoff &&
!$inUser->is_admin &&
$_SERVER['REQUEST_URI']!='/login' &&
$_SERVER['REQUEST_URI']!='/logout'
) {
$inPage->includeTemplateFile('special/siteoff.php');
$inCore->halt();
}
//Если сайт выключен, но пользователь - администратор,
//то выводим полоску с сообщением "Внимание, сайт отключен"
if ($inConf->siteoff && $inUser->is_admin) {
echo $inPage->siteOffNotify();
}
////////////////////////// ГЕО //////////////////////////
$find_ip = $_SERVER['REMOTE_ADDR'];
if($inUser->id > 0){
define('GEO', 1);
}else{
$long=explode('.', $find_ip);
$long_ip = 16777216 * $long[0] + 65536 * $long[1] + 256 * $long[2] + $long[3];
$city_id = $inDB->get_field('cms_ipgeo_base', "long_ip1<'{$long_ip}' AND long_ip2>'{$long_ip}'", 'city_id');
if($city_id > 0){$geo = $inDB->get_fields('cms_ipgeo_cities', "city_id = ".$city_id, 'city, region', 'city_id ASC');}
if($geo['region'] == 'Кемеровская область' OR $geo['region'] == 'Новосибирская область'){define('GEO', 1);}
}
//////////////////////////// Мониторинг пользователей //////////////////////////
$inCore->onlineStats(); //обновляем статистику посещений сайта
////////////////////////////// Генерация страницы //////////////////////////////
//Получаем ID текущего пункта меню
$menuid = $inCore->menuId();
//Строим глубиномер
$inPage->addPathway($_LANG['PATH_HOME'], '/');
$inPage->setTitle( $inCore->menuTitle() );
if ($menuid > 1) { $inPage->addMenuPathway($menuid); }
//Проверяем доступ пользователя
//При положительном результате
//Строим тело страницы (запускаем текущий компонент)
if ($inCore->checkMenuAccess()) $inCore->proceedBody();
//////////////////////////////////// Вывод шаблона /////////////////////////////
//Проверяем нужно ли показать входную страницу (splash)
if($inCore->isSplash()){
//Показываем входную страницу
if (!$inPage->showSplash()){
//Если шаблон входной страницы не был найден,
//показываем обычный шаблон сайта
$inPage->showTemplate();
}
} else {
//показываем шаблон сайта
$inPage->showTemplate();
}
////////////// Вычисляем и выводим время генерации, запросы к базе /////////////
if ($inDB->q_count && $inConf->debug) {
$time = $inCore->getGenTime();
echo $_LANG['DEBUG_TIME_GEN_PAGE'].' '.number_format($time, 4).' '.$_LANG['DEBUG_SEC'];
echo '
'.$_LANG['DEBUG_QUERY_DB'];
echo ' '.$inDB->q_count.'
';
echo $inDB->q_dump;
}
//////////////////////// Очищаем временные переменные //////////////////////////
$inCore->clearSessionTrash();
?>