Commit d83337900d5f303ebb1dbf5932d9f650e16abd0c

Authored by Alex Savenko
2 parents 73a742aa dd724469

Merge branch 'vip' into 'master'

Vip => master

vip => master

See merge request !6
src/app/frontend/controllers/MenuController.php
... ... @@ -411,6 +411,15 @@ class MenuController extends \controllers\ControllerBase
411 411 $special_user = $this->models->getSpecialUsers()->getOneData($special_users_id)[0];
412 412 }
413 413  
  414 + //vip
  415 + $users_group_id = $this->session->get('users_group_id');
  416 + if (isset($users_group_id) && $users_group_id == 37) {
  417 + if ($this->common->applyDiscount(5, $cart_items['items'])) {
  418 + $this->common->countOrderSum($cart_items);
  419 + $cart_items['total_price'] = $cart_items['total_sum'];
  420 + }
  421 + }
  422 +
414 423 //discount
415 424  
416 425 $discount = $this->models->getDiscount()->getActiveData();
... ...
src/app/frontend/controllers/PageController.php
... ... @@ -438,6 +438,7 @@
438 438 '2' => (isset( $seo['description'] ) && !empty( $seo['description'] ) ? $seo['description'] : 'Заказать '.$catalog['catalog']['title'].' в Киеве по лучшей цене. Качество товара подтверждена профессионалами.').(isset( $page ) && !empty( $page ) && $page != '1' ? ' страница '.$page : '')
439 439 ];
440 440  
  441 + //discount
441 442 $discount = $this->models->getDiscount()->getActiveData();
442 443 if (!empty($discount)) {
443 444 $discount = $discount[0];
... ... @@ -445,6 +446,8 @@
445 446 $discount['group_ids'] = str_replace('}', '', $discount['group_ids']);
446 447 $discount['group_ids'] = explode(',', $discount['group_ids']);
447 448 }
  449 + //vip
  450 + $users_group_id = $this->session->get('users_group_id');
448 451  
449 452 if($subtype==='semena_gazonnykh_trav_1c_21')
450 453 $this->view->setMainView('landing');
... ... @@ -479,7 +482,8 @@
479 482 'catalog_sales' => $catalog_sales,
480 483 'css' => $cssSale,
481 484 'js' => $jsSale,
482   - 'discount' => $discount
  485 + 'discount' => $discount,
  486 + 'users_group_id' => $users_group_id
483 487 ]);
484 488 }
485 489 else
... ... @@ -708,6 +712,7 @@
708 712 }
709 713 }
710 714  
  715 + //discount
711 716 $discount = $this->models->getDiscount()->getActiveData();
712 717 if (!empty($discount)) {
713 718 $discount = $discount[0];
... ... @@ -715,6 +720,8 @@
715 720 $discount['group_ids'] = str_replace('}', '', $discount['group_ids']);
716 721 $discount['group_ids'] = explode(',', $discount['group_ids']);
717 722 }
  723 + //vip
  724 + $users_group_id = $this->session->get('users_group_id');
718 725  
719 726 $cssSale = [
720 727 'https://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic',
... ... @@ -758,7 +765,8 @@
758 765 'catalog_sales' => $catalog_sales,
759 766 'css' => $cssSale,
760 767 'js' => $jsSale,
761   - 'discount' => $discount
  768 + 'discount' => $discount,
  769 + 'users_group_id' => $users_group_id
762 770 ]);
763 771 }
764 772  
... ... @@ -924,6 +932,7 @@
924 932 '2' => isset($seo['description']) && !empty($seo['description']) ? $seo['description'] : 'Профессионалы рекомендуют ' . $catalog_name . ' ' . $item['0']['title'] . ' в интернет магазине семян Semena.in.ua.'
925 933 ];
926 934  
  935 + //discount
927 936 $discount = $this->models->getDiscount()->getActiveData();
928 937 if (!empty($discount)) {
929 938 $discount = $discount[0];
... ... @@ -931,6 +940,8 @@
931 940 $discount['group_ids'] = str_replace('}', '', $discount['group_ids']);
932 941 $discount['group_ids'] = explode(',', $discount['group_ids']);
933 942 }
  943 + //vip
  944 + $users_group_id = $this->session->get('users_group_id');
934 945  
935 946 $this->view->setVars([
936 947 'change_lang_url' => $lang_url,
... ... @@ -953,7 +964,8 @@
953 964 'catalog_id' => $catalog_id,
954 965 'type_alias' => $type_alias,
955 966 'subtype_alias' => $subtype_alias,
956   - 'discount' => $discount
  967 + 'discount' => $discount,
  968 + 'users_group_id' => $users_group_id
957 969 ]);
958 970 }
959 971 else
... ... @@ -1110,6 +1122,7 @@
1110 1122 ]);
1111 1123 }
1112 1124  
  1125 + //discount
1113 1126 $discount = $this->models->getDiscount()->getActiveData();
1114 1127 if (!empty($discount)) {
1115 1128 $discount = $discount[0];
... ... @@ -1125,11 +1138,14 @@
1125 1138 } else {
1126 1139 $discount = 0;
1127 1140 }
  1141 + //vip
  1142 + $users_group_id = $this->session->get('users_group_id');
1128 1143  
1129 1144 $this->view->pick('page/changeWithSize');
1130 1145 $this->view->setVars([
1131   - 'item' => $item['0'],
1132   - 'discount' => $discount
  1146 + 'item' => $item['0'],
  1147 + 'discount' => $discount,
  1148 + 'users_group_id' => $users_group_id
1133 1149 ]);
1134 1150 $this->view->setRenderLevel(View::LEVEL_ACTION_VIEW);
1135 1151 }
... ...
src/app/frontend/views/page/changeWithSize.php
1 1 <?php
  2 +
2 3 if(isset($special_user)) {
3 4 $data['price'] = number_format(isset($item['prices'][$special_user['status']])
4 5 ? $item['prices'][$special_user['status']]
... ... @@ -6,6 +7,13 @@ if(isset($special_user)) {
6 7 } else {
7 8 $data['price'] = $item['price2'];
8 9 }
  10 +
  11 +//vip
  12 +if (isset($users_group_id) && $users_group_id == 37) {
  13 + $data['price'] = round($data['price']*0.95, 1);
  14 +}
  15 +
  16 +//discount
9 17 $old_price = $data['price'];
10 18 $data['price'] = $data['price']*(1-$discount/100);
11 19 $data['price'] = number_format($data['price'], 2, '.', ' ');
... ...
src/app/frontend/views/page/item.php
... ... @@ -203,20 +203,23 @@
203 203 <ul>
204 204 <li>
205 205 <?php
  206 + //vip
  207 + if (isset($users_group_id) && $users_group_id == 37) {
  208 + $item['price2'] = round($item['price2']*0.95, 1);
  209 + }
206 210 // скидка
207 211 if (!empty($discount)) {
208 212 if (isset($discount) && $discount['discount'] > 0 && $discount['discount'] <= 100 && in_array($item['id'], $discount['group_ids'])) {
209 213 echo '<span itemprop="price">'.number_format($item['price2']*(1-$discount['discount']/100), 2, '.', ' ').'</span> грн<span style="display:none;" itemprop="priceCurrency">UAH</span>';
210 214 }
211 215 else {
212   - //echo '<span itemprop="price">'.number_format($item['price2'], 2, '.', ' ').'</span> грн<span style="display:none;" itemprop="priceCurrency">UAH</span>';
  216 + echo '<span itemprop="price">'.number_format($item['price2'], 2, '.', ' ').'</span> грн<span style="display:none;" itemprop="priceCurrency">UAH</span>';
213 217 }
214 218 }
215 219 else {
216 220 echo '<span itemprop="price">'.number_format($item['price2'], 2, '.', ' ').'</span> грн<span style="display:none;" itemprop="priceCurrency">UAH</span>';
217 221 }
218 222 ?>
219   - <!--<span itemprop="price"><?//= number_format($item['price2'], 2, '.', ' '); ?></span> грн<span style="display:none;" itemprop="priceCurrency">UAH</span>-->
220 223 <div style="display: none" itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
221 224 <span itemprop="ratingValue">5</span>
222 225 <span itemprop="reviewCount">31</span>
... ...
src/app/frontend/views/partial/item_group.php
... ... @@ -35,7 +35,7 @@
35 35 <?= $t->_("price_from") ?>
36 36 <?php
37 37 //vip
38   - if($users_group_id == '37') {
  38 + if(isset($users_group_id) && $users_group_id == '37') {
39 39 $i['price'] = round($i['price']*0.95, 1);
40 40 }
41 41 // скидка
... ...
src/lib/common.php
... ... @@ -1335,6 +1335,18 @@ namespace
1335 1335 public function parseArray($str) {
1336 1336 return explode(',', preg_replace('[{|}]', '' , $str));
1337 1337 }
  1338 +
  1339 + public function applyDiscount($discount_value, &$items) {
  1340 + if (empty($discount_value) || $discount_value < 0 || $discount_value > 100) {
  1341 + return false;
  1342 + }
  1343 + foreach($items as $k => $item) {
  1344 + $items[$k]['price2'] = number_format($item['price2'] - ($item['price2'] * $discount_value / 100), 1, '.', '');
  1345 + $items[$k]['total_price'] = number_format($items[$k]['price2'] * $item['count'], 1, '.', '');
  1346 + }
  1347 + return true;
  1348 + }
  1349 +
1338 1350 }
1339 1351 }
1340 1352  
... ...