uawdijnntqw1x1x1
IP : 216.73.216.207
Hostname : xhost1.intravision.ru
Kernel : Linux xhost1.intravision.ru 3.16.0-7-amd64 #1 SMP Debian 3.16.59-1 (2018-10-03) x86_64
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
OS : Linux
PATH:
/
var
/
.
/
files
/
need-2-delete
/
mini-borishof.ru1
/
bitrix
/
php_interface
/
init.php
/
/
<? function _var_dump() { global $USER; if (empty($USER) || !$USER->isAdmin()) return false; $arg_list = func_get_args(); if (0 < count($arg_list)) { foreach ($arg_list as $arg) { $f = debug_backtrace(); echo "<pre style=\"font-size:12px;\">\n" . "<em style=\"color:#f00;\">" . $f[0]["file"] . "(" . $f[0]["line"] . ")</em>\n"; var_dump($arg); echo "</pre>\n"; } } } AddEventHandler('main', 'OnEpilog', '_Check404Error', 1); function _Check404Error(){ if (defined('ERROR_404') && ERROR_404 == 'Y') { global $APPLICATION; $APPLICATION->RestartBuffer(); include $_SERVER['DOCUMENT_ROOT'] . SITE_TEMPLATE_PATH . '/header.php'; include $_SERVER['DOCUMENT_ROOT'] . '/404.php'; include $_SERVER['DOCUMENT_ROOT'] . SITE_TEMPLATE_PATH . '/footer.php'; } } function getImageMINI($url = '') { $result = $url; $path = pathinfo($url); $md5 = md5($path["dirname"] . '/'); if (!is_file($_SERVER['DOCUMENT_ROOT'] . '/upload/jcr:content/' . $md5 . '/.init')) { if (!is_dir($_SERVER['DOCUMENT_ROOT'] . '/upload/jcr:content/' . $md5)) { mkdir($_SERVER['DOCUMENT_ROOT'] . '/upload/jcr:content/' . $md5, 0755); } file_put_contents($_SERVER['DOCUMENT_ROOT'] . '/upload/jcr:content/' . $md5 . '/.init', $path["dirname"] . '/'); } $content = file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/upload/jcr:content/' . $md5 . '/.init'); if ($content) { $name = $path["basename"]; //$name = str_replace(["%25", "%3f"], ["%", "?"], $path["basename"]); $name = str_replace("?", "%3f", $path["basename"]); //$name = urlencode($name); //$result = '/jcr:content/' . $md5 . '/' . str_replace(["?","%"], ["%3f","%25"], $path["basename"]); $result = '/jcr:content/' . $md5 . '/' . $name; } return $result; } function request_url() { $result = ''; $default_port = 80; if (isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS']=='on')) { $result .= 'https://'; $default_port = 443; } else { $result .= 'http://'; } $result .= $_SERVER['SERVER_NAME']; if ($_SERVER['SERVER_PORT'] != $default_port) { $result .= ':'.$_SERVER['SERVER_PORT']; } $result .= $_SERVER['REQUEST_URI']; return $result; } function minPrice ($price1, $price2) { if(empty($price1)){$price1 = pow(9,9);} if($price1 <= $price2){ return $price1; }else{ return $price2; } } function getIdByCode($code,$iblock_id,$type) { if(CModule::IncludeModule("iblock")){ if($type=='IBLOCK_ELEMENT'){ $arFilter=array("IBLOCK_ID"=>$iblock_id,"CODE"=>$code); $res=CIBlockElement::GetList(array(),$arFilter,false,array("nPageSize"=>1),array('ID')); $element=$res->Fetch(); if($res->SelectedRowsCount()!=1) return '<p style="font-weight:bold;color:#ff0000">Элемент не найден</p>'; else return $element['ID']; } else if($type=='IBLOCK_SECTION'){ $res=CIBlockSection::GetList(array(),array('IBLOCK_ID'=>$iblock_id,'CODE'=>$code)); $section=$res->Fetch(); if($res->SelectedRowsCount()!=1) return '<p style="font-weight:bold;color:#ff0000">Раздел не найден</p>'; else return $section['ID']; } else{ return '<p style="font-weight:bold;color:#ff0000">Укажите тип</p>'; } } } function isDebugAdmin() { return CUser::GetID()==1; } function pre() { if(CUser::GetID()!=1) return; echo '<pre>'; foreach (func_get_args() as $value) if (is_array($value) or is_object($value)) { print_r($value); } else { var_dump($value); } // print_r(debug_backtrace()); echo '</pre>'; } function pre_key() { if(CUser::GetID()!=1) return; echo '<pre>'; foreach (func_get_args() as $value) if (is_array($value) or is_object($value)) { print_r(array_keys($value)); } else { var_dump(array_keys($value)); } // print_r(debug_backtrace()); echo '</pre>'; } function previewSmaillImage($result, $item, $size, $default1 = '', $default2 = '', $default3 = '') { if (!empty($result[$item])) { return CFile::ResizeImageGet($result[$item], $size, BX_RESIZE_IMAGE_PROPORTIONAL, true); } elseif (!empty($result[$default1])) { return CFile::ResizeImageGet($result[$default1], $size, BX_RESIZE_IMAGE_PROPORTIONAL, true); } elseif (!empty($result[$default2])) { return CFile::ResizeImageGet($result[$default2], $size, BX_RESIZE_IMAGE_PROPORTIONAL, true); } elseif (!empty($result[$default3])) { return CFile::ResizeImageGet($result[$default3], $size, BX_RESIZE_IMAGE_PROPORTIONAL, true); } } function previewSmaillImageValue($item, $size, $default1 = '', $default2 = '', $default3 = '') { if (!empty($item)) { return CFile::ResizeImageGet($item, $size, BX_RESIZE_IMAGE_PROPORTIONAL, true); } elseif (!empty($default1)) { return CFile::ResizeImageGet($default1, $size, BX_RESIZE_IMAGE_PROPORTIONAL, true); } elseif (!empty($default2)) { return CFile::ResizeImageGet($default2, $size, BX_RESIZE_IMAGE_PROPORTIONAL, true); } elseif (!empty($default3)) { return CFile::ResizeImageGet($default3, $size, BX_RESIZE_IMAGE_PROPORTIONAL, true); } } function miniCodeFilter($code) { return str_replace('-', '_', $code); } function miniDataGet($data, $default) { return empty($data) ? $default : $data; } function miniToFloat($value) { $value = preg_replace('#([^0-9\,\.])#mS', '', $value); $value = str_replace(array(',', '-'), '.', $value); return str_replace(',', '.', (float) $value); } function miniPriceView($value) { return number_format(miniToFloat($value), 0, '', ' '); } function miniContentView($value, $isHtml = true) { if($value!='') { return ($value['TYPE']=='text' or $value['TYPE']=='TEXT') ? ($isHtml ? nl2br($value['TEXT']) : $value['TEXT']) : htmlspecialcharsback($value['TEXT']); } } function miniGet($data, $key, $d='') { return isset($data[$key]) ? $data[$key] : $d; } function miniFlagGet($data, $key, $flag, $d='') { if(empty($data[$key])) { return $d; } $data = explode('|', $data[$key]); return isset($data[$flag]) ? $data[$flag] : $d; } function callkeepper_onBeforeResultAdd($WEB_FORM_ID, &$arFields, &$arrVALUES) { global $APPLICATION; // действие обработчика распространяется только на форму с ID=1 /* $cccc = [ "ckeeper_cid" => $_COOKIE["ckeeper_cid"], "CallKeeper_client_session_user_hash" => $_COOKIE["CallKeeper_client_session_user_hash"], "CallKeeper_visit_session_hash" => $_COOKIE["CallKeeper_visit_session_hash"], "CallKeeper_visit_session_time" => $_COOKIE["CallKeeper_visit_session_time"] ];*/ /* Форма ID 1 Название: "ЗАПИСЬ НА ТЕСТ-ДРАЙВ" URL Формы: https://mini-borishof.ru/test-drive/ Телефон - form_text_6 Email - form_text_7 Форма ID 2 Название "Запись на сервис" URL Формы: https://www.mini-borishof.ru/services/for_you/order-service/ Телефон - form_text_10 Email - form_text_11 Форма ID 3 Название "КОНСУЛЬТАЦИЯ СПЕЦИАЛИСТА" URL Формы: https://www.mini-borishof.ru/services/for_you/consultation/ Телефон - form_text_31 Email - form_text_32 */ $callkeepperFormIds = array(1,2,3); switch ($WEB_FORM_ID) { case 1: $name = "ЗАПИСЬ НА ТЕСТ-ДРАЙВ"; $phone = $arrVALUES["form_text_6"]; $email = $arrVALUES["form_text_7"]; break; case 2: $name = "Запись на сервис"; $phone = $arrVALUES["form_text_10"]; $email = $arrVALUES["form_text_11"]; break; case 3: $name = "КОНСУЛЬТАЦИЯ СПЕЦИАЛИСТА"; $phone = $arrVALUES["form_text_31"]; $email = $arrVALUES["form_text_32"]; break; } if (in_array($WEB_FORM_ID, $callkeepperFormIds)) { file_put_contents($_SERVER['DOCUMENT_ROOT'].'/../callkeepper.txt', date('[Y-m-d H:i:s]'). '('.$_SERVER['REMOTE_ADDR'].') init - '.json_encode($WEB_FORM_ID, JSON_UNESCAPED_UNICODE). PHP_EOL, FILE_APPEND); file_put_contents($_SERVER['DOCUMENT_ROOT'].'/../callkeepper.txt', date('[Y-m-d H:i:s]'). '('.$_SERVER['REMOTE_ADDR'].') _COOKIE - '.json_encode($cccc, JSON_UNESCAPED_UNICODE). PHP_EOL, FILE_APPEND); file_put_contents($_SERVER['DOCUMENT_ROOT'].'/../callkeepper.txt', date('[Y-m-d H:i:s]'). '('.$_SERVER['REMOTE_ADDR'].') arFields - '.json_encode($arFields, JSON_UNESCAPED_UNICODE). PHP_EOL, FILE_APPEND); file_put_contents($_SERVER['DOCUMENT_ROOT'].'/../callkeepper.txt', date('[Y-m-d H:i:s]'). '('.$_SERVER['REMOTE_ADDR'].') arrVALUES - '.json_encode($arrVALUES, JSON_UNESCAPED_UNICODE). PHP_EOL, FILE_APPEND); $url_vars = http_build_query([ 'unique' => 'mini', 'apiak' => 'tiuk6zEGXpMVAPOJ', 'whash' => '2db064ea6137492efc6d3b4a55a4d3fb', 'utc' => 'Europe/Moscow', 'opening_hours' => '10002000', 'notification' => 'info@mini-borishof.ru', // 'ga_client_id' => 1526128712.1513128077, 'tool_name' => $name, // 'ip_client' => '74.44.210.123', 'calls' => [ [ 'client' => $phone, 'site'=> "mini-borishof.ru", // 'manager' => '79999999999', 'client_email' => $email, // 'calltouch_session_id' => 9449450, // 'roistat_id' => 7492561, // 'current_page' => "https://site.ru/page/widget.html", // 'record_to_manager' => "https://site.ru/record/voice", // 'office_name' => "My office", // 'comagic_session_id' => 2154680201 ] ] ]); file_put_contents($_SERVER['DOCUMENT_ROOT'].'/../callkeepper.txt', date('[Y-m-d H:i:s]'). '('.$_SERVER['REMOTE_ADDR'].') string - '.json_encode($url_vars)); $protocol = 'https://'; $url = $protocol . 'api.callkeeper.ru/makeCalls?' . $url_vars; $curl = curl_init($url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($curl); curl_close($curl); } } AddEventHandler('form', 'onBeforeResultAdd', 'callkeepper_onBeforeResultAdd'); AddEventHandler('main','OnBeforeEventSend', 'OnBeforeEventSendChangeFields'); function OnBeforeEventSendChangeFields(&$arFields, &$arTemplate) { foreach ($arFields as $keyField => $arField) { if($arField==' ') { $arFields[$keyField] = 'не указано'; } } global $APPLICATION; preg_match('/\((.+)\)/', $arFields["DEALERS"], $m); $arTemplate["EMAIL_TO"] = str_replace('#RECIPIENTS#', $m[1], $arTemplate["EMAIL_TO"]); //подставляем значения в шаблон } AddEventHandler("iblock", "OnAfterIBlockPropertyUpdate", Array("MyClass", "OnBeforeIBlockElementUpdateHandler")); class MyClass { // создаем обработчик события "OnBeforeIBlockElementUpdate" function OnBeforeIBlockElementUpdateHandler(&$arFields) { if($arFields["IBLOCK_ID"] == 19){ $arSelect = Array("ID", "IBLOCK_ID", "NAME", "DATE_ACTIVE_FROM","PROPERTY_id_photo_webservice");//IBLOCK_ID и ID обязательно должны быть указаны, см. описание arSelectFields выше $arFilter = Array("IBLOCK_ID"=>IntVal($arFields["IBLOCK_ID"]), "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y", "ID"=>$arFields["ID"]); $res = CIBlockElement::GetList(Array(), $arFilter, false, Array("nPageSize"=>1), $arSelect); while($ob = $res->GetNextElement()){ $arProps = $ob->GetProperties();; } //file_put_contents($_SERVER['DOCUMENT_ROOT'].'/get.txt', date('[Y-m-d H:i:s] ').$_SERVER["REMOTE_ADDR"].' - 122'.json_encode($arFields), PHP_EOL, FILE_APPEND); $dealers = array ( 21, #север 22, #юг 23 #Олимпийский ); $id = array(); #список ID всех автомобилей #Получение токе авторизации if( $curl = curl_init() ) { curl_setopt($curl, CURLOPT_URL, 'https://identityserver.inchcape.ru/core/connect/token'); curl_setopt($curl, CURLOPT_RETURNTRANSFER,true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_HTTPHEADER, array( 'Content-Type: application/x-www-form-urlencoded', 'Authorization: Basic RFFTdiN0MmZhJmRhMiNWUiptMy1jP3VGQis3TW1yXkNrRzR2N3hoOjV2VENXcy1zcl81OD1WV0hodm1ASHgtd3FAZlBHTXQtU2hXQSFiRA==' )); curl_setopt($curl, CURLOPT_POSTFIELDS, "grant_type=client_credentials&scope=read+write"); $server_output_key = curl_exec ($curl); curl_close ($curl); $server_output_key = json_decode($server_output_key, true); // print_r($server_output); } foreach ($dealers as $dealerId){ // echo $dealerId; if( $curl = curl_init() ) { curl_setopt($curl, CURLOPT_URL, 'http://recipientsapi.inchcape.ru/Vehicles?DealerId='.$dealerId.'&BrandId=24'); curl_setopt($curl, CURLOPT_RETURNTRANSFER,true); //curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Authorization: Bearer '.$server_output_key["access_token"] )); // curl_setopt($curl, CURLOPT_POSTFIELDS, "grant_type=client_credentials&scope=read+write"); $server_output = curl_exec ($curl); curl_close ($curl); $server_output = json_decode($server_output, true); foreach($server_output["Vehicles"] as $auto){ if($auto["SapId"] == $arProps["id_photo_webservice"]["VALUE"]){ $idauto[$auto["SapId"]] = $auto["Id"]; } } } } foreach ($id as $idAuto){ if( $curl = curl_init() ) { curl_setopt($curl, CURLOPT_URL, 'http://recipientsapi.inchcape.ru/Vehicle/'.$idAuto); curl_setopt($curl, CURLOPT_RETURNTRANSFER,true); //curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Authorization: Bearer '.$server_output_key["access_token"] )); // curl_setopt($curl, CURLOPT_POSTFIELDS, "grant_type=client_credentials&scope=read+write"); $server_output = curl_exec ($curl); curl_close ($curl); $server_output = json_decode($server_output, true); // $arResult[] = $server_output["Images"][0]["Url"]; } } CModule::IncludeModule('iblock'); $ELEMENT_ID = $arFields["ID"]; // код элемента $PROPERTY_CODE = "supimage"; // код свойства $PROPERTY_VALUE = "2".$server_output["Images"][0]["Url"].$arProps["PROPERTY_ID_PHOTO_WEBSERVICE_VALUE"]; // значение свойства // Установим новое значение для данного свойства данного элемента $dbr = CIBlockElement::GetList(array(), array("=ID"=>$ELEMENT_ID), false, false, array("ID", "IBLOCK_ID")); if ($dbr_arr = $dbr->Fetch()) { CIBlockElement::SetPropertyValues($ELEMENT_ID, $arFields["IBLOCK_ID"], $PROPERTY_VALUE, $PROPERTY_CODE); } } } } #Отправка отзыва AddEventHandler("iblock", "OnAfterIBlockElementAdd", Array("AfterElementAdd", "AfterElementAddSendMail")); class AfterElementAdd { function AfterElementAddSendMail(&$arFields) { //Проверили номер инфоблока if($arFields["IBLOCK_ID"] == 18) { //Выбрали нужные свойства $timeorder = CIBlockPropertyEnum::GetByID($arFields["PROPERTY_VALUES"]["73"]); $arEventFields = array( "NAME" => $arFields["NAME"], "REFERENCE" => $arFields["PREVIEW_TEXT"], "EMAIL" => $arFields["PROPERTY_VALUES"]["62"], "LINK" => "https://mini-borishof.ru/bitrix/admin/iblock_element_edit.php?IBLOCK_ID=18&type=content&ID=".$arFields["ID"]."&lang=ru&find_section_section=0&WF=Y", "DATE" => $arFields["DATE_ACTIVE_FROM"] ); //Отправили нужное письмо с вышеуказанными данными CEvent::Send("NEW_REFERENCE", "s1", $arEventFields); } } } class GoogleReCaptcha { public static function getPublicKey() { return '6LdS3E8UAAAAALSTtAn0j6iTkwoEB5ON50sd1Azm';} public static function getSecretKey() { return '6LdS3E8UAAAAAPZDVa8BN8Pqfa43uQJXwBboW9uP';} /** * @return array - if validation is failed, returns an array with errors, otherwise - empty array. This format is expected by component. */ public static function checkClientResponse() { /*$context = \Bitrix\Main\Application::getInstance()->getContext(); $request = $context->getRequest(); $captchaResponse = $request->getPost("g-recaptcha-response");*/ $captchaResponse = $_REQUEST["g-recaptcha-response"]; if($captchaResponse) { /* $url = ' https://www.google.com/recaptcha/api/siteverify '; $data = array('secret' => static::getSecretKey(), 'response'=> $captchaResponse); $httpClient = new HttpClient(); $response = $httpClient->post($url,$data);*/ if( $curl = curl_init() ) { curl_setopt($curl, CURLOPT_URL, 'https://www.google.com/recaptcha/api/siteverify'); curl_setopt($curl, CURLOPT_RETURNTRANSFER,true); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, "secret=".static::getSecretKey()."&response=".$captchaResponse."&remoteip=".$_SERVER["REMOTE_ADDR"]); $response = curl_exec($curl); //echo $out; $out = json_decode($out, true); curl_close($curl); } if($response) { $response = \Bitrix\Main\Web\Json::decode($response,true); } if(!$response['success']) { return $response['error-codes'][0]; } return array(); } return array('no captcha response'); } } // Удаляем лишние пробелы и пустые строки в html перед выводом пользователю AddEventHandler("main", "OnEndBufferContent", "ChangeMyContent"); function ChangeMyContent(&$content) { global $USER; if (!$USER->isAdmin()){//отключаем замену для авторизованных пользователей // $content = sanitize_output($content); } if(stristr($_SERVER['REQUEST_URI'], '/models/') === FALSE && stristr($_SERVER['REQUEST_URI'], 'mini-connected') === FALSE){ $content = sanitize_output($content); } } function call_back_diff($matches){ if($matches[1] == 'link'){ return '<link'.$matches[2].'rel="stylesheet" media="nope!"'.$matches[3].'onload="this.media=\'all\'">'; } if($matches[1] == 'script'){ if(isset($matches[3]) && $matches[3] != ''){ if(stripos($matches[0], 'BX') === false){ return $matches[0]; //return '<script type="text/delayscript">'.$matches[3].'</script>'; }else{ return $matches[0]; } }else{ if(stripos($matches[0], 'async') === false && stripos($matches[0], 'defer') === false && stripos($matches[0], 'http') === false && stripos($matches[0], 'jquery-1.11.0.min.js') === false && stripos($matches[0], 'dont replacemant') === false){ if((stripos($matches[0], '/bitrix/js/') !== false) || (stripos($matches[0], '/bitrix/cache/') !== false)){ return '<script'.$matches[2].'></script>'; }else{ return '<script'.$matches[2].' defer></script>'; } }else{ return $matches[0]; } } } return $matches[0]; } function sanitize_output($buffer) { $search = array( '~ <(link)(.*)type="text/css"(.*)rel="stylesheet"[^>]*\/> ~x', '#<(script)(.*)>(.*)</script>#sU', '~ <(script)(.*)></\1> ~x', ); $replace = array( '<link$2rel="stylesheet" media="nope!" $3 onload="this.media=\'all\'">', '<script$2 defer></script>', '<script type="text/delayscript">$3</script>', '<script type="text/delayscript">$4</script>', ); $search_css = array('~<(link)(.*)type="text/css"(.*)rel="stylesheet"[^>]*\/>~x'); $replace_css_preload = array('<link $2rel="preload" as="style" onload="this.rel=\'stylesheet\';this.type=\'text/css\'">'); $blocks = preg_split('/(<\/?pre[^>]*>)/', $buffer, null, PREG_SPLIT_DELIM_CAPTURE); $buffer = ''; $matches = array(); foreach($blocks as $i => $block) { if($i % 4 == 2){ $buffer .= $block; //break out <pre>...</pre> with \n's }else{ //$buffer .= preg_replace($search, $replace, $block); $buffer .= preg_replace_callback($search,"call_back_diff",$block); //$buffer .= preg_replace($search_js, $replace_js, $block); //$buffer .= preg_replace($search_css, $replace_css, $block); ///$buff = preg_replace($search_css, $replace_css_preload, $block); //preg_match_all('(<link.*type="text/css".*rel="stylesheet"[^>]*\/>)', $block, $matches, PREG_PATTERN_ORDER); //if($buff !== $block){ //$matches = $block; //} //print_r($matches); } } //$buuf = implode(",", $matches); // $buffer = preg_replace('(<!--pattern_preload-->)', preg_replace($search_css, $replace_css_preload, implode("\r\n", $matches[0])) , $buffer); return $buffer; } ?>
/var/./files/need-2-delete/mini-borishof.ru1/bitrix/php_interface/init.php