Commit c73b18694f22591428f041c5437bb37facada6d1
1 parent
6b4f9034
add new promocode logic
Showing
15 changed files
with
291 additions
and
31 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
... | ... | @@ -211,6 +211,25 @@ class MenuController extends \controllers\ControllerBase |
211 | 211 | |
212 | 212 | if( !empty( $order['proposal_number'] ) ) |
213 | 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 | + | |
214 | 233 | $this->sendmail->addCustomer( 2, $order ); |
215 | 234 | |
216 | 235 | $this->session->set( 'in_cart', []); | ... | ... |
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, возле магазина "Велика кишеня";', |
... | ... | @@ -388,4 +388,8 @@ return array( |
388 | 388 | "faq_j_text1" => "В каждой карточке товара указаны все варианты фасовки этой позиции, которые существуют. Профессионалам стоит обратить внимание на большие фасовки. Для того, чтобы узнать наличие и цены на профессиональные упаковки <span>в блоке «Фасовка»</span> необходимо выбрать ту фасовку, которая я Вас интересует (рис. 16). Если она доступна к заказу, то <span>в графе «Наличие»</span> зеленым цветом будет отображаться «Есть в наличии». Но, если товар отсутствует в данный момент, то в графе «Наличие» будет отображаться фраза «Отсутствует» (рис.16,17). При интересе к конкретному товару, которого сейчас нет в наличии, Вы можете связаться с нашими менеджерами по номерам телефона, указанным на сайте, для уточнения сроков ближайших поступлений и заблаговременно зарезервировать данный товар. Когда товар появится в наличии, наши менеджеры свяжутся с Вами для оформления заказа.", |
389 | 389 | "lang_name" => "rus", |
390 | 390 | "saldo_period" => "за период", |
391 | + "error_promo_code_is_empty" => "Промокод не указан", | |
392 | + "error_promo_code_empty_user" => "Промокод требует регистрации", | |
393 | + "error_promo_code_empty_email" => "Промокод требует указанный Email в карточке пользователя", | |
394 | + "error_promo_code_already_used" => "Данный промокод уже использовался этим пользователем" | |
391 | 395 | ); |
392 | 396 | \ 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, біля магазину "Велика кишеня";', |
... | ... | @@ -417,4 +417,8 @@ return array( |
417 | 417 | "faq_j_text1" => "У кожній картці товару вказані всі варіанти фасування цієї позиції, які існують. Професіоналам варто звернути увагу на великі фасовки. Для того, щоб дізнатися про наявність та ціни на професійні упаковки <span>в блоці «Фасовка»</span> необхідно вибрати ту фасовку, яка Вас цікавить (мал. 16). Якщо вона доступна до замовлення, то <span>в графі «Наявність»</span> зеленим кольором буде відображатися «Є в наявності». Але, якщо товар відсутній в даний момент, то в графі «Наявність» буде відображатися фраза «Відсутній» (мал.16,17). При зацікавленності в конкретному товарі, якого зараз немає в наявності, Ви можете зв'язатися з нашими менеджерами за номерами телефону, вказаним на сайті, для уточнення термінів найближчих надходжень і завчасно зарезервувати даний товар. Коли товар з'явиться в наявності, наші менеджери зв'яжуться з Вами для оформлення замовлення.", |
418 | 418 | "lang_name" => "ukr", |
419 | 419 | "saldo_period" => "за період", |
420 | + "error_promo_code_is_empty" => "Промокод не вказаний", | |
421 | + "error_promo_code_empty_user" => "Промокод потребує реєстрації", | |
422 | + "error_promo_code_empty_email" => "Промокод потребує вказаний Email в картці користувача", | |
423 | + "error_promo_code_already_used" => "Даний промокод вже використовувався цим користувачем" | |
420 | 424 | ); |
421 | 425 | \ No newline at end of file | ... | ... |
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/config/global.php
... | ... | @@ -48,7 +48,7 @@ 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 | 54 | '77' => "Вартість доставки замовленнь складає 60 грн. У разі замовлення на суму більшу за 500 грн - доставка безкоштовна. Кур'єр попередньо узгодить з Вами час доставки телефоном.", |
... | ... | @@ -76,7 +76,7 @@ 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 | 82 | "77" =>"Стоимость доставки заказа составляет 60 грн. В случае заказа на сумму большую 500 грн - доставка бесплатная. Курьер предварительно согласует с Вами время доставки по телефону.", | ... | ... |
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/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 | ... | ... |
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
... | ... | @@ -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
... | ... | @@ -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>'+ | ... | ... |