You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

52 lines
1.5 KiB

<?php
if (!defined('__TYPECHO_ROOT_DIR__')) exit;
/**
* 独立页面管理列表
*
* @category typecho
* @package Widget
* @copyright Copyright (c) 2008 Typecho team (http://www.typecho.org)
* @license GNU General Public License 2.0
* @version $Id$
*/
/**
* 独立页面管理列表组件
*
* @category typecho
* @package Widget
* @copyright Copyright (c) 2008 Typecho team (http://www.typecho.org)
* @license GNU General Public License 2.0
*/
class Widget_Contents_Page_Admin extends Widget_Contents_Post_Admin
{
/**
* 执行函数
*
* @access public
* @return void
*/
public function execute()
{
/** 过滤状态 */
$select = $this->select()->where('table.contents.type = ? OR (table.contents.type = ? AND table.contents.parent = ?)', 'page', 'page_draft', 0);
/** 过滤标题 */
if (NULL != ($keywords = $this->request->keywords)) {
$args = array();
$keywordsList = explode(' ', $keywords);
$args[] = implode(' OR ', array_fill(0, count($keywordsList), 'table.contents.title LIKE ?'));
foreach ($keywordsList as $keyword) {
$args[] = '%' . Typecho_Common::filterSearchQuery($keyword) . '%';
}
call_user_func_array(array($select, 'where'), $args);
}
/** 提交查询 */
$select->order('table.contents.order', Typecho_Db::SORT_ASC);
$this->db->fetchAll($select, array($this, 'push'));
}
}