| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 | 
							- <?php
 
- /**
 
-  *
 
-  * SearchAction.class.php (前台搜索功能)
 
-  *
 
-  */
 
- if(!defined("Ainaphp")) exit("Access Denied");
 
- class SearchAction extends BaseAction
 
- {
 
- 	function _initialize()
 
-     {
 
- 		parent::_initialize();
 
-     }
 
-     public function index()
 
-     {
 
- 		//搜索
 
- 		$_REQUEST['id'] = $catid =  intval($_REQUEST['id']);
 
- 		$p= max(intval($_REQUEST[C('VAR_PAGE')]),1);
 
- 		$_REQUEST['keyword'] = $keyword = get_safe_replace($_REQUEST['keyword']);
 
- 		$_REQUEST['module'] = $module =  get_safe_replace($_REQUEST['module']);
 
- 		$module =  $module ? $module  : 'Article' ;
 
- 		$this->assign($_REQUEST);
 
- 		$this->assign('bcid',0);
 
- 		$where = " status=1 ";
 
- 		if(APP_LANG){
 
- 			$lang = LANG_NAME;
 
- 			$langid= LANG_ID;
 
- 			$where .=" and lang= $langid";
 
- 			$this->assign('lang',$lang);
 
- 			$this->assign('langid',$langid);
 
- 		}
 
- 		if($catid){
 
- 			$cat = $this->categorys[$catid];
 
- 			$bcid = explode(",",$cat['arrparentid']);
 
- 			$bcid = $bcid[1];
 
- 			if($bcid == '') $bcid=intval($catid);
 
- 			if(empty($module))$module=$cat['module'];
 
- 			unset($cat['id']);
 
- 			$this->assign($cat);
 
- 			$cat['id']=$catid;
 
- 			$this->assign('catid',$catid);
 
- 			$this->assign('bcid',$bcid);
 
- 			if($cat['child']){
 
- 				$where .= " and catid in(".$cat['arrchildid'].")";
 
- 			}else{
 
- 				$where .=  " and catid=".$catid;
 
- 			}
 
- 		}
 
- 		$seo_title = $cat['title'] ? $cat['title'] : $cat['catname'];
 
- 		$this->assign ('seo_title',$keyword.' '.$seo_title);
 
- 		$this->assign ('seo_keywords',$keyword.$cat['keywords']);
 
- 		$this->assign ('seo_description',$keyword.$cat['description']);
 
- 		if($keyword){
 
- 			if(strstr($keyword,'or')){
 
- 				$keydo = ' or ';
 
- 				$keyword_arr= explode('or',$keyword);
 
- 			}elseif(strstr($keyword,' ')){
 
- 				$keydo = ' AND ';
 
- 				$keyword_arr= explode(' ',$keyword);
 
- 			}
 
- 			if(count($keyword_arr)>1){
 
- 				foreach($keyword_arr as $key =>$keywordz){
 
- 					$keyword_arr[$key] = ' title like "%'.trim($keywordz).'%" ';
 
- 				}
 
- 				$where .= ' AND ('.implode($keydo,$keyword_arr).')';
 
- 			}else{
 
- 				$where .= ' AND title like "%'.$keyword.'%" ';
 
- 			}
 
- 		}
 
- 		$this->dao= M($module);
 
- 		$count = $this->dao->where($where)->count();
 
- 		$this->assign('count',$count);
 
- 		if($count){
 
- 			import ( "@.ORG.Page_home" );
 
- 			$listRows =  !empty($cat['pagesize']) ? $cat['pagesize'] : C('PAGE_LISTROWS');
 
- 			$page = new Page_home ( $count, $listRows );
 
- 			$_REQUEST['p'] = '{$page}';
 
- 			$page->urlrule =  URL('Home-Search/index',$_REQUEST);
 
- 			$pages = $page->show();
 
- 			$field =  $this->module[$cat['moduleid']]['listfields'];
 
- 			$field =  $field ? $field : 'id,catid,userid,url,username,title,title_style,keywords,description,thumb,createtime,hits';
 
- 			$list = $this->dao->field($field)->where($where)->order('id desc')->limit($page->firstRow . ',' . $page->listRows)->select();
 
- 			$this->assign('pages',$pages);
 
- 			$this->assign('list',$list);
 
- 		}
 
- 		$this->display();
 
-     }
 
- }
 
- ?>
 
 
  |