Сайт временно не работает $dblocation = "localhost"; $dbuser = "wikicity"; $dbpasswd = "oc9ha77gX7d83FS"; $dbname = "wikicity1"; $SiteName = "Wikicity"; $RootPath="https://wikicity.kz/"; $mRootPath="https://m.wikicity.kz/"; $RootPath_no_slash="https://wikicity.kz"; $DocRoot=$_SERVER["DOCUMENT_ROOT"]; $bRootPath="https://wikicity.kz/biz_owner/"; $mDocRoot=$_SERVER["DOCUMENT_ROOT"]."/m/"; $PhotoRoot=$DocRoot."fotos/"; $PhotoRoot_original=$DocRoot."fotos_original/"; $PhotoRoot_ls=$DocRoot."fotos_ls/"; $PhotoRoot_ms=$DocRoot."fotos_ms/"; $PhotoRoot_ss=$DocRoot."fotos_ss/"; $PhotoRoot_xss=$DocRoot."fotos_xss/"; $ImagePath="https://wikicity.kz/fotos/"; $ImagePath_original="https://wikicity.kz/fotos_original/"; $ImagePath_ls="https://wikicity.kz/fotos_ls/"; $ImagePath_ms="https://wikicity.kz/fotos_ms/"; $ImagePath_ss="https://wikicity.kz/fotos_ss/"; $ImagePath_xss="https://wikicity.kz/fotos_xss/"; $admin_email = "adil_askarov@mail.ru"; $vk_client_id = "3424744"; $vk_client_secret = "TEcVVzj26rUkXTJOCpTw"; $fb_client_id = "218254644982579"; $fb_client_secret = "49728228a99848054d1d1a8d695f4662"; ?> error_reporting(E_ERROR | E_WARNING | E_PARSE); //date_default_timezone_set('Asia/Almaty');//+6 date_default_timezone_set('Asia/Tashkent');//+5 function GetTableData($arSelect, $arFilter) { global $dblocation,$dbname,$dbuser,$dbpasswd; $dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd); if(!$dbcnx) { echo("
В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.
"); exit(); } // Код соединения с базой данных if(!@mysql_select_db($dbname, $dbcnx)) { echo( "В настоящий момент база данных не доступна, поэтому корректное отображение страницы невозможно.
" ); exit(); } mysql_query("SET character_set_client = 'utf8'"); mysql_query("SET character_set_connection = 'utf8'"); mysql_query("SET character_set_results = 'utf8'"); $select_text = "select "; for ($i = 0; $i < sizeof($arSelect); $i++) { if ($i > 0) { $select_text .= ","; } $select_text .= $arSelect[$i]; } $select_text .= " from ".$arFilter['Table']; $ath = mysql_query($select_text); mysql_close($dbcnx); return $ath; } function DBConnect() { global $dblocation,$dbname, $dbuser,$dbpasswd; $dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd); if(!$dbcnx) { echo("В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.
"); exit(); } // Код соединения с базой данных if(!@mysql_select_db($dbname, $dbcnx)) { echo("В настоящий момент база данных не доступна, поэтомукорректное отображение страницы невозможно.
" ); exit(); } mysql_query("SET character_set_client = 'utf8'"); mysql_query("SET character_set_connection = 'utf8'"); mysql_query("SET character_set_results = 'utf8'"); } function GetSelectData($strSelect) { global $dblocation,$dbname, $dbuser,$dbpasswd; $dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd); if(!$dbcnx) { echo("В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.
"); exit(); } if(!@mysql_select_db($dbname, $dbcnx)) { echo( "В настоящий момент база данных не доступна, поэтому корректное отображение страницы невозможно.
" ); exit(); } mysql_query("SET character_set_client = 'utf8'"); mysql_query("SET character_set_connection = 'utf8'"); mysql_query("SET character_set_results = 'utf8'"); $ath = mysql_query($strSelect); mysql_close($dbcnx); return $ath; } function InsertTableData($TableName, $arFieldName, $arFieldValue) { global $dblocation,$dbname,$dbuser,$dbpasswd; $dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd); if(!$dbcnx) { echo("В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.
"); exit(); } if(!@mysql_select_db($dbname, $dbcnx)) { echo( "В настоящий момент база данных не доступна, поэтому корректное отображение страницы невозможно.
" ); exit(); } mysql_query("SET character_set_client = 'utf8'"); mysql_query("SET character_set_connection = 'utf8'"); mysql_query("SET character_set_results = 'utf8'"); $insert_text = "insert into ".$TableName." ("; for ($i = 0; $i < sizeof($arFieldName); $i++) { if ($i > 0) { $insert_text .= ","; } $insert_text .= $arFieldName[$i]; } $insert_text .= ") values ("; for ($i = 0; $i < sizeof($arFieldValue); $i++) { if ($i > 0) { $insert_text .= ","; } $insert_text .= "'".mysql_real_escape_string(str_replace("\n", 'В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.
"); exit(); } // Код соединения с базой данных if(!@mysql_select_db($dbname, $dbcnx)) { echo( "В настоящий момент база данных не доступна, поэтому корректное отображение страницы невозможно.
" ); exit(); } mysql_query("SET character_set_client = 'utf8'"); mysql_query("SET character_set_connection = 'utf8'"); mysql_query("SET character_set_results = 'utf8'"); $update_text = "update ".$TableName." set "; for ($i = 0; $i < sizeof($arFieldName); $i++) { if ($i > 0) { $update_text .= ","; } $update_text .= $arFieldName[$i]."='".mysql_real_escape_string(str_replace("\n", '".$wday_start; if($wday_end) { $result["hours"] .= " - ".$wday_end; } $result["hours"] .= " ".$period_str.""; $result["hours"] .= "
"; } $wday_end = ""; } if($hours[$j][1]) { if($hours[$j][1] == $hours[$j][2]) { $period_str = $l->g("around-the-clock"); } else { $period_str = $hours[$j][1]."-".$hours[$j][2]; } } else { $period_str = ""; } $wday_start = $week_day[$j]; } else if($hours[$j][3] == 1) { $wday_end = $week_day[$j]; } if($j==7) { if($period_str) { $result["hours"] .= "".$wday_start; if($wday_end) { $result["hours"] .= " - ".$wday_end; } $result["hours"] .= " ".$period_str.""; $result["hours"] .= "
"; } } } }*/ //array_push($result["hours"], $hours); return $result; } function nuid_create($action_type, $action_id, $nuid_code="") {//создание темп записи для учета действий незалогиненных пользователей global $db; if(intval($_SESSION["id"])) {return 0;} if($nuid_code=="") { $nuid_code = CreateRegCode(); } $arFieldNamePar = Array("action_type", "action_id", "nuid_code", "user_id", "date_post"); $arFieldValuePar = Array($action_type, $action_id, $nuid_code, -1, date("Y-m-d H:i:s")); $res = $db->insert("nuid", $arFieldNamePar, $arFieldValuePar); return $nuid_code; } function nuid_check($nuid_code) {//проверка темп записи для учета действий незалогиненных пользователей global $db; if(!intval($_SESSION["id"])) {return 0;} $main_res = $db->q("select id, action_type, action_id from nuid where nuid_code='".htmlspecialchars($nuid_code)."' and user_id=-1 limit 1;"); if($nuid_data = $main_res->fetch()) { if($nuid_data["action_type"] == "bookmark") { $return_data = "bookmark"; $bookmark_res = $db->q("select id, biz_id, user_id from company_bookmark where biz_id=".$nuid_data["action_id"]." and user_id=".intval($_SESSION["id"]).";"); if(!$bookmark_data = $bookmark_res->fetch()) { $arFieldNamePar = Array("biz_id", "user_id", "date_insert", "date_edit"); $arFieldValuePar = Array($nuid_data["action_id"], intval($_SESSION["id"]), date("Y-m-d H:i:s"), date("Y-m-d H:i:s")); $res = $db->insert("company_bookmark", $arFieldNamePar, $arFieldValuePar); if($res) { set_biz_activity(6, $nuid_data["action_id"]); } $_SESSION["info_type"] = "success"; $_SESSION["info"] = "Добавлено в Избранное."; } else { $_SESSION["info_type"] = "success"; $_SESSION["info"] = "Уже присутствовало в Избранном."; } } else if($nuid_data["action_type"] == "review") { $return_data = "review"; $review_res = $db->q("select id, company_id, user_id, (select city_id from company where id=review.company_id) as city_id from review where id=".$nuid_data["action_id"].";"); if($review_data = $review_res->fetch()) { $sim_review_res = $db->q("select id from review where (review.company_id=".$review_data["company_id"].") and (review.user_id=".intval($_SESSION["id"]).") and (review.filtered!=1) order by id desc;"); if($sim_review_res->rowcount()>0) { $update_res = $db->q("update review set last_review=0 where (review.company_id=".$review_data["company_id"].") and (review.user_id=".intval($_SESSION["id"]).");"); $arFieldNamePar = Array("is_update"); $arFieldValuePar = Array(1); $res = $db->update("review", $arFieldNamePar, $arFieldValuePar, $review_data["id"]); } $arFieldNamePar = Array("user_id"); $arFieldValuePar = Array(intval($_SESSION["id"])); $res = $db->update("review", $arFieldNamePar, $arFieldValuePar, $review_data["id"]); UpdateUserReviewCount(intval($_SESSION["id"])); UpdateBizReviewTotal($review_data["company_id"]); SaveActivity("review", intval($_SESSION["id"]), $review_data["city_id"], 0, $review_data["company_id"]); ChangeCategoryCityTotals($review_data["company_id"], true); $_SESSION["info_type"] = "success"; $_SESSION["info"] = "Ваш отзыв успешно опубликован."; } else { $_SESSION["info_type"] = "error"; $_SESSION["info"] = "Не удалось добавить отзыв."; } } else if($nuid_data["action_type"] == "image") { $return_data = "image"; $image_res = $db->q("select id, table_name, rec_id, user_id from image where id=".$nuid_data["action_id"].";"); if($image_data = $image_res->fetch()) { $arFieldNamePar = Array("rec_id", "user_id"); $arFieldValuePar = Array(abs($image_data["rec_id"]),intval($_SESSION["id"])); $res = $db->update("image", $arFieldNamePar, $arFieldValuePar, $image_data["id"]); if($image_data["table_name"] == "Company") { SaveActivity("biz_photo", intval($_SESSION["id"]), $_SESSION["city"], 0, abs($image_data["rec_id"])); require($DocRoot."model/image.php"); image::set_main_photo(abs($image_data["rec_id"]), "add"); //SetMainPhoto(abs($image_data["rec_id"])); set_biz_activity(7, abs($image_data["rec_id"])); $_SESSION["info_type"] = "success"; $_SESSION["info"] = "Фото места успешно добавлено."; } else if($image_data["table_name"] == "User") { $strSelect = "select (select img from image where table_name='User' and rec_id=user.id and main=1 limit 1) as img_path from user where id=".abs($image_data["rec_id"]).";"; $res = $db->q($strSelect); if($res_var = $res->fetch()) { $_SESSION["img_path"] = $res_var["img_path"]; } $_SESSION["info_type"] = "success"; $_SESSION["info"] = "Фото успешно добавлено."; } } } $arFieldNamePar = Array("user_id"); $arFieldValuePar = Array(intval($_SESSION["id"])); $res = $db->update("nuid", $arFieldNamePar, $arFieldValuePar, $nuid_data["id"]); unset($_SESSION["login_nuid_return"]); } return $return_data; } function CreateEventSrtId($name, $city_id) { global $db; //DBConnect(); //$name = (string) $name; // преобразуем в строковое значение $name = strip_tags($name); // убираем HTML-теги $name = str_replace(array("\n", "\r"), " ", $name); // убираем перевод каретки $name = trim($name); // убираем пробелы в начале и конце строки $name = mb_strtolower($name, 'UTF-8'); // переводим строку в нижний регистр (иногда надо задать локаль) $name = strtr($name, array('а'=>'a','б'=>'b','в'=>'v','г'=>'g','д'=>'d','е'=>'e','ё'=>'e','ж'=>'j','з'=>'z','и'=>'i','й'=>'y','к'=>'k','л'=>'l','м'=>'m','н'=>'n','о'=>'o','п'=>'p','р'=>'r','с'=>'s','т'=>'t','у'=>'u','ф'=>'f','х'=>'h','ц'=>'c','ч'=>'ch','ш'=>'sh','щ'=>'shch','ы'=>'y','э'=>'e','ю'=>'yu','я'=>'ya','ъ'=>'','ь'=>'')); $name = preg_replace("/[^0-9a-z-_ ]/i", "", $name); // очищаем строку от недопустимых символов $name = preg_replace("/\s+/", ' ', $name); // удаляем повторяющие пробелы $name = str_replace(" ", "-", $name); // заменяем пробелы знаком минус $res1 = $db->q("select str_id from city where id=".$city_id." limit 1;"); if($city_str = $res1->fetch()) {} $i=0; $res1 = $db->q("select str_id from event where str_id='".$name."-".$city_str["str_id"]."' limit 1;"); while($biz_str = $res1->fetch()) { $i++; $res1 = $db->q("select str_id from event where str_id='".$name."-".$i."-".$city_str["str_id"]."' limit 1;"); } if($i) { $name = $name."-".$i; } if($city_str["str_id"]) { $name = $name."-".$city_str["str_id"]; } $name = mb_substr($name, 0, 70, 'utf-8'); return $name; } function event_browse_url_new($city_code, $sort_by, $c, $start_date, $end_date, $period_name="") { global $RootPath; $url = $RootPath."events/".$city_code."/browse/"; $first_param=true; if($c) { if($first_param) {$url .= "?";$first_param=false;} else {$url .= "&";} $url .= "c=".$c; } if($period_name) { $CurrDate = date("Ymd"); $CurrWeekDay=date("w"); if($CurrWeekDay == 0) {$CurrWeekDay = 7;} if($period_name=="today") { if($first_param) {$url .= "?";$first_param=false;} else {$url .= "&";} $url .= "start_date=".$CurrDate; } else if($period_name=="tomorrow") { if($first_param) {$url .= "?";$first_param=false;} else {$url .= "&";} $url .= "start_date=".date('Ymd', (strtotime($CurrDate)+(60*60*24))); } else if($period_name=="thisweekend") { if($first_param) {$url .= "?";$first_param=false;} else {$url .= "&";} if($CurrWeekDay == 0) { $url .= "start_date=".$CurrDate; } else { $url .= "start_date=".date('Ymd', (strtotime($CurrDate)+((5-$CurrWeekDay)*60*60*24)))."&end_date=".date('Ymd', (strtotime($CurrDate)+((7-$CurrWeekDay)*60*60*24))); } } else if($period_name=="thisweek") { if($first_param) {$url .= "?";$first_param=false;} else {$url .= "&";} if($CurrWeekDay == 0) { $url .= "start_date=".$CurrDate; } else { $url .= "start_date=".date('Ymd', strtotime($CurrDate))."&end_date=".date('Ymd', strtotime($CurrDate)+((7-$CurrWeekDay)*60*60*24)); } } else if($period_name=="nextweek") { if($first_param) {$url .= "?";$first_param=false;} else {$url .= "&";} $url .= "start_date=".date('Ymd', strtotime($CurrDate)+(8-$CurrWeekDay)*60*60*24)."&end_date=".date('Ymd', strtotime($CurrDate)+(14-$CurrWeekDay)*60*60*24); } else if($period_name=="nextweekend") { if($first_param) {$url .= "?";$first_param=false;} else {$url .= "&";} return "start_date=".date('Ymd', strtotime($CurrDate)+(12-$CurrWeekDay)*60*60*24)."&end_date=".date('Ymd', (strtotime($CurrDate)+(14-$CurrWeekDay)*60*60*24)); } if($period_name=="afternextweek") { if($first_param) {$url .= "?";$first_param=false;} else {$url .= "&";} $url .= "start_date=".date('Ymd', strtotime($CurrDate)+(15-$CurrWeekDay)*60*60*24)."&end_date=".date('Ymd', (strtotime($CurrDate)+365*60*60*24)); } else if($period_name=="past") { if($first_param) {$url .= "?";$first_param=false;} else {$url .= "&";} $url .= "end_date=".$CurrDate; } } else { if($start_date) { if($first_param) {$url .= "?";$first_param=false;} else {$url .= "&";} $url .= "start_date=".$start_date; } if($end_date) { if($first_param) {$url .= "?";$first_param=false;} else {$url .= "&";} $url .= "end_date=".$end_date; } } if($sort_by) { if($first_param) {$url .= "?";$first_param=false;} else {$url .= "&";} $url .= "sort_by=".$sort_by; } return $url; } function nice_substr($str, $max_len, $postfix=' ...') { if(mb_strlen($str, "utf-8") <= $max_len) { return $str; } $tmp = mb_substr($str, 0, $max_len, "utf-8"); $f = mb_strripos($tmp, ' ', 0, "utf-8"); if($f < intval($max_len/2)) { return $tmp.$postfix; } else { return mb_substr($tmp, 0, $f, "utf-8").$postfix; } } function set_biz_activity($type, $biz_id, $source_type="website") { global $db; $sess_id = session_id(); $biz_id = intval($biz_id); //return; /* if(!in_array($type, array("biz_page", "bookmark", "checkin", "map", "phone", "website", "photo", "promocode"))) { return; } */ if(intval($type)>15) { return; } $request_time = $_SERVER["REQUEST_TIME"]; $user_id = intval($_SESSION["id"]); $bot_id = isBot(); if($bot_id==0) { $arFieldNamePar = array("type", "biz_id", "user_id", "sess_id", "request_time", "activity_count", "source_type", "date_post", "day_idx", "month_idx", "bot_id"); $arFieldValuePar = array($type, $biz_id, $user_id, $sess_id, $request_time, 1, $source_type, date("Y-m-d H:i:s"), intval(date("ymd")), intval(date("ym")), $bot_id); $res = $db->insert("biz_activity", $arFieldNamePar, $arFieldValuePar); } } function isBot(){ $bots = array( 'rambler','googlebot','aport','yahoo','msnbot','turtle','mail.ru','omsktele','yetibot','picsearch','sape.bot', 'sape_context','gigabot','snapbot','alexa.com','megadownload.net','askpeter.info','igde.ru','ask.com','qwartabot', 'yanga.co.uk','scoutjet','similarpages','oozbot','shrinktheweb.com','aboutusbot','followsite.com','dataparksearch', 'google-sitemaps','appEngine-google','feedfetcher-google', 'liveinternet.ru','xml-sitemaps.com','agama','metadatalabs.com','h1.hrn.ru', 'googlealert.com','seo-rus.com','yaDirectBot','yandeG','yandex', 'yandexSomething','Copyscape.com','AdsBot-Google','domaintools.com', 'Nigma.ru','bing.com','dotnetdotcom'); foreach($bots as $key => $bot) { if(stripos($_SERVER['HTTP_USER_AGENT'], $bot) !== false) { return $key; } } return 0; } function UpdateActivity($type, $activity_id, $filtered) { global $db; if(!in_array($filtered, array(0,1))) {return;} $res = $db->q("select activity_line.id, activity_header.id as header_id from activity_header, activity_line where activity_header.id=activity_line.activity_header_id and activity_header.type='".$type."' and activity_line.activity_id=".$activity_id." order by activity_line.id desc limit 1;"); if($activity_line_data = $res->fetch()) { $arFieldNamePar = Array("filtered"); $arFieldValuePar = Array($filtered); $res = $db->update("activity_line", $arFieldNamePar, $arFieldValuePar, $activity_line_data["id"]); if($filtered == 0) { $arFieldNamePar = Array("filtered"); $arFieldValuePar = Array($filtered); $res = $db->update("activity_header", $arFieldNamePar, $arFieldValuePar, $activity_line_data["header_id"]); } else if($filtered == 1) { $res = $db->q("select activity_line.id from activity_line where activity_line.activity_header_id=".$activity_line_data["header_id"]." and filtered=0 limit 1;"); if(!$unfiltered_activity_data = $res->fetch()) { $arFieldNamePar = Array("filtered"); $arFieldValuePar = Array($filtered); $res = $db->update("activity_header", $arFieldNamePar, $arFieldValuePar, $activity_line_data["header_id"]); } } } } function ChangeCategoryCityTotals($biz_id, $is_add, $all_reviews=false) { /* $reviews = 1; if($all_reviews) { $res = $db->q("select count(*) as count from review WHERE company_id=".$biz_id." and posted=1 and filtered<2;"); if($review_count = $res->fetch()) { $reviews = $review_count["count"]; } } if($is_add) {$inc_str = "+".$reviews;} else {$inc_str = "-".$reviews;} $res = $db->q("update category_city_total SET review_count=review_count".$inc_str." WHERE city_id=(SELECT city_id FROM company WHERE id=".$biz_id.") and (category_id in (select category_id FROM company_category WHERE company_id=".$biz_id." order by category_id) or category_id in (select category_root_id FROM company_category WHERE company_id=".$biz_id." ORDER BY category_id));"); */ } function UpdateUserReviewCount($user_id) { global $db; $res = $db->q("update user set review_count=(select count(*) from review where review.user_id=user.id and review.posted=1 and review.filtered!=2) where id=".$user_id.";"); } function removeEmoji($text_emoji) { return preg_replace('/[\x{1F3F4}](?:\x{E0067}\x{E0062}\x{E0077}\x{E006C}\x{E0073}\x{E007F})|[\x{1F3F4}](?:\x{E0067}\x{E0062}\x{E0073}\x{E0063}\x{E0074}\x{E007F})|[\x{1F3F4}](?:\x{E0067}\x{E0062}\x{E0065}\x{E006E}\x{E0067}\x{E007F})|[\x{1F3F4}](?:\x{200D}\x{2620}\x{FE0F})|[\x{1F3F3}](?:\x{FE0F}\x{200D}\x{1F308})|[\x{0023}\x{002A}\x{0030}\x{0031}\x{0032}\x{0033}\x{0034}\x{0035}\x{0036}\x{0037}\x{0038}\x{0039}](?:\x{FE0F}\x{20E3})|[\x{1F415}](?:\x{200D}\x{1F9BA})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F467}\x{200D}\x{1F467})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F467}\x{200D}\x{1F466})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F467})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F466}\x{200D}\x{1F466})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F466})|[\x{1F468}](?:\x{200D}\x{1F468}\x{200D}\x{1F467}\x{200D}\x{1F467})|[\x{1F468}](?:\x{200D}\x{1F468}\x{200D}\x{1F466}\x{200D}\x{1F466})|[\x{1F468}](?:\x{200D}\x{1F468}\x{200D}\x{1F467}\x{200D}\x{1F466})|[\x{1F468}](?:\x{200D}\x{1F468}\x{200D}\x{1F467})|[\x{1F468}](?:\x{200D}\x{1F468}\x{200D}\x{1F466})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F469}\x{200D}\x{1F467}\x{200D}\x{1F467})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F469}\x{200D}\x{1F466}\x{200D}\x{1F466})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F469}\x{200D}\x{1F467}\x{200D}\x{1F466})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F469}\x{200D}\x{1F467})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F469}\x{200D}\x{1F466})|[\x{1F469}](?:\x{200D}\x{2764}\x{FE0F}\x{200D}\x{1F469})|[\x{1F469}\x{1F468}](?:\x{200D}\x{2764}\x{FE0F}\x{200D}\x{1F468})|[\x{1F469}](?:\x{200D}\x{2764}\x{FE0F}\x{200D}\x{1F48B}\x{200D}\x{1F469})|[\x{1F469}\x{1F468}](?:\x{200D}\x{2764}\x{FE0F}\x{200D}\x{1F48B}\x{200D}\x{1F468})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F9BD})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F9BC})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F9AF})|[\x{1F575}\x{1F3CC}\x{26F9}\x{1F3CB}](?:\x{FE0F}\x{200D}\x{2640}\x{FE0F})|[\x{1F575}\x{1F3CC}\x{26F9}\x{1F3CB}](?:\x{FE0F}\x{200D}\x{2642}\x{FE0F})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F692})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F680})|[\x{1F468}\x{1F469}](?:\x{200D}\x{2708}\x{FE0F})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F3A8})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F3A4})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F4BB})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F52C})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F4BC})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F3ED})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F527})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F373})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F33E})|[\x{1F468}\x{1F469}](?:\x{200D}\x{2696}\x{FE0F})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F3EB})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F393})|[\x{1F468}\x{1F469}](?:\x{200D}\x{2695}\x{FE0F})|[\x{1F471}\x{1F64D}\x{1F64E}\x{1F645}\x{1F646}\x{1F481}\x{1F64B}\x{1F9CF}\x{1F647}\x{1F926}\x{1F937}\x{1F46E}\x{1F482}\x{1F477}\x{1F473}\x{1F9B8}\x{1F9B9}\x{1F9D9}\x{1F9DA}\x{1F9DB}\x{1F9DC}\x{1F9DD}\x{1F9DE}\x{1F9DF}\x{1F486}\x{1F487}\x{1F6B6}\x{1F9CD}\x{1F9CE}\x{1F3C3}\x{1F46F}\x{1F9D6}\x{1F9D7}\x{1F3C4}\x{1F6A3}\x{1F3CA}\x{1F6B4}\x{1F6B5}\x{1F938}\x{1F93C}\x{1F93D}\x{1F93E}\x{1F939}\x{1F9D8}](?:\x{200D}\x{2640}\x{FE0F})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F9B2})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F9B3})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F9B1})|[\x{1F468}\x{1F469}](?:\x{200D}\x{1F9B0})|[\x{1F471}\x{1F64D}\x{1F64E}\x{1F645}\x{1F646}\x{1F481}\x{1F64B}\x{1F9CF}\x{1F647}\x{1F926}\x{1F937}\x{1F46E}\x{1F482}\x{1F477}\x{1F473}\x{1F9B8}\x{1F9B9}\x{1F9D9}\x{1F9DA}\x{1F9DB}\x{1F9DC}\x{1F9DD}\x{1F9DE}\x{1F9DF}\x{1F486}\x{1F487}\x{1F6B6}\x{1F9CD}\x{1F9CE}\x{1F3C3}\x{1F46F}\x{1F9D6}\x{1F9D7}\x{1F3C4}\x{1F6A3}\x{1F3CA}\x{1F6B4}\x{1F6B5}\x{1F938}\x{1F93C}\x{1F93D}\x{1F93E}\x{1F939}\x{1F9D8}](?:\x{200D}\x{2642}\x{FE0F})|[\x{1F441}](?:\x{FE0F}\x{200D}\x{1F5E8}\x{FE0F})|[\x{1F1E6}\x{1F1E7}\x{1F1E8}\x{1F1E9}\x{1F1F0}\x{1F1F2}\x{1F1F3}\x{1F1F8}\x{1F1F9}\x{1F1FA}](?:\x{1F1FF})|[\x{1F1E7}\x{1F1E8}\x{1F1EC}\x{1F1F0}\x{1F1F1}\x{1F1F2}\x{1F1F5}\x{1F1F8}\x{1F1FA}](?:\x{1F1FE})|[\x{1F1E6}\x{1F1E8}\x{1F1F2}\x{1F1F8}](?:\x{1F1FD})|[\x{1F1E6}\x{1F1E7}\x{1F1E8}\x{1F1EC}\x{1F1F0}\x{1F1F2}\x{1F1F5}\x{1F1F7}\x{1F1F9}\x{1F1FF}](?:\x{1F1FC})|[\x{1F1E7}\x{1F1E8}\x{1F1F1}\x{1F1F2}\x{1F1F8}\x{1F1F9}](?:\x{1F1FB})|[\x{1F1E6}\x{1F1E8}\x{1F1EA}\x{1F1EC}\x{1F1ED}\x{1F1F1}\x{1F1F2}\x{1F1F3}\x{1F1F7}\x{1F1FB}](?:\x{1F1FA})|[\x{1F1E6}\x{1F1E7}\x{1F1EA}\x{1F1EC}\x{1F1ED}\x{1F1EE}\x{1F1F1}\x{1F1F2}\x{1F1F5}\x{1F1F8}\x{1F1F9}\x{1F1FE}](?:\x{1F1F9})|[\x{1F1E6}\x{1F1E7}\x{1F1EA}\x{1F1EC}\x{1F1EE}\x{1F1F1}\x{1F1F2}\x{1F1F5}\x{1F1F7}\x{1F1F8}\x{1F1FA}\x{1F1FC}](?:\x{1F1F8})|[\x{1F1E6}\x{1F1E7}\x{1F1E8}\x{1F1EA}\x{1F1EB}\x{1F1EC}\x{1F1ED}\x{1F1EE}\x{1F1F0}\x{1F1F1}\x{1F1F2}\x{1F1F3}\x{1F1F5}\x{1F1F8}\x{1F1F9}](?:\x{1F1F7})|[\x{1F1E6}\x{1F1E7}\x{1F1EC}\x{1F1EE}\x{1F1F2}](?:\x{1F1F6})|[\x{1F1E8}\x{1F1EC}\x{1F1EF}\x{1F1F0}\x{1F1F2}\x{1F1F3}](?:\x{1F1F5})|[\x{1F1E6}\x{1F1E7}\x{1F1E8}\x{1F1E9}\x{1F1EB}\x{1F1EE}\x{1F1EF}\x{1F1F2}\x{1F1F3}\x{1F1F7}\x{1F1F8}\x{1F1F9}](?:\x{1F1F4})|[\x{1F1E7}\x{1F1E8}\x{1F1EC}\x{1F1ED}\x{1F1EE}\x{1F1F0}\x{1F1F2}\x{1F1F5}\x{1F1F8}\x{1F1F9}\x{1F1FA}\x{1F1FB}](?:\x{1F1F3})|[\x{1F1E6}\x{1F1E7}\x{1F1E8}\x{1F1E9}\x{1F1EB}\x{1F1EC}\x{1F1ED}\x{1F1EE}\x{1F1EF}\x{1F1F0}\x{1F1F2}\x{1F1F4}\x{1F1F5}\x{1F1F8}\x{1F1F9}\x{1F1FA}\x{1F1FF}](?:\x{1F1F2})|[\x{1F1E6}\x{1F1E7}\x{1F1E8}\x{1F1EC}\x{1F1EE}\x{1F1F2}\x{1F1F3}\x{1F1F5}\x{1F1F8}\x{1F1F9}](?:\x{1F1F1})|[\x{1F1E8}\x{1F1E9}\x{1F1EB}\x{1F1ED}\x{1F1F1}\x{1F1F2}\x{1F1F5}\x{1F1F8}\x{1F1F9}\x{1F1FD}](?:\x{1F1F0})|[\x{1F1E7}\x{1F1E9}\x{1F1EB}\x{1F1F8}\x{1F1F9}](?:\x{1F1EF})|[\x{1F1E6}\x{1F1E7}\x{1F1E8}\x{1F1EB}\x{1F1EC}\x{1F1F0}\x{1F1F1}\x{1F1F3}\x{1F1F8}\x{1F1FB}](?:\x{1F1EE})|[\x{1F1E7}\x{1F1E8}\x{1F1EA}\x{1F1EC}\x{1F1F0}\x{1F1F2}\x{1F1F5}\x{1F1F8}\x{1F1F9}](?:\x{1F1ED})|[\x{1F1E6}\x{1F1E7}\x{1F1E8}\x{1F1E9}\x{1F1EA}\x{1F1EC}\x{1F1F0}\x{1F1F2}\x{1F1F3}\x{1F1F5}\x{1F1F8}\x{1F1F9}\x{1F1FA}\x{1F1FB}](?:\x{1F1EC})|[\x{1F1E6}\x{1F1E7}\x{1F1E8}\x{1F1EC}\x{1F1F2}\x{1F1F3}\x{1F1F5}\x{1F1F9}\x{1F1FC}](?:\x{1F1EB})|[\x{1F1E6}\x{1F1E7}\x{1F1E9}\x{1F1EA}\x{1F1EC}\x{1F1EE}\x{1F1EF}\x{1F1F0}\x{1F1F2}\x{1F1F3}\x{1F1F5}\x{1F1F7}\x{1F1F8}\x{1F1FB}\x{1F1FE}](?:\x{1F1EA})|[\x{1F1E6}\x{1F1E7}\x{1F1E8}\x{1F1EC}\x{1F1EE}\x{1F1F2}\x{1F1F8}\x{1F1F9}](?:\x{1F1E9})|[\x{1F1E6}\x{1F1E8}\x{1F1EA}\x{1F1EE}\x{1F1F1}\x{1F1F2}\x{1F1F3}\x{1F1F8}\x{1F1F9}\x{1F1FB}](?:\x{1F1E8})|[\x{1F1E7}\x{1F1EC}\x{1F1F1}\x{1F1F8}](?:\x{1F1E7})|[\x{1F1E7}\x{1F1E8}\x{1F1EA}\x{1F1EC}\x{1F1F1}\x{1F1F2}\x{1F1F3}\x{1F1F5}\x{1F1F6}\x{1F1F8}\x{1F1F9}\x{1F1FA}\x{1F1FB}\x{1F1FF}](?:\x{1F1E6})|[\x{00A9}\x{00AE}\x{203C}\x{2049}\x{2122}\x{2139}\x{2194}-\x{2199}\x{21A9}-\x{21AA}\x{231A}-\x{231B}\x{2328}\x{23CF}\x{23E9}-\x{23F3}\x{23F8}-\x{23FA}\x{24C2}\x{25AA}-\x{25AB}\x{25B6}\x{25C0}\x{25FB}-\x{25FE}\x{2600}-\x{2604}\x{260E}\x{2611}\x{2614}-\x{2615}\x{2618}\x{261D}\x{2620}\x{2622}-\x{2623}\x{2626}\x{262A}\x{262E}-\x{262F}\x{2638}-\x{263A}\x{2640}\x{2642}\x{2648}-\x{2653}\x{265F}-\x{2660}\x{2663}\x{2665}-\x{2666}\x{2668}\x{267B}\x{267E}-\x{267F}\x{2692}-\x{2697}\x{2699}\x{269B}-\x{269C}\x{26A0}-\x{26A1}\x{26AA}-\x{26AB}\x{26B0}-\x{26B1}\x{26BD}-\x{26BE}\x{26C4}-\x{26C5}\x{26C8}\x{26CE}-\x{26CF}\x{26D1}\x{26D3}-\x{26D4}\x{26E9}-\x{26EA}\x{26F0}-\x{26F5}\x{26F7}-\x{26FA}\x{26FD}\x{2702}\x{2705}\x{2708}-\x{270D}\x{270F}\x{2712}\x{2714}\x{2716}\x{271D}\x{2721}\x{2728}\x{2733}-\x{2734}\x{2744}\x{2747}\x{274C}\x{274E}\x{2753}-\x{2755}\x{2757}\x{2763}-\x{2764}\x{2795}-\x{2797}\x{27A1}\x{27B0}\x{27BF}\x{2934}-\x{2935}\x{2B05}-\x{2B07}\x{2B1B}-\x{2B1C}\x{2B50}\x{2B55}\x{3030}\x{303D}\x{3297}\x{3299}\x{1F004}\x{1F0CF}\x{1F170}-\x{1F171}\x{1F17E}-\x{1F17F}\x{1F18E}\x{1F191}-\x{1F19A}\x{1F201}-\x{1F202}\x{1F21A}\x{1F22F}\x{1F232}-\x{1F23A}\x{1F250}-\x{1F251}\x{1F300}-\x{1F321}\x{1F324}-\x{1F393}\x{1F396}-\x{1F397}\x{1F399}-\x{1F39B}\x{1F39E}-\x{1F3F0}\x{1F3F3}-\x{1F3F5}\x{1F3F7}-\x{1F3FA}\x{1F400}-\x{1F4FD}\x{1F4FF}-\x{1F53D}\x{1F549}-\x{1F54E}\x{1F550}-\x{1F567}\x{1F56F}-\x{1F570}\x{1F573}-\x{1F57A}\x{1F587}\x{1F58A}-\x{1F58D}\x{1F590}\x{1F595}-\x{1F596}\x{1F5A4}-\x{1F5A5}\x{1F5A8}\x{1F5B1}-\x{1F5B2}\x{1F5BC}\x{1F5C2}-\x{1F5C4}\x{1F5D1}-\x{1F5D3}\x{1F5DC}-\x{1F5DE}\x{1F5E1}\x{1F5E3}\x{1F5E8}\x{1F5EF}\x{1F5F3}\x{1F5FA}-\x{1F64F}\x{1F680}-\x{1F6C5}\x{1F6CB}-\x{1F6D2}\x{1F6D5}\x{1F6E0}-\x{1F6E5}\x{1F6E9}\x{1F6EB}-\x{1F6EC}\x{1F6F0}\x{1F6F3}-\x{1F6FA}\x{1F7E0}-\x{1F7EB}\x{1F90D}-\x{1F93A}\x{1F93C}-\x{1F945}\x{1F947}-\x{1F971}\x{1F973}-\x{1F976}\x{1F97A}-\x{1F9A2}\x{1F9A5}-\x{1F9AA}\x{1F9AE}-\x{1F9CA}\x{1F9CD}-\x{1F9FF}\x{1FA70}-\x{1FA73}\x{1FA78}-\x{1FA7A}\x{1FA80}-\x{1FA82}\x{1FA90}-\x{1FA95}]/u', '', $text_emoji); } function SaveActivity($type, $user_id, $city_id, $activity_id, $biz_id=0) { global $db; if(!$city_id) return; if(!$activity_id) { if($type == "review") { $res = $db->q("select id, company_id, DATE_FORMAT(date_post, '%Y-%m-%d') as date_post from review where user_id=".$user_id." order by id desc;"); if($r_data = $res->fetch()) { $activity_id = $r_data["id"]; $biz_id = $r_data["company_id"]; } } else if($type == "event") { $res = $db->q("select id, biz_id from event where user_id=".$user_id." order by id desc;"); if($e_data = $res->fetch()) { $activity_id = $e_data["id"]; $biz_id = $e_data["biz_id"]; } } else if($type == "biz_photo") { $res = $db->q("select id from image where table_name='Company' and rec_id=".$biz_id." and user_id=".$user_id." order by id desc;"); if($i_data = $res->fetch()) { $activity_id = $i_data["id"]; } } } if(!$activity_id) {return;} $pos1 = strpos($_SESSION["email"], "@nurlan.kz"); $pos2 = strpos($_SESSION["email"], "@adil.kz"); if((($pos1 !== false) || ($pos2 !== false)) && ($type == "review")) { $filtered = 1; } else { $filtered = 0; } if($type == "biz_photo") { $r = $db->q("select city_id from company where id=".$biz_id.""); if($b_data = $r->fetch()) { $city_id = $b_data["city_id"]; } $res = $db->q("select id, user_id, city_id, type, biz_id, (select count(*) from activity_line where activity_header_id=activity_header.id) as activity_count from activity_header where city_id=".$city_id." and filtered=0 order by id desc limit 1;"); if($activity_data = $res->fetch()) { if(($activity_data["user_id"] == $user_id) && ($activity_data["city_id"] == $city_id) && ($activity_data["biz_id"] == $biz_id) && ($activity_data["type"] == "biz_photo")) { $arFieldNamePar = Array("activity_header_id", "activity_id", "date_post"); $arFieldValuePar = Array($activity_data["id"], $activity_id, date("Y-m-d H:i:s")); $res = $db->insert("activity_line", $arFieldNamePar, $arFieldValuePar); return; } } } $arFieldNamePar = Array("type", "filtered", "user_id", "city_id", "biz_id", "date_post"); $arFieldValuePar = Array($type, $filtered, $user_id, $city_id, $biz_id, date("Y-m-d H:i:s")); $res = $db->insert("activity_header", $arFieldNamePar, $arFieldValuePar); if($res) { $res = $db->q("select id from activity_header where type='".$type."' and user_id=".$user_id." and city_id=".$city_id." order by id desc;"); if($activity_data = $res->fetch()) { $arFieldNamePar = Array("activity_header_id", "activity_id", "date_post"); $arFieldValuePar = Array($activity_data["id"], $activity_id, date("Y-m-d H:i:s")); $res = $db->insert("activity_line", $arFieldNamePar, $arFieldValuePar); } } } function DateDiff($date1, $date2) { global $l; $dt_elements = explode(' ',$date1); $date_elements = explode('-',$dt_elements[0]); $time_elements = explode(':',$dt_elements[1]); $date1 = mktime($time_elements[0], $time_elements[1],$time_elements[2], $date_elements[1],$date_elements[2], $date_elements[0]); $dt_elements = explode(' ',$date2); $date_elements = explode('-',$dt_elements[0]); $time_elements = explode(':',$dt_elements[1]); $date2 = mktime($time_elements[0], $time_elements[1],$time_elements[2], $date_elements[1],$date_elements[2], $date_elements[0]); $timedifference = $date2 - $date1; if($timedifference < 60) $res = $l->g("moment-ago"); else { if($timedifference < 3600) { $timedifference = intval($timedifference / 60); $period = $l->g_count("minute", $timedifference); } else if($timedifference < (3600*24)) { $timedifference = intval($timedifference / 3600); $period = $l->g_count("hour", $timedifference); } else if($timedifference < (3600*24*31)){ $timedifference = intval($timedifference / (3600*24)); $period = $l->g_count("day", $timedifference); } else { $timedifference = intval($timedifference / (3600*24*31)); $period = $l->g_count("month", $timedifference); } $res = $timedifference." ".$period." ".$l->g("ago"); } return $res; } function CalcDistance($distance) { global $l; $distance = intval($distance); if($distance < 50) { return $l->g("less-than-n-meters", 50); } else if($distance < 350) { return "".round($distance,-1)."".$l->g("meters"); } else if($distance < 1000000) { return "".round($distance/1000,1)."".$l->g("km"); } else { return $l->g("undefined"); } } function CreateRegCode() { $regcode = array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","v","u","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","V","U","W","X","Y","Z","0","1","2","3","4","5","6","7","8","9"); for($i=0;$i<24;$i++) { $res .= $regcode[rand(0, sizeof($regcode))]; } return $res; } function transliterate($textcyr = null) { $cyr = array('а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п', 'р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я', 'А','Б','В','Г','Д','Е','Ё','Ж','З','И','Й','К','Л','М','Н','О','П', 'Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ъ','Ы','Ь','Э','Ю','Я'); $lat = array('a','b','v','g','d','e','io','zh','z','i','y','k','l','m','n','o','p', 'r','s','t','u','f','h','ts','ch','sh','sht','a','i','y','e','yu','ya', 'A','B','V','G','D','E','Io','Zh','Z','I','Y','K','L','M','N','O','P', 'R','S','T','U','F','H','Ts','Ch','Sh','Sht','A','I','Y','e','Yu','Ya'); if($textcyr) return str_replace($cyr, $lat, $textcyr); else return null; } /* if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && (strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') && (!isset($_GET["lang"]))) { $lang = $_SESSION["lang"]; } else { $lang = $_GET["lang"]; $_SESSION["lang"] = $lang; } */ require_once($DocRoot."model/mobile_detect.php"); $detect = new Mobile_Detect; if($detect->isMobile()) { $is_responsive = true; $to_mobile = true; /* if($mobile_page || ($Page_n == "main3")) { header('Location: '.$mRootPath.$mobile_page); exit; } */ } else { $to_mobile = false; } require_once($DocRoot."model/db.php"); $db = new db(); require_once($DocRoot."model/lang.php"); $l = new lang(); ?>