<?php require_once __DIR__ . "/../function/db_api.php"; if (!is_null($_GET[rem])) { if (preg_match('/^\\d+$/', $_GET[rem])) { $q1 = "DELETE FROM `polygon_current` WHERE `polygon_name_id`=" . $_GET[rem]; db_reqss($q1); } else { $s3 = "SELECT `polygon_name_id` FROM polygon_name WHERE `napr`='" . $_GET[rem] . "'"; $s4 = db_reqss($s3); foreach ($s4 as $s5) { $s6 = "DELETE FROM `polygon_current` WHERE `polygon_name_id`=" . $s5[polygon_name_id]; db_reqss($s6); } } } if (!is_null($_GET[loc])) { $q2 = "INSERT INTO `polygon_current` (`polygon_name_id`) VALUES ({$_GET['loc']})"; db_reqss($q2); } if (!is_null($_GET[rem_all])) { $q11 = "TRUNCATE `polygon_current`"; db_reqss($q11); echo "11"; }
$pid = pcntl_fork(); if ($pid == -1) { // Ошибка die('could not fork' . PHP_EOL); } else { if ($pid) { // Родительский процесс, убиваем die('die parent process' . PHP_EOL); } else { // Новый процесс, запускаем главный цикл require_once "/var/www/indriver/function/db_api.php"; while (true) { $req = "SELECT taxist_id FROM geoloc WHERE `time` >= (now() - interval 5 minute) group by taxist_id"; $geo = db_reqss($req); $req = "SELECT `taxist_id` FROM `taxist` WHERE `online`='1';"; $online = db_reqss($req); foreach ($online as $gg) { $i = 0; foreach ($geo as $on) { if ($on['taxist_id'] == $gg['taxist_id']) { $i = 1; } } if ($i == 0) { //echo $gg['taxist_id']." turn offline\n"; $req = "UPDATE `taxist` SET `online`=0 WHERE `taxist_id`={$gg['taxist_id']};"; db_req_without_resp($req); $req = "UPDATE `taxist` SET `work`=0 WHERE `taxist_id`={$gg['taxist_id']};"; db_req_without_resp($req); } }
<?php require_once __DIR__ . "/../../function/db_api.php"; //$ss1 = "SELECT `polygon_name`,`long`,`lat` FROM `polygon` right join `polygon_geo` ON `polygon`.`polygon_geo_id` = `polygon_geo`.`polygon_geo_id` inner join `polygon_name` ON `polygon`.`polygon_name_id` = `polygon_name`.`polygon_name_id`"; $ss2 = "SELECT * FROM indriver.polygon_name;"; $ss12 = db_reqss($ss2); //print_r($ss12); foreach ($ss12 as $ss3) { //$ss1 = "SELECT `long`,`lat` FROM `polygon` right join `polygon_geo` ON `polygon`.`polygon_geo_id` = `polygon_geo`.`polygon_geo_id` WHERE `polygon_name_id`=".$ss3['polygon_name_id']; $ss5 = "SELECT napr FROM `polygon_name` WHERE `polygon_name_id`=" . $ss3['polygon_name_id']; //$ss4 = db_reqss($ss1); $ss5 = db_reqss($ss5); $ss5 = $ss5[0][napr]; $asd[$ss3['polygon_name']] = array($ss3['polygon_name_id'], $ss5); } echo json_encode($asd);
foreach ($asd as $dsa) { if (substr($argv[2], 1, 10) == $dsa['phone_taxist']) { ///если номер есть обновить статус соеденения таксиста с сервером на 1 $sql = "UPDATE `taxist` SET `connected`='1' WHERE `taxist_id`=" . $dsa['taxist_id']; db_req_without_resp($sql); ///записать имя канал таксиста.... $sql = "REPLACE INTO `sip_channel_taxist` (`sip_channel_taxist`, `taxist_id`) VALUES ('" . $argv[3] . "', '" . $dsa['taxist_id'] . "');"; db_req_without_resp($sql); echo "ok"; return; } } ///если среди таксистов нет то ПРОВЕРИТ СРЕДИ КЛИЕНТОВ за последние 2 часа, //НЕ среди всех просмотренных клиентов А ОБСЛУЖЕННЫХ $x1 = "SELECT `phone`,`taxist_id` FROM indriver.current_taxa_android WHERE `work`='1' AND `data` >= (now() - interval 180 minute)"; $a1 = db_reqss($x1); foreach ($a1 as $mko) { if ($argv[2] == $mko['phone']) { //если этого человека обслужили то возвратить номер таксиста //который его обслуживал.... $sql = "SELECT `phone_taxist` FROM `taxist` WHERE `taxist_id`='" . $mko['taxist_id'] . "'"; $sssq = db_req($sql); echo "7" . $sssq['phone_taxist']; //."@android-out"; return; } } } if ($argv[1] == "hangup") { //если таксис положил трубку... поменять статус коннектед. $numb = substr($argv[2], 1, 10);
if ($vertex1['long'] == $vertex2['long'] || $point['long'] <= $xinters) { $intersections++; } } } if ($intersections % 2 != 0) { return "inside"; } else { return "outside"; } } } require_once "/var/www/indriver/function/db.php"; //взять полигоны $b = "SELECT * FROM indriver.polygon_current"; $ss = db_reqss($b); foreach ($ss as $ss1) { $a = "SELECT `long`,`lat` FROM `polygon_current` LEFT JOIN `polygon` ON `polygon_current`.`polygon_name_id`=`polygon`.`polygon_name_id` LEFT JOIN `polygon_geo` ON `polygon`.`polygon_geo_id`=`polygon_geo`.`polygon_geo_id` WHERE `polygon_current`.`polygon_name_id`=" . $ss1['polygon_name_id']; $sss1[$ss1['polygon_name_id']] = db_reqs($a); } $req = "SELECT * FROM filtres;"; $ret = db_req($req); //Максимальное количество итераций основного цикла $max_itter = 60; //Отсутсвие десрипшна $descr = ""; //цена $price = $ret['price']; //дистанция $dist0 = $ret['dist']; //обновление статуса звонка