예제 #1
0
 function show_action() {
     $tagname=urldecode(front::get('tag'));
     if(preg_match('/union/i',$tagname) || preg_match('/"/i',$tagname) ||preg_match('/\'/i',$tagname)){
     	exit('非法参数');
     }
     $tag=new tag();
     $tag=$tag->getrow('tagname="'.$tagname.'"');
     $tagid=$tag['tagid'];
     $archives=array();
     if($tagid) {
         $arctag=new arctag();
         if(front::get('page')) $page=front::get('page');
         else $page=1;
         $this->view->page=$page;
         $this->view->pagesize=config::get('list_pagesize');
         $limit=(($this->view->page-1)*$this->view->pagesize).','.$this->view->pagesize;
         $this->view->record_count=$arctag->rec_count('tagid='.$tagid);
         if($this->view->record_count>$this->view->pagesize)
             $this->view->pages=true;
         front::$record_count=$this->view->record_count;
         $arctags=$arctag->getrows('tagid='.$tagid,$limit);
         $arcids=array();
         foreach($arctags as $arctag) {
             $arcids[]=$arctag['aid'];
         }
         $archive=new archive();
         $archives=$archive->getrows('aid in ('.implode(',',$arcids).')',null,'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']);
         }
     }
     else echo lang('标签信息不存在');
     $this->view->tag=$tagname;
     $this->view->archive['title'] = $tagname;
     $this->view->archives=$archives;
     if (front::get('t') == 'wap') {
     	echo $this->fetch('wap/tag_show.html');
     	return;
     }
     $this->render();
 }
예제 #2
0
 function make_tag_action() {
 	chkpw('cache_tag');
 	header('Cache-control: private, must-revalidate');
 	set_time_limit(0);
 	if(!front::$get['tag']){
 		front::$get['tag'] = front::$post['tag'];
 	}
 	if(!front::$get['submit']){
 		front::$get['submit'] = front::$post['submit'];
 	}
 	$otag=new tag();
 	$tags=$otag->getrows("",0);
 	//var_dump($tags);
 	$tags = $this->view->hottags = array_to_hashmap($tags,'tagid','tagname');
 	
 	if (!front::get('submit'))
 		return;
 	if(!config::get('tag_html')||!front::$get['tag']){
 		front::flash("没有设置生成html!");
 		front::redirect(front::$from);
 		return;
 	}
 	$tagid = front::$get['tag'];
 	$tag = $tags[$tagid];
 	$pinyin = pinyin::get($tag);
 	
 	$arctag=new arctag();
 	$archive_num=$arctag->rec_count('tagid='.$tagid);
 	front::$record_count = $archive_num;
 	$pagesize = config::get('list_pagesize');
 	front::$pages = $pagesize;
 	$cpage = ceil($archive_num/$pagesize);
 	$j=0;
 	for($i=1;$i<=$cpage;$i++){
 		$path = 'tags/'.$pinyin.'_'.$tagid.'_'.$i.'.html';
 		tool::mkdir(dirname($path));
 		$data = file_get_contents(config::get('site_url').'index.php?case=tag&act=show&tag='.urlencode($tag).'&page='.$i);
 		if(file_put_contents($path, $data)){
 			$j++;
 		}
 	}
 	if ($j > 0){
 		front::flash("成功生成html <b>$j</b> 页!");
 		front::redirect(front::$from);
 	}else{
 		front::flash("没有数据生成html!");
 		front::redirect(front::$from);
 	}
 }