Пример #1
0
 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;
     }
 }
Пример #2
0
 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");
     }
 }
Пример #3
0
 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;
 }
Пример #4
0
 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();
     }
 }
Пример #5
0
 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;
 }
Пример #6
0
<?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;
}
Пример #7
0
 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;
 }
Пример #8
0
 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('&quot;'), 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('&quot;'), 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));
         }
     }
 }
Пример #9
0
 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;
     }
 }