static function auto_delete($cache_key = '') { if ($cache_key != '') { if (MEMCACHE_ON) { AZMemcache::do_remove("qcache:{$cache_key}"); } else { if (is_array(CGlobal::$my_server)) { foreach (CGlobal::$my_server as $server) { $link = "http://{$server}/?trigger=1&cache_key={$cache_key}"; if (@fopen($link, "r")) { //if(DEBUG){echo "run service in $link <br>";} } else { if (DEBUG) { echo "error in {$link} <br>"; } } } } } return true; } elseif (isset($_REQUEST['trigger']) && isset($_REQUEST['cache_key']) && $_REQUEST['trigger'] && $_REQUEST['cache_key']) { $cache_key = $_REQUEST['cache_key']; @unlink(DIR_CACHE . "db/{$cache_key}"); if (DEBUG) { echo "Deleted DB cache file : {$cache_key}"; } exit; } }
function remove_mem() { if (!User::is_login()) { echo "not_login"; exit; } if (User::is_block()) { echo "no_permission"; exit; } if (User::have_permit(ADMIN_ITEM)) { $item_id = AZLib::getParam('item_id'); $id = "item:{$item_id}"; AZMemcache::do_remove($id); echo "success"; } else { die("no_permission"); } }
function card_payment_item() { $json['error'] = ""; $json['errorShow'] = ""; $json['arrReturn'] = ""; $json['up_number'] = 0; $json['title'] = 0; if (!User::is_login()) { $json['error'] = "not_login"; echo json_encode($json); exit; } if (User::is_block()) { $json['error'] = "no_permission"; echo json_encode($json); exit; } $user = User::$current->data; $card_type = Url::get('card_type'); $card_code = Url::get('card_code'); $pay_full_name = Url::get('pay_full_name'); $pay_mobile = Url::get('pay_mobile'); $item_id = (int) Url::get('item_id', 0); $transaction_info = "Mua lượt up bằng thẻ cào ({$card_type}) cho tin co ID: {$item_id}, của {$pay_full_name} ({$user['user_name']}), SDT: {$pay_mobile}, Email: {$user['email']}"; //insert vao payment_cards $aryCard = array('user_id' => $user['id'], 'user_name' => $user['user_name'], 'email' => $user['email'], 'phone' => $pay_mobile, 'card_code' => $card_code, 'card_type' => $card_type, 'time_add' => TIME_NOW, 'order_info' => $transaction_info, 'error_text' => '', 'payment_status' => 0, 'order_code' => '', 'price' => 0, 'type' => 2); $cardId = DB::insert('payment_cards', $aryCard); if ($cardId) { $order_code = "card_{$cardId}"; DB::update('payment_cards', array('order_code' => $order_code), "id={$cardId}"); $arrReturn = SohaPay::doChargeCard($card_code, $card_type, $transaction_info, $order_code, $user['email'], $pay_mobile, CARD_MERCHANT_SITE_CODE, CARD_SECURE_CODE); if (!empty($arrReturn)) { //tao key cho memcache $key = 'errCard' . $user['id']; $error_text = SohaPay::getResponseDescriptionMobileCard($arrReturn['response_code']); $json['errorShow'] = SohaPay::showResponseMobileCard($arrReturn['response_code']); if ($arrReturn['response_code'] == 1) { //lấy giá trị thẻ nạp và số lượt up $price = $arrReturn['price']; $up_number = SohaPay::$card[$price]['value']; $json['up_number'] = $up_number; $sms_item_up_auto = array('item_id' => (int) $item_id, 'up_total' => $up_number, 'up_number' => $up_number, 'sms_number' => $this->check_mobile($pay_mobile), 'time' => TIME_NOW, 'status' => 1, 'note' => $transaction_info, 'type' => 3); //insert $sms_item_up_auto_id = DB::insert("sms_item_up_auto", $sms_item_up_auto); if ($sms_item_up_auto_id) { //lấy số lần nhập của user $numErr = AZMemcache::do_get("card:{$key}"); $numErr = $numErr ? $numErr : 1; //update trang thai thanh cong cho bang payment_card DB::update('payment_cards', array("sms_item_up_auto_id" => $sms_item_up_auto_id, "time_payment" => strtotime($arrReturn['payment_time']), "up_number" => $up_number, 'error_text' => $error_text, 'payment_status' => 1, 'order_code' => $order_code, 'price' => $price, 'num_err' => $numErr), "id={$cardId}"); //xoa cache if (MEMCACHE_ON) { AZMemcache::do_remove("card:{$key}"); } $json['arrReturn'] = $arrReturn; echo json_encode($json); exit; } } else { // Lỗi if (MEMCACHE_ON) { $numErr = AZMemcache::do_get("card:{$key}"); $numErr = $numErr ? $numErr : 1; AZMemcache::do_put("card:{$key}", $numErr + 1, 86400); } if ($numErr > 2 && $numErr < 5) { $json['errorShow'] .= '<br/>Bạn đã nhập sai ' . $numErr . ' lần liên tiếp. Nếu bạn nhập sai mã số 5 lần liên tiếp tài khoản của bạn sẽ bị khoá.<br><br>'; } if ($numErr >= 5 && !User::is_admin() && !User::is_root()) { $day_block = 1; $time_start = mktime(24, 0, 0, date('m'), date('d'), date('Y')); $time_expire = $time_start + $day_block * 24 * 3600; $reason_block = "Nhập sai mã thẻ điện thoại 5 lần liên tiếp"; if (DB::query("UPDATE user SET block_time={$time_expire} WHERE id = {$user['id']}")) { DB::insert('user_lock', array('time' => TIME_NOW, 'time_expire' => $time_expire, 'user_id' => $user['id'], 'user_name' => $user['user_name'], 'type' => 0, 'note' => $reason_block, 'admin_id' => 4, 'admin_name' => 'admin')); // Kiem duyet tin khi khoa thanh vien $arr_data = array('user_id' => $user['id'], 'reason_invalid' => 'Khóa thành viên nên khóa tất cả Topic, ' . $reason_block); $this->lockItemWhenLockAccount($arr_data, 1); // end kiem duyet tin khi khoa thanh vien } $json['errorShow'] .= '<br/>Bạn đã bị khoá tài khoản 1 ngày do nhập sai mã số 5 lần liên tiếp.<br><br>'; //xoa cache if (MEMCACHE_ON) { AZMemcache::do_remove("card:{$key}"); } User::LogOut(); } DB::update('payment_cards', array('error_text' => $error_text, 'payment_status' => 2, 'order_code' => $order_code, 'num_err' => $numErr), "id={$cardId}"); $json['error'] = 'error'; echo json_encode($json); exit; } } //if(!empty($arrReturn)) $json['error'] = 'error'; $json['errorShow'] = "Có lỗi hệ thống nạp card"; echo json_encode($json); exit; } //if($cardId) $json['error'] = 'error'; $json['errorShow'] = "Có lỗi kết nối với cơ sở dữ liệu"; echo json_encode($json); exit; }
function ManageBookingVip($row) { Module::Module($row); if (User::have_permit(ADMIN_VIP_ITEM) || User::have_permit(ADMICRO_BOOKING_VIP)) { $cmd = Url::get('cmd'); switch ($cmd) { case '': require_once 'forms/ManageBookingVip.php'; $this->add_form(new ManageBookingVipForm()); break; case 'add': require_once 'forms/AddBookingVip.php'; $this->add_form(new AddBookingVipForm()); break; case 'active': if (User::have_permit(ADMIN_VIP_ITEM)) { $id = (int) Url::get("id", 0); if ($id) { $booking_vip = DB::select("bookings_vip", "id={$id}"); } $booking_vip['top_cat'] != 0 ? $cat_id = $booking_vip['top_cat'] : ($cat_id = $booking_vip['cat_id']); $item_vip = DB::select_all('item_vip', "(catid = {$cat_id} OR level_1_catid = {$cat_id}) AND status = 1"); $i = 0; $sa = $booking_vip['time_start']; $ea = $booking_vip['time_end']; foreach ($item_vip as $itemv) { if ($sa > $itemv['time_start'] && $sa < $itemv['time_end']) { $i++; } elseif ($ea > $itemv['time_start'] && $ea < $itemv['time_end']) { $i++; } elseif ($sa < $itemv['time_start'] && $ea > $itemv['time_end']) { $i++; } } $priority = 1; $arrItemVip = array('item_id' => $booking_vip['item_id'], 'note' => "Add từ bảng booking vip cho [{$booking_vip['user_add']}]", 'time_start' => $booking_vip['time_start'], 'time_end' => $booking_vip['time_end'], 'time_add' => TIME_NOW, 'user_add' => User::user_name(), 'time_modify' => TIME_NOW, 'user_modify' => User::user_name(), 'catid' => $booking_vip['cat_id'], 'level_1_catid' => $booking_vip['top_cat'], 'num_contract' => $booking_vip['num_contract'], 'priority' => $priority); //insert $idVip = DB::insert("item_vip", $arrItemVip); if ($idVip) { $item_id = $booking_vip['item_id']; $item = Item::get_item($item_id); if ($booking_vip['time_start'] >= TIME_NOW || $booking_vip['time_end'] <= TIME_NOW) { $priority = 0; } DB::update("item", array("sticky" => $priority), "id={$item_id}"); if (MEMCACHE_ON) { $item['sticky'] = $priority; AZMemcache::do_put("item:{$item_id}", $item); AZMemcache::do_remove("id_vip:{$item['category_id']}"); AZMemcache::do_remove("id_vip:{$item['level_1_catid']}"); } } //update status DB::update('bookings_vip', array("status" => 1, "time_update_status" => TIME_NOW, "user_update_status" => User::user_name()), "id={$id}"); } Url::redirect_current(); break; case 'update_status': if (User::have_permit(ADMIN_VIP_ITEM)) { $id = (int) Url::get("id", 0); DB::update('bookings_vip', array("status" => 1, "time_update_status" => TIME_NOW, "user_update_status" => User::user_name()), "id={$id}"); } Url::redirect_current(); break; case 'edit': require_once 'forms/EditBookingVip.php'; $this->add_form(new EditBookingVipForm()); break; case 'delete': $id = (int) Url::get("id", 0); $booking_vip = array(); if ($id) { $booking_vip = DB::select("bookings_vip", "id={$id}"); } if ($booking_vip && $booking_vip['status'] != 1) { if (User::user_name() == $booking_vip['user_add'] || User::have_permit(ADMIN_VIP_ITEM)) { DB::update('bookings_vip', array("status" => -1, "time_del" => TIME_NOW, "user_del" => User::user_name()), "id={$id}"); } } Url::redirect_current(); break; default: Url::redirect_current(); break; } } else { Url::access_denied(); } }
static function getUser($user_id, $update_cache = FALSE, $delcache = FALSE) { $user = array(); if ($user_id) { if (MEMCACHE_ON) { if ($delcache) { //Xoá cache if (MEMCACHE_ON) { AZMemcache::do_remove("user:{$user_id}"); } return TRUE; } else { if (!$update_cache && MEMCACHE_ON) { $user = AZMemcache::do_get("user:{$user_id}"); } if (!$user) { $sql = "SELECT * FROM user WHERE id=" . (int) $user_id . " LIMIT 1"; $user = mysql_fetch_assoc(DB::query($sql)); $user['is_block'] = $user['block_time'] > TIME_NOW || $user['block_time'] == -1 ? TRUE : FALSE; if (MEMCACHE_ON && $user) { AZMemcache::do_put("user:{$user_id}", $user); } } } } else { //cache file $subDir = 'user/' . floor($user_id / 1000); $user = AZCache::cache('SELECT * FROM user WHERE id=' . (int) $user_id . ' LIMIT 0,1', __LINE__ . __FILE__, 2592000, $update_cache, '', $subDir, $delcache); if ($user && !$delcache) { $user[0]['is_block'] = $user[0]['block_time'] > TIME_NOW || $user[0]['block_time'] == -1 ? TRUE : FALSE; return $user[0]; } } } return $user; }
<?php require_once '../includes/auth.php'; //Auth... require_once '../core/Debug.php'; //System Debug... require_once '../core/config.php'; //System Config... require_once '../core/Init.php'; //System Init... $act = Url::get('act'); $id = Url::get('id'); switch ($act) { case 'remove': if ($id) { AZMemcache::do_remove($id); echo "Đã xóa xong {$id}"; exit; } break; case 'clear': if (AZMemcache::clear()) { echo "done"; exit; } break; default: echo ":D hehe"; exit; break; }
static function get_item($item_id, $delcache = 0) { $item = array(); if ($item_id) { if ($delcache) { //Xoá cache if (MEMCACHE_ON) { AZMemcache::do_remove("item:{$item_id}"); } return true; } else { if (MEMCACHE_ON) { $item = AZMemcache::do_get("item:{$item_id}"); } if (!$item || isset($_GET['delcache']) && $_GET['delcache'] == 1) { //Nếu item chưa đc cache thì lấy từ db ra $sql = "SELECT * FROM item\tWHERE \tid={$item_id}"; $item = mysql_fetch_assoc(DB::query($sql)); if (MEMCACHE_ON && $item) { AZMemcache::do_put("item:{$item_id}", $item); } } } } return $item; }
function on_submit() { AZLib::getCats(); $sku = AZLib::trimSpace(str_replace("\n", " ", Url::get('sku'))); ############################################################################################### $name = AZLib::trimSpace(str_replace("\n", " ", Url::get('name'))); mb_internal_encoding("UTF-8"); $name = mb_strtoupper(mb_substr($name, 0, 1)) . mb_substr($name, 1); ############################################################################################### ############################################################################################### $offer = AZLib::trimSpace(str_replace("\n", " ", Url::get('offer'))); mb_internal_encoding("UTF-8"); $offer = mb_strtoupper(mb_substr($offer, 0, 1)) . mb_substr($offer, 1); ############################################################################################### ############################################################################################### $list_brief = AZLib::trimSpace(str_replace("\n", " ", Url::get('list_brief'))); mb_internal_encoding("UTF-8"); $list_brief = mb_strtoupper(mb_substr($list_brief, 0, 1)) . mb_substr($list_brief, 1); ############################################################################################### ############################################################################################### //$item_description = AZLib::getParam('item_description'); $item_description = Url::get('item_description'); $brief = Url::get('brief'); if (get_magic_quotes_gpc()) { $item_description = stripslashes($item_description); $brief = stripslashes($brief); } require_once ROOT_PATH . 'includes/htmLawed.php'; $config = array('safe' => 1, 'elements' => '*', 'deny_attribute' => 'class, id'); $spec = 'a = title, href;'; // The 'a' element can have only these attributes $item_description = htmLawed($item_description, $config, $spec); $item_description = AZLib::clean_value($item_description); $brief = htmLawed($brief, $config, $spec); $brief = AZLib::clean_value($brief); ############################################################################################### $category_id = 0; $level_1_catid = 0; $first_combo = (int) Url::get('first_combo'); $second_combo = (int) Url::get('second_combo'); $price = Url::cdouble(Url::get('price')); $price_out = Url::cdouble(Url::get('price_out')); $currency_id = (int) Url::get('currency_id', 1); $quantity = Url::cdouble(Url::get('quantity', 0)); if ($quantity < 0) { $quantity = 0; } $item_order = (int) Url::get('item_order'); $made_in = Url::get('made_in'); $warranty = Url::get('warranty'); if (!isset(CGlobal::$currency[$currency_id])) { $currency_id = 1; } $item_category = false; if ($first_combo && $second_combo) { $category_id = $second_combo; $level_1_catid = $first_combo; $level_2_catid = $second_combo; if (isset(CGlobal::$allCategories[$category_id])) { //Kiểm tra sự tồn tai của danh mục $item_category = CGlobal::$allCategories[$category_id]; if (isset(CGlobal::$subCategories[$category_id]) && CGlobal::$subCategories[$category_id] && $item_category['parent_id'] == 0 || $item_category['parent_id'] != $first_combo) { //Nếu danh mục của sản phẩm là danh mục cấp 1 và có danh mục con => chọn lại $this->setFormError('category_id', 'Hãy chọn lại <b>Chủng loại</b> cho sản phẩm!'); } } } elseif ($first_combo) { //Nếu chọn danh mục cấp 1 $category_id = $first_combo; $level_1_catid = $first_combo; $level_2_catid = $first_combo; if (isset(CGlobal::$allCategories[$category_id])) { //Kiểm tra sự tồn tai của danh mục $item_category = CGlobal::$allCategories[$category_id]; if (isset(CGlobal::$subCategories[$category_id]) && CGlobal::$subCategories[$category_id] && $item_category['parent_id'] == 0) { //Nếu danh mục có danh mục con => Chọn lại! $this->setFormError('category_id', 'Hãy chọn lại <b>Chủng loại</b> cho sản phẩm!'); } elseif ($item_category['parent_id'] != 0) { //Nếu không fải là danh mục cấp 1 $this->setFormError('category_id', 'Hãy chọn lại <b>Chủng loại</b> cho sản phẩm!'); } } } if (!$item_category) { $this->setFormError('category_id', 'Bạn chưa chọn <b>Danh mục</b> cho sản phẩm!'); } /*if($price<=0) { $this->setFormError('price','Với tin rao bán bạn phải nhập <b>Giá</b>'); } else*/ if ($price > 0) { if ($currency_id == 1) { $this->checkFormInput("Giá bán", 'price', $price, 'double', false, '', 1, 50000000000); } else { $this->checkFormInput("Giá bán", 'price', $price, 'double', false, '', 1, 1000000); } } if ($price_out != '' && $price_out != '0') { if ($currency_id == 1) { $this->checkFormInput("Giá thị trường", 'price_out', $price_out, 'double', false, '', 1, 50000000000); } else { $this->checkFormInput("Giá thị trường", 'price_out', $price_out, 'double', false, '', 1, 1000000); } } $this->checkFormInput('Tên sản phẩm', 'name', $name, 'str', true, '', 5, 120); $this->checkFormInput('Mô tả vắn tắt', 'brief', $brief, 'str', false, '', 15, 500000); $this->checkFormInput('Mô tả sản phẩm', 'item_description', $item_description, 'str', true, '', 15, 500000); //Check kiểm duyệt $status = 1; //Cho hiển thị $user_item = User::getUser($this->item['user_id']); $status = $this->item['status']; //Giữ nguyên giá trị $have_image_up = false; foreach ($this->item_images as $page => $page_images) { //trang foreach ($page_images as $image) { if ($image['img_new_id'] || $image['id']) { $have_image_up = true; break; } } } $form_img_server = Url::get('avatar_img_server', 0); $this->img_url = Url::get('avatar_img_url', ''); if (!$this->errNum) { $id = $this->item['id']; $item_array = array('category_id' => $category_id, 'level_1_catid' => $level_1_catid, 'level_2_catid' => $level_2_catid, 'currency_id' => $currency_id, 'price' => $price, 'price_out' => $price_out, 'sku' => $sku, 'name' => $name, 'offer' => $offer, 'list_brief' => $list_brief, 'brief' => $brief, 'description' => $item_description, 'status' => $status, 'quantity' => $quantity, 'item_order' => $item_order, 'made_in' => $made_in, 'warranty' => $warranty, 'modify_time' => TIME_NOW, 'modify_user_name' => User::user_name(), 'have_image' => (int) (bool) $this->img_url, 'img_server' => $form_img_server, 'img_url' => $this->img_url); /*DB::update('item',$item_array,'id='.$id); if(MEMCACHE_ON){ AZMemcache::do_remove("item:$id"); }*/ $image_err = false; //$img_url =''; $item_images = array(); $item_check_images = array(); $item_insert_temp_images = array(); $item_insert_images = array(); $item_update_images = array(); $item_delete_ids = ''; $unused_ids = ''; $img_ids = ''; $item_have_image = 0; //$pos=0; foreach ($this->item_images as $page => $page_images) { //10 trang foreach ($page_images as $image) { if ($image['img_new_id']) { //nếu chọn hoặc thay ảnh mới $item_have_image = 1; $img = array(); $title = $image['title'] && $image['title'] != 'Ghi chú ảnh' ? $image['title'] : ''; $title = str_replace(array('"'), array('"'), stripslashes($title)); $title = $title && !AZLib::checkBadWord($title) ? $title : ''; if (isset($this->images[$image['img_new_id']])) { //Nếu chọn mới hoặc thay 1 ảnh đã có if ($this->images[$image['img_new_id']]['position'] == $image['stt']) { //lấy lại chính ảnh cũ if ($title != $this->images[$image['img_new_id']]['title']) { //Nếu Tên sản phẩm ảnh thay đổi thì cập nhật Tên sản phẩm cho ảnh! $this->images[$image['img_new_id']]['title'] = addslashes($title); $item_update_images[$image['img_new_id']] = $this->images[$image['img_new_id']]; } } else { //Nếu ảnh được chọn lại ở vị trí khác $img['title'] = addslashes($title); $img['item_id'] = $id; $img['img_server'] = $this->images[$image['img_new_id']]['img_server']; $img['img_url'] = $this->images[$image['img_new_id']]['img_url']; $img['root_id'] = $this->images[$image['img_new_id']]['root_id']; $img['time'] = $this->images[$image['img_new_id']]['time']; $img['user_id'] = $this->images[$image['img_new_id']]['user_id']; $img['user_name'] = $this->images[$image['img_new_id']]['user_name']; $img['item_id'] = $id; $img['position'] = $image['stt']; if ($image['img_del_id'] && isset($this->images[$image['img_del_id']])) { //Loại bỏ ảnh cũ if ($this->images[$image['img_del_id']]['root_id']) { $item_delete_ids .= ($item_delete_ids ? ',' : '') . (int) $image['img_del_id']; } else { $unused_ids .= ($unused_ids ? ',' : '') . (int) $image['img_del_id']; } } if (!$img['root_id']) { $img['root_id'] = $image['img_new_id']; } $item_insert_images[$image['img_new_id']] = $img; } } else { $img_ids .= ($img_ids ? ',' : '') . $image['img_new_id']; $img['title'] = addslashes($title); $img['item_id'] = $id; $img['img_server'] = $image['img_server']; $img['img_url'] = ''; $img['root_id'] = 0; $img['time'] = TIME_NOW; $img['user_id'] = $this->item['user_id']; $img['user_name'] = $this->item['user_name']; $img['item_id'] = $id; $img['position'] = $image['stt']; if ($image['img_del_id'] && isset($this->images[$image['img_del_id']])) { //Loại bỏ ảnh cũ if ($this->images[$image['img_del_id']]['root_id']) { $item_delete_ids .= ($item_delete_ids ? ',' : '') . (int) $image['img_del_id']; } else { $unused_ids .= ($unused_ids ? ',' : '') . (int) $image['img_del_id']; } } if (!isset($item_images[$image['img_new_id']])) { $item_images[$image['img_new_id']] = $img; } else { $img['root_id'] = $image['img_new_id']; $item_insert_temp_images[$image['img_new_id']] = $img; //Đúp bản ghi trong trường hợp 1 ảnh được chọn tại nhiều vị trí } } } elseif ($image['id'] && $image['id'] == $_POST['image_deleted'][$image['stt']]) { //Loại bỏ ảnh if ($this->images[$image['id']]['root_id']) { $item_delete_ids .= ($item_delete_ids ? ',' : '') . (int) $image['id']; } else { $unused_ids .= ($unused_ids ? ',' : '') . (int) $image['id']; } } elseif ($image['id'] && $_POST['image_title'][$image['stt']]) { $item_have_image = 1; $title = $_POST['image_title'][$image['stt']] != 'Ghi chú ảnh' ? $_POST['image_title'][$image['stt']] : ''; $title = str_replace(array('"'), array('"'), stripslashes($title)); $title = $title && !AZLib::checkBadWord($title) ? $title : ''; if ($title != $this->images[$image['id']]['title']) { //Nếu Tên sản phẩm ảnh thay đổi thì cập nhật Tên sản phẩm cho ảnh! $this->images[$image['id']]['title'] = addslashes($title); $item_update_images[$image['id']] = $this->images[$image['id']]; } } else { $item_have_image = 1; } } } if ($img_ids) { //$re=DB::query('SELECT id, item_id, img_server, img_url, time FROM item_image WHERE id IN('.$img_ids.') AND user_id='.$this->item['user_id']); $re = DB::query('SELECT id, item_id, user_id, img_server, img_url, time FROM item_image WHERE id IN(' . $img_ids . ')'); if ($re) { while ($img = mysql_fetch_assoc($re)) { if ($img['user_id'] == $this->item['user_id']) { if (isset($item_insert_temp_images[$img['id']])) { $item_insert_temp_images[$img['id']]['img_server'] = $img['img_server']; $item_insert_temp_images[$img['id']]['img_url'] = $img['img_url']; $item_insert_temp_images[$img['id']]['root_id'] = $img['id']; $item_insert_temp_images[$img['id']]['time'] = $img['time']; $item_insert_images[] = $item_insert_temp_images[$img['id']]; } $item_images[$img['id']]['time'] = $img['time']; $item_images[$img['id']]['img_url'] = $img['img_url']; if ($img['item_id']) { //Đã có item_id rồi, đúp bản ghi $image = $item_images[$img['id']]; if ($img['root_id']) { $image['root_id'] = $img['root_id']; } else { $image['root_id'] = $img['id']; } $item_insert_images[] = $image; } else { //Chưa có item_id, cập nhật $img['item_id'] = $id; $item_update_images[$img['id']] = $item_images[$img['id']]; } } } } } if ($item_insert_images) { $inser_sql = ''; foreach ($item_insert_images as $item_image) { $inser_sql .= ($inser_sql ? "," : "") . "\r\n\t\t\t\t\t\t('" . addslashes($item_image['title']) . "',\r\n\t\t\t\t\t\t'" . $item_image['position'] . "','" . $item_image['item_id'] . "','" . $item_image['img_server'] . "','" . $item_image['img_url'] . "','" . $item_image['root_id'] . "',\r\n\t\t\t\t\t\t'" . $item_image['time'] . "','" . $item_image['user_id'] . "','" . $item_image['user_name'] . "')"; } $inser_sql = "INSERT INTO `item_image` (`title`,`position`,`item_id`,`img_server`,`img_url`,`root_id`,`time`,`user_id`,`user_name`) \r\n\t\t\t\t\t\t\tVALUES " . $inser_sql; DB::query($inser_sql); } if ($item_update_images) { foreach ($item_update_images as $img_id => $item_image) { if (!DB::update('item_image', $item_image, 'id=' . $img_id)) { $image_err = true; } } } //if($item_delete_ids && !DB::delete('item_image','id IN('.$item_delete_ids.') AND user_id='.$this->item['user_id'].' AND root_id!=0')){ if ($item_delete_ids && !DB::delete('item_image', 'id IN(' . $item_delete_ids . ') AND root_id!=0')) { $image_err = true; } if ($unused_ids && !DB::update('item_image', array('item_id' => '0', 'title' => '', 'position' => '0'), 'id IN(' . $unused_ids . ') AND user_id=' . $this->item['user_id'] . ' AND root_id=0')) { $image_err = true; } //$main_img = DB::select('item_image','item_id='.$id.' AND user_id='.$this->item['user_id'].' ORDER BY position ASC'); $main_img = DB::select('item_image', 'item_id=' . $id . ' ORDER BY position ASC'); if ($main_img) { $img_url = $main_img['img_url']; $i_server = $main_img['img_server']; } else { $img_url = ''; $i_server = 0; } if ($item_insert_images || $item_update_images || $item_delete_ids || $unused_ids) { Item::get_item_images($id, 1); } //tuannk 2010.07.26 //end tuannk 2010.07.26 /*if($this->img_url == '' && $img_url !='' ) { DB::update('item',array( 'img_server'=>$i_server, 'img_url'=>$img_url,'have_image'=>1),'id='.$id); } elseif($item_have_image){ DB::update('item',array( 'have_image'=>1),'id='.$id); }*/ ############################################################################## #Filters $filters = Url::get('filter'); $filter_search = ""; $filter_ids = ""; foreach ($filters as $fgid => $fils) { foreach ($fils as $fid) { $filter_search .= ($filter_search != '' ? " " : '') . "g{$fgid}f{$fid}f"; $filter_ids .= ($filter_ids != '' ? "," : '') . $fid; } } #Filters ############################################################################## $item_array['filter_search'] = $filter_search; $item_array['filter_ids'] = $filter_ids; if ($this->img_url == '' && $img_url != '') { $item_array['img_server'] = $i_server; $item_array['img_url'] = $img_url; $item_array['have_image'] = 1; } elseif ($item_have_image) { $item_array['have_image'] = 1; } //DB::update('item',array( 'have_image'=>1),'id='.$id); DB::update('item', $item_array, 'id=' . $id); if (MEMCACHE_ON) { AZMemcache::do_remove("item:{$id}"); } if (Url::get('ref')) { Url::redirect("manage_item"); } else { Url::redirect("item_detail", array("id" => $id)); } } }
static function delCache($cache_file = '', $ext = 'html') { if ($cache_file != '') { if (MEMCACHE_ON) { AZMemcache::do_remove("scache:{$cache_file}"); } else { if (is_array(CGlobal::$my_server)) { foreach (CGlobal::$my_server as $server) { $link = "http://{$server}/?trigger=1&cache_file={$cache_file}&ext={$ext}"; if (@fopen($link, "r")) { //if(DEBUG){echo "run service in $link<br>";} } else { if (DEBUG) { echo "error in {$link}<br>"; } } } } } return true; } elseif (isset($_REQUEST['trigger'], $_REQUEST['ext'], $_REQUEST['cache_file']) && $_REQUEST['trigger'] && $_REQUEST['cache_file'] && $_REQUEST['ext']) { $file_path = $_REQUEST['cache_file']; $cache_file = $file_path . '.' . $_REQUEST['ext']; @unlink(DIR_CACHE . 'html/' . $cache_file); if (MEMCACHE_ON) { AZMemcache::do_remove("scache:{$file_path}"); } if (DEBUG) { echo "Deleted HTML cache file: {$cache_file}"; } exit; } }