Exemple #1
0
 public static function load($gid)
 {
     $cfg = $GLOBALS['ACL_PERMS'];
     self::$isAdmin = $gid == 1;
     self::$rights = $cfg['rights'];
     self::$groups = $cfg['groups'];
     self::setGroup($gid);
     // select group
 }
Exemple #2
0
 public function DBCart()
 {
     //Удаляет товар из корзины
     if (isset($_POST['id_prod_for_remove'])) {
         unset($_SESSION['cart']['products'][$_POST['id_prod_for_remove']]);
         if (G::IsLogged() && !_acl::isAdmin()) {
             $this->db->StartTrans();
             if (!$this->db->DeleteRowsFrom(_DB_PREFIX_ . "cart_product", array("id_cart = " . $_SESSION['cart']['id'], "id_product = " . $_POST['id_prod_for_remove']))) {
                 $this->db->FailTrans();
                 return false;
             }
             $this->db->CompleteTrans();
             $this->RecalcCart();
         }
         return $_SESSION['cart'];
     }
     if (isset($_SESSION['cart']['id']) && !empty($_SESSION['cart']['products'])) {
         //Меняем готовность заказа (ready=0) при изменении количества товаров в корзине
         if (isset($_SESSION['cart']['promo']) && $_SESSION['cart']['promo'] != '' && $_SESSION['cart']['adm'] == 0) {
             $f['ready'] = 0;
             $this->db->Update(_DB_PREFIX_ . "cart", $f, "id_cart = " . $_SESSION['cart']['id']);
             unset($f);
         }
         // Обновить корзину в БД по id
         foreach ($_SESSION['cart']['products'] as $key => &$product) {
             $f['quantity'] = $product['quantity'];
             $f['price'] = $product['base_price'];
             $f['note'] = $product['note'];
             $this->db->StartTrans();
             if (isset($product['id_cart_product'])) {
                 if (!$this->db->Update(_DB_PREFIX_ . "cart_product", $f, "id_cart_product = " . $product['id_cart_product'])) {
                     $this->db->FailTrans();
                     return false;
                 }
             } else {
                 $f['id_product'] = $key;
                 $f['id_cart'] = $_SESSION['cart']['id'];
                 if (!$this->db->Insert(_DB_PREFIX_ . "cart_product", $f)) {
                     $this->db->FailTrans();
                     return false;
                 }
                 $product['id_cart_product'] = $this->db->GetLastId();
             }
             $this->db->CompleteTrans();
         }
         if (isset($product)) {
             return $product['id_cart_product'];
         }
     } else {
         // добавить корзину в БД и записать ее id в $_SESSION['cart']['id']
         if (G::IsLogged() && !_acl::isAdmin()) {
             $f['id_user'] = $_SESSION['member']['id_user'];
             $this->db->StartTrans();
             if (!$this->db->Insert(_DB_PREFIX_ . 'cart', $f)) {
                 $this->db->FailTrans();
                 return false;
                 //Если не удалось записать в базу
             }
             unset($f);
             $_SESSION['cart']['id'] = $this->db->GetLastId();
             $this->db->CompleteTrans();
             foreach ($_SESSION['cart']['products'] as $key => &$product) {
                 $f['id_product'] = $key;
                 $f['quantity'] = $product['quantity'];
                 $f['price'] = $product['base_price'];
                 $f['id_cart'] = $_SESSION['cart']['id'];
                 $this->db->StartTrans();
                 if (!$this->db->Insert(_DB_PREFIX_ . "cart_product", $f)) {
                     $this->db->FailTrans();
                     return false;
                 }
                 $product['id_cart_product'] = $this->db->GetLastId();
                 $this->db->CompleteTrans();
                 unset($f);
             }
             return $product['id_cart_product'];
         }
         return false;
     }
 }
Exemple #3
0
} else {
    $_SESSION['search']['newsearch'] = 0;
}
if (isset($_SESSION['search']['query']) && $_SESSION['search']['query'] != '' && (!isset($query) || $query == '')) {
    $query = $_SESSION['search']['query'];
} elseif (isset($query) && $query != '' || !isset($_SESSION['search']['query']) || $_SESSION['search']['query'] == '') {
    if (isset($query)) {
        $_SESSION['search']['query'] = $query;
    } else {
        $_SESSION['search']['query'] = $query = '';
    }
}
if (isset($_POST['dropfilters'])) {
    unset($_SESSION['filters']);
}
if (!_acl::isAdmin()) {
    $where_arr['p.visible'] = 1;
}
// Категория для поиска ====================================
if (isset($_POST['search_category']) && $_POST['search_category'] != 0 || isset($_GET['search_category']) && $_GET['search_category'] != 0) {
    $_SESSION['search']['search_category'] = isset($_POST['search_category']) ? $_POST['search_category'] : $_GET['search_category'];
    $where_arr['customs'][] = 'cp.id_category IN (
		SELECT id_category
		FROM ' . _DB_PREFIX_ . 'category c
		WHERE c.pid = ' . $_SESSION['search']['search_category'] . '
		OR c.pid IN (
			SELECT id_category
			FROM ' . _DB_PREFIX_ . 'category c
			WHERE c.pid = ' . $_SESSION['search']['search_category'] . '
		)
	)';
Exemple #4
0
    $sorting = array('value' => $sort_value);
    setcookie('sorting', json_encode(array($GLOBALS['CurrentController'] => $sorting)), time() + 3600 * 24 * 30, '/');
} elseif (!empty($sort) && isset($sort[$GLOBALS['CurrentController']])) {
    $sorting = $sort[$GLOBALS['CurrentController']];
}
unset($sort_value, $sort);
// Получаем список новостей
if ($GLOBALS['CurrentController'] == 'news') {
    if (isset($GLOBALS['Rewrite'])) {
        $tpl->Assign('news', $News->GetNews(4, true));
    }
} else {
    $tpl->Assign('news', $News->GetNews(4));
}
// Создание базового массива корзины
if (G::IsLogged() && !_acl::isAdmin()) {
    if (!isset($_SESSION['cart']['id'])) {
        $Cart->LastClientCart();
    }
    $Users->SetUserAdditionalInfo($_SESSION['member']['id_user']);
    $_SESSION['member']['favorites'] = $Users->fields['favorites'];
    $_SESSION['member']['waiting_list'] = $Users->fields['waiting_list'];
    $_SESSION['member']['contragent'] = $Users->fields['contragent'];
    $_SESSION['member']['ordered_prod'] = $Users->fields['ordered_prod'];
}
$Cart->RecalcCart();
if (G::IsLogged()) {
    $tpl->Assign('customer', $Customers->fields);
    $tpl->Assign('user_profile', $tpl->Parse($GLOBALS['PATH_tpl_global'] . 'user_profile.tpl'));
}
require $GLOBALS['PATH_core'] . 'controller.php';