<? @require_once 'include/autoload.php'; define("RE_SITE_KEY", "6LeATXYUAAAAAGCEfK1HPub4zdkA0osXLt7HCTNa"); define("RE_SEC_KEY", "6LeATXYUAAAAAE3ZcKXH4g0x3MVBzOjDZ_tkuiVC"); include "webest.php"; $detect = new MobileDetect(); $GLOBALS["mobile"] = $detect->isMobile(); $GLOBALS["ip"] = $_SERVER['REMOTE_ADDR']; $GLOBALS["poddomen"] = array_shift(explode(".", $_SERVER['HTTP_HOST'])); $isMobile = ($GLOBALS["mobile"]) ? 'моб' : 'деск'; global $APPLICATION; if ($APPLICATION->GetCurDir() == "/lp/" && $GLOBALS["mobile"]) { $GLOBALS["mobile"] = false; $isMobile = false; } ini_set("session.cookie_domain", ".avtonavix.ru"); global $city_name, $poddomen, $APPLICATION; //Устанавливаем название города if (isset($_GET['city'])) {//Если прямой переход с указанием города $city_name = $_GET['city']; $APPLICATION->set_cookie("GOROD", $city_name . '::' . $isMobile, time() + 60 * 60 * 24 * 30 * 12, "/", '.avtonavix.ru', false, true, false, false); } else { if (!empty($_COOKIE['BITRIX_SM_GOROD'])) {//Город устанавливаем из куки $array = explode("::", $_COOKIE['BITRIX_SM_GOROD']); //Если город из кук соответствует поддомену, то используем город из кук, если нет, то выставляем гроод по умолчанию. if ($poddomen === 'barnaul') { if ($array[0] === 'Барнаул' || $array[0] === 'Алтайский край') { $city_name = $array[0]; } else { $city_name = 'Барнаул'; } } elseif ($poddomen === 'belgorod') { if ($array[0] === 'Белгород' || $array[0] === 'Белгородская область') { $city_name = $array[0]; } else { $city_name = 'Белгород'; } } else if ($poddomen === 'kemerovo') { if ($array[0] === 'Кемерово' || $array[0] === 'Кемеровская область') { $city_name = $array[0]; } else { $city_name = 'Кемерово'; } } else if ($poddomen === 'irkutsk') { if ($array[0] === 'Иркутск' || $array[0] === 'Иркутская область') { $city_name = $array[0]; } else { $city_name = 'Иркутск'; } } else if ($poddomen === 'omsk') { if ($array[0] === 'Омск' || $array[0] === 'Омская область') { $city_name = $array[0]; } else { $city_name = 'Омск'; } } else if ($poddomen === 'moscow') { if ($array[0] === 'Москва' || $array[0] === 'Московская область' || $array[0] === 'Химки') { $city_name = $array[0]; } else { $city_name = 'Москва'; } } else if ($poddomen === 'avtonavix') { if ( $array[0] !== 'Москва' && $array[0] !== 'Московская область' && $array[0] !== 'Химки' && $array[0] !== 'Омск' && $array[0] !== 'Омская область' && $array[0] !== 'Иркутск' && $array[0] !== 'Иркутская область' && $array[0] !== 'Кемерово' && $array[0] !== 'Кемеровская область' && $array[0] !== 'Барнаул' && $array[0] !== 'Алтайский край' ) { $city_name = $array[0]; } else { $city_name = 'Новосибирск'; } } } else {//Если посещений не было, то определяем город стандартными средствами по умолчанию. if ($poddomen === 'barnaul') { $city_name = 'Барнаул'; } elseif ($poddomen === 'belgorod') { $city_name = 'Белгород'; } else if ($poddomen === 'kemerovo') { $city_name = 'Кемерово'; } else if ($poddomen === 'irkutsk') { $city_name = 'Иркутск'; } else if ($poddomen === 'omsk') { $city_name = 'Омск'; } else if ($poddomen === 'moscow') { $city_name = 'Москва'; } else if ($poddomen === 'avtonavix') { $city_name = 'Новосибирск'; } else { $city_name = getCityNameIpGeo($GLOBALS["ip"]); if (!$city_name) { $city_name = 'Новосибирск'; } } } } if (!$city_name) { $city_name = 'Новосибирск'; } //Выставляем город либо из куки, либо по умолчанию /* if($GLOBALS["poddomen"]==='barnaul'){ if($_COOKIE['BITRIX_SM_'.$GLOBALS["poddomen"].'city'] && $_COOKIE['BITRIX_SM_'.$GLOBALS["poddomen"].'city']!=''){ $GLOBALS["city_name"] = $_COOKIE['BITRIX_SM_'.$GLOBALS["poddomen"].'city']; }else{ $GLOBALS["city_name"] = 'Барнаул'; } }else if($GLOBALS["poddomen"]==='omsk'){ if($_COOKIE['BITRIX_SM_'.$GLOBALS["poddomen"].'city'] && $_COOKIE['BITRIX_SM_'.$GLOBALS["poddomen"].'city']!=''){ $GLOBALS["city_name"] = $_COOKIE['BITRIX_SM_'.$GLOBALS["poddomen"].'city']; }else{ $GLOBALS["city_name"] = 'Омск'; } }else if($GLOBALS["poddomen"]==='kemerovo'){ if($_COOKIE['BITRIX_SM_'.$GLOBALS["poddomen"].'city'] && $_COOKIE['BITRIX_SM_'.$GLOBALS["poddomen"].'city']!=''){ $GLOBALS["city_name"] = $_COOKIE['BITRIX_SM_'.$GLOBALS["poddomen"].'city']; }else{ $GLOBALS["city_name"] = 'Кемерово'; } }else if($GLOBALS["poddomen"]==='irkutsk'){ if($_COOKIE['BITRIX_SM_'.$GLOBALS["poddomen"].'city'] && $_COOKIE['BITRIX_SM_'.$GLOBALS["poddomen"].'city']!=''){ $GLOBALS["city_name"] = $_COOKIE['BITRIX_SM_'.$GLOBALS["poddomen"].'city']; }else{ $GLOBALS["city_name"] = 'Иркутск'; } }else{ $city_name=getCityNameIpGeo($GLOBALS["ip"]); if($city_name){ $GLOBALS["city_name"]=$city_name; }else { $GLOBALS["city_name"] = 'Новосибирск'; } } */ /* * Список городов со всеми доп. полями с кешированием. Нужен в списке городов. * */ AddEventHandler("main", "OnBeforeProlog", "MyOnBeforePrologHandler", 50); function MyOnBeforePrologHandler() { global $citiesList; if (CModule::IncludeModule("iblock")) { $IBLOCK_ID = 57; $COMMON_CITY = 746; $cache = new CPHPCache(); $cache_time = 3600 * 12; //кеш на сутки $cache_id = 'citiesList' . $IBLOCK_ID; $cache_path = 'citiesList'; if ($cache_time > 0 && $cache->InitCache($cache_time, $cache_id, $cache_path)) { $res = $cache->GetVars(); if (is_array($res["citiesList"]) && (count($res["citiesList"]) > 0)) { $citiesList = $res["citiesList"]; } $citiesList['CACHE'] = 'true'; } if (!is_array($citiesList)) { $citiesList['CACHE'] = 'false'; $obPhone = CIBlockElement::GetProperty(intval($IBLOCK_ID), intval($COMMON_CITY), array(), array("CODE" => "PHONE"))->GetNext(); $form_b24 = CIBlockElement::GetProperty(intval($IBLOCK_ID), intval($COMMON_CITY), array(), array("CODE" => "FORM_B24"))->GetNext(); $arSelect = array("ID", "IBLOCK_ID", "NAME", "CODE", "PROPERTY_POSTAL_CODE", "PROPERTY_STREET_ADRES", "PROPERTY_BIG_CITY", "PROPERTY_DOMAIN", "PROPERTY_PREDLOG_PADEG", "PROPERTY_BITRIX24", "PROPERTY_FORM_B24"); $arFilter = array("IBLOCK_ID" => intval($IBLOCK_ID), "ACTIVE_DATE" => "Y", "ACTIVE" => "Y"); $rsCityList = CIBlockElement::GetList(array(), $arFilter, false, array(), $arSelect); while ($arCityList = $rsCityList->GetNextElement()) { $item = $arCityList->GetFields(); $item["PROPERTIES"] = $arCityList->GetProperties(); if (empty($item["PROPERTIES"]["PHONE"]["VALUE"])) { $item["PROPERTIES"]["PHONE"]["VALUE"] = $obPhone["VALUE"]; } if (empty($item["PROPERTIES"]["FORM_B24"]["~VALUE"])) { $item["PROPERTIES"]["FORM_B24"]['~VALUE'] = $form_b24['~VALUE']['TEXT']; } if ($item["ID"] == 746) { $item['NAME'] = 'Общий город'; } $arResult["CITIES_LIST"][] = $item; /*foreach ($item["PROPERTIES"] as $key=>$value){ $citiesList['CITIESLISTBYNAME'][$item['NAME']][$key]=$value['VALUE']; $citiesList['CITIESLISTBYID'][$item['ID']][$key]=$value['VALUE']; }*/ $citiesList['CITIESLISTBYID'][$item['ID']]['NAME'] = $item['NAME']; $citiesList['CITIESLISTBYID'][$item['ID']]['PHONE'] = $item["PROPERTIES"]['PHONE']['VALUE']; $citiesList['CITIESLISTBYID'][$item['ID']]['POSTAL'] = $item['PROPERTY_POSTAL_CODE_VALUE']; $citiesList['CITIESLISTBYID'][$item['ID']]['ADRES'] = $item['PROPERTY_STREET_ADRES_VALUE']; $citiesList['CITIESLISTBYID'][$item['ID']]['BIG'] = $item['PROPERTY_BIG_CITY_VALUE']; $citiesList['CITIESLISTBYID'][$item['ID']]['DOMAIN'] = $item['PROPERTY_DOMAIN_VALUE']; $citiesList['CITIESLISTBYID'][$item['ID']]['PREDLOG_PADEG'] = $item['PROPERTY_PREDLOG_PADEG_VALUE']; $bitrtix24 = $item['PROPERTIES']['BITRIX24']['~VALUE']; $citiesList['CITIESLISTBYID'][$item['ID']]['BITRIX24'] = is_array($bitrtix24) ? $bitrtix24['TEXT'] : $bitrtix24; $prop_form_b24= $item['PROPERTIES']['BITRIX24']['~VALUE']; $citiesList['CITIESLISTBYID'][$item['ID']]['FORM_B24'] = is_array($prop_form_b24) ? $prop_form_b24['TEXT'] : $prop_form_b24; $citiesList['CITIESLISTBYNAME'][$item['NAME']]['ID'] = $item['ID']; $citiesList['CITIESLISTBYNAME'][$item['NAME']]['NAME'] = $item['NAME']; $citiesList['CITIESLISTBYNAME'][$item['NAME']]['PHONE'] = $item["PROPERTIES"]['PHONE']['VALUE']; $citiesList['CITIESLISTBYNAME'][$item['NAME']]['POSTAL'] = $item["PROPERTIES"]['POSTAL_CODE']['VALUE']; $citiesList['CITIESLISTBYNAME'][$item['NAME']]['ADRES'] = $item["PROPERTIES"]['STREET_ADRES']['VALUE']; $citiesList['CITIESLISTBYNAME'][$item['NAME']]['BIG'] = $item["PROPERTIES"]['BIG_CITY']['VALUE']; $citiesList['CITIESLISTBYNAME'][$item['NAME']]['DOMAIN'] = $item['PROPERTY_DOMAIN_VALUE']; $citiesList['CITIESLISTBYNAME'][$item['NAME']]['PREDLOG_PADEG'] = $item['PROPERTY_PREDLOG_PADEG_VALUE']; $citiesList['CITIESLISTBYNAME'][$item['NAME']]['BITRIX24'] = is_array($bitrtix24) ? $bitrtix24['TEXT'] : $bitrtix24; $citiesList['CITIESLISTBYNAME'][$item['NAME']]['FORM_B24'] = is_array($prop_form_b24) ? $prop_form_b24['TEXT'] : $prop_form_b24; } unset($form_b24); //////////// end cache ///////// if ($cache_time > 0) { $cache->StartDataCache($cache_time, $cache_id, $cache_path); $cache->EndDataCache(array("citiesList" => $citiesList)); } } $GLOBALS["citiesList"] = $citiesList; } } /* Добавляем шаблоны глобальных переменных */ if (!function_exists('OnEndBufferContentHandler')) { AddEventHandler("main", "OnEndBufferContent", "OnEndBufferContentHandler"); function OnEndBufferContentHandler(&$sContent) { if (!preg_match('~bitrix/admin~', $GLOBALS['APPLICATION']->GetCurDir())) { $enrollBtnHTML = ''; if (file_exists($_SERVER['DOCUMENT_ROOT'] . '/inc/feedback_btn.php')) { $enrollBtnHTML = file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/inc/feedback_btn.php'); } $sContent = preg_replace('~\#FEEDBACK\_BTN\#~', $enrollBtnHTML, $sContent);//Кнопка вставки формы обратной связи global $citiesList, $city_name; if ($citiesList['CITIESLISTBYNAME'][$city_name]['PREDLOG_PADEG']) { $sContent = preg_replace('~\#CITY\_LOC\#~', $citiesList['CITIESLISTBYNAME'][$city_name]['PREDLOG_PADEG'], $sContent);//Кнопка вставки падежа города } else { $sContent = preg_replace('~\#CITY\_LOC\#~', 'Новосибирске', $sContent);//Кнопка вставки падежа города } $sContent = preg_replace('~\#CITY\_IM\#~', $city_name, $sContent); // Кнопка вставки падежа города if (preg_match('~\#FORM\_BITRIX24\#~', $sContent, $matches)) { $form_b24 = $citiesList['CITIESLISTBYNAME'][$city_name]["FORM_B24"]; $sContent = preg_replace('~\#FORM\_BITRIX24\#~', $form_b24, $sContent); // echo "
";
//                print_r($city_name);
//                echo "
"; } } } } //Добавляем номер страницы в пагинацию AddEventHandler('main', 'OnEpilog', array('CMainHandlers', 'OnEpilogHandler')); class CMainHandlers { public static function OnEpilogHandler() { if (isset($_GET['PAGEN_1']) && intval($_GET['PAGEN_1']) > 0) { $title = $GLOBALS['APPLICATION']->GetTitle(); $desc = $GLOBALS['APPLICATION']->GetProperty("description"); $GLOBALS['APPLICATION']->SetPageProperty('title', $title . ' | Страница ' . intval($_GET['PAGEN_1'])); $GLOBALS['APPLICATION']->SetPageProperty('description', $desc . ' | Страница ' . intval($_GET['PAGEN_1'])); } } }
[RuntimeException] 
Could not start session because headers have already been sent. "/home/bitrix/ext_www/avtonavix.ru/bitrix/php_interface/init.php":1. (0)
/home/bitrix/ext_www/avtonavix.ru/bitrix/modules/main/lib/session/session.php:143
#0: Bitrix\Main\Session\Session->start
	/home/bitrix/ext_www/avtonavix.ru/bitrix/modules/main/lib/session/kernelsessionproxy.php:47
#1: Bitrix\Main\Session\KernelSessionProxy->start
	/home/bitrix/ext_www/avtonavix.ru/bitrix/modules/main/include.php:182
#2: require_once(string)
	/home/bitrix/ext_www/avtonavix.ru/bitrix/modules/main/include/prolog_before.php:19
#3: require_once(string)
	/home/bitrix/ext_www/avtonavix.ru/bitrix/modules/main/include/prolog.php:10
#4: require_once(string)
	/home/bitrix/ext_www/avtonavix.ru/bitrix/header.php:10
#5: require(string)
	/home/bitrix/ext_www/avtonavix.ru/catalog/index.php:2
#6: include_once(string)
	/home/bitrix/ext_www/avtonavix.ru/bitrix/modules/main/include/urlrewrite.php:128
#7: include_once(string)
	/home/bitrix/ext_www/avtonavix.ru/bitrix/urlrewrite.php:2
----------