Example #1
0
 public function update($cachename)
 {
     global $_G;
     $sys = true;
     //$syn = false,代表不写入缓存,每次都读取
     if (strpos($cachename, '_cate') !== false) {
         $tmp = explode('_', $cachename);
         $cate = new cate($tmp[0], $tmp[0]);
         $cache_data = $cate->get_cate();
         $this->set($cachename, $cache_data, true, 1);
         return $cache_data;
     }
     switch ($cachename) {
         case 'all_channel':
             $all_channel = DB::fetch_all("SELECT * FROM " . DB::table('channel') . " ORDER BY `sort` DESC,fid ASC ", 'fid');
             $tmp = array();
             foreach ($all_channel as $k => $v) {
                 $v[org_url] = $v[url];
                 $v[url] = '/index.php?fid=' . $v[fid];
                 $tmp['k' . $k] = $v;
             }
             $cache_data = $tmp;
             break;
         case 'channels':
             $all_channel = DB::fetch_all("SELECT * FROM " . DB::table('channel') . " ORDER BY `sort` DESC,fid ASC ", 'fid');
             $channel = array();
             //一级
             foreach ($all_channel as $k => $v) {
                 if ($v[fup] == 0) {
                     //$v[count] = getcount('goods'," AND fid = ".$v[fid]);
                     $v[org_url] = $v[url];
                     $v[url] = '/index.php?fid=' . $v[fid];
                     $channel[$k] = $v;
                 }
             }
             //二级
             $tmps = $all_channel;
             foreach ($channel as $k => $v) {
                 $sub = array();
                 $fid_in = array();
                 unset($tmps[$v[fid]]);
                 foreach ($all_channel as $kk => $vv) {
                     if ($vv['fup'] == $k) {
                         //$vv[count] = getcount('goods'," AND fid = ".$vv[fid]);
                         $vv[org_url] = $vv[url];
                         $vv[url] = '/index.php?fid=' . $vv[fid];
                         $sub[$kk] = $vv;
                         //二级栏目
                         $fid_in2 = array();
                         unset($tmps[$vv[fid]]);
                         foreach ($all_channel as $k3 => $v3) {
                             if ($v3['fup'] == $kk) {
                                 $v3[org_url] = $v3[url];
                                 $v3[url] = '/index.php?fid=' . $v3[fid];
                                 //$v3[count] = getcount('goods'," AND fid = ".$v3[fid]);
                                 unset($tmps[$v3[fid]]);
                                 $sub[$kk]['sub'][$k3] = $v3;
                                 //三级栏目
                                 $fid_in2[] = $v3['fid'];
                                 $fid_in[] = $v3['fid'];
                                 $sub[$kk]['sub'][$k3]['fid_in'] = $v3['fid'];
                             }
                         }
                         $fid_in[] = $vv['fid'];
                         $fid_in2[] = $vv['fid'];
                         $sub[$kk]['fid_in'] = implode(',', $fid_in2);
                     }
                 }
                 $fid_in[] = $v['fid'];
                 $channel[$k]['fid_in'] = implode(',', $fid_in);
                 if ($sub) {
                     $channel[$k]['sub'] = $sub;
                 }
             }
             if (count($tmps) > 0) {
                 foreach ($tmps as $k => $v) {
                     if (!array_key_exists($k)) {
                         $v[fid_in] = $v[fid];
                         $channel[$k] = $v;
                     }
                 }
             }
             $cache_data = $channel;
             break;
         case 'setting':
             set_setting('time', TIMESTAMP);
             $st = DB::fetch_all("SELECT * FROM " . DB::table('setting'));
             foreach ($st as $k => $v) {
                 $setting[$v['name']] = $v['value'];
             }
             if ($setting['qq']) {
                 $setting['qq'] = explode(',', $setting['qq']);
             }
             if ($setting['flag']) {
                 $setting['flag'] = explode(',', $setting['flag']);
                 $setting['flag'] = array_filter($setting['flag']);
             }
             if ($setting['shop_tag']) {
                 $setting['shop_tag'] = explode(',', $setting['shop_tag']);
                 $setting['shop_tag'] = array_filter($setting['shop_tag']);
             }
             if ($setting['goods_tag']) {
                 $setting['goods_tag'] = explode(',', $setting['goods_tag']);
                 $setting['goods_tag'] = array_filter($setting['goods_tag']);
             }
             if ($setting['article_tag']) {
                 $setting['article_tag'] = explode(',', $setting['article_tag']);
                 $setting['article_tag'] = array_filter($setting['article_tag']);
             }
             if ($setting['filter_field']) {
                 $setting['filter_field'] = explode(',', $setting['filter_field']);
             }
             if ($setting['shiyong_status']) {
                 $setting['shiyong_status'] = explode(',', $setting['shiyong_status']);
             }
             if ($setting['duihuan_status']) {
                 $setting['duihuan_status'] = explode(',', $setting['duihuan_status']);
             }
             if ($setting['shiyong_tags']) {
                 $setting['shiyong_tags'] = explode(',', $setting['shiyong_tags']);
             }
             if ($setting['activity_tags']) {
                 $setting['activity_tags'] = explode(',', $setting['activity_tags']);
             }
             if ($setting['style_tags']) {
                 $setting['style_tags'] = explode(',', $setting['style_tags']);
             }
             if ($setting['movie_tags']) {
                 $setting['movie_tags'] = explode(',', $setting['movie_tags']);
             }
             if ($setting['zj_tags']) {
                 $setting['zj_tags'] = explode(',', $setting['zj_tags']);
             }
             if ($setting['shishang_flag']) {
                 $setting['shishang_flag'] = explode(',', $setting['shishang_flag']);
             }
             if ($setting['tags']) {
                 $setting['tags'] = explode(',', $setting['tags']);
                 $tags = array();
                 foreach ($setting['tags'] as $k => $v) {
                     $uname = urlencode_utf8($v);
                     $tags[$uname] = $v;
                 }
                 $setting['tags'] = $tags;
             }
             if ($setting['sign_jf']) {
                 $setting['sign_jf'] = (array) dunserialize($setting['sign_jf']);
             }
             if ($setting['sign_tb']) {
                 $setting['sign_tb'] = (array) dunserialize($setting['sign_tb']);
             }
             if ($setting['syn_table']) {
                 $setting['syn_table'] = explode(',', $setting['syn_table']);
             }
             if ($setting['syn_domain']) {
                 $setting['syn_domain'] = explode("\r\n", $setting['syn_domain']);
             }
             if ($setting['uz_tag']) {
                 $setting['uz_tag'] = explode(',', $setting['uz_tag']);
             }
             if ($setting['uz_type']) {
                 $setting['uz_type'] = explode(',', $setting['uz_type']);
             }
             $setting['time'] = TIMESTAMP;
             if ($setting['email']) {
                 $setting['email'] = (array) dunserialize($setting['email']);
             }
             $cache_data = $setting;
             break;
         case 'friend_link':
             //友情链接
             $friend_link = DB::fetch_all("SELECT * FROM " . DB::table('friend_link') . " ORDER BY sort DESC,id DESC", 'id');
             foreach ($friend_link as $k => $v) {
                 $friend_link[$k]['dateline'] = dgmdate($v['dateline'], 'u');
             }
             $cache_data = $friend_link;
             break;
         case 'pics_type':
             $cache_data = DB::fetch_all("SELECT * FROM " . DB::table('pics_type') . " ORDER BY id DESC", 'id');
             break;
         case 'pics':
             $pics_type = DB::fetch_all("SELECT * FROM " . DB::table('pics_type') . " ORDER BY id DESC", 'id');
             $pics_tmp = DB::fetch_all("SELECT * FROM " . DB::table('pics') . " ORDER BY sort ASC,id DESC ", 'id');
             $pics = array();
             foreach ($pics_type as $k => $v) {
                 $pics[$k] = array();
                 foreach ($pics_tmp as $k1 => $v1) {
                     $v1['org_dateline'] = $v1['dateline'];
                     $v1['dateline'] = dgmdate($v1['dateline'], 'u');
                     if ($v1['fup'] == $k) {
                         $pics[$k][$k1] = $v1;
                     }
                 }
             }
             $cache_data = set_key($pics);
             break;
         case 'ad':
             $ad = DB::fetch_all("SELECT * FROM " . DB::table('ad') . " ORDER BY id DESC ", 'id');
             foreach ($ad as $k => $v) {
                 $ad[$k]['org_dateline'] = $v[dateline];
                 $ad[$k]['dateline'] = dgmdate($v[dateline], 'u');
                 $ad[$k]['start_time'] = dgmdate($v[start_time], 'dt');
                 $ad[$k]['end_time'] = dgmdate($v[end_time], 'dt');
                 $ad[$k]['show'] = false;
                 $ad[$k]['show_html'] = '';
                 //先判断是否在显示时间内
                 $show = 0;
                 if ($v['start_time'] < TIMESTAMP && ($v['end_time'] == 0 || $v['end_time'] > TIMESTAMP)) {
                     $show = 1;
                 }
                 if ($show == true && $v['hide'] == 0) {
                     $html = '';
                     if ($v['type'] == 1) {
                         $html = $v['content'];
                     } elseif ($v['type'] == 2) {
                         $width = $v['width'] > 0 ? "width='" . $v['width'] . "'" : '';
                         $height = $v['height'] > 0 ? "height='" . $v['height'] . "'" : '';
                         $img = "<img class='ads_" . $k . "' src='" . $v['picurl'] . "' " . $width . "" . $height . " />";
                         if ($v['url']) {
                             $target = $v['target'] == 1 ? "target='_blank'" : '';
                             $html = "<a href='" . $v['url'] . "' " . $target . " >" . $img . "</a>";
                         } else {
                             $html = $img;
                         }
                     } else {
                         $html = $v['html'];
                     }
                     if (!empty($html)) {
                         $ad[$k]['show'] = true;
                         $ad[$k]['show_html'] = $html;
                     } else {
                         $ad[$k]['show_html'] = '';
                     }
                 }
             }
             $cache_data = set_key($ad);
             break;
         case 'goods_cate':
             $cate = new cate('goods', 'goods');
             $cache_data = $cate->get_cate();
             break;
         case 'shop':
             $shop = DB::fetch_all("SELECT * FROM " . DB::table('shop') . " ORDER BY sort DESC,id DESC", 'id');
             foreach ($shop as $k => $v) {
                 $shop[$k] = parse('shop', $v);
             }
             $cache_data = $shop;
             break;
         case 'shop_cate':
             $cate = new cate('shop', 'shop');
             $cache_data = $cate->get_cate();
             break;
         case 'prize':
             $rs = DB::fetch_all("SELECT * FROM " . DB::table('prize') . " ORDER BY sort DESC ,id DESC ", 'id');
             foreach ($rs as $k => $v) {
                 //统计每个分类,还未中奖的中奖码..
                 $rs[$k][num] = $rs[$k][count] = getcount('ticket', "prizeid = " . $v[id] . " AND is_use=0");
                 $rs[$k][total] = getcount('ticket', "prizeid = " . $v[id]);
             }
             $cache_data = $rs;
             break;
         case 'table':
             $cache_data = update_table();
             break;
         case 'group':
             $rs = DB::fetch_all("SELECT * FROM " . DB::table('group') . " ORDER BY id ASC", 'id');
             foreach ($rs as $k => $v) {
                 $rs[$k][power] = dunserialize($v['power']);
             }
             $cache_data = $rs;
             break;
         case 'rank':
             $rs = DB::fetch_all("SELECT * FROM " . DB::table('rank') . " ORDER BY id ASC", 'id');
             $cache_data = $rs;
             break;
         default:
             $sys = false;
             $cache_data = '';
             break;
     }
     if ($sys == true) {
         $this->set($cachename, $cache_data, true, 1);
     }
     return $cache_data;
 }
Example #2
0
 function cate_del()
 {
     $cate = new cate(__CLASS__);
     $cate->del();
 }
Example #3
0
 function cate_del()
 {
     require_once libfile('class/cate');
     $cate = new cate(__CLASS__, __CLASS__);
     $cate->del();
 }
Example #4
0
 public function cate($id)
 {
     if (Request::ajax()) {
         $limit = Request::get('limit');
         $data = Request::get('data');
         $sort = Request::get('sort');
         $list = Request::get('list');
         $model = book::where('cate_id', $id)->where('publishing_date', '<', date('y-m-d'))->orderBy('publishing_date', 'DESC');
         $model = HomeController::sort($model, $sort)->paginate($limit);
         return view('front.partials.list_book_item_info_page', ['data' => $model, 'list' => $list]);
     }
     $bestsellers = book::where('publishing_date', '<', date('y-m-d'))->orderBy('qty_saled', 'DESC')->paginate(5);
     $cate_name = cate::where('id', $id)->first()->name;
     return view('front.xemthem', ['data' => $bestsellers, 'name' => $cate_name]);
 }