Commit 3ffb4159073df0c651dd70a49eacd76ab0a94283
Merge remote-tracking branch 'origin/master'
# Conflicts: # src/app/frontend/messages/ru.php # src/app/frontend/messages/ua.php
Showing
21 changed files
with
399 additions
and
86 deletions
Show diff stats
src/app/backend/controllers/PromoCodesController.php
| ... | ... | @@ -54,6 +54,7 @@ class PromoCodesController extends Controller |
| 54 | 54 | $data['code'] = $this->request->getPost('code', 'string', NULL ); |
| 55 | 55 | $data['start_date'] = $this->request->getPost('start_date'); |
| 56 | 56 | $data['end_date'] = $this->request->getPost('end_date'); |
| 57 | + $data['single_use'] = $this->request->getPost('single_use'); | |
| 57 | 58 | $data['discount'] = $this->request->getPost('discount', 'string', NULL ); |
| 58 | 59 | $data['description'] = $this->request->getPost('description'); |
| 59 | 60 | $data['catalog_ids'] = $this->request->getPost('catalog', 'string', NULL ); |
| ... | ... | @@ -120,6 +121,7 @@ class PromoCodesController extends Controller |
| 120 | 121 | $data[0]['description'] = $this->request->getPost('description'); |
| 121 | 122 | $data[0]['group_ids'] = $this->request->getPost('items', 'string', NULL ); |
| 122 | 123 | $data[0]['all_items'] = $this->request->getPost('all_items', 'int', NULL); |
| 124 | + $data[0]['single_use'] = $this->request->getPost('single_use', 'int', NULL); | |
| 123 | 125 | |
| 124 | 126 | $cover = $this->uploadImage(); |
| 125 | 127 | ... | ... |
src/app/backend/views/promo_codes/addEdit.php
| ... | ... | @@ -47,6 +47,14 @@ |
| 47 | 47 | </div> |
| 48 | 48 | </div> |
| 49 | 49 | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + <div class="clearfix input_wrapper"> | |
| 54 | + <?= '<input type="checkbox" id="single_use" name="single_use" class="single_use" value="1" '.( isset( $page['0']['single_use'] ) && !empty( $page['0']['single_use'] ) && $page['0']['single_use'] == 1 ? 'checked="checked"' : '').' />' ?> | |
| 55 | + <label for="single_use"><span></span>Одноразовое использование</label> | |
| 56 | + </div> | |
| 57 | + | |
| 50 | 58 | <div class="clearfix input_wrapper"> |
| 51 | 59 | <div class="label"><label for="description">Описание</label></div> |
| 52 | 60 | <div class="input"> | ... | ... |
src/app/frontend/controllers/AjaxController.php
| ... | ... | @@ -173,23 +173,62 @@ class AjaxController extends \controllers\ControllerBase |
| 173 | 173 | } |
| 174 | 174 | |
| 175 | 175 | public function applyPromoCodeAction() { |
| 176 | - $this->view->disable(); | |
| 177 | - $in_cart = $this->session->get('in_cart', []); | |
| 178 | - $cart = $this->common->getCartItems($in_cart, $this->lang_id); | |
| 176 | + try { | |
| 177 | + | |
| 178 | + $this->view->disable(); | |
| 179 | + $in_cart = $this->session->get('in_cart', []); | |
| 180 | + $cart = $this->common->getCartItems($in_cart, $this->lang_id); | |
| 181 | + | |
| 182 | + $promo_code = $this->request->getPost( 'promo_code', 'string', '' ); | |
| 183 | + | |
| 184 | + $promo_code = $this->models->getPromoCodes()->getOneDataByCode($promo_code); | |
| 185 | + $user = isset($this->models->getCustomers()->getOneData($this->session->get('id'))['0']) ? $this->models->getCustomers()->getOneData($this->session->get('id'))['0'] : ''; | |
| 186 | + | |
| 187 | + if(!empty($promo_code) && $promo_code[0]['single_use']){ | |
| 188 | + if( !empty($user)){ | |
| 189 | + if(!empty($user['email'])){ | |
| 190 | + $data['code'] = $promo_code[0]['code']; | |
| 191 | + $data['email'] = $user['email']; | |
| 192 | + $promo_code_check = $this->models->getPromoToUser()->getOneDataByCode($data); | |
| 193 | + if(!empty($promo_code_check)){ | |
| 194 | + throw new \Exception($this->t->_('error_promo_code_already_used')); | |
| 195 | + } | |
| 196 | + } else { | |
| 197 | + throw new \Exception($this->t->_('error_promo_code_empty_email')); | |
| 198 | + } | |
| 199 | + } else { | |
| 200 | + throw new \Exception($this->t->_('error_promo_code_empty_user')); | |
| 201 | + } | |
| 179 | 202 | |
| 180 | - $promo_code = $this->request->getPost( 'promo_code', 'string', '' ); | |
| 181 | 203 | |
| 182 | - $promo_code = $this->models->getPromoCodes()->getOneDataByCode($promo_code); | |
| 183 | 204 | |
| 184 | - if(!empty($promo_code)) { | |
| 185 | - if($this->common->applyPromoCode($promo_code[0], $cart['items'])) { | |
| 186 | - $this->session->set('promo_code', $promo_code[0]); | |
| 187 | - $this->common->countOrderSum($cart); | |
| 188 | - echo json_encode($cart); | |
| 189 | - return; | |
| 190 | 205 | } |
| 206 | + | |
| 207 | + if(!empty($promo_code)) { | |
| 208 | + if($this->common->applyPromoCode($promo_code[0], $cart['items'])) { | |
| 209 | + $this->session->set('promo_code', $promo_code[0]); | |
| 210 | + $this->common->countOrderSum($cart); | |
| 211 | + echo json_encode(['cart' => $cart, | |
| 212 | + 'successMessage' => $this->t->_('success_promo_code'), | |
| 213 | + 'status'=>'success' | |
| 214 | + ]); | |
| 215 | + return; | |
| 216 | + } else { | |
| 217 | + throw new \Exception($this->t->_('error_promo_code')); | |
| 218 | + } | |
| 219 | + } else { | |
| 220 | + throw new \Exception($this->t->_('error_promo_code_is_empty')); | |
| 221 | + } | |
| 222 | + | |
| 223 | + } catch (\Exception $e) { | |
| 224 | + | |
| 225 | + echo json_encode(['status'=>'error', | |
| 226 | + 'errorMessage' => $e->getMessage() | |
| 227 | + ]); | |
| 228 | + return null; | |
| 191 | 229 | } |
| 192 | - return null; | |
| 230 | + | |
| 231 | + | |
| 193 | 232 | } |
| 194 | 233 | } |
| 195 | 234 | |
| 196 | 235 | \ No newline at end of file | ... | ... |
src/app/frontend/controllers/DealerController.php
| ... | ... | @@ -1520,6 +1520,9 @@ class DealerController extends \controllers\ControllerBase |
| 1520 | 1520 | |
| 1521 | 1521 | if( !empty( $order['proposal_number'] ) ) |
| 1522 | 1522 | { |
| 1523 | + | |
| 1524 | + | |
| 1525 | + | |
| 1523 | 1526 | $this->sendmail->addCustomer( 2, $order ); |
| 1524 | 1527 | |
| 1525 | 1528 | $this->session->set( 'in_cart', []); | ... | ... |
src/app/frontend/controllers/MenuController.php
| ... | ... | @@ -32,10 +32,11 @@ class MenuController extends \controllers\ControllerBase |
| 32 | 32 | $err = 0; |
| 33 | 33 | |
| 34 | 34 | $cities_ = $this->novaposhta->city(); |
| 35 | - | |
| 36 | - foreach( $cities_->city as $c ) | |
| 35 | + | |
| 36 | + foreach( $cities_->item as $c ) | |
| 37 | 37 | { |
| 38 | - $cities[strval($c->id)] = strval($c->nameUkr); | |
| 38 | + | |
| 39 | + $cities[strval($c->CityID)] = strval($c->Description); | |
| 39 | 40 | } |
| 40 | 41 | |
| 41 | 42 | if ( !empty( $in_cart ) ) |
| ... | ... | @@ -210,6 +211,25 @@ class MenuController extends \controllers\ControllerBase |
| 210 | 211 | |
| 211 | 212 | if( !empty( $order['proposal_number'] ) ) |
| 212 | 213 | { |
| 214 | + | |
| 215 | + | |
| 216 | + /** | |
| 217 | + * single use promo code logic | |
| 218 | + */ | |
| 219 | + if(!empty($session_promo_code)){ | |
| 220 | + $user = $this->models->getCustomers()->getOneData($this->session->get('id'))['0']; | |
| 221 | + | |
| 222 | + if($session_promo_code['single_use'] && !empty($user)){ | |
| 223 | + if(!empty($user['email'])){ | |
| 224 | + $data['code'] = $session_promo_code['code']; | |
| 225 | + $data['email'] = $user['email']; | |
| 226 | + $this->models->getPromoToUser()->addData($data); | |
| 227 | + } | |
| 228 | + | |
| 229 | + } | |
| 230 | + } | |
| 231 | + | |
| 232 | + | |
| 213 | 233 | $this->sendmail->addCustomer( 2, $order ); |
| 214 | 234 | |
| 215 | 235 | $this->session->set( 'in_cart', []); |
| ... | ... | @@ -318,18 +338,18 @@ class MenuController extends \controllers\ControllerBase |
| 318 | 338 | $length = strlen($term); |
| 319 | 339 | $cities_ = $this->novaposhta->city(); |
| 320 | 340 | |
| 321 | - foreach( $cities_->city as $c ) | |
| 341 | + foreach( $cities_->item as $c ) | |
| 322 | 342 | { |
| 323 | - $cities[strval($c->id)] = strval($c->nameUkr); | |
| 343 | + $cities[strval($c->CityID)] = strval($c->Description); | |
| 324 | 344 | |
| 325 | - if( mb_strtolower( substr( strval($c->nameUkr), 0, $length ), 'utf-8' ) == mb_strtolower( $term, 'utf-8' ) ) | |
| 345 | + if( mb_strtolower( substr( strval($c->Description), 0, $length ), 'utf-8' ) == mb_strtolower( $term, 'utf-8' ) ) | |
| 326 | 346 | { |
| 327 | 347 | $selected_cities[] = |
| 328 | 348 | [ |
| 329 | - 'label' => strval($c->nameUkr), | |
| 330 | - 'value' => strval($c->nameUkr), | |
| 331 | - 'id' => strval($c->id), | |
| 332 | - 'ref' => strval($c->ref) | |
| 349 | + 'label' => strval($c->Description), | |
| 350 | + 'value' => strval($c->Ref), | |
| 351 | + 'id' => strval($c->CityID), | |
| 352 | + 'ref' => strval($c->Ref) | |
| 333 | 353 | ]; |
| 334 | 354 | } |
| 335 | 355 | } |
| ... | ... | @@ -345,13 +365,13 @@ class MenuController extends \controllers\ControllerBase |
| 345 | 365 | $city = $this->request->getPost('city', 'string', '' ); |
| 346 | 366 | $offices_ = $this->novaposhta->warenhouse( $city ); |
| 347 | 367 | |
| 348 | - foreach( $offices_->warenhouse as $c ) | |
| 368 | + foreach( $offices_->item as $c ) | |
| 349 | 369 | { |
| 350 | 370 | $offices[] = |
| 351 | 371 | [ |
| 352 | - 'number' => strval($c->number), | |
| 353 | - 'address' => strval($c->address), | |
| 354 | - 'store_ref' => strval($c->ref) | |
| 372 | + 'number' => strval($c->Number), | |
| 373 | + 'address' => strval($c->Description), | |
| 374 | + 'store_ref' => strval($c->Ref) | |
| 355 | 375 | ]; |
| 356 | 376 | } |
| 357 | 377 | ... | ... |
src/app/frontend/controllers/PageController.php
| ... | ... | @@ -850,14 +850,27 @@ class PageController extends \controllers\ControllerBase |
| 850 | 850 | } |
| 851 | 851 | |
| 852 | 852 | // get popular items_groups |
| 853 | +// | |
| 854 | +// $popular_groups = $this->models->getItems()->getPopularItems($this->lang_id); | |
| 855 | +// $popular_groups = $this->common->explodeAlias($popular_groups); | |
| 856 | +// | |
| 857 | +// | |
| 858 | +// $recommended_items = $this->models->getItems()->getRecommendedGroups($this->lang_id, \config::get( 'limits/top_items' )); | |
| 859 | +// $recommended_items = $this->common->explodeAlias($recommended_items); | |
| 860 | +// $popular_groups_ = $this->common->getGroups1($this->lang_id, $recommended_items); | |
| 861 | + | |
| 862 | + $groups = $this->models->getItems()->getBuyWithItems( $this->lang_id, $item['0']['group_id'] ); | |
| 863 | + foreach( $groups as &$p ) | |
| 864 | + { | |
| 865 | + $p['explode'] = explode( '/', $p['catalog_alias'] ); | |
| 866 | + $p['type_alias'] = $p['explode']['1']; | |
| 867 | + $p['subtype_alias'] = $p['explode']['2']; | |
| 868 | + unset( $p['explode'] ); | |
| 869 | + } | |
| 853 | 870 | |
| 854 | - $popular_groups = $this->models->getItems()->getPopularItems($this->lang_id); | |
| 855 | - $popular_groups = $this->common->explodeAlias($popular_groups); | |
| 856 | 871 | |
| 872 | + $popular_groups_ = $this->common->getGroups1( $this->lang_id, $groups ); | |
| 857 | 873 | |
| 858 | - $recommended_items = $this->models->getItems()->getRecommendedGroups($this->lang_id, \config::get( 'limits/top_items' )); | |
| 859 | - $recommended_items = $this->common->explodeAlias($recommended_items); | |
| 860 | - $popular_groups_ = $this->common->getGroups1($this->lang_id, $recommended_items); | |
| 861 | 874 | |
| 862 | 875 | |
| 863 | 876 | $seo = $this->seoUrl->getSeoData($this->models->getSeoInfo()->getAllSeo()); | ... | ... |
src/app/frontend/messages/ru.php
| ... | ... | @@ -143,7 +143,7 @@ return array( |
| 143 | 143 | "street_two" =>"пр-т Броварской, ст.м. Лесная, в сторону центра Киева;", |
| 144 | 144 | "address_two" => "ул. Большая Кольцевая, 110-А, оптово-розничный рынок \"Столичный\", павильон \"Рыба и мясо\";", |
| 145 | 145 | "address_three" => "пр-т Академика Глушкова №6, ст.м. Ипподром, напротив Южного автовокзала;", |
| 146 | - "address_four" => "ул. Харьковское шоссе, 166-В, возле магазина \"Сільпо\";", | |
| 146 | + "address_four" => "ул. Харьковское шоссе, 164А, возле магазина \"Сільпо\";", | |
| 147 | 147 | "address_five" => "пр-т Оболонский 43, ст.м. Героев Днепра;", |
| 148 | 148 | "address_six"=>"Киево-Святошинский р-н, с.Крюковщина, ул.Балукова, 14;", |
| 149 | 149 | "address_seven"=>"ул. Архитектора Вербицкого, 22/1, возле магазина \"Велика кишеня\";", |
| ... | ... | @@ -151,7 +151,7 @@ return array( |
| 151 | 151 | "new_address_first" => 'ст.м. Лесная, пр-т Броварской, в сторону г. Бровары;', |
| 152 | 152 | "new_address_second" => 'ул. Большая Кольцевая, 110-А, оптово-розничный рынок "Столичный", павильон "Рыба и мясо";', |
| 153 | 153 | "new_address_third" => 'ст.м. Ипподром, пр-т Академика Глушкова №6, напротив Южного автовокзала;', |
| 154 | - "new_address_fourth" => 'ул. Харьковское шоссе, 166-В, возле магазина "Сільпо";', | |
| 154 | + "new_address_fourth" => 'ул. Харьковское шоссе, 164А, возле магазина "Сільпо";', | |
| 155 | 155 | "new_address_fifth" => 'пр-т Оболонский 43, ст.м. Героев Днепра;', |
| 156 | 156 | "new_address_sixth" => 'Киево-Святошинский р-н, с.Крюковщина, ул.Балукова, 14;', |
| 157 | 157 | "new_address_seventh" => 'ул. Архитектора Вербицкого, 22/1, возле магазина "Велика кишеня";', |
| ... | ... | @@ -387,6 +387,10 @@ return array( |
| 387 | 387 | "faq_j_text1" => "В каждой карточке товара указаны все варианты фасовки этой позиции, которые существуют. Профессионалам стоит обратить внимание на большие фасовки. Для того, чтобы узнать наличие и цены на профессиональные упаковки <span>в блоке «Фасовка»</span> необходимо выбрать ту фасовку, которая я Вас интересует (рис. 16). Если она доступна к заказу, то <span>в графе «Наличие»</span> зеленым цветом будет отображаться «Есть в наличии». Но, если товар отсутствует в данный момент, то в графе «Наличие» будет отображаться фраза «Отсутствует» (рис.16,17). При интересе к конкретному товару, которого сейчас нет в наличии, Вы можете связаться с нашими менеджерами по номерам телефона, указанным на сайте, для уточнения сроков ближайших поступлений и заблаговременно зарезервировать данный товар. Когда товар появится в наличии, наши менеджеры свяжутся с Вами для оформления заказа.", |
| 388 | 388 | "lang_name" => "rus", |
| 389 | 389 | "saldo_period" => "за период", |
| 390 | + "error_promo_code_is_empty" => "Промокод не указан", | |
| 391 | + "error_promo_code_empty_user" => "Промокод требует регистрации", | |
| 392 | + "error_promo_code_empty_email" => "Промокод требует указанный Email в карточке пользователя", | |
| 393 | + "error_promo_code_already_used" => "Данный промокод уже использовался этим пользователем" | |
| 390 | 394 | "open_video_list" => "Раскрыть список", |
| 391 | 395 | "close_video_list" => "Закрыть список", |
| 392 | 396 | ); |
| 393 | 397 | \ No newline at end of file | ... | ... |
src/app/frontend/messages/ua.php
| ... | ... | @@ -163,7 +163,7 @@ return array( |
| 163 | 163 | "street_two" =>"ст.м. Лісова, пр-т Броварський, Торговий павільон \"Професійне насіння\" №25;", |
| 164 | 164 | "address_two" => "вул. Велика Кільцева 110-А, оптово-роздрібний ринок \"Столичний\", павільйон \"Риба та м'ясо\";", |
| 165 | 165 | "address_three" => "ст.м. Іподром, пр-т Академіка Глушкова №6, магазин \"Професійне насіння\" навпроти Південного автовокзалу;", |
| 166 | - "address_four" => "вул. Харьківське шосе 166-В, біля магазину \"Сільпо\"", | |
| 166 | + "address_four" => "вул. Харьківське шосе 164А, біля магазину \"Сільпо\"", | |
| 167 | 167 | "address_five" => "пр-т Оболонський, 43, ст.м. Героїв Дніпра;", |
| 168 | 168 | "address_six"=>"Києво-Святошинський р-н, с.Крюківщина, вул.Балукова, 14;", |
| 169 | 169 | "address_seven"=>"вул. Архітектора Вербицького 22/1", |
| ... | ... | @@ -172,7 +172,7 @@ return array( |
| 172 | 172 | "new_address_first" => 'ст.м. Лісова, пр-т Броварський, в сторону м. Бровари;', |
| 173 | 173 | "new_address_second" => 'вул. Велика Кільцева, 110-А, оптово-роздрібний ринок "Столичний", павільйон "Риба та м\'ясо";', |
| 174 | 174 | "new_address_third" => 'ст.м. Іподром, пр-т Академіка Глушкова №6, навпроти Південного автовокзалу;', |
| 175 | - "new_address_fourth" => 'вул. Харківське шоссе, 166-В, біля магазину "Сільпо";', | |
| 175 | + "new_address_fourth" => 'вул. Харківське шоссе, 164А, біля магазину "Сільпо";', | |
| 176 | 176 | "new_address_fifth" => 'пр-т Оболонський 43, ст.м. Героїв Дніпра;', |
| 177 | 177 | "new_address_sixth" => 'Києво-Святошинський р-н, с.Крюківщина, вул.Балукова, 14;', |
| 178 | 178 | "new_address_seventh" => 'вул. Архітектора Вербицького, 22/1, біля магазину "Велика кишеня";', |
| ... | ... | @@ -419,4 +419,8 @@ return array( |
| 419 | 419 | "saldo_period" => "за період", |
| 420 | 420 | "open_video_list" => "Розкрити список", |
| 421 | 421 | "close_video_list" => "Закрити список", |
| 422 | + "error_promo_code_is_empty" => "Промокод не вказаний", | |
| 423 | + "error_promo_code_empty_user" => "Промокод потребує реєстрації", | |
| 424 | + "error_promo_code_empty_email" => "Промокод потребує вказаний Email в картці користувача", | |
| 425 | + "error_promo_code_already_used" => "Даний промокод вже використовувався цим користувачем" | |
| 422 | 426 | ); |
| 423 | 427 | \ No newline at end of file | ... | ... |
src/app/frontend/views/menu/contacts.php
| ... | ... | @@ -251,14 +251,14 @@ |
| 251 | 251 | </tr--> |
| 252 | 252 | <tr> |
| 253 | 253 | <td class="contacts_list_phone"><?= $t->_("kiev") ?></td> |
| 254 | - <td><?= $t->_("new_address_second") ?></td> | |
| 254 | + <td><a href="https://www.google.com/maps?cid=10560965128246975743&hl=ru" title="<?= $t->_("new_address_second") ?>"><?= $t->_("new_address_second") ?></a></td> | |
| 255 | 255 | <td>8.30-17.30 (<?= $t->_("vt_nd") ?>)</td> |
| 256 | 256 | <td class="contacts_list_phone">050-313-22-00</td> |
| 257 | 257 | <!--<td class="contacts_list_phone"><a href="https://www.google.com.ua/maps/place/%D0%B2%D1%83%D0%BB.+%D0%92%D0%B5%D0%BB%D0%B8%D0%BA%D0%B0+%D0%9E%D0%BA%D1%80%D1%83%D0%B6%D0%BD%D0%B0,+%D0%9A%D0%B8%D1%97%D0%B2,+%D0%BC%D1%96%D1%81%D1%82%D0%BE+%D0%9A%D0%B8%D1%97%D0%B2/@50.4092713,30.3904529,17z/data=!3m1!4b1!4m2!3m1!1s0x40d4cbdcd3b45185:0x481b85b82221ba1a?hl=ru" title="<?= $t->_("rout_map") ?>" target="_blank" rel="no-follow"><?= $t->_("rout_map") ?></a></td>--> |
| 258 | 258 | </tr> |
| 259 | 259 | <tr> |
| 260 | 260 | <td class="contacts_list_phone"><?= $t->_("kiev") ?></td> |
| 261 | - <td><?= $t->_("new_address_third") ?></td> | |
| 261 | + <td><a href="https://www.google.com/maps?cid=5949473995652042489&hl=ru" title="<?= $t->_("new_address_third") ?>"><?= $t->_("new_address_third") ?></a></td> | |
| 262 | 262 | <td>9.00-19.00 (<?= $t->_("pn_sb") ?>)</td> |
| 263 | 263 | <td class="contacts_list_phone">050-413-61-68</td> |
| 264 | 264 | <!--<td class="contacts_list_phone"><a href="https://www.google.com.ua/maps/place/%D0%BF%D1%80%D0%BE%D1%81%D0%BF.+%D0%90%D0%BA%D0%B0%D0%B4%D0%B5%D0%BC%D1%96%D0%BA%D0%B0+%D0%93%D0%BB%D1%83%D1%88%D0%BA%D0%BE%D0%B2%D0%B0,+%D0%9A%D0%B8%D1%97%D0%B2,+%D0%BC%D1%96%D1%81%D1%82%D0%BE+%D0%9A%D0%B8%D1%97%D0%B2/@50.371692,30.4609831,17z/data=!3m1!4b1!4m2!3m1!1s0x40d4c850f75e048f:0xee142a65f4bd318a?hl=ru" title="<?= $t->_("rout_map") ?>" target="_blank" rel="no-follow"><?= $t->_("rout_map") ?></a></td>--> |
| ... | ... | @@ -270,34 +270,34 @@ |
| 270 | 270 | </tr--> |
| 271 | 271 | <tr> |
| 272 | 272 | <td class="contacts_list_phone"><?= $t->_("kiev") ?></td> |
| 273 | - <td><?= $t->_("new_address_sixth") ?></td> | |
| 273 | + <td><a href="https://www.google.com/maps?cid=7171470467069443373&hl=ru" title="<?= $t->_("new_address_sixth") ?>"><?= $t->_("new_address_sixth") ?></a></td> | |
| 274 | 274 | <td>8.30-17.00 (<?= $t->_("pn_sb") ?>)</td> |
| 275 | 275 | <td class="contacts_list_phone">050-476-16-55</td> |
| 276 | 276 | <!--<td class="contacts_list_phone"><a href="https://www.google.com.ua/maps/place/%D0%A5%D0%B0%D1%80%D0%BA%D1%96%D0%B2%D1%81%D1%8C%D0%BA%D0%B5+%D1%88.,+166,+%D0%9A%D0%B8%D1%97%D0%B2,+%D0%BC%D1%96%D1%81%D1%82%D0%BE+%D0%9A%D0%B8%D1%97%D0%B2/@50.414657,30.660084,17z/data=!3m1!4b1!4m2!3m1!1s0x40d4c4e339783c01:0x9de857a6571ac29a?hl=ru" title="<?= $t->_("rout_map") ?>" target="_blank" rel="no-follow"><?= $t->_("rout_map") ?></a></td>--> |
| 277 | 277 | </tr> |
| 278 | 278 | <tr> |
| 279 | 279 | <td class="contacts_list_phone"><?= $t->_("kiev") ?></td> |
| 280 | - <td><?= $t->_("new_address_first") ?></td> | |
| 280 | + <td><a href="https://www.google.com/maps?cid=18229979471982705936&hl=ru" title="<?= $t->_("new_address_first") ?>"><?= $t->_("new_address_first") ?></a></td> | |
| 281 | 281 | <td noWrap>9.00-19.00 (<?= $t->_("pn_sb") ?>)</td> |
| 282 | 282 | <td class="contacts_list_phone">050-442-63-53</td> |
| 283 | 283 | </tr> |
| 284 | 284 | <tr> |
| 285 | 285 | <td class="contacts_list_phone"><?= $t->_("kiev") ?></td> |
| 286 | - <td><?= $t->_("new_address_fourth") ?></td> | |
| 286 | + <td><a href="https://www.google.com/maps?cid=18042029842893234019&hl=ru" title="<?= $t->_("new_address_fourth") ?>"><?= $t->_("new_address_fourth") ?></a></td> | |
| 287 | 287 | <td>9.00-19.00 (<?= $t->_("pn_pt") ?>), 9.00-18.00 (<?= $t->_("sb_vs") ?>)</td> |
| 288 | 288 | <td class="contacts_list_phone">050-410-38-92</td> |
| 289 | 289 | <!--<td class="contacts_list_phone"><a href="https://www.google.com.ua/maps/place/%D0%A5%D0%B0%D1%80%D0%BA%D1%96%D0%B2%D1%81%D1%8C%D0%BA%D0%B5+%D1%88.,+166,+%D0%9A%D0%B8%D1%97%D0%B2,+%D0%BC%D1%96%D1%81%D1%82%D0%BE+%D0%9A%D0%B8%D1%97%D0%B2/@50.414657,30.660084,17z/data=!3m1!4b1!4m2!3m1!1s0x40d4c4e339783c01:0x9de857a6571ac29a?hl=ru" title="<?= $t->_("rout_map") ?>" target="_blank" rel="no-follow"><?= $t->_("rout_map") ?></a></td>--> |
| 290 | 290 | </tr> |
| 291 | 291 | <tr> |
| 292 | 292 | <td class="contacts_list_phone"><?= $t->_("kiev") ?></td> |
| 293 | - <td><?= $t->_("new_address_eighth") ?></td> | |
| 293 | + <td><a href="https://www.google.com/maps?cid=9290546046647461249&hl=ru" title="<?= $t->_("new_address_eighth") ?>"><?= $t->_("new_address_eighth") ?></a></td> | |
| 294 | 294 | <td>9.00-19.00 (<?= $t->_("pn_sb") ?>)</td> |
| 295 | 295 | <td class="contacts_list_phone">050-442-62-31</td> |
| 296 | 296 | <!--<td class="contacts_list_phone"><a href="https://www.google.com.ua/maps/place/%D0%A5%D0%B0%D1%80%D0%BA%D1%96%D0%B2%D1%81%D1%8C%D0%BA%D0%B5+%D1%88.,+166,+%D0%9A%D0%B8%D1%97%D0%B2,+%D0%BC%D1%96%D1%81%D1%82%D0%BE+%D0%9A%D0%B8%D1%97%D0%B2/@50.414657,30.660084,17z/data=!3m1!4b1!4m2!3m1!1s0x40d4c4e339783c01:0x9de857a6571ac29a?hl=ru" title="<?= $t->_("rout_map") ?>" target="_blank" rel="no-follow"><?= $t->_("rout_map") ?></a></td>--> |
| 297 | 297 | </tr> |
| 298 | 298 | <tr> |
| 299 | 299 | <td class="contacts_list_phone"><?= $t->_("kiev") ?></td> |
| 300 | - <td><?= $t->_("new_address_ten") ?></td> | |
| 300 | + <td><a href="https://www.google.com/maps?cid=17095950403227136610&hl=ru" title="<?= $t->_("new_address_ten") ?>"><?= $t->_("new_address_ten") ?></a></td> | |
| 301 | 301 | <td>8.00-19.00 (<?= $t->_("without_day_off") ?>)</td> |
| 302 | 302 | <td class="contacts_list_phone">050-312-68-43</td> |
| 303 | 303 | <!--<td class="contacts_list_phone"><a href="https://www.google.com.ua/maps/place/%D0%A5%D0%B0%D1%80%D0%BA%D1%96%D0%B2%D1%81%D1%8C%D0%BA%D0%B5+%D1%88.,+166,+%D0%9A%D0%B8%D1%97%D0%B2,+%D0%BC%D1%96%D1%81%D1%82%D0%BE+%D0%9A%D0%B8%D1%97%D0%B2/@50.414657,30.660084,17z/data=!3m1!4b1!4m2!3m1!1s0x40d4c4e339783c01:0x9de857a6571ac29a?hl=ru" title="<?= $t->_("rout_map") ?>" target="_blank" rel="no-follow"><?= $t->_("rout_map") ?></a></td>--> | ... | ... |
src/app/frontend/views/menu/order.php
| ... | ... | @@ -589,10 +589,16 @@ |
| 589 | 589 | promo_code: $('#promo_code').val() |
| 590 | 590 | }, |
| 591 | 591 | success: function (cart) { |
| 592 | - renderCart(cart); | |
| 593 | - $('#total_price_basket').text(cart['total_sum']); | |
| 594 | - $alert.addClass('alert-success').removeClass('alert-danger'); | |
| 595 | - $alert.find('strong').text(successMessage); | |
| 592 | + if(cart.status == 'success'){ | |
| 593 | + renderCart(cart.cart); | |
| 594 | + $('#total_price_basket').text(cart.cart['total_sum']); | |
| 595 | + $alert.addClass('alert-success').removeClass('alert-danger'); | |
| 596 | + $alert.find('strong').text(cart.successMessage); | |
| 597 | + } else { | |
| 598 | + $alert.addClass('alert-danger').removeClass('alert-success'); | |
| 599 | + $alert.find('strong').text(cart.errorMessage); | |
| 600 | + } | |
| 601 | + | |
| 596 | 602 | }, |
| 597 | 603 | error: function (error) { |
| 598 | 604 | $alert.addClass('alert-danger').removeClass('alert-success'); | ... | ... |
src/app/frontend/views/page/item.php
| ... | ... | @@ -318,15 +318,15 @@ |
| 318 | 318 | <div class="inner"> |
| 319 | 319 | <div class="tabs clearfix"> |
| 320 | 320 | <ul class="change_similar_items"> |
| 321 | - <li class="float active_tab first_tab"> | |
| 322 | - <?= '<a href="#" title="'.$t->_("popular_items").'" data-change_similar_items="popular" data-catalog_id="'.$catalog_id.'" data-group_id="'.$item['group_id'].'">'.$t->_("popular_items").'</a>' ?> | |
| 323 | - </li> | |
| 321 | + <li class="float active_tab first_tab"> | |
| 322 | + <?= '<a href="#" title="'.$t->_("related_items").'" data-change_similar_items="buy_with" data-catalog_id="'.$catalog_id.'" data-group_id="'.$item['group_id'].'">'.$t->_("related_items").'</a>' ?> | |
| 323 | + </li> | |
| 324 | 324 | <li class="float not_active"> |
| 325 | 325 | <?= '<a href="#" title="'.$t->_("similar_items").'" data-change_similar_items="same" data-catalog_id="'.$catalog_id.'" data-group_id="'.$item['group_id'].'">'.$t->_("similar_items").'</a>' ?> |
| 326 | 326 | </li> |
| 327 | 327 | <li class="float not_active"> |
| 328 | - <?= '<a href="#" title="'.$t->_("related_items").'" data-change_similar_items="buy_with" data-catalog_id="'.$catalog_id.'" data-group_id="'.$item['group_id'].'">'.$t->_("related_items").'</a>' ?> | |
| 329 | - </li> | |
| 328 | + <?= '<a href="#" title="'.$t->_("popular_items").'" data-change_similar_items="popular" data-catalog_id="'.$catalog_id.'" data-group_id="'.$item['group_id'].'">'.$t->_("popular_items").'</a>' ?> | |
| 329 | + </li> | |
| 330 | 330 | <li class="float last_tab not_active"> |
| 331 | 331 | <?= '<a href="#" title="'.$t->_("watched").'" data-change_similar_items="viewed" data-catalog_id="'.$catalog_id.'" data-group_id="'.$item['group_id'].'">'.$t->_("watched").'</a>' ?> |
| 332 | 332 | </li> | ... | ... |
src/config/global.php
| ... | ... | @@ -39,7 +39,7 @@ return |
| 39 | 39 | '1' => |
| 40 | 40 | [ |
| 41 | 41 | '1old' => 'Я заберу товар в пункті видачі / самовивіз (м.Київ, вул.Віскозна 17/а)', |
| 42 | - '2' => 'Доставка по м.Києву кур\'єром (вартість доставки 40 грн)', | |
| 42 | + '2' => 'Доставка по м.Києву кур\'єром (вартість доставки 60 грн)', | |
| 43 | 43 | '3old' => 'Достака по Україні службою "Нова Пошта" - самовивіз зі складу / вартість доставки від 20 грн (за тарифами поштової служби)', |
| 44 | 44 | '4' => 'Достака по Україні службою "Нова Пошта" - адресна доставка курє\'ром / вартість доставки від 20 грн (за тарифами поштової служби)', |
| 45 | 45 | '5' => 'Достака по Україні службою перевозки (Автолюкс, Укрпошта) / вартість доставки від 12 грн (за тарифами поштової служби)', |
| ... | ... | @@ -48,10 +48,10 @@ return |
| 48 | 48 | '10001'=>'ст.м. Лісова, пр-т Броварський, Торговий павільон "Професійне насіння" №25;', |
| 49 | 49 | '10002'=>'вул. Велика Кільцева 110-А, оптово-роздрібний ринок "Столичний", павільйон "Риба та м\'ясо";', |
| 50 | 50 | '10003'=>'ст.м. Іподром, пр-т Академіка Глушкова, магазин "Професійне насіння" навпроти Південного автовокзалу;', |
| 51 | - '10004'=>'вул. Харьківське шосе 166-В, біля магазину "Сільпо";', | |
| 51 | + '10004'=>'вул. Харьківське шосе 164А, біля магазину "Сільпо";', | |
| 52 | 52 | '10005'=>'ст.м. Героїв Дніпра, пр-т Оболонський 43;', |
| 53 | 53 | '7' => "<b>Адресна доставка кур’єром по м.Києву</b><br />", |
| 54 | - '77' => "Вартість доставки замовленнь складає 40 грн. У разі замовлення на суму більшу за 500 грн - доставка безкоштовна. Кур'єр попередньо узгодить з Вами час доставки телефоном.", | |
| 54 | + '77' => "Вартість доставки замовленнь складає 60 грн. У разі замовлення на суму більшу за 500 грн - доставка безкоштовна. Кур'єр попередньо узгодить з Вами час доставки телефоном.", | |
| 55 | 55 | '3' => "<b>Доставка службою «Нова Пошта», самовивіз зі складу</b><br />", |
| 56 | 56 | '33' => "Вартість доставки від 21 грн (за тарифами поштової служби). У разі замовлення на суму більшу за 500 грн - доставка до складу безкоштовна. Термін доставки – 1-2 дні.", |
| 57 | 57 | '9' => "<b>Доставка службою «Нова Пошта», адресна доставка кур’єром</b><br />", |
| ... | ... | @@ -67,7 +67,7 @@ return |
| 67 | 67 | '2' => |
| 68 | 68 | [ |
| 69 | 69 | '1old' => 'Я заберу товар в пункте выдачи / самовывоз (г.Киев, ул.Вискозная 17 / а)', |
| 70 | - '2' => 'Доставка по Киеву кур \' премьером (стоимость доставки 40 грн) ', | |
| 70 | + '2' => 'Доставка по Киеву кур \' премьером (стоимость доставки 60 грн) ', | |
| 71 | 71 | '3old' => 'Достака по Украине службой "Новая Почта" - самовывоз со склада / стоимость доставки от 20 грн (по тарифам почтовой службы)', |
| 72 | 72 | '4' => 'Достака по Украине службой "Новая Почта" - адресная доставка Куреи \' ром / стоимость доставки от 20 грн (по тарифам почтовой службы)', |
| 73 | 73 | '5' => 'Достака по Украине службой перевозки (Автолюкс, Укрпочта) / стоимость доставки от 12 грн (по тарифам почтовой службы)', |
| ... | ... | @@ -76,10 +76,10 @@ return |
| 76 | 76 | '10001'=>'ст.м. Лесная, пр-т Броварской, Торговий павильйон "Професійне насіння" №25;', |
| 77 | 77 | '10002'=>'ул. Большая Окружная 110-А, оптово-розничный рынок "Столичный", павильон "Рыба и мясо";', |
| 78 | 78 | '10003'=>'ст.м. Іподром, пр-т Академика Глушкова №6, магазин "Професійне насіння" напротив Южного автовокзала;', |
| 79 | - '10004'=>'ул. Харьковское шоссе 166-В, магазин "Професійне насіння" возле магазина "Сільпо";', | |
| 79 | + '10004'=>'ул. Харьковское шоссе 164А, магазин "Професійне насіння" возле магазина "Сільпо";', | |
| 80 | 80 | '10005'=>'ст.м. Героев Днепра, пр-т Оболонський 43, магазин "Професійне насіння";', |
| 81 | 81 | '7' => '<b>Адресная доставка курьером по г.Киеву</b> <br />', |
| 82 | - "77" =>"Стоимость доставки заказа составляет 40 грн. В случае заказа на сумму большую 500 грн - доставка бесплатная. Курьер предварительно согласует с Вами время доставки по телефону.", | |
| 82 | + "77" =>"Стоимость доставки заказа составляет 60 грн. В случае заказа на сумму большую 500 грн - доставка бесплатная. Курьер предварительно согласует с Вами время доставки по телефону.", | |
| 83 | 83 | '3' => "<b>Доставка службой «Новая Почта», самовывоз со склада</b> <br />", |
| 84 | 84 | "33" => "Стоимость доставки от 21 грн (по тарифам почтовой службы). В случае заказа на сумму большую 500 грн - доставка до склада безплатная. Срок доставки – 1-2 дня.", |
| 85 | 85 | "9" => "<b>Доставка службой «Новая Почта», адресная доставка курьером</b> <br />", | ... | ... |
src/lib/models.php
| ... | ... | @@ -50,6 +50,7 @@ namespace |
| 50 | 50 | protected $_reviews = false; |
| 51 | 51 | protected $_modal = false; |
| 52 | 52 | protected $_manager_mail = false; |
| 53 | + protected $_promo_to_user = false; | |
| 53 | 54 | |
| 54 | 55 | |
| 55 | 56 | |
| ... | ... | @@ -583,6 +584,17 @@ namespace |
| 583 | 584 | |
| 584 | 585 | return $this->_manager_mail; |
| 585 | 586 | } |
| 587 | + | |
| 588 | + public function getPromoToUser() | |
| 589 | + { | |
| 590 | + if( empty($this->_promo_to_user) ) | |
| 591 | + { | |
| 592 | + $this->_promo_to_user = new \models\promo_to_user(); | |
| 593 | + $this->_promo_to_user->setDi( $this->getDi() ); | |
| 594 | + } | |
| 595 | + | |
| 596 | + return $this->_promo_to_user; | |
| 597 | + } | |
| 586 | 598 | } |
| 587 | 599 | } |
| 588 | 600 | ... | ... |
src/lib/models/items.php
| ... | ... | @@ -3300,6 +3300,36 @@ class items extends \db |
| 3300 | 3300 | ) AS alias, |
| 3301 | 3301 | ( |
| 3302 | 3302 | SELECT |
| 3303 | + count(*) | |
| 3304 | + FROM | |
| 3305 | + public.items | |
| 3306 | + WHERE | |
| 3307 | + group_id = public.items_group.group_id | |
| 3308 | + AND | |
| 3309 | + status = 1 | |
| 3310 | + ) AS count_available, | |
| 3311 | + ( | |
| 3312 | + SELECT | |
| 3313 | + type | |
| 3314 | + FROM | |
| 3315 | + public.items | |
| 3316 | + WHERE | |
| 3317 | + price2 IN | |
| 3318 | + ( | |
| 3319 | + SELECT | |
| 3320 | + MIN(price2) | |
| 3321 | + FROM | |
| 3322 | + public.items | |
| 3323 | + WHERE | |
| 3324 | + group_id = public.items_group.group_id | |
| 3325 | + ) | |
| 3326 | + AND | |
| 3327 | + group_id = public.items_group.group_id | |
| 3328 | + LIMIT | |
| 3329 | + 1 | |
| 3330 | + ) as type_id, | |
| 3331 | + ( | |
| 3332 | + SELECT | |
| 3303 | 3333 | full_alias |
| 3304 | 3334 | FROM |
| 3305 | 3335 | catalog_i18n |
| ... | ... | @@ -3349,6 +3379,7 @@ class items extends \db |
| 3349 | 3379 | ) |
| 3350 | 3380 | AND |
| 3351 | 3381 | group_id = public.items_group.group_id |
| 3382 | + LIMIT 1 | |
| 3352 | 3383 | ) as id, |
| 3353 | 3384 | ( |
| 3354 | 3385 | SELECT | ... | ... |
src/lib/models/promo_codes.php
| ... | ... | @@ -103,7 +103,9 @@ class promo_codes extends \db |
| 103 | 103 | all_items, |
| 104 | 104 | image, |
| 105 | 105 | start_date, |
| 106 | - end_date | |
| 106 | + end_date, | |
| 107 | + single_use | |
| 108 | + | |
| 107 | 109 | ) |
| 108 | 110 | VALUES |
| 109 | 111 | ( |
| ... | ... | @@ -116,7 +118,8 @@ class promo_codes extends \db |
| 116 | 118 | :all_items, |
| 117 | 119 | :image, |
| 118 | 120 | :start_date, |
| 119 | - :end_date | |
| 121 | + :end_date, | |
| 122 | + :single_use | |
| 120 | 123 | ) |
| 121 | 124 | RETURNING id |
| 122 | 125 | ', |
| ... | ... | @@ -130,7 +133,8 @@ class promo_codes extends \db |
| 130 | 133 | 'all_items' => $data['all_items'], |
| 131 | 134 | 'image' => $data['image'], |
| 132 | 135 | 'start_date' => $data['start_date'], |
| 133 | - 'end_date' => $data['end_date'] | |
| 136 | + 'end_date' => $data['end_date'], | |
| 137 | + 'single_use' => $data['single_use'] | |
| 134 | 138 | ], |
| 135 | 139 | -1 |
| 136 | 140 | ); |
| ... | ... | @@ -154,7 +158,8 @@ class promo_codes extends \db |
| 154 | 158 | all_items = :all_items, |
| 155 | 159 | image = :image, |
| 156 | 160 | start_date = :start_date, |
| 157 | - end_date = :end_date | |
| 161 | + end_date = :end_date, | |
| 162 | + single_use = :single_use | |
| 158 | 163 | WHERE |
| 159 | 164 | id = :id |
| 160 | 165 | ', |
| ... | ... | @@ -168,6 +173,7 @@ class promo_codes extends \db |
| 168 | 173 | 'image' => $data['image'], |
| 169 | 174 | 'start_date' => $data['start_date'], |
| 170 | 175 | 'end_date' => $data['end_date'], |
| 176 | + 'single_use' => $data['single_use'], | |
| 171 | 177 | 'id' => $id |
| 172 | 178 | ] |
| 173 | 179 | ); | ... | ... |
| 1 | +<?php | |
| 2 | + | |
| 3 | +namespace models; | |
| 4 | + | |
| 5 | + | |
| 6 | +class promo_to_user extends \db | |
| 7 | +{ | |
| 8 | + ///////////////////////////////////for_backend/////////////////////////////////////////// | |
| 9 | + public function getAllData() | |
| 10 | + { | |
| 11 | + | |
| 12 | + return $this->get( | |
| 13 | + ' | |
| 14 | + SELECT * FROM | |
| 15 | + public.promo_to_user | |
| 16 | + ' | |
| 17 | + , | |
| 18 | + [ | |
| 19 | + ], | |
| 20 | + -1 | |
| 21 | + ); | |
| 22 | + } | |
| 23 | + | |
| 24 | + | |
| 25 | + public function getOneData($id) | |
| 26 | + { | |
| 27 | + return $this->get( | |
| 28 | + ' | |
| 29 | + SELECT * | |
| 30 | + FROM public.promo_to_user | |
| 31 | + WHERE | |
| 32 | + id = :id | |
| 33 | + ', | |
| 34 | + [ | |
| 35 | + 'id' => $id | |
| 36 | + ], | |
| 37 | + -1 | |
| 38 | + ); | |
| 39 | + } | |
| 40 | + | |
| 41 | + public function getOneDataByCode($data) | |
| 42 | + { | |
| 43 | + return $this->get( | |
| 44 | + " | |
| 45 | + SELECT * | |
| 46 | + FROM public.promo_to_user | |
| 47 | + WHERE | |
| 48 | + code = :code | |
| 49 | + AND | |
| 50 | + email = :email | |
| 51 | + ", | |
| 52 | + [ | |
| 53 | + 'code' => $data['code'], | |
| 54 | + 'email' => $data['email'], | |
| 55 | + ], | |
| 56 | + -1 | |
| 57 | + ); | |
| 58 | + } | |
| 59 | + | |
| 60 | + public function getPromoByCode($code) { | |
| 61 | + return $this->get( | |
| 62 | + ' | |
| 63 | + SELECT * | |
| 64 | + FROM public.promo_to_user | |
| 65 | + WHERE | |
| 66 | + code = :code', | |
| 67 | + [ | |
| 68 | + 'code' => $code | |
| 69 | + ], | |
| 70 | + -1 | |
| 71 | + ); | |
| 72 | + } | |
| 73 | + | |
| 74 | + public function deleteData($id) | |
| 75 | + { | |
| 76 | + return $this->exec( | |
| 77 | + ' DELETE | |
| 78 | + FROM | |
| 79 | + public.promo_to_user | |
| 80 | + WHERE | |
| 81 | + id = :id | |
| 82 | + ', | |
| 83 | + [ | |
| 84 | + 'id' => $id | |
| 85 | + ] | |
| 86 | + ); | |
| 87 | + } | |
| 88 | + | |
| 89 | + public function addData($data) | |
| 90 | + { | |
| 91 | + | |
| 92 | + return $this->get( | |
| 93 | + ' | |
| 94 | + INSERT INTO | |
| 95 | + public.promo_to_user | |
| 96 | + ( | |
| 97 | + code, | |
| 98 | ||
| 99 | + | |
| 100 | + ) | |
| 101 | + VALUES | |
| 102 | + ( | |
| 103 | + :code, | |
| 104 | ||
| 105 | + | |
| 106 | + ) | |
| 107 | + RETURNING id | |
| 108 | + ', | |
| 109 | + [ | |
| 110 | + 'code' => $data['code'], | |
| 111 | + 'email' => $data['email'], | |
| 112 | + | |
| 113 | + ], | |
| 114 | + -1 | |
| 115 | + ); | |
| 116 | + | |
| 117 | + | |
| 118 | + } | |
| 119 | + | |
| 120 | + public function updateData($data, $id) | |
| 121 | + { | |
| 122 | + | |
| 123 | + return $this->exec( | |
| 124 | + ' | |
| 125 | + UPDATE | |
| 126 | + public.promo_to_user | |
| 127 | + SET | |
| 128 | + code = :code, | |
| 129 | + email = :email | |
| 130 | + | |
| 131 | + WHERE | |
| 132 | + id = :id | |
| 133 | + ', | |
| 134 | + [ | |
| 135 | + 'code' => $data['code'], | |
| 136 | + 'email' => $data['email'], | |
| 137 | + 'id' => $id | |
| 138 | + ] | |
| 139 | + ); | |
| 140 | + } | |
| 141 | + | |
| 142 | + public function countData() | |
| 143 | + { | |
| 144 | + return $this->get( | |
| 145 | + ' | |
| 146 | + SELECT | |
| 147 | + COUNT(id) AS total | |
| 148 | + FROM | |
| 149 | + public.promo_to_user | |
| 150 | + ', | |
| 151 | + [ | |
| 152 | + | |
| 153 | + ], | |
| 154 | + -1 | |
| 155 | + ); | |
| 156 | + } | |
| 157 | +} | |
| 0 | 158 | \ No newline at end of file | ... | ... |
src/lib/models/slider.php
src/lib/novaposhta.php
| ... | ... | @@ -21,7 +21,7 @@ namespace |
| 21 | 21 | protected $_sender_warehouse_ref = '1'; |
| 22 | 22 | protected $_out_name = 'Петров Иван Иваныч'; |
| 23 | 23 | protected $_out_phone = '0671234567'; |
| 24 | - protected $_api_key = 'f77cc4bcaa985eb481ed289b89e6fb9e'; | |
| 24 | + protected $_api_key = '46eb7be54b344abfe21feab2ee17071c'; | |
| 25 | 25 | protected $_description = 'Насіння'; |
| 26 | 26 | protected $_pack = 'Пакет'; |
| 27 | 27 | protected $_rcpt_name = 'Приватна особа'; |
| ... | ... | @@ -35,7 +35,7 @@ namespace |
| 35 | 35 | public function send($xml) |
| 36 | 36 | { |
| 37 | 37 | $ch = curl_init(); |
| 38 | - curl_setopt($ch, CURLOPT_URL, 'http://orders.novaposhta.ua/xml.php'); | |
| 38 | + curl_setopt($ch, CURLOPT_URL, 'https://api.novaposhta.ua/v2.0/xml/'); | |
| 39 | 39 | curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); |
| 40 | 40 | curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/xml")); |
| 41 | 41 | curl_setopt($ch, CURLOPT_HEADER, 0); |
| ... | ... | @@ -230,22 +230,22 @@ namespace |
| 230 | 230 | * Запрос на получение списка складов Новой почты для определённого города (или полный список, если город не указан) |
| 231 | 231 | $filter — город, по которому нужно отфильтровать список складов Новой почты |
| 232 | 232 | */ |
| 233 | - public function warenhouse($filter=false) | |
| 233 | + public function warenhouse($filter = false) | |
| 234 | 234 | { |
| 235 | - $xml = | |
| 236 | - '<?xml version="1.0" encoding="utf-8"?> | |
| 237 | - <file> | |
| 238 | - <auth>'.$this->_api_key.'</auth> | |
| 239 | - <warenhouse/>'; | |
| 240 | - if($filter) | |
| 241 | - { | |
| 242 | - $xml.='<filter>'.$filter.'</filter>'; | |
| 243 | - } | |
| 244 | - $xml.='</file>'; | |
| 245 | 235 | |
| 246 | - $xml = simplexml_load_string($this->send($xml)); | |
| 247 | 236 | |
| 248 | - return($xml->result->whs); | |
| 237 | + $xml = '<?xml version="1.0" encoding="UTF-8"?> | |
| 238 | + <file> | |
| 239 | + <apiKey>'.$this->_api_key.'</apiKey> | |
| 240 | + <calledMethod>getWarehouses</calledMethod> | |
| 241 | + <methodProperties>'. | |
| 242 | + ($filter ? "<CityRef>$filter</CityRef>" : "") | |
| 243 | + .'</methodProperties> | |
| 244 | + <modelName>Address</modelName> | |
| 245 | + </file>'; | |
| 246 | + | |
| 247 | + $xml = simplexml_load_string($this->send($xml)); | |
| 248 | + return($xml->data); | |
| 249 | 249 | } |
| 250 | 250 | |
| 251 | 251 | ///////////////////////////////////////////////////////////////////////////// |
| ... | ... | @@ -262,9 +262,16 @@ namespace |
| 262 | 262 | <city/> |
| 263 | 263 | </file>'; |
| 264 | 264 | |
| 265 | - $xml = simplexml_load_string( $this->send($xml) ); | |
| 265 | + $xml = '<?xml version="1.0" encoding="UTF-8"?> | |
| 266 | +<file> | |
| 267 | + <apiKey>'.$this->_api_key.'</apiKey> | |
| 268 | + <calledMethod>getCities</calledMethod> | |
| 269 | + <methodProperties/> | |
| 270 | + <modelName>Address</modelName> | |
| 271 | +</file>'; | |
| 266 | 272 | |
| 267 | - return($xml->result->cities); | |
| 273 | + $xml = simplexml_load_string( $this->send($xml) ); | |
| 274 | + return($xml->data); | |
| 268 | 275 | } |
| 269 | 276 | |
| 270 | 277 | ///////////////////////////////////////////////////////////////////////////// |
| ... | ... | @@ -302,6 +309,7 @@ namespace |
| 302 | 309 | return($xml); |
| 303 | 310 | } |
| 304 | 311 | |
| 312 | + | |
| 305 | 313 | ///////////////////////////////////////////////////////////////////////////// |
| 306 | 314 | } |
| 307 | 315 | ... | ... |
www/css/main.css
| ... | ... | @@ -3122,9 +3122,9 @@ ul.prof_rubrics li a.active{color:#ffffff;background:#4fa22c;border-radius:5px;t |
| 3122 | 3122 | float: left; |
| 3123 | 3123 | } |
| 3124 | 3124 | |
| 3125 | -.zasobi_zakhistu_logo { | |
| 3126 | - background: url('/images/background_logo_all_01.png') repeat-y 50% -20px; | |
| 3127 | -} | |
| 3125 | +/*.zasobi_zakhistu_logo {*/ | |
| 3126 | + /*background: url('/images/background_logo_all_01.png') repeat-y 50% -20px;*/ | |
| 3127 | +/*}*/ | |
| 3128 | 3128 | |
| 3129 | 3129 | /****************email-settings**********************/ |
| 3130 | 3130 | .email-settings_title { | ... | ... |
www/js/main.js
| ... | ... | @@ -133,7 +133,7 @@ function getNovaPoshtaCity() |
| 133 | 133 | minLength: 2, |
| 134 | 134 | select: function( event, ui ) |
| 135 | 135 | { |
| 136 | - $( "#order_city_novaposhta" ).val( ui.item.value ); | |
| 136 | + $( "#order_city_novaposhta" ).val( ui.item.label ); | |
| 137 | 137 | $( "#order_city_ref" ).val( ui.item.ref ); |
| 138 | 138 | $('#loading_city').addClass('display_none'); |
| 139 | 139 | |
| ... | ... | @@ -637,7 +637,7 @@ $(document).ready(function() |
| 637 | 637 | |
| 638 | 638 | var contentString4 = |
| 639 | 639 | '<div id="content_map">'+ |
| 640 | - '<p>м. Київ, вул. Харьківське шосе 166-В, біля магазину "Сільпо"</p>'+ | |
| 640 | + '<p>м. Київ, вул. Харьківське шосе 164А, біля магазину "Сільпо"</p>'+ | |
| 641 | 641 | '<p>9:00 - 19:00</p>'+ |
| 642 | 642 | '<p>Пн-Пт</p>'+ |
| 643 | 643 | '<p>9:00 - 18:00</p>'+ | ... | ... |
www/js/main_ru.js
| ... | ... | @@ -126,7 +126,7 @@ function getNovaPoshtaCity() |
| 126 | 126 | minLength: 2, |
| 127 | 127 | select: function( event, ui ) |
| 128 | 128 | { |
| 129 | - $( "#order_city_novaposhta" ).val( ui.item.value ); | |
| 129 | + $( "#order_city_novaposhta" ).val( ui.item.label ); | |
| 130 | 130 | $( "#order_city_ref" ).val( ui.item.ref ); |
| 131 | 131 | $('#loading_city').addClass('display_none'); |
| 132 | 132 | |
| ... | ... | @@ -681,7 +681,7 @@ $(document).ready(function() |
| 681 | 681 | |
| 682 | 682 | var contentString4 = |
| 683 | 683 | '<div id="content_map">'+ |
| 684 | - '<p>м. Київ, вул. Харьківське шосе 166-В, біля магазину "Сільпо"</p>'+ | |
| 684 | + '<p>м. Київ, вул. Харьківське шосе 164А, біля магазину "Сільпо"</p>'+ | |
| 685 | 685 | '<p>9:00 - 19:00</p>'+ |
| 686 | 686 | '<p>Пн-Пт</p>'+ |
| 687 | 687 | '<p>9:00 - 18:00</p>'+ | ... | ... |