function show_action() { $this->view->page=front::get('page')?front::get('page'):1; $this->pagesize=config::get('list_pagesize'); $limit=(($this->view->page-1)*$this->pagesize).','.$this->pagesize; $special=new special(); $this->view->special=$special->getrow('spid='.front::get('spid')); $this->view->archive['title'] = $this->view->special['title']; $this->view->pages=true; $archive=new archive(); $archives=$archive->getrows('spid='.front::get('spid'),$limit); foreach($archives as $order=>$arc) { $archives[$order]['url']=archive::url($arc); $archives[$order]['catname']=category::name($arc['catid']); $archives[$order]['caturl']=category::url($arc['catid']); $archives[$order]['adddate']= sdate($arc['adddate']); $archives[$order]['stitle']= strip_tags($arc['title']); } $this->view->archives=$archives; $this->view->record_count=$archive->rec_count('spid='.front::get('spid')); front::$record_count=$this->view->record_count; $this->view->spid=front::get('spid'); if (front::get('t') == 'wap') { $this->out('wap/special_show.html'); return; } }
function list_action() { $this->view->page=front::get('page') ?front::get('page') : 1; $this->pagesize=config::get('list_pagesize'); $limit=(($this->view->page -1) * $this->pagesize).','.$this->pagesize; $area=new area(); $where='1'; if (front::get('province_id')) $where.=' and id='.front::get('province_id'); if (front::get('city_id')) $where.=' and id='.front::get('city_id'); if (front::get('section_id')) $where.=' and id='.front::get('section_id'); if (front::get('id')) $where.=' and id='.front::get('id'); $this->view->area=$area->getrow($where); $archive=new archive(); $where='1'; if (front::get('province_id')) $where.=' and province_id='.front::get('province_id'); if (front::get('city_id')) $where.=' and city_id='.front::get('city_id'); if (front::get('section_id')) $where.=' and section_id='.front::get('section_id'); if (front::get('id')) $where.=' and section_id='.front::get('id').' or city_id='.front::get('id').' or province_id='.front::get('id'); $archives=$archive->getrows($where,$limit,'listorder,aid desc'); foreach ($archives as $order=>$arc) { $archives[$order]['url']=archive::url($arc); $archives[$order]['catname']=category::name($arc['catid']); $archives[$order]['caturl']=category::url($arc['catid']); $archives[$order]['adddate']=sdate($arc['adddate']); $archives[$order]['stitle']=strip_tags($arc['title']); } $this->view->pages=true; if(front::get('id')!='') { $this->view->areaid=front::get('id'); }elseif(front::get('province_id')!='') { $this->view->areaid=front::get('province_id'); }elseif(front::get('city_id')!='') { $this->view->areaid=front::get('city_id'); }elseif(front::get('section_id')!='') { $this->view->areaid=front::get('section_id'); } $this->view->archive['title'] = area::name($this->view->areaid); $this->view->archives=$archives; $this->view->record_count=$archive->rec_count($where); front::$record_count=$this->view->record_count; if (front::get('t') == 'wap') { $this->out('wap/area_list.html'); return; } $this->render(); }
function list_action() { $this->view->page=front::get('page') ?front::get('page') : 1; $this->pagesize=config::get('list_pagesize'); $limit=(($this->view->page -1) * $this->pagesize).','.$this->pagesize; $type=new type(); $types=array(); $types=$type->sons(front::get('typeid')); $types[]=front::get('typeid'); $where='typeid in ('.implode(',',$types).') AND checked=1 AND state=1'; $this->view->type=$type->getrow('typeid='.front::get('typeid')); $this->view->pages=@$this->view->type['ispages']; $this->view->typeid=front::get('typeid'); $archive=new archive(); $archives=$archive->getrows($where,$limit,'listorder desc,aid desc'); foreach ($archives as $order=>$arc) { $archives[$order]['url']=archive::url($arc); $archives[$order]['typename']=type::name($arc['typeid']); $archives[$order]['typeurl']=type::url($arc['typeid']); $archives[$order]['adddate']=sdate($arc['adddate']); $archives[$order]['stitle']=strip_tags($arc['title']); $archives[$order]['sthumb'] = @strstr($arc['thumb'], "http://") ? $arc['thumb'] : config::get('base_url') . '/' . $arc['thumb']; } $this->view->archives=$archives; $this->view->record_count=$archive->rec_count($where); front::$record_count=$this->view->record_count; $this->type=type::getInstance(); if (front::get('t') == 'wap') { $this->out('wap/type_list.html'); return; } $template=$this->type->type[front::get('typeid')]['template']; if ($template&&file_exists(TEMPLATE.'/'.$this->view->_style.'/'.$template)) $this->out($template); else { $tpl=type::gettemplate($this->view->typeid); if (type::getishtml($this->view->typeid)) { $path=ROOT.type::url($this->view->typeid,@front::$get['page']>1 ?front::$get['page'] : null); if (!preg_match('/\.[a-zA-Z]+$/',$path)) $path=rtrim(rtrim($path,'/'),'\\').'/index.html'; $this->cache_path=$path; } $this->out($tpl); } }
function make_list_action() { $servip = gethostbyname($_SERVER['SERVER_NAME']); if($servip==front::ip()&&front::get('ishtml')==1){ }else{ chkpw('cache_category'); } header('Cache-control: private, must-revalidate'); @set_time_limit(0); if (!front::post('submit')) return; $case = 'archive'; $act = 'list'; $_GET = array('case' => $case, 'act' => $act); $front = new front(); front::$admin = false; front::$html = true; front::$rewrite = false; $case = $case . '_act'; $case = new $case(); $case->init(); $method = $act . '_action'; $totalpage = 100; $time_start = time::getTime(); $category = category::getInstance(); $categories = $category->sons(front::post('catid')); $categories[] = front::post('catid'); $cpage = 0; $archive_all = new archive(); foreach ($categories as $key => $catid) { $new_categories = $category->sons($catid); $new_categories[] = $catid; $archive_num[$catid] = $archive_all->rec_count('catid in(' . implode(',', $new_categories) . ') and checked=1 and `state`=1'); } $i = 0; foreach ($categories as $catid) { if ($catid == 0) continue; if (!category::getishtml($catid)) continue; front::$get['catid'] = $catid; $case->view->categories = category::getpositionlink2($catid); $_categories = $category->sons($catid); $_categories[] = $catid; $case->view->ifson = category::hasson($catid); for (front::$get['page'] = 1;; front::$get['page']++) { $view = $case->view; $_catpage = category::categorypages($catid); if ($_catpage) { $pagesize = $_catpage; } else { $pagesize = config::get('list_pagesize'); } $limit = ((front::$get['page'] - 1) * $pagesize) . ',' . $pagesize; $archive = new archive(); $tops = array(); $tops = $archive->getrows("checked=1 AND state=1 AND toppost!=0",0,'toppost DESC,listorder=0,listorder ASC,aid DESC'); if (@$category->category[$catid]['includecatarchives']) { $case->view->archives = $archive->getrows('catid in(' . implode(',', $_categories) . ') and checked=1 and `state`=1', $limit, 'listorder=0,`listorder` asc,`adddate` DESC'); } else { $case->view->archives = $archive->getrows("catid=$catid and checked=1 and `state`=1", $limit, 'listorder=0,`listorder` asc,`adddate` DESC'); } $case->view->page = front::$get['page']; if(is_array($tops) && !empty($tops)){ foreach($tops as $order => $arc){ if($arc['toppost'] == 3){ $tops[$order]['title'] = "[全站置顶]".$arc['title']; } if($arc['toppost'] == 2){ $subcatids = $category->sons($arc['catid']); if($arc['catid'] != front::get('catid') && !in_array(front::get('catid'), $subcatids)){ unset($tops[$order]); }else{ $tops[$order]['title'] = "[栏目置顶]".$arc['title']; } } } $case->view->archives = array_merge($tops , $case->view->archives); } foreach ($case->view->archives as $order => $arc) { $articles = $arc; if (!$arc['introduce']) $arc['introduce'] = cut($arc['content'], 200); $articles['url'] = archive::url($arc); $articles['catname'] = category::name($arc['catid']); $articles['caturl'] = category::url($arc['catid']); $articles['image'] = @strstr($arc['image'], "http://") ? $arc['image'] : config::get('base_url') . '/' . $arc['image']; $articles['strgrade'] = archive::getgrade($arc['grade']); $articles['adddate'] = sdate($arc['adddate']); $articles['buyurl'] = url('archive/orders/aid/' . $arc['aid']); $articles['stitle'] = strip_tags($arc['title']); if(strtolower(substr($arc['thumb'],0,7)) == 'http://'){ $articles['sthumb'] = $arc['thumb']; }else{ $articles['sthumb'] = config::get('base_url').'/'.$arc['thumb']; } if($arc['strong']) { $articles['title'] = '<strong>'.$arc['title'].'</strong>'; } if($arc['color']) { $articles['title'] = '<font style="color:'.$arc['color'].';">'.$articles['title'].'</font>'; } $case->view->archives[$order] = $articles; } if (!isset($page_count)) { front::$record_count = $case->view->record_count = $archive_num[$catid]; $case->view->page_count = ceil($case->view->record_count / $pagesize); $page_count = $case->view->page_count; } $case->view->catid = $catid; $case->view->topid = category::gettopparent($catid); $case->view->parentid = $category->getparent($catid); $case->view->pages = @$category->category[$catid]['ispages']; if (front::get('page') > 1 && front::get('page') > $case->view->page_count) { $page_count = null; break; } if (front::get('page') > 1 && !@$category->category[$catid]['ispages']) { $page_count = null; break; } $template = @$category->category[$catid]['template']; if ($template && file_exists(TEMPLATE . '/' . $case->view->_style . '/' . $template)) $tpl = $template; else $tpl = category::gettemplate($case->view->catid); $content = $case->fetch($tpl); $path = ROOT . category::url($catid, front::$get['page'] > 1 ? front::$get['page'] : null, true); if (!preg_match('/\.[a-zA-Z]+$/', $path)) $path = rtrim(rtrim($path, '/'), '\\') . '/index.html'; $path = rtrim($path, '/'); $path = rtrim($path, '\\'); $path = str_replace('//', '/', $path); tool::mkdir(dirname($path)); file_put_contents($path, $content); $indexpath = dirname($path) . '/index.html'; if (front::$get['page'] == 1 && $indexpath != ROOT . '/index.html') { file_put_contents($indexpath, $content); $cpage++; } $cpage++; $case->view = $view; $case->view->archives = null; } $i++; } if ($cpage > 0) front::flash("成功生成html <b>$cpage</b> 页!"); else front::flash("没有生成html!"); front::$admin = true; }
function index_archive($catid) { $index_archive = new archive(); $index_category = category::getInstance(); $index_view_category = $index_category->category; if (front::get('page')) $page = front::get('page'); else $page = 1; $index_view_page = $page; front::check_type($page); $_catpage = category::categorypages($catid); if ($_catpage) { $index_pagesize = $_catpage; } else { $index_pagesize = config::get('list_pagesize'); } front::check_type($index_pagesize); $index_view_categorys = category::getpositionlink2($catid); $topid = category::gettopparent($catid); if (!isset($index_category->category[$catid]) || !isset($index_category->category[$topid])) { $this->out('message/error.html'); } $limit = (($index_view_page - 1) * $index_pagesize) . ',' . $index_pagesize; $categories = array(); if (@$index_category->category[$catid]['ispages']) $categories = $index_category->sons($catid); $categories[] = $catid; $index_view_pages = @$index_category->category[$catid]['ispages']; if (!rank::catget($catid, $index_view_usergroupid)) $this->out('message/error.html'); $order = "`listorder` asc,`adddate` DESC"; if (@$index_category->category[$catid]['includecatarchives']) $articles = $index_archive->getrows('catid in (' . implode(',', $categories) . ') and checked=1', $limit, $order); else $articles = $index_archive->getrows('catid=' . $catid . ' and checked=1', $limit, $order); if (!is_array($articles)) { $this->out('message/error.html'); } foreach ($articles as $order => $arc) { $articles[$order]['url'] = archive::url($arc); $articles[$order]['catname'] = category::name($arc['catid']); $articles[$order]['caturl'] = category::url($arc['catid']); $articles[$order]['adddate'] = sdate($arc['adddate']); $articles[$order]['stitle'] = strip_tags($arc['title']); $articles[$order]['strgrade'] = archive::getgrade($arc['grade']); } $index_view_archives = $articles; if (@$index_category->category[$catid]['includecatarchives']) $index_view_record_count = $index_archive->rec_count('catid in(' . implode(',', $categories) . ')'); else $index_view_record_count = $index_archive->rec_count('catid=' . $catid); front::$record_count = $index_view_record_count; return $index_view_archives; }