Exemplo n.º 1
0
 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;
     }
 }
Exemplo n.º 2
0
 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();
     }
 }
Exemplo n.º 3
0
 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();
     }
 }
Exemplo n.º 4
0
 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);
 }
Exemplo n.º 5
0
 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));
     }
 }
Exemplo n.º 6
0
    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));
        }
    }
Exemplo n.º 7
0
 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),
     
             );*/
 }
Exemplo n.º 8
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();
 }
Exemplo n.º 9
0
 static function remove_cache() {
     eb_memcache::do_remove(PREFIX_CONFIG_CACHE_COLLECTION);
     return true;
 }
Exemplo n.º 10
0
<?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);
Exemplo n.º 11
0
 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;
 }
Exemplo n.º 12
0
 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;
 }
Exemplo n.º 13
0
 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));
 }
Exemplo n.º 14
0
 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));
 }
Exemplo n.º 15
0
 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;
     }
 }
Exemplo n.º 16
0
Arquivo: User.php Projeto: hqd276/bigs
    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;
    }
Exemplo n.º 17
0
Arquivo: DB.php Projeto: hqd276/bigs
 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;
 }