Пример #1
0
 public static function xml_to_array($xml)
 {
     $reg = "/<(\\w+)[^>]*>([\\x00-\\xFF]*)<\\/\\1>/";
     if (preg_match_all($reg, $xml, $matches)) {
         $count = count($matches[0]);
         for ($i = 0; $i < $count; $i++) {
             $subxml = $matches[2][$i];
             $key = $matches[1][$i];
             if (preg_match($reg, $subxml)) {
                 $arr[$key] = ToolManager::xml_to_array($subxml);
             } else {
                 $arr[$key] = $subxml;
             }
         }
     }
     return $arr;
 }
Пример #2
0
 public function actionGetPoiEncode()
 {
     $lat = $_GET['lat'];
     $lon = $_GET['lon'];
     $gaode_regeo_api = 'http://restapi.amap.com/v3/geocode/regeo';
     $api_key = '3c11184af876b8ed0c159423e7db3bac';
     $radius = 500;
     $extensions = 'all';
     $batch = false;
     $roadlevel = 1;
     $post_data = array('key' => $api_key, 'location' => $lat . "," . $lon, 'radius' => $radius, 'extensions' => $extensions, 'batch' => $batch, 'roadlevel' => $roadlevel);
     try {
         $results = ToolManager::post($gaode_regeo_api, $post_data);
         $res_array = json_decode($results, true);
         $status = $res_array['status'];
     } catch (Exception $e) {
         $status = '0';
     }
     if ($status == '1') {
         $data_array = array();
         foreach ($res_array['regeocode']['pois'] as $poi) {
             $local_prefix = $res_array['regeocode']['addressComponent']['province'] . $res_array['regeocode']['addressComponent']['district'];
             $tip_data['address'] = $poi['name'];
             $tip_data['local'] = $local_prefix . $poi['address'];
             $data_array[] = $tip_data;
         }
         $ret_json = array('status' => 0, 'message' => '输入提示获取成功!', 'data' => $data_array);
     } else {
         $ret_json = array('status' => 1, 'message' => '输入提示获取失败!', 'data' => array());
     }
     echo CJSON::encode($ret_json);
 }
Пример #3
0
 public static function submitOrder($user_id, $shop_id, $washing, $washing_time, $message)
 {
     $ret_json = array("status" => 0, "message" => "提交订单成功!", "data" => array());
     $order_id = ToolManager::genOrderNum();
     $car_wash_order_info = new CarWashOrderInfo();
     $car_wash_order_info->order_id = $order_id;
     $car_wash_order_info->userid = $user_id;
     $car_wash_order_info->shop_id = $shop_id;
     $car_wash_order_info->washing_time = $washing_time;
     $car_wash_order_info->washing = implode("|", $washing);
     $car_wash_order_info->message = $message;
     $car_wash_order_info->create_time = date('y-m-d h:i:s', time());
     try {
         $car_wash_order_info->save();
     } catch (Exception $ex) {
         $ret_json["status"] = 1;
         $ret_json["message"] = "数据库更新失败,提交订单失败!";
     }
     $ret_json['data'] = array(array("order_id" => $order_id));
     return $ret_json;
 }
Пример #4
0
 public function actionShopFilterRequest()
 {
     header('Content-Type: application/javascript');
     $callback = $_REQUEST['callback'];
     $gaode_get_area_info = 'http://restapi.amap.com/v3/config/district';
     $api_key = '3c11184af876b8ed0c159423e7db3bac';
     $post_data = array('key' => $api_key, 'subdistrict' => 3, 'extensions' => 'base');
     try {
         $tips = ToolManager::post($gaode_get_area_info, $post_data);
         $results = json_decode($tips, true);
         $status = $results['status'];
         $count = $results['count'];
     } catch (Exception $e) {
         $status = '0';
         $count = '0';
     }
     $ret_array = array('status' => 0, 'message' => "获取过滤条件成功!", 'data' => array());
     $ret_json = array('status' => 0, 'message' => '获取地区列表成功!', 'data' => array());
     if ($status == '1' && $count != '0') {
         $address_array = array('num' => 0, 'data' => array());
         foreach ($results['districts'][0]['districts'] as $district) {
             $province_array = array('name' => $district['name'], 'city' => array());
             $province = $district['districts'];
             $province_level_city = array("北京市", "天津市", "上海市", "重庆市");
             if (empty($province)) {
                 continue;
             } else {
                 if (in_array($district['name'], $province_level_city)) {
                     $sub_areas = $province[0]['districts'];
                 } else {
                     $sub_areas = $province;
                 }
             }
             foreach ($sub_areas as $sub_area) {
                 $city_arrary = array('name' => $sub_area['name']);
                 $province_array['city'][] = $city_arrary;
             }
             $address_array['data'][] = array('province' => $province_array);
         }
         $address_array['num'] = count($address_array['data']);
     } else {
         $ret_json = array('status' => 1, 'message' => '获取地区列表失败!', 'data' => array());
     }
     $type_array = array('num' => 0);
     $type_results = CarWashManager::getWashType();
     if (!empty($type_results)) {
         foreach ($type_results as $result) {
             $type_array[strval($result->service_id)] = $result->service_name;
         }
         $type_array['num'] = count($type_results);
     }
     $range_array = array('num' => 0);
     $range_results = CarWashManager::getWashRange();
     if (!empty($range_results)) {
         foreach ($range_results as $result) {
             $range_array[strval($result->range_id)] = $result->range_name;
         }
         $range_array['num'] = count($range_results);
     }
     if ($ret_json['status'] != 1) {
         $ret_json['data'][] = array('address' => $address_array, 'type' => $type_array, 'range' => $range_array);
     }
     echo $callback . "(" . CJSON::encode($ret_json) . ");";
 }