Blame | Letzte Änderung | Log anzeigen | RSS feed
<?phpclass SearchPost extends BlogPage{private $_posts;public function onInit($param){parent::onInit($param);$this->_posts=$this->DataAccess->queryPosts($this->getPostFilter(),'','ORDER BY create_time DESC','LIMIT '.$this->getPageOffset().','.$this->getPageSize());}private function getPostFilter(){$filter='a.status=0';$keywords=explode(' ',$this->Request['keyword']);foreach($keywords as $keyword){if(($keyword=$this->DataAccess->escapeString(trim($keyword)))!=='')$filter.=" AND (content LIKE '%$keyword%' OR title LIKE '%$keyword%')";}return $filter;}private function getPageOffset(){if(($offset=TPropertyValue::ensureInteger($this->Request['offset']))<=0)$offset=0;return $offset;}private function getPageSize(){if(($limit=TPropertyValue::ensureInteger($this->Request['limit']))<=0)$limit=TPropertyValue::ensureInteger($this->Application->Parameters['PostPerPage']);return $limit;}private function formUrl($newOffset){$gets=array();$gets['offset']=$newOffset;if($this->Request['limit']!==null)$gets['limit']=$this->Request['limit'];if($this->Request['time']!==null)$gets['time']=$this->Request['time'];if($this->Request['cat']!==null)$gets['cat']=$this->Request['cat'];return $this->Service->constructUrl('Posts.ListPost',$gets);}public function onLoad($param){parent::onLoad($param);$this->PostList->DataSource=$this->_posts;$this->PostList->dataBind();if($this->getPageOffset()>0){if(($offset=$this->getPageOffset()-$this->getPageSize())<0)$offset=0;$this->PrevPage->NavigateUrl=$this->formUrl($offset);$this->PrevPage->Visible=true;}if(count($this->_posts)===$this->getPageSize()){$this->NextPage->NavigateUrl=$this->formUrl($this->getPageOffset()+$this->getPageSize());$this->NextPage->Visible=true;}}}?>