示例#1
0
 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;
     }
 }
示例#2
0
 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();
 }
示例#3
0
 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);
     }
 }
示例#4
0
    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;
}