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 | } |