function Build($row) { Module::Module($row); ################################################################################################## $build_catids = @CGlobal::$configs['BuildCatIDs']['conf_val']; if ($build_catids != '') { $arr = explode(',', $build_catids); $build_catids = ''; $last = 0; if ($arr) { foreach ($arr as $catid) { if (isset(CGlobal::$allCategories[$catid]) && CGlobal::$allCategories[$catid]['status'] != 'HIDE') { $build_catids .= ($build_catids != '' ? ',' : '') . $catid; Build::$cats[$catid] = array('id' => $catid, 'name' => CGlobal::$allCategories[$catid]['name'], 'recomend' => str_replace(chr(13) . chr(10), "<br />", CGlobal::$allCategories[$catid]['recomend']), 'img' => AZLib::getImageThumb("category/{$catid}.gif", 40, 40, 0, 0), 'item_id' => 0, 'item_name' => '', 'item_url' => '', 'item_price' => '', 'item_warranty' => '', 'list_brief' => ''); if ($last) { Build::$cats[$last]['next_id'] = $catid; } $last = $catid; } } } } self::$bcatid = (int) Url::get('bcatid'); if (self::$bcatid) { if (isset(Build::$cats[self::$bcatid])) { self::$bcat = Build::$cats[self::$bcatid]; } else { Url::redirect_current(array('mode')); } } else { self::$bcat = reset(Build::$cats); if (self::$bcat) { self::$bcatid = (int) self::$bcat['id']; } } ################################################################################################## $item_ids = ''; $build_ids = isset($_SESSION['build_ids']) ? $_SESSION['build_ids'] : ''; $build_price = 0; if ($build_ids != '') { $items = array(); $re = DB::query("SELECT * FROM item WHERE id IN(" . $build_ids . ") AND status=1 AND price>0 AND quantity>0 ORDER BY find_in_set(category_id,'" . $build_catids . "')"); if ($re) { while ($item = mysql_fetch_assoc($re)) { if (isset(Build::$cats[$item['category_id']]) && Build::$cats[$item['category_id']]['item_id'] == 0) { Build::$price += $item['price']; $item_ids .= ($item_ids != '' ? ',' : '') . $item['id']; if (isset(CGlobal::$allCategories[$item['category_id']])) { $item_url = WEB_DIR . CGlobal::$allCategories[$item['category_id']]['nice_name'] . "/p{$item['id']}/" . AZLib::safe_title($item['name']) . ".html"; } else { $item_url = WEB_DIR . "p{$item['id']}/" . AZLib::safe_title($item['name']) . ".html"; } if ($item['list_brief'] == '') { $item['list_brief'] = $item['brief']; } $item['list_brief'] = preg_replace("/\\[([\\s]*[0-9]{1,2}[\\s]*)\\]/eis", " ", $item['list_brief']); $item['list_brief'] = str_replace(array("'", "\""), array("", " "), $item['list_brief']); $item['list_brief'] = AZLib::word_limit($item['list_brief'], 50, ''); Build::$items[$item['id']] = $item; Build::$cats[$item['category_id']]['item_id'] = $item['id']; Build::$cats[$item['category_id']]['item_name'] = $item['name']; Build::$cats[$item['category_id']]['item_url'] = $item_url; Build::$cats[$item['category_id']]['item_price'] = number_format($item['price'], 0, ',', '.') . " VNĐ"; Build::$cats[$item['category_id']]['item_warranty'] = $item['warranty']; Build::$cats[$item['category_id']]['list_brief'] = $item['list_brief']; } } } } $item_id = (int) Url::get('item_id'); $bcatid = (int) Url::get('bcatid'); if ($item_id && $bcatid) { $item = Item::get_item($item_id); if ($item && $item['status'] == 1 && $item['price'] > 0 && $item['quantity'] > 0 && isset(Build::$cats[$item['category_id']])) { if (!isset(Build::$items[$item['id']])) { if (Build::$cats[$item['category_id']]['item_id'] > 0) { unset(Build::$items[Build::$cats[$item['category_id']]['item_id']]); } Build::$items[$item['id']] = $item; //$item_ids .= ($item_ids!='' ? ',' : '') . $item['id']; $item_ids = implode(',', array_keys(Build::$items)); $_SESSION['build_ids'] = "{$item_ids}"; $last = 0; foreach (array_keys(Build::$cats) as $catid) { if ($last == self::$bcatid) { Url::redirect_current(array('mode', 'bcatid' => $catid), '#select_item'); } $last = $catid; } } } Url::redirect_current(array('mode', 'bcatid')); } $_SESSION['build_ids'] = "{$item_ids}"; $cmd = Url::get('cmd'); switch ($cmd) { case 'success': require_once 'forms/BuildSuccess.php'; $this->add_form(new BuildSuccessForm()); break; case 'reset': $_SESSION['build_ids'] = ""; Url::redirect_current(); break; case 'order': if ($item_ids != '') { $cart_item_ids = isset($_COOKIE['cart_items']) ? $_COOKIE['cart_items'] : ''; if ($cart_item_ids != '') { $buil_item_arr = explode(',', $item_ids); $item_ids = $cart_item_ids; $cat_item_arr = explode(',', $cart_item_ids); foreach ($buil_item_arr as $item_id) { if (!in_array($item_id, $cat_item_arr)) { $item_ids .= ($item_ids != '' ? ',' : '') . $item_id; } } } if ($item_ids != $cart_item_ids) { AZLib::my_setcookie('cart_items', $item_ids, time() + 3600 * 24 * 365); } $_SESSION['build_ids'] = ""; Url::redirect('cart'); } Url::redirect_current(); break; case '': default: require_once 'forms/Build.php'; $this->add_form(new BuildForm()); break; } }