static function auto_delete($cache_key = '') { if ($cache_key != '') { if (MEMCACHE_ON) { eb_memcache::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 AdminNewsCategory($row) { Module::Module($row); if (User::is_admin()) { $cmd = Url::get('cmd'); switch ($cmd) { case "edit": case "add_category": require_once 'forms/detail.php'; $this->add_form(new AdminNewsCategoryDetail()); break; case "delete": $id = Url::get('id'); if (!is_numeric($id)) { Url::redirect('admin_news_category'); return; } DB::delete_id('news_category', $id); eb_memcache::do_remove('news_category/all'); eb_memcache::do_remove('news_category:' . $id); Url::redirect('admin_news_category'); break; default: require_once 'forms/list.php'; $this->add_form(new AdminNewsCategoryForm()); break; } } else { Url::access_denied(); } }
function AdminNews($row) { Module::Module($row); if (User::is_admin()) { $cmd = Url::get('cmd'); switch ($cmd) { case "edit": case "add_item": require_once 'forms/detail.php'; $this->add_form(new AdminNewsDetail()); break; case "delete": $url = urldecode(Url::get('url')); $id = Url::get('id'); if (!is_numeric($id)) { Url::redirect('admin_news_item'); return; } DB::delete_id('news_item', $id); eb_memcache::do_remove('news_item:' . $id); Url::redirect_url($url); break; default: require_once 'forms/list.php'; $this->add_form(new AdminNewsForm()); break; } } else { Url::access_denied(); } }
function on_submit() { $id = intval(Url::get('id')); $data['title'] = Url::get('title'); $data['title_en'] = Url::get('title_en'); $data['category_id'] = intval(trim(Url::get('category_id', 0))); $data['description'] = Url::get('description'); $data['description_en'] = Url::get('description_en'); $data['content'] = Url::get('content'); $data['content_en'] = Url::get('content_en'); $data['image'] = ''; $data['keywords'] = Url::get('keywords'); $data['post_day'] = trim(Url::get('post_day')); if (!empty($data['post_day'])) { $data['post_day'] = EClassApi::render_time($data['post_day']); } else { $data['post_day'] = time(); } $data['is_active'] = Url::get('is_active', 0); $data['hot_article'] = Url::get('hot_article', 0); $data['top_home'] = Url::get('top_home', 0); if (empty($data['shortcut'])) { $data['shortcut'] = strtolower(EClassApi::safe_title($data['title'])); } else { $data['shortcut'] = strtolower(EClassApi::safe_title(Url::get('shorcut'))); } if (isset($_FILES["file"]) && $_FILES["file"]["size"] > 0) { $store_in = 'files/news/' . date('Y/m/d') . '/'; if (!file_exists($store_in)) { mkdir($store_in, 0775, true); } move_uploaded_file($_FILES["file"]["tmp_name"], $store_in . $_FILES["file"]["name"]); $data['image'] = $store_in . $_FILES["file"]["name"]; } else { unset($data['image']); } if (intval($id) == 0) { $data['uid'] = User::id(); $id = DB::insert('news_item', $data); $this->setSuccessMessage('news/item/form', serialize($data)); $this->setSuccessMessage('news/item/success', 'Lưu thông tin bài viết [' . $data['title'] . '] thành công'); } else { DB::update('news_item', $data, 'id=' . $id); $this->setSuccessMessage('news/item/success', 'Cập nhật thông tin bài viết [' . $data['title'] . '] thành công'); } Url::redirect_url('admin_news_item.html?cmd=edit&id=' . $id); eb_memcache::do_remove('news_item:' . $id); }
function addGroupW() { $g_name = Url::get('g_name'); $json = array(); if (!$g_name) { $json['msg'] = 'name_null'; die(json_encode($json)); } $res = DB::insert('advertise_group', array('name' => $g_name)); if ($res) { for ($i = 0; $i <= 3; $i++) { eb_memcache::do_remove('advertise_group_2_' . $i); eb_memcache::do_remove('advertise_group_3_' . $i); } $json['msg'] = 'success'; die(json_encode($json)); } }
function del_comment() { $json['msg'] = ''; if (!User::is_login() || User::is_block()) { $json['msg'] = "not_perm"; die(json_encode($json)); } $id = (int) Url::get("id"); if ($id) { $comment = DB::fetch("SELECT * FROM comment WHERE id={$id} LIMIT 1"); if (count($comment) == 0) { exit; } if (User::have_permit(ADMIN_ITEM) || User::id() == $comment['receiver_user_id'] && $comment['sender_user_id'] == 0) { EClassApi::update_cache_comment($comment['item_id']); if (DB::delete('comment', 'id=' . $id)) { $subItemId = $comment['sub_item_id']; $itemId = $comment['item_id']; if (MEMCACHE_ON) { //eb_memcache::do_put('update_comment_sub_' . $itemId . '_' . $subItemId, 1); /*ngannv #update_comment_sub tìm thêm trong ajax_item_detai.ajax*/ eb_memcache::do_remove('comment_sub_' . $itemId . '_' . $subItemId); } $countChild = $comment['have_child']; if ($countChild > 0) { DB::delete('comment', 'parent_id=' . $id); } $countChildDel = $countChild + 1; if ($subItemId > 0) { DB::query("UPDATE item_sub SET comment_count=comment_count-{$countChildDel} WHERE id={$subItemId} LIMIT 1"); /*SubItem chưa có cache nên tạm thời truy vấn lại để lấy số comment*/ $subCommentRes = DB::fetch("SELECT comment_count FROM item_sub WHERE id={$subItemId} LIMIT 1"); if (!empty($subCommentRes)) { $json['countCommentSubItem'] = $subCommentRes['comment_count']; } } else { DB::query("UPDATE item SET reply_count=reply_count-{$countChildDel} WHERE id={$itemId} LIMIT 1"); $itemReset = Item::get_item($itemId); $item_memcache = $itemReset; if ($itemReset) { $item_memcache['reply_count'] = $itemReset['reply_count'] - $countChildDel; if (SORL_FILTER_ON) { $solr = new Solr_Search(); $solr->doUpdateItem($itemId); } if (MEMCACHE_ON) { eb_memcache::do_put("item:{$itemId}", $item_memcache); } $caheFile = 'fb_' . $itemReset['id']; StaticCache::delCache($caheFile); $json['countCommentItem'] = $item_memcache['reply_count']; } } if ($comment['parent_id'] > 0) { $item_id = $comment['item_id']; if ($comment['parent_id'] > 0) { DB::query('UPDATE comment SET have_child = have_child-1 WHERE id=' . $comment['parent_id'] . ' '); if ($comment['display'] == 1) { DB::query('UPDATE comment SET display = 1 where item_id = ' . $comment['item_id'] . ' AND parent_id = ' . $comment['parent_id'] . ' AND display = 0 order by id DESC limit 1'); } } } /*Đếm lại commemnt*/ $json['msg'] = EClassApi::getParam('id'); exit(json_encode($json)); } else { $json['msg'] = "unsuccess"; exit(json_encode($json)); } } else { $json['msg'] = "not_perm"; exit(json_encode($json)); } } else { $json['msg'] = "not_perm"; exit(json_encode($json)); } }
function on_submit() { $zone_id = Url::get('zone_id'); $cat_product_id = Url::get('cat_product_id'); $check_filter = Url::get('check_filter'); if (empty($check_filter)) { Url::redirect_current(); } $products_extra_fields_id = ""; foreach ($check_filter as $key => $val) { if ($products_extra_fields_id == '') { $products_extra_fields_id .= $val; } else { $products_extra_fields_id .= "," . $val; } } $sql = "select * from products_extra_fields where `group`=(SELECT extra_fields_group FROM products_category WHERE id={$cat_product_id}) AND published=1 AND id in ({$products_extra_fields_id}) ORDER BY ordering"; $filters = DB::fetch_all($sql); $sql = "select id,filter_name from products_filter where filter_name in (select name from products_extra_fields where `group`=(SELECT extra_fields_group FROM products_category WHERE" . " id={$cat_product_id}) AND published=1 AND id in ({$products_extra_fields_id}) ORDER BY ordering) and cat_product_id={$cat_product_id}"; $re = DB::query($sql); $filters_exit = array(); if ($re) { while ($row = mysql_fetch_array($re)) { $filters_exit[$row['id']] = $row['filter_name']; } } foreach ($filters as $key => $val) { $filter_items = json_decode($val['value']); $filter_value = array(); foreach ($filter_items as $k => $v) { $filter_value[$k]['title'] = $v->name; $filter_value[$k]['value'] = "fin{$val['id']}:{$v->value}"; $filter_value[$k]['description'] = ''; $filter_value[$k]['status'] = 1; $filter_value[$k]['bold'] = 0; $filter_value[$k]['order'] = $k + 1; } $insert_arr['filter_value'] = json_encode($filter_value); if (!in_array($val['name'], $filters_exit)) { $insert_arr['filter_name'] = $val['name']; $insert_arr['zone_id'] = $zone_id; $insert_arr['cat_product_id'] = $cat_product_id; $insert_arr['status'] = 1; $insert_arr['type'] = 1; $insert_arr['filter_type'] = 2; $insert_arr['orders'] = 1; DB::insert('products_filter', $insert_arr); } else { $insert_arr['filter_name'] = $val['name']; DB::update('products_filter', $insert_arr, "filter_name='" . $val['name'] . "'"); } } if (MEMCACHE_ON) { eb_memcache::do_remove('allProductFilter'); eb_memcache::do_remove('ProductFilter_' . $cat_product_id); } Url::redirect_current(); /* $insert_arr=array( 'filter_name'=>trim(Url::get('filter_name','')), 'zone_id'=>Url::get('zone_id',0), 'cat_product_id'=>Url::get('cat_product_id',0), 'filter_type'=>Url::get('filter_type',0), 'status'=>Url::get('status',0), 'description'=>Url::get('description',''), 'lbl_price_search'=>Url::get('lbl_price_search',''), 'interval_price_search'=>Url::get('interval_price_search',0), 'orders'=> Url::get('orders',0), 'link_fix'=>Url::get('link_fix',''), 'type'=>Url::get('type',0), );*/ }
function on_submit() { $insert_arr = array('filter_name' => trim(Url::get('filter_name', '')), 'zone_id' => Url::get('zone_id', 0), 'cat_product_id' => Url::get('cat_product_id', 0), 'filter_type' => Url::get('filter_type', 0), 'status' => Url::get('status', 0), 'description' => Url::get('description', ''), 'lbl_price_search' => Url::get('lbl_price_search', ''), 'interval_price_search' => Url::get('interval_price_search', 0), 'orders' => Url::get('orders', 0), 'link_fix' => Url::get('link_fix', ''), 'type' => Url::get('type', 0)); $file_name = strtolower($_FILES['image']['name']); $upload_path = 'category/'; $max_upload_file_size = 2 * 1024 * 1024; $file_ext = EClassApi::getExtension(strtolower($file_name)); if ($file_name && in_array($file_ext, array('.jpg', '.jpeg', '.gif', '.png')) && filesize($_FILES['image']['tmp_name']) < $max_upload_file_size) { $new_path = $upload_path . date("YmdHis", TIME_NOW) . '_' . substr(EClassApi::make_safe_name(basename($file_name, $file_ext)), 0, 36) . $file_ext; $insert_arr['image'] = $new_path; @EClassApi::ftp_image_put_file($new_path, $_FILES['image']['tmp_name'], IMAGE_SERVER_NO); } $filter_value = array(); $value = Url::get('value'); $title = Url::get('title', array()); $description = Url::get('des_filter'); $image = ''; $status = Url::get('status_filter'); $order = Url::get('order'); $bold = Url::get('bold_filter'); foreach ($title as $key => $val) { if ($val != '') { $filter_value[$key]['title'] = $val; $filter_value[$key]['value'] = $value[$key]; $filter_value[$key]['description'] = $description[$key]; $filter_value[$key]['status'] = $status[$key]; $filter_value[$key]['bold'] = $bold[$key]; $filter_value[$key]['order'] = $order[$key]; $file_name = strtolower($_FILES['image']['name']); $upload_path = 'category/'; $max_upload_file_size = 2 * 1024 * 1024; $file_ext = EClassApi::getExtension(strtolower($file_name)); if ($file_name && in_array($file_ext, array('.jpg', '.jpeg', '.gif', '.png')) && filesize($_FILES['images_filter']['tmp_name'][$key]) < $max_upload_file_size) { $new_path = $upload_path . date("YmdHis", TIME_NOW) . '_' . substr(EClassApi::make_safe_name(basename($file_name, $file_ext)), 0, 36) . $file_ext; $filter_value[$key]['image'] = $new_path; @EClassApi::ftp_image_put_file($new_path, $_FILES['images_filter']['tmp_name'][$key], IMAGE_SERVER_NO); } } } $insert_arr['filter_value'] = json_encode($filter_value); if ($insert_arr['filter_name'] == '') { Url::redirect_current(); } DB::insert('products_filter', $insert_arr); if (MEMCACHE_ON) { eb_memcache::do_remove('allProductFilter'); eb_memcache::do_remove('ProductFilter_' . $insert_arr['cat_product_id']); } Url::redirect_current(); }
static function remove_cache() { eb_memcache::do_remove(PREFIX_CONFIG_CACHE_COLLECTION); return true; }
<?php require_once '../../../core/config.php'; //System Config... require_once '../../../core/Init.php'; //System Init... require_once '../../../core/DB.php'; //System Api... $token = Url::get('t', ''); $user = eb_memcache::do_get($token); if (!$user) { Util::requestToMobile(false, 19); } $user = eb_memcache::do_remove($token); // $_SESSION['token']=''; User::LogOut(); Util::requestToMobile(true, 35);
static function update_category($data, $conds) { $data = NewsCategory::safe_data($data); $id = DB::update('news_category', $data, $conds); eb_memcache::do_remove('news_category/all'); if (empty($id)) { return false; } return $id; }
function category_new_delete() { $id = Url::get('id'); echo DB::update('products_category', array('published' => -1), "id={$id}"); eb_memcache::do_remove('categories_new'); exit; }
function remove_favourite() { $json = array(); if (!User::is_login()) { $json['msg'] = 'no_login'; die(json_encode($json)); } $uid = User::id(); $fid = EClassApi::getParam('fid'); DB::delete('account_food_favourites', 'uid=' . $uid . ' AND fid=' . $fid); // get count like of food $sql = 'SELECT count_like, rid FROM food_res WHERE id = ' . $fid . ' ORDER BY id DESC LIMIT 0, 1'; $result = DB::query($sql); $row = mysql_fetch_assoc($result); mysql_free_result($result); $count_like = intval($row['count_like']) - 1; $update_row = array('count_like' => $count_like); DB::update_id('food_res', $update_row, $fid); if (MEMCACHE_ON) { eb_memcache::do_remove('list_favourites_' . $uid); eb_memcache::do_remove('supplier_food_' . $row['rid']); eb_memcache::do_remove('supplier_spec_food_' . $row['rid']); } $json['fid'] = $fid; $json['msg'] = 'success'; die(json_encode($json)); }
function editItemMobi() { $itemId = Url::get('item_id', ''); $status = Url::get('status'); $json = array(); if (!$itemId) { $json['msg'] = "error_item"; die(json_encode($json)); } $data = array('status' => $status); eb_memcache::do_remove("item:" . $itemId); DB::update('item', $data, "id={$itemId}"); $json['msg'] = "success"; die(json_encode($json)); }
static function delCache($cache_file = '', $ext = 'html') { if ($cache_file != '') { if (MEMCACHE_ON) { eb_memcache::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) { eb_memcache::do_remove("scache:{$file_path}"); } if (DEBUG) { echo "Deleted HTML cache file: {$cache_file}"; } exit; } }
static function getUser($user_id, $update_cache = false, $delcache = false) { $user = array(); /*if($user_id){ $subDir='user/'.floor($user_id/1000); $user = ECCache::cache('SELECT * FROM account 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]; }*/ if ($user_id) { if (MEMCACHE_ON) { if ($delcache || $update_cache) { //Xoá cache if (MEMCACHE_ON) { eb_memcache::do_remove("user:$user_id"); } return true; } else { if (MEMCACHE_ON) { $user = eb_memcache::do_get("user:$user_id"); } if (!$user) { $sql = "SELECT * FROM account 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) { eb_memcache::do_put("user:$user_id", $user); } } } } else { //cache file //echo "ddđ"; exit(); $subDir = 'user/' . floor($user_id / 1000); $user = ECCache::cache('SELECT * FROM account WHERE id=' . (int)$user_id . ' LIMIT 0,1', __LINE__ . __FILE__, 2592000, intval($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; }
static function getFields($table_name, $call_pos = '') { $fields = false; if (MEMCACHE_ON && isset($_GET['delcache']) && $_GET['delcache'] == 1) { eb_memcache::do_remove('fields_' . $table_name); } if (MEMCACHE_ON && !isset($_GET['delcache'])) { $fields = eb_memcache::do_get('fields_' . $table_name); } if (!$fields) { $q_select = "SHOW COLUMNS FROM {$table_name}"; self::query($q_select, $call_pos); if (self::$db_result) { while ($r = mysql_fetch_assoc(self::$db_result)) { $fields[$r['Field']]['key'] = $r['Key']; $fields[$r['Field']]['extra'] = $r['Extra']; $fields[$r['Field']]['name'] = $r['Field']; $fields[$r['Field']]['data'] = ''; $strLength = strlen($r['Type']); $len = stripos($r['Type'], '(') - $strLength; $fields[$r['Field']]['type'] = substr($r['Type'], 0, $len); $fields[$r['Field']]['type_length'] = substr($r['Type'], stripos($r['Type'], '(') + 1, -1); } if (MEMCACHE_ON) { eb_memcache::do_put('fields_' . $table_name, $fields, 0); } } } $curTable['fields'] = $fields; return $curTable; }