Beispiel #1
0
$sql .= "     ( 6371 * acos( cos( radians(" . $userlatitude . ") ) ";
$sql .= "                    * cos( radians( " . C_STORE_LATITUDE . " ) ) ";
$sql .= "                    * cos( radians( " . C_STORE_LONGITUDE . " ) ";
$sql .= "                        - radians(" . $userlongitude . ") ) ";
$sql .= "                    + sin( radians(" . $userlatitude . ") ) ";
$sql .= "                    * sin( radians( " . C_STORE_LATITUDE . " ) ) ";
$sql .= "                  ) ";
$sql .= "    ) AS distance ";
$sql .= " FROM " . T_STORES . " ";
$sql .= " HAVING distance < " . $distance . " ";
$sql .= " AND WHERE " . $where . " ";
$sql .= " ORDER BY distance ASC";
if (isset($_GET['userlongitude']) && isset($_GET['userlatitude']) && $_GET['userlongitude'] != "" && $_GET['userlongitude'] != "0" && $_GET['userlatitude'] != "" && $_GET['userlatitude'] != "0") {
    $items = Store::get_by_sql($sql);
} else {
    $items = Store::get_by_sql("SELECT * FROM " . T_STORES . " WHERE " . $where . $sort . $limit);
}
$filename = 0;
foreach ($items as $item) {
    $item->distance = round($item->distance) > 0 ? round($item->distance) + "km" : round($item->distance / 0.001) + "m";
    $sql = "SELECT * FROM traffics WHERE storeid = " . $item->id;
    if (!isset($_GET['1hour'])) {
        $sql .= " AND " . C_TRAFFIC_DATETIME . " BETWEEN DATE_SUB(NOW(), INTERVAL 1 HOUR) AND NOW()";
    }
    $traffics = Traffic::get_by_sql($sql);
    $totaltraffics = 0;
    $lasttrafficdatetime = 0;
    if (count($traffics) > 0) {
        foreach ($traffics as $traffic) {
            $totaltraffics += $traffic->status;
        }
    if ($searchOper == 'eq') {
        $searchString = $searchString;
    }
    if ($searchOper == 'bw' || $searchOper == 'bn') {
        $searchString .= '%';
    }
    if ($searchOper == 'ew' || $searchOper == 'en') {
        $searchString = '%' . $searchString;
    }
    if ($searchOper == 'cn' || $searchOper == 'nc' || $searchOper == 'in' || $searchOper == 'ni') {
        $searchString = '%' . $searchString . '%';
    }
    $where = "{$searchField} {$ops} '{$searchString}'";
    $objects = Store::get_by_sql("SELECT * FROM " . T_STORES . " WHERE " . $where . " ORDER BY {$sidx} {$sord} LIMIT {$start} , {$limit}");
} else {
    $objects = Store::get_by_sql("SELECT * FROM " . T_STORES . " ORDER BY {$sidx} {$sord} LIMIT {$start} , {$limit}");
}
header("Content-type: text/xml;charset=utf-8");
$s = "<?xml version='1.0' encoding='utf-8'?>";
$s .= "<rows>";
$s .= "<page>" . $page . "</page>";
$s .= "<total>" . $total_pages . "</total>";
$s .= "<records>" . $count . "</records>";
foreach ($objects as $object) {
    $s .= "<row id='" . $object->id . "'>";
    $s .= "<cell></cell>";
    $s .= "<cell>" . $object->id . "</cell>";
    $s .= "<cell>" . $object->picture . "</cell>";
    $s .= "<cell>" . $object->name . "</cell>";
    $s .= "<cell>" . $object->branchname . "</cell>";
    $s .= "<cell>" . $object->address . "</cell>";