/** * Search box advance * * @author MinhNV * Date 2010/07/01 * */ private function searchBoxAdvance() { global $display; $category_id = Url::get('category_id'); $cat_product_id = Url::get('cat_product_id'); $txt_search = Url::get('txt_search'); //get from cookie $cookie_search = Url::get('so_advanced_category_id_search', 0); if ($cookie_search != '') { $cookie_search = unserialize($cookie_search); } else { $cookie_search = array(); } $cookie_search[$category_id] = array('txt_search' => $txt_search, 'cat_product_id' => $cat_product_id); $cookie_search = serialize($cookie_search); $minute_expire = 3600 + TIME_NOW; EClassApi::set_cookie('so_advanced_category_id_search', $cookie_search, $minute_expire); $page_no = Url::get('page_no', 1); $page = Url::get('page'); $order_by = Url::get('order_by', 'id'); $order_dir = Url::get('order_dir', 'DESC'); $cond = ' TRUE '; $paging = ''; $aryDataSearch = array(); $total_row = 0; if ($category_id > 0 && (!User::is_admin() && User::has_permit_cat($category_id) || User::is_admin())) { $cond .= ' AND category_id=' . $category_id; } elseif (!User::is_admin()) { $cond .= ' AND ' . User::get_query_permit_cat(false, 'category_id'); } if ($cat_product_id > 0 && (!User::is_admin() && User::has_permit_cat_product($cat_product_id) || User::is_admin())) { $cond .= ' AND cat_product_id=' . $cat_product_id; } elseif (!User::is_admin()) { $temp = User::get_query_permit_all_table('cat_product_id', false); $cond .= ' AND ' . ($temp != '' ? $temp : ' TRUE '); } if ($txt_search != '') { $cond .= ' AND b.`name` like "%' . $txt_search . '%" '; } $item_per_page = CGlobal::$number_per_page; $total_row = DB::fetch('SELECT count(*) AS total_row FROM so_box_advanced b WHERE ' . $cond . ' LIMIT 0,1', 'total_row', 0); if ($total_row) { $limit = ''; $url_path = 'ajax.php?act=so_advanced&code=search_box_advance&category_id=' . $category_id . '&txt_search=' . $txt_search . '&cat_product_id=' . $cat_product_id . '&page=' . $page; BMPaging::AjaxPagingTemplate($paging, $limit, $total_row, CGlobal::$number_per_page, CGlobal::$number_pages_show, 'page_no', true, $url_path, 'paging_box_advanced_template'); $sql = 'SELECT b.`id`, b.`category_id`, b.`cat_product_id`, b.`product_id`, b.`name`, b.`description`, b.`image`, b.`link_fix`, b.`product_relate`, b.`total_item`, b.`product_relate_full`, b.`status`, b.`created_date`, c.`name` as category_name, d.`name` as product_category_name FROM so_box_advanced b LEFT JOIN so_category c ON b.category_id = c.id LEFT JOIN so_products_category d ON cat_product_id = d.id WHERE ' . $cond . ' ORDER BY ' . $order_by . ' ' . $order_dir . ' ' . $limit; $re = DB::query($sql); if ($re) { while ($row = mysql_fetch_assoc($re)) { //$row ['image'] = ImageUrl::getBoxAvancedImage ( 70, true, true, $row ['image'] ); // lay URL tu csdl cua image $row['image'] = SoImg::getImage($row['image'], $row['id'], SoImg::FOLDER_BOX_ADVANCED, $row['created_date'], '100x50'); array_push($aryDataSearch, $row); } } } $display->add('hover', EClassApi::mouse_hover(COLOR_MOUSE_HOVER, true)); $display->add('aryBox', $aryDataSearch); //$display->add('paging', $paging); $display->add('total_row', $total_row); $display->add('page', $page); $aryHtml = $display->output('list_box_advanced', true, 'SoBoxAdvanced'); $aryData = array(); $aryData['html'] = $aryHtml; $aryData['intIsOK'] = 1; $aryData['page'] = $paging; echo json_encode($aryData); exit; }