setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (Exception $e) { sendError('Connect error "'.$e->getMessage().'"!',0); } if ($f==1) //логин + отправка списка автомобилей { $login=$_REQUEST["login"]; $password=$_REQUEST["password"]; // Выбираем пользователя $res = $db->query('select * from "Users" where upper(login)=upper(\''.$login.'\') and password=md5(\''.$password.'\')'); if($res->rowCount()>0) { $result = $res->fetch(PDO::FETCH_ASSOC); $_SESSION["USER_ID"]=$result['id']; $_SESSION["COMPANY_ID"]=$result['company_id']; $ans='1|'.session_name().'|'.session_id().'|;'; //выбираем список автомобилей и их последние координаты для компании пользователя $company_id= $res = $db->query('select t1.id,t1.name,t2.lon,t2.lat,Floor(EXTRACT(EPOCH FROM t2.date)) as date from (select id,name,(select id from "ModemGPS" where car_id=c.id order by date desc limit 1) as gps from "Cars" c where company_id='.$_SESSION["COMPANY_ID"].') t1, "ModemGPS" t2 where t1.gps=t2.id order by name'); while ($row = $res->fetch(PDO::FETCH_ASSOC)) { $ans.=$row['id'].'|'; $ans.=$row['name'].'|'; $ans.=$row['lon'].'|'; $ans.=$row['lat'].'|'; $ans.=$row['date'].'|'; $ans.=';'; } print $ans; }else { print '0|'; //не авторизован } }else if ($f==2) //отправка клиенту последних коордионат автомобилей { if($_SESSION["COMPANY_ID"]>0) { $res = $db->query('select t1.id,t2.lon,t2.lat,Floor(EXTRACT(EPOCH FROM t2.date)) as date from (select id,(select id from "ModemGPS" where car_id=c.id order by date desc limit 1) as gps_id from "Cars" c where '.$_SESSION["COMPANY_ID"].'=1) t1, "ModemGPS" t2 where t1.gps_id=t2.id'); $ans=''; while ($row = $res->fetch(PDO::FETCH_ASSOC)) { $ans.=$row['id'].'|'; $ans.=$row['lon'].'|'; $ans.=$row['lat'].'|'; $ans.=$row['date'].'|'; $ans.=';'; } print $ans; }else print '0|'; }