Commit 3c09f993738024ed6a1aff67f57952006db1cf65
Merge remote-tracking branch 'origin/vip' into master+discount
# Conflicts: # src/app/frontend/controllers/PageController.php # src/app/frontend/views/page/changeWithSize.php # src/app/frontend/views/partial/item_group.php # src/lib/common.php
Showing
13 changed files
with
186 additions
and
51 deletions
Show diff stats
src/app/backend/controllers/GroupsController.php
@@ -59,7 +59,8 @@ class GroupsController extends \Phalcon\Mvc\Controller | @@ -59,7 +59,8 @@ class GroupsController extends \Phalcon\Mvc\Controller | ||
59 | if( $this->request->isPost() ) | 59 | if( $this->request->isPost() ) |
60 | { | 60 | { |
61 | 61 | ||
62 | - $data['name'] = $this->request->getPost('name', 'string', NULL ); | 62 | + $data['name'] = $this->request->getPost('name', 'string', NULL ); |
63 | + $data['discount'] = $this->request->getPost('discount', 'int', NULL ); | ||
63 | 64 | ||
64 | 65 | ||
65 | 66 | ||
@@ -97,6 +98,7 @@ class GroupsController extends \Phalcon\Mvc\Controller | @@ -97,6 +98,7 @@ class GroupsController extends \Phalcon\Mvc\Controller | ||
97 | { | 98 | { |
98 | 99 | ||
99 | $data['name'] = $this->request->getPost('name', 'string', NULL ); | 100 | $data['name'] = $this->request->getPost('name', 'string', NULL ); |
101 | + $data['discount'] = $this->request->getPost('discount', 'int', NULL ); | ||
100 | 102 | ||
101 | 103 | ||
102 | if( !empty( $data ) && !isset($this->models->getUsersGroup()->getOneDataByName($data['name'])['0']) ) | 104 | if( !empty( $data ) && !isset($this->models->getUsersGroup()->getOneDataByName($data['name'])['0']) ) |
src/app/backend/views/groups/addEdit.php
@@ -21,6 +21,11 @@ | @@ -21,6 +21,11 @@ | ||
21 | <div class="input"><input type="text" name="name" id="name" value='<?= (isset( $page['0']['name'] ) && !empty( $page['0']['name'] ) ? $page['0']['name'] : '') ?>'></div> | 21 | <div class="input"><input type="text" name="name" id="name" value='<?= (isset( $page['0']['name'] ) && !empty( $page['0']['name'] ) ? $page['0']['name'] : '') ?>'></div> |
22 | </div> | 22 | </div> |
23 | 23 | ||
24 | + <div class="clearfix input_wrapper"> | ||
25 | + <div class="label"><label for="discount">Скидка</label></div> | ||
26 | + <div class="input"><input type="text" name="discount" id="discount" value='<?= (isset( $page['0']['discount'] ) && !empty( $page['0']['discount'] ) ? $page['0']['discount'] : '') ?>'></div> | ||
27 | + </div> | ||
28 | + | ||
24 | 29 | ||
25 | </div> | 30 | </div> |
26 | 31 |
src/app/backend/views/groups/index.php
@@ -25,8 +25,7 @@ | @@ -25,8 +25,7 @@ | ||
25 | { | 25 | { |
26 | $data_pages .= | 26 | $data_pages .= |
27 | '<div class="one_page_edit header_gradient clearfix">'. | 27 | '<div class="one_page_edit header_gradient clearfix">'. |
28 | - '<div class="one_page_edit_check float"></div>'. | ||
29 | - '<div class="one_page_edit_name float">'.$p['name'].'</div>'. | 28 | + '<div class="one_page_edit_name float"><a href="/users_group_update/'.$p['id'].'" title="">'.$p['name'].'</a></div>'. |
30 | '<div class="one_page_delete_ico float_right"><a href="/users_group_delete/'.$p['id'].'" title="Удалить" onclick="return confirm(\'Вы действительно хотите удалить информацию?\')"></a></div>'. | 29 | '<div class="one_page_delete_ico float_right"><a href="/users_group_delete/'.$p['id'].'" title="Удалить" onclick="return confirm(\'Вы действительно хотите удалить информацию?\')"></a></div>'. |
31 | '</div>'; | 30 | '</div>'; |
32 | } | 31 | } |
src/app/frontend/controllers/MenuController.php
@@ -58,6 +58,22 @@ class MenuController extends \controllers\ControllerBase | @@ -58,6 +58,22 @@ class MenuController extends \controllers\ControllerBase | ||
58 | $this->common->countOrderSum($cart); | 58 | $this->common->countOrderSum($cart); |
59 | $cart['total_price'] = $cart['total_sum']; | 59 | $cart['total_price'] = $cart['total_sum']; |
60 | } | 60 | } |
61 | + /************************/ | ||
62 | + | ||
63 | + //vip | ||
64 | + $users_group_id = $this->session->get('users_group_id'); | ||
65 | + $users_group_discount = $this->getDi()->get('models')->getUsersGroup()->getOneData($users_group_id); | ||
66 | + if (!empty($users_group_discount[0]['discount']) && $users_group_discount[0]['discount'] < 100 && $users_group_discount[0]['discount'] > 0) { | ||
67 | + $users_group_discount = $users_group_discount[0]['discount']; | ||
68 | + } | ||
69 | + else { | ||
70 | + $users_group_discount = 0; | ||
71 | + } | ||
72 | + if ($this->common->applyDiscount($users_group_discount, $cart['items'])) { | ||
73 | + $this->common->countOrderSum($cart); | ||
74 | + $cart['total_price'] = $cart['total_sum']; | ||
75 | + } | ||
76 | + /************************/ | ||
61 | 77 | ||
62 | $total_price = $cart['total_price']; | 78 | $total_price = $cart['total_price']; |
63 | $items = $cart['items']; | 79 | $items = $cart['items']; |
@@ -196,6 +212,18 @@ class MenuController extends \controllers\ControllerBase | @@ -196,6 +212,18 @@ class MenuController extends \controllers\ControllerBase | ||
196 | if ($this->common->applyPromoCode($discount, $order['items'])) { | 212 | if ($this->common->applyPromoCode($discount, $order['items'])) { |
197 | $this->common->countOrderSum($order); | 213 | $this->common->countOrderSum($order); |
198 | } | 214 | } |
215 | + //vip | ||
216 | + $users_group_id = $this->session->get('users_group_id'); | ||
217 | + $users_group_discount = $this->getDi()->get('models')->getUsersGroup()->getOneData($users_group_id); | ||
218 | + if (!empty($users_group_discount[0]['discount']) && $users_group_discount[0]['discount'] < 100 && $users_group_discount[0]['discount'] > 0) { | ||
219 | + $users_group_discount = $users_group_discount[0]['discount']; | ||
220 | + } | ||
221 | + else { | ||
222 | + $users_group_discount = 0; | ||
223 | + } | ||
224 | + if ($this->common->applyDiscount($users_group_discount, $order['items'])) { | ||
225 | + $this->common->countOrderSum($order); | ||
226 | + } | ||
199 | 227 | ||
200 | // save order | 228 | // save order |
201 | $proposal_number = $this->models->getOrders()->addOrder($order); | 229 | $proposal_number = $this->models->getOrders()->addOrder($order); |
@@ -418,15 +446,6 @@ class MenuController extends \controllers\ControllerBase | @@ -418,15 +446,6 @@ class MenuController extends \controllers\ControllerBase | ||
418 | $special_user = $this->models->getSpecialUsers()->getOneData($special_users_id)[0]; | 446 | $special_user = $this->models->getSpecialUsers()->getOneData($special_users_id)[0]; |
419 | } | 447 | } |
420 | 448 | ||
421 | - //vip | ||
422 | - $users_group_id = $this->session->get('users_group_id'); | ||
423 | - if (isset($users_group_id) && $users_group_id == 37) { | ||
424 | - if ($this->common->applyDiscount(5, $cart_items['items'])) { | ||
425 | - $this->common->countOrderSum($cart_items); | ||
426 | - $cart_items['total_price'] = $cart_items['total_sum']; | ||
427 | - } | ||
428 | - } | ||
429 | - | ||
430 | //discount | 449 | //discount |
431 | $discount = $this->models->getDiscount()->getActiveData(); | 450 | $discount = $this->models->getDiscount()->getActiveData(); |
432 | if (!empty($discount)) { | 451 | if (!empty($discount)) { |
@@ -436,7 +455,21 @@ class MenuController extends \controllers\ControllerBase | @@ -436,7 +455,21 @@ class MenuController extends \controllers\ControllerBase | ||
436 | $this->common->countOrderSum($cart_items); | 455 | $this->common->countOrderSum($cart_items); |
437 | $cart_items['total_price'] = $cart_items['total_sum']; | 456 | $cart_items['total_price'] = $cart_items['total_sum']; |
438 | } | 457 | } |
458 | + /************************/ | ||
439 | 459 | ||
460 | + //vip | ||
461 | + $users_group_id = $this->session->get('users_group_id'); | ||
462 | + $users_group_discount = $this->getDi()->get('models')->getUsersGroup()->getOneData($users_group_id); | ||
463 | + if (!empty($users_group_discount[0]['discount']) && $users_group_discount[0]['discount'] < 100 && $users_group_discount[0]['discount'] > 0) { | ||
464 | + $users_group_discount = $users_group_discount[0]['discount']; | ||
465 | + } | ||
466 | + else { | ||
467 | + $users_group_discount = 0; | ||
468 | + } | ||
469 | + if ($this->common->applyDiscount($users_group_discount, $cart_items['items'])) { | ||
470 | + $this->common->countOrderSum($cart_items); | ||
471 | + $cart_items['total_price'] = $cart_items['total_sum']; | ||
472 | + } | ||
440 | /************************/ | 473 | /************************/ |
441 | 474 | ||
442 | foreach($cart_items['items'] as $k => $item) { | 475 | foreach($cart_items['items'] as $k => $item) { |
src/app/frontend/controllers/PageController.php
@@ -931,7 +931,14 @@ | @@ -931,7 +931,14 @@ | ||
931 | $discount = empty($discount[0])? 0 : $discount[0]; | 931 | $discount = empty($discount[0])? 0 : $discount[0]; |
932 | //vip | 932 | //vip |
933 | $users_group_id = $this->session->get('users_group_id'); | 933 | $users_group_id = $this->session->get('users_group_id'); |
934 | - | 934 | + $users_group_discount = $this->models->getUsersGroup()->getOneData($users_group_id); |
935 | + if (!empty($users_group_discount[0]['discount']) && $users_group_discount[0]['discount'] < 100 && $users_group_discount[0]['discount'] > 0) { | ||
936 | + $users_group_discount = $users_group_discount[0]['discount']; | ||
937 | + } | ||
938 | + else { | ||
939 | + $users_group_discount = 0; | ||
940 | + } | ||
941 | + | ||
935 | $this->view->setVars([ | 942 | $this->view->setVars([ |
936 | 'change_lang_url' => $lang_url, | 943 | 'change_lang_url' => $lang_url, |
937 | 'catalog' => $catalog, | 944 | 'catalog' => $catalog, |
@@ -954,7 +961,8 @@ | @@ -954,7 +961,8 @@ | ||
954 | 'type_alias' => $type_alias, | 961 | 'type_alias' => $type_alias, |
955 | 'subtype_alias' => $subtype_alias, | 962 | 'subtype_alias' => $subtype_alias, |
956 | 'discount' => $discount, | 963 | 'discount' => $discount, |
957 | - 'users_group_id' => $users_group_id | 964 | + 'users_group_id' => $users_group_id, |
965 | + 'users_group_discount' => $users_group_discount | ||
958 | ]); | 966 | ]); |
959 | } | 967 | } |
960 | else | 968 | else |
@@ -1127,12 +1135,20 @@ | @@ -1127,12 +1135,20 @@ | ||
1127 | } | 1135 | } |
1128 | //vip | 1136 | //vip |
1129 | $users_group_id = $this->session->get('users_group_id'); | 1137 | $users_group_id = $this->session->get('users_group_id'); |
1130 | - | 1138 | + $users_group_discount = $this->models->getUsersGroup()->getOneData($users_group_id); |
1139 | + if (!empty($users_group_discount[0]['discount']) && $users_group_discount[0]['discount'] < 100 && $users_group_discount[0]['discount'] > 0) { | ||
1140 | + $users_group_discount = $users_group_discount[0]['discount']; | ||
1141 | + } | ||
1142 | + else { | ||
1143 | + $users_group_discount = 0; | ||
1144 | + } | ||
1145 | + | ||
1131 | $this->view->pick('page/changeWithSize'); | 1146 | $this->view->pick('page/changeWithSize'); |
1132 | $this->view->setVars([ | 1147 | $this->view->setVars([ |
1133 | 'item' => $item['0'], | 1148 | 'item' => $item['0'], |
1134 | 'discount' => $discount, | 1149 | 'discount' => $discount, |
1135 | - 'users_group_id' => $users_group_id | 1150 | + 'users_group_id' => $users_group_id, |
1151 | + 'users_group_discount' => $users_group_discount | ||
1136 | ]); | 1152 | ]); |
1137 | $this->view->setRenderLevel(View::LEVEL_ACTION_VIEW); | 1153 | $this->view->setRenderLevel(View::LEVEL_ACTION_VIEW); |
1138 | } | 1154 | } |
@@ -1349,8 +1365,8 @@ | @@ -1349,8 +1365,8 @@ | ||
1349 | $p['subtype_alias'] = $p['explode']['2']; | 1365 | $p['subtype_alias'] = $p['explode']['2']; |
1350 | unset( $p['explode'] ); | 1366 | unset( $p['explode'] ); |
1351 | } | 1367 | } |
1352 | - | ||
1353 | - | 1368 | + |
1369 | + | ||
1354 | $groups_ = $this->common->getGroups1( $this->lang_id, $groups ); | 1370 | $groups_ = $this->common->getGroups1( $this->lang_id, $groups ); |
1355 | 1371 | ||
1356 | //discount | 1372 | //discount |
@@ -1382,7 +1398,28 @@ | @@ -1382,7 +1398,28 @@ | ||
1382 | $total_items = $this->models->getItems()->getTotalItemsByTerm( $search ,$this->lang_id); | 1398 | $total_items = $this->models->getItems()->getTotalItemsByTerm( $search ,$this->lang_id); |
1383 | 1399 | ||
1384 | $items = []; | 1400 | $items = []; |
1385 | - | 1401 | + |
1402 | + //discount | ||
1403 | + $discount = $this->models->getDiscount()->getActiveData(); | ||
1404 | + if (!empty($discount)) { | ||
1405 | + $discount = $discount[0]; | ||
1406 | + $discount['group_ids'] = str_replace('{', '', $discount['group_ids']); | ||
1407 | + $discount['group_ids'] = str_replace('}', '', $discount['group_ids']); | ||
1408 | + $discount['group_ids'] = explode(',', $discount['group_ids']); | ||
1409 | + } else { | ||
1410 | + $discount = 0; | ||
1411 | + } | ||
1412 | + //vip | ||
1413 | + $users_group_id = $this->session->get('users_group_id'); | ||
1414 | + $users_group_discount = $this->models->getUsersGroup()->getOneData($users_group_id); | ||
1415 | + if (!empty($users_group_discount[0]['discount']) && $users_group_discount[0]['discount'] < 100 && $users_group_discount[0]['discount'] > 0) { | ||
1416 | + $users_group_discount = $users_group_discount[0]['discount']; | ||
1417 | + } | ||
1418 | + else { | ||
1419 | + $users_group_discount = 0; | ||
1420 | + } | ||
1421 | + | ||
1422 | + | ||
1386 | if( !empty( $items_ ) ) | 1423 | if( !empty( $items_ ) ) |
1387 | { | 1424 | { |
1388 | $items_ids = $this->common->array_column( $items_, 'item_id' ); | 1425 | $items_ids = $this->common->array_column( $items_, 'item_id' ); |
@@ -1392,8 +1429,9 @@ | @@ -1392,8 +1429,9 @@ | ||
1392 | $i['cover'] = !empty( $i['group_cover'] ) ? $this->storage->getPhotoUrl( $i['group_cover'], 'avatar', '200x' ) : '/images/packet.jpg'; | 1429 | $i['cover'] = !empty( $i['group_cover'] ) ? $this->storage->getPhotoUrl( $i['group_cover'], 'avatar', '200x' ) : '/images/packet.jpg'; |
1393 | $i['alias'] = $this->url->get([ 'for' => 'item', 'type' => $i['type_alias'], 'subtype' => $i['subtype_alias'], 'group_alias' => $i['group_alias'], 'item_id' => $i['id'] ]); | 1430 | $i['alias'] = $this->url->get([ 'for' => 'item', 'type' => $i['type_alias'], 'subtype' => $i['subtype_alias'], 'group_alias' => $i['group_alias'], 'item_id' => $i['id'] ]); |
1394 | $i['price'] = $i['price2']; | 1431 | $i['price'] = $i['price2']; |
1432 | + $i['price'] = round($i['price']*(1-$users_group_discount/100), 1); | ||
1395 | $i['type_id'] = $i['type']; | 1433 | $i['type_id'] = $i['type']; |
1396 | - //$i['id'] = $i['group_id']; | 1434 | + $i['id'] = $i['group_id']; |
1397 | 1435 | ||
1398 | $i['options_'] = $this->etc->hstore2arr($i['options']); | 1436 | $i['options_'] = $this->etc->hstore2arr($i['options']); |
1399 | 1437 | ||
@@ -1404,7 +1442,7 @@ | @@ -1404,7 +1442,7 @@ | ||
1404 | unset($i['options']); | 1442 | unset($i['options']); |
1405 | } | 1443 | } |
1406 | } | 1444 | } |
1407 | - | 1445 | + |
1408 | if( $total_items['0']['total'] > \config::get( 'limits/items') ) | 1446 | if( $total_items['0']['total'] > \config::get( 'limits/items') ) |
1409 | { | 1447 | { |
1410 | $paginate = $this->common->paginate( | 1448 | $paginate = $this->common->paginate( |
@@ -1434,7 +1472,7 @@ | @@ -1434,7 +1472,7 @@ | ||
1434 | $discount = $this->models->getDiscount()->getActiveData(); | 1472 | $discount = $this->models->getDiscount()->getActiveData(); |
1435 | $discount = $this->models->getDiscount()->explodeGroupIds($discount); | 1473 | $discount = $this->models->getDiscount()->explodeGroupIds($discount); |
1436 | $discount = empty($discount[0])? 0 : $discount[0]; | 1474 | $discount = empty($discount[0])? 0 : $discount[0]; |
1437 | - | 1475 | + |
1438 | $this->view->setVars([ | 1476 | $this->view->setVars([ |
1439 | 'groups' => $items, | 1477 | 'groups' => $items, |
1440 | 'page' => $page, | 1478 | 'page' => $page, |
@@ -1532,9 +1570,37 @@ | @@ -1532,9 +1570,37 @@ | ||
1532 | } | 1570 | } |
1533 | } | 1571 | } |
1534 | } | 1572 | } |
1573 | + | ||
1574 | + //discount | ||
1575 | + $discount = $this->models->getDiscount()->getActiveData(); | ||
1576 | + if (!empty($discount)) { | ||
1577 | + $discount = $discount[0]; | ||
1578 | + $discount['group_ids'] = str_replace('{', '', $discount['group_ids']); | ||
1579 | + $discount['group_ids'] = str_replace('}', '', $discount['group_ids']); | ||
1580 | + $discount['group_ids'] = explode(',', $discount['group_ids']); | ||
1581 | + if ($discount['discount'] > 0 && $discount['discount'] <= 100 && in_array($item_id, $discount['group_ids'])) { | ||
1582 | + $discount = $discount['discount']; | ||
1583 | + } | ||
1584 | + else { | ||
1585 | + $discount = 0; | ||
1586 | + } | ||
1587 | + } else { | ||
1588 | + $discount = 0; | ||
1589 | + } | ||
1590 | + //vip | ||
1591 | + $users_group_id = $this->session->get('users_group_id'); | ||
1592 | + $users_group_discount = $this->models->getUsersGroup()->getOneData($users_group_id); | ||
1593 | + if (!empty($users_group_discount[0]['discount']) && $users_group_discount[0]['discount'] < 100 && $users_group_discount[0]['discount'] > 0) { | ||
1594 | + $users_group_discount = $users_group_discount[0]['discount']; | ||
1595 | + } | ||
1596 | + else { | ||
1597 | + $users_group_discount = 0; | ||
1598 | + } | ||
1599 | + | ||
1535 | $num = count($items); | 1600 | $num = count($items); |
1536 | for($i=0; $i<$num; $i++){ | 1601 | for($i=0; $i<$num; $i++){ |
1537 | $items[$i]['full_alias'] = $this->models->getCatalog()->getFullAlias($this->lang_id, $items[$i]['catalog'])[0]['full_alias']; | 1602 | $items[$i]['full_alias'] = $this->models->getCatalog()->getFullAlias($this->lang_id, $items[$i]['catalog'])[0]['full_alias']; |
1603 | + $items[$i]['price2'] = round($items[$i]['price2']*(1-$users_group_discount/100), 1); | ||
1538 | } | 1604 | } |
1539 | 1605 | ||
1540 | foreach( $properties as $p ) | 1606 | foreach( $properties as $p ) |
@@ -1577,7 +1643,8 @@ | @@ -1577,7 +1643,8 @@ | ||
1577 | 'items' => $items, | 1643 | 'items' => $items, |
1578 | 'count' => max($count), | 1644 | 'count' => max($count), |
1579 | 'no_robots' => 1, | 1645 | 'no_robots' => 1, |
1580 | - 'prod_text' => $prod_text | 1646 | + 'prod_text' => $prod_text, |
1647 | + 'discount' => $discount | ||
1581 | ]); | 1648 | ]); |
1582 | } | 1649 | } |
1583 | 1650 |
src/app/frontend/views/customer/cabinet.php
@@ -19,7 +19,7 @@ | @@ -19,7 +19,7 @@ | ||
19 | <div id="sidebar" class="float"> | 19 | <div id="sidebar" class="float"> |
20 | <div class="subcategory_sidebar_title"> | 20 | <div class="subcategory_sidebar_title"> |
21 | <h3><?= $t->_("personal_account") ?></h3> | 21 | <h3><?= $t->_("personal_account") ?></h3> |
22 | - <?php if($customer['users_group_id'] == 37) echo '<img class="vip_icon" src="/images/icon_vip_01.png" alt="vip" />'; ?> | 22 | + <?php if($customer['users_group_id'] == 38) echo '<img class="vip_icon" src="/images/icon_vip_01.png" alt="vip" />'; ?> |
23 | <a href="<?= $this->seoUrl->setUrl($this->url->get([ 'for' => 'cabinet' ])) ?>" title="<?= $t->_("profile") ?>" class="active"><?= $t->_("profile") ?></a> | 23 | <a href="<?= $this->seoUrl->setUrl($this->url->get([ 'for' => 'cabinet' ])) ?>" title="<?= $t->_("profile") ?>" class="active"><?= $t->_("profile") ?></a> |
24 | <a href="<?= $this->seoUrl->setUrl($this->url->get([ 'for' => 'cabinet_email_settings' ])) ?>" title="<?= $t->_("email_settings") ?>"><?= $t->_("email_settings") ?></a> | 24 | <a href="<?= $this->seoUrl->setUrl($this->url->get([ 'for' => 'cabinet_email_settings' ])) ?>" title="<?= $t->_("email_settings") ?>"><?= $t->_("email_settings") ?></a> |
25 | <?php | 25 | <?php |
src/app/frontend/views/page/changeWithSize.php
1 | <?php | 1 | <?php |
2 | 2 | ||
3 | if(isset($special_user)) { | 3 | if(isset($special_user)) { |
4 | - $data['price'] = number_format(isset($item['prices'][$special_user['status']]) | 4 | + $data['price'] = round(isset($item['prices'][$special_user['status']]) |
5 | ? $item['prices'][$special_user['status']] | 5 | ? $item['prices'][$special_user['status']] |
6 | - : $item['price2'], 2, '.', ''); | 6 | + : $item['price2'], 1); |
7 | } else { | 7 | } else { |
8 | $data['price'] = $item['price2']; | 8 | $data['price'] = $item['price2']; |
9 | } | 9 | } |
10 | 10 | ||
11 | //vip | 11 | //vip |
12 | -if (isset($users_group_id) && $users_group_id == 37) { | ||
13 | - $data['price'] = round($data['price']*0.95, 1); | 12 | +if (isset($users_group_id) && isset($users_group_discount)) { |
13 | + $data['price'] = round($data['price']*(1-$users_group_discount/100), 1); | ||
14 | } | 14 | } |
15 | 15 | ||
16 | //discount | 16 | //discount |
17 | $old_price = $data['price']; | 17 | $old_price = $data['price']; |
18 | $data['price'] = $data['price']*(1-$discount/100); | 18 | $data['price'] = $data['price']*(1-$discount/100); |
19 | -$data['price'] = number_format($data['price'], 1, '.', ' '); | 19 | +$data['price'] = round($data['price'], 1); |
20 | if ($discount == 0) { | 20 | if ($discount == 0) { |
21 | $data['html'] = | 21 | $data['html'] = |
22 | '<div class="clearfix buy_compare"> | 22 | '<div class="clearfix buy_compare"> |
src/app/frontend/views/page/compareItems.php
@@ -39,7 +39,7 @@ | @@ -39,7 +39,7 @@ | ||
39 | '<div class="compare_item_image"><a href="'.$this->seoUrl->setUrl($i['alias']).'" title="'.$i['title'].'"><img src="'.$i['cover'].'" alt="'.$i['title'].'" height="100" /></a></div>'. | 39 | '<div class="compare_item_image"><a href="'.$this->seoUrl->setUrl($i['alias']).'" title="'.$i['title'].'"><img src="'.$i['cover'].'" alt="'.$i['title'].'" height="100" /></a></div>'. |
40 | '<div class="compare_item_title"><a href="'.$this->seoUrl->setUrl($i['alias']).'" title="'.$i['title'].'">'.$i['title'].'</a></div>'. | 40 | '<div class="compare_item_title"><a href="'.$this->seoUrl->setUrl($i['alias']).'" title="'.$i['title'].'">'.$i['title'].'</a></div>'. |
41 | '<div class="align_bottom">'. | 41 | '<div class="align_bottom">'. |
42 | - '<div class="compare_item_price">'.$t->_("price_from").' <span>'.$i['price2'].'</span> грн</div>'. | 42 | + '<div class="compare_item_price">'.$t->_("price_from").' <span>'.round($i['price2'], 1).'</span> грн</div>'. |
43 | '<div class="one_item_buttons"> | 43 | '<div class="one_item_buttons"> |
44 | <a href="'.$this->seoUrl->setUrl($i['alias']) .'" title="" class="btn grey">'.$t->_("details").'</a> | 44 | <a href="'.$this->seoUrl->setUrl($i['alias']) .'" title="" class="btn grey">'.$t->_("details").'</a> |
45 | <a data-group_id="'.$i['group_id'].'" href="#" title="" class="btn green buy">'.$t->_("buy").'</a> | 45 | <a data-group_id="'.$i['group_id'].'" href="#" title="" class="btn green buy">'.$t->_("buy").'</a> |
src/app/frontend/views/page/item.php
@@ -204,20 +204,20 @@ | @@ -204,20 +204,20 @@ | ||
204 | <li> | 204 | <li> |
205 | <?php | 205 | <?php |
206 | //vip | 206 | //vip |
207 | - if (isset($users_group_id) && $users_group_id == 37) { | ||
208 | - $item['price2'] = round($item['price2']*0.95, 1); | 207 | + if (isset($users_group_id) && isset($users_group_discount)) { |
208 | + $item['price2'] = round($item['price2']*(1-$users_group_discount/100), 1); | ||
209 | } | 209 | } |
210 | // скидка | 210 | // скидка |
211 | if (!empty($discount)) { | 211 | if (!empty($discount)) { |
212 | if (isset($discount) && $discount['discount'] > 0 && $discount['discount'] <= 100 && in_array($item['id'], $discount['group_ids'])) { | 212 | if (isset($discount) && $discount['discount'] > 0 && $discount['discount'] <= 100 && in_array($item['id'], $discount['group_ids'])) { |
213 | - echo '<span itemprop="price">'.number_format($item['price2']*(1-$discount['discount']/100), 2, '.', ' ').'</span> грн<span style="display:none;" itemprop="priceCurrency">UAH</span>'; | 213 | + echo '<span itemprop="price">'.round($item['price2']*(1-$discount['discount']/100), 1).'</span> грн<span style="display:none;" itemprop="priceCurrency">UAH</span>'; |
214 | } | 214 | } |
215 | else { | 215 | else { |
216 | - echo '<span itemprop="price">'.number_format($item['price2'], 2, '.', ' ').'</span> грн<span style="display:none;" itemprop="priceCurrency">UAH</span>'; | 216 | + echo '<span itemprop="price">'.round($item['price2'], 1).'</span> грн<span style="display:none;" itemprop="priceCurrency">UAH</span>'; |
217 | } | 217 | } |
218 | } | 218 | } |
219 | else { | 219 | else { |
220 | - echo '<span itemprop="price">'.number_format($item['price2'], 2, '.', ' ').'</span> грн<span style="display:none;" itemprop="priceCurrency">UAH</span>'; | 220 | + echo '<span itemprop="price">'.round($item['price2'], 1).'</span> грн<span style="display:none;" itemprop="priceCurrency">UAH</span>'; |
221 | } | 221 | } |
222 | ?> | 222 | ?> |
223 | <div style="display: none" itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"> | 223 | <div style="display: none" itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"> |
src/app/frontend/views/partial/dealer.php
@@ -171,7 +171,7 @@ | @@ -171,7 +171,7 @@ | ||
171 | <a href="#"><i class="fa fa-circle text-success"></i> Online</a> | 171 | <a href="#"><i class="fa fa-circle text-success"></i> Online</a> |
172 | </div> | 172 | </div> |
173 | <?php //vip icon | 173 | <?php //vip icon |
174 | - if (isset($customer['users_group_id']) && $customer['users_group_id'] == 37) | 174 | + if (isset($customer['users_group_id']) && $customer['users_group_id'] == 38) |
175 | echo '<div class="dealer_vip_icon"><img src="/images/icon_vip_01.png" alt="vip"/></div>'; | 175 | echo '<div class="dealer_vip_icon"><img src="/images/icon_vip_01.png" alt="vip"/></div>'; |
176 | ?> | 176 | ?> |
177 | </div> | 177 | </div> |
src/app/frontend/views/partial/item_group.php
src/lib/common.php
@@ -762,8 +762,16 @@ namespace | @@ -762,8 +762,16 @@ namespace | ||
762 | */ | 762 | */ |
763 | public function getGroups1( $lang_id, $groups) | 763 | public function getGroups1( $lang_id, $groups) |
764 | { | 764 | { |
765 | - $groups_ = []; | ||
766 | - $compare = $this->getDi()->get('session')->get('compare', []); | 765 | + $groups_ = []; |
766 | + $compare = $this->getDi()->get('session')->get('compare', []); | ||
767 | + $users_group_id = $this->getDi()->get('session')->get('users_group_id'); | ||
768 | + $users_group_discount = $this->getDi()->get('models')->getUsersGroup()->getOneData($users_group_id); | ||
769 | + if (!empty($users_group_discount[0]['discount']) && $users_group_discount[0]['discount'] < 100 && $users_group_discount[0]['discount'] > 0) { | ||
770 | + $users_group_discount = $users_group_discount[0]['discount']; | ||
771 | + } | ||
772 | + else { | ||
773 | + $users_group_discount = 0; | ||
774 | + } | ||
767 | 775 | ||
768 | if( !empty( $groups ) ) | 776 | if( !empty( $groups ) ) |
769 | { | 777 | { |
@@ -778,7 +786,6 @@ namespace | @@ -778,7 +786,6 @@ namespace | ||
778 | $items_[$i['id']] = $i; | 786 | $items_[$i['id']] = $i; |
779 | } | 787 | } |
780 | 788 | ||
781 | - | ||
782 | foreach( $groups as &$g ) | 789 | foreach( $groups as &$g ) |
783 | { | 790 | { |
784 | $g['items'] = $this->getDi()->get('models')->getItems()->getSizesByGroupId($lang_id, $g['group_id']); | 791 | $g['items'] = $this->getDi()->get('models')->getItems()->getSizesByGroupId($lang_id, $g['group_id']); |
@@ -786,15 +793,19 @@ namespace | @@ -786,15 +793,19 @@ namespace | ||
786 | for($i = 0; $i < count($g['items']); $i++) { | 793 | for($i = 0; $i < count($g['items']); $i++) { |
787 | $g['items'][$i]['prices'] = $this->getPricesArray($g['items'][$i]); | 794 | $g['items'][$i]['prices'] = $this->getPricesArray($g['items'][$i]); |
788 | } | 795 | } |
796 | + | ||
789 | $g['price'] = !empty( $items_[$g['id']]['price2'] ) ? $items_[$g['id']]['price2'] : 0; | 797 | $g['price'] = !empty( $items_[$g['id']]['price2'] ) ? $items_[$g['id']]['price2'] : 0; |
790 | $g['title'] = !empty( $items_[$g['id']]['title'] ) ? $items_[$g['id']]['title'] : ''; | 798 | $g['title'] = !empty( $items_[$g['id']]['title'] ) ? $items_[$g['id']]['title'] : ''; |
791 | $g['description'] = !empty( $items_[$g['id']]['description'] ) ? $this->shortenString($items_[$g['id']]['description'], 200) : ''; | 799 | $g['description'] = !empty( $items_[$g['id']]['description'] ) ? $this->shortenString($items_[$g['id']]['description'], 200) : ''; |
792 | $g['content_description'] = !empty( $items_[$g['id']]['content_description'] ) ? $items_[$g['id']]['content_description'] : ''; | 800 | $g['content_description'] = !empty( $items_[$g['id']]['content_description'] ) ? $items_[$g['id']]['content_description'] : ''; |
793 | $g['cover'] = !empty( $g['cover'] ) ? $this->getDi()->get('storage')->getPhotoUrl( $g['cover'], 'avatar', '200x' ) : '/images/packet.jpg'; | 801 | $g['cover'] = !empty( $g['cover'] ) ? $this->getDi()->get('storage')->getPhotoUrl( $g['cover'], 'avatar', '200x' ) : '/images/packet.jpg'; |
794 | $g['alias'] = $this->getDi()->get('url')->get([ 'for' => 'item', 'type' => $g['type_alias'], 'subtype' => $g['subtype_alias'], 'group_alias' => $g['alias'], 'item_id' => $g['id'] ]); | 802 | $g['alias'] = $this->getDi()->get('url')->get([ 'for' => 'item', 'type' => $g['type_alias'], 'subtype' => $g['subtype_alias'], 'group_alias' => $g['alias'], 'item_id' => $g['id'] ]); |
803 | + | ||
795 | if(isset($g['type_id']) && isset($g['catalog'])) | 804 | if(isset($g['type_id']) && isset($g['catalog'])) |
796 | - $g['checked'] = !empty($compare[$g['type_id']][$g['catalog']]) && in_array($g['id'], $compare[$g['type_id']][$g['catalog']]) ? 1 : 0; | 805 | + $g['checked'] = !empty($compare[$g['type_id']][$g['catalog']]) && in_array($g['id'], $compare[$g['type_id']][$g['catalog']]) ? 1 : 0; |
797 | 806 | ||
807 | + if (isset($users_group_id)) | ||
808 | + $g['price'] = round($g['price']*(1-$users_group_discount/100), 1); | ||
798 | 809 | ||
799 | if( !empty( $g['options'] ) ) | 810 | if( !empty( $g['options'] ) ) |
800 | { | 811 | { |
@@ -1217,12 +1228,24 @@ namespace | @@ -1217,12 +1228,24 @@ namespace | ||
1217 | } | 1228 | } |
1218 | 1229 | ||
1219 | public function getPricesArray($item) { | 1230 | public function getPricesArray($item) { |
1220 | - $prices = []; | ||
1221 | - $price_first = 2; | ||
1222 | - $price_last = 6; | ||
1223 | - | 1231 | + $prices = []; |
1232 | + $price_first = 2; | ||
1233 | + $price_last = 6; | ||
1234 | + $users_group_id = $this->getDi()->get('session')->get('users_group_id'); | ||
1235 | + $users_group_discount = $this->getDi()->get('models')->getUsersGroup()->getOneData($users_group_id); | ||
1236 | + if (!empty($users_group_discount[0]['discount']) && $users_group_discount[0]['discount'] < 100 && $users_group_discount[0]['discount'] > 0) { | ||
1237 | + $users_group_discount = $users_group_discount[0]['discount']; | ||
1238 | + } | ||
1239 | + else { | ||
1240 | + $users_group_discount = 0; | ||
1241 | + } | ||
1224 | for ($i = $price_first; $i < $price_last + 1; $i++) { | 1242 | for ($i = $price_first; $i < $price_last + 1; $i++) { |
1225 | - $prices[] = $item['price' . $i]; | 1243 | + |
1244 | + if (isset($users_group_id)) { | ||
1245 | + $prices[] = round($item['price' . $i]*(1-$users_group_discount/100), 1); | ||
1246 | + } else { | ||
1247 | + $prices[] = $item['price' . $i]; | ||
1248 | + } | ||
1226 | } | 1249 | } |
1227 | return $prices; | 1250 | return $prices; |
1228 | } | 1251 | } |
src/lib/models/users_groups.php
@@ -102,17 +102,20 @@ class users_groups extends \db | @@ -102,17 +102,20 @@ class users_groups extends \db | ||
102 | INSERT INTO | 102 | INSERT INTO |
103 | public.users_groups | 103 | public.users_groups |
104 | ( | 104 | ( |
105 | - name | 105 | + name, |
106 | + discount | ||
106 | 107 | ||
107 | ) | 108 | ) |
108 | VALUES | 109 | VALUES |
109 | ( | 110 | ( |
110 | - :name | 111 | + :name, |
112 | + :discount | ||
111 | ) | 113 | ) |
112 | RETURNING id | 114 | RETURNING id |
113 | ', | 115 | ', |
114 | [ | 116 | [ |
115 | - 'name' => $data['name'] | 117 | + 'name' => $data['name'], |
118 | + 'discount' => $data['discount'] | ||
116 | ], | 119 | ], |
117 | -1 | 120 | -1 |
118 | ); | 121 | ); |
@@ -129,13 +132,15 @@ class users_groups extends \db | @@ -129,13 +132,15 @@ class users_groups extends \db | ||
129 | UPDATE | 132 | UPDATE |
130 | public.users_groups | 133 | public.users_groups |
131 | SET | 134 | SET |
132 | - name = :name | 135 | + name = :name, |
136 | + discount = :discount | ||
133 | WHERE | 137 | WHERE |
134 | id = :id | 138 | id = :id |
135 | ', | 139 | ', |
136 | [ | 140 | [ |
137 | - 'name' => $data['name'], | ||
138 | - "id" => $id | 141 | + 'name' => $data['name'], |
142 | + 'discount' => $data['discount'], | ||
143 | + "id" => $id | ||
139 | ] | 144 | ] |
140 | ); | 145 | ); |
141 | } | 146 | } |