Exemple #1
0
 /**
  *  Костыль, на сервере города начинаются с маленькой буквы
  *
  * @param $cityData
  *
  * @return $cityData
  */
 public function getCityNameByDisplay(&$cityData)
 {
     //print_r($cityData);
     $cityData['name'] = Utils::firstWordLiterUppercase($cityData['name']);
     //Собирает строчку с названием города для отображения
     $displayCityName = $cityData['type'] . '. ' . $cityData['name'];
     if (strpos($cityData['region'], $cityData['name']) === false) {
         $displayCityName .= ', ' . $cityData['region'];
     }
     $cityData['display_name'] = $displayCityName;
     return $cityData;
 }
Exemple #2
0
 /**
  * Вызывается для использования api методов сервера ddelivery.ru
  * @param array $request
  */
 public function renderPlugin($request)
 {
     if (isset($request['action'])) {
         switch ($request['action']) {
             case 'getCityIp':
                 $cityList = $this->sdk->getCityByIp($_SERVER['REMOTE_ADDR']);
                 if (count($cityList->response)) {
                     $cityList->response['city'] = $cityList->response['type'] . ' ' . Utils::firstWordLiterUppercase($cityList->response['city']);
                     echo json_encode($cityList->response);
                 } else {
                     echo json_encode(array());
                 }
                 return;
             case 'searchCity2':
                 if (isset($request['name']) && mb_strlen($request['name']) >= 3) {
                     $cityList = $this->sdk->getAutoCompleteCity($request['name']);
                     $cityList = $cityList->response;
                     $resultCity = array();
                     if (count($cityList)) {
                         foreach ($cityList as $key => $city) {
                             $resultCity[$key]['label'] = $city['type'] . '. ' . Utils::firstWordLiterUppercase($city['name']);
                             $resultCity[$key]['name'] = $city['type'] . '. ' . Utils::firstWordLiterUppercase($city['name']);
                             if (strpos($cityList[$key]['region'], $cityList[$key]['name']) === false) {
                                 $resultCity[$key]['label'] .= ', ' . $cityList[$key]['region'];
                             }
                             $resultCity[$key]['id'] = $city['_id'];
                         }
                     }
                     echo json_encode($resultCity);
                 }
                 return;
             case 'getCompanies':
                 $dd_to = $request['ddcalc_to'];
                 $dd_payment = $request['ddcalc_payment'];
                 $dd_weight = $request['ddcalc_weight'];
                 $dd_width = $request['ddcalc_width'];
                 $dd_height = $request['ddcalc_height'];
                 $dd_length = $request['ddcalc_length'];
                 $pickup = $this->sdk->calculatorPickupForCity($dd_to, $dd_width, $dd_height, $dd_length, $dd_weight, $dd_payment);
                 $courier = $this->sdk->calculatorCourier($dd_to, $dd_width, $dd_height, $dd_length, $dd_weight, $dd_payment);
                 echo json_encode(array('pickup' => $pickup->response, 'courier' => $courier->response));
                 return;
         }
     }
 }