Li Yuan Bo
啥都会点……-李元波
Author_Controller控制器用于查看作者文章列表页面,仅有一个方法:display($params |
function display($params) {
// 建立日志模型
$Log_Model = new Log_Model();
// 新建缓存
$CACHE = Cache::getInstance();
// 获取配置缓存
$options_cache = Option::getAll();
// 配置缓存输出键名转换成变量名,键值转换成变量值
extract($options_cache);
// 获取页码,未配置则设为首页1
$page = isset($params[4]) && $params[4] == 'page' ? abs(intval($params[5])) : 1;
// 获取作者ID,未配置则设为空
$author = isset($params[1]) && $params[1] == 'author' ? intval($params[2]) : '' ;
// 定义访问路径变量
$pageurl = '';
// 获取用户缓存
$user_cache = $CACHE->readCache('user');
// 用户缓存不存在此用户,则输出404页面
if (!isset($user_cache[$author])) {
show_404_page();
}
// 获取用户名
$author_name = $user_cache[$author]['name'];
// 用户文章列表页面站点标题设置为作者名-站点浏览器标题
$site_title = $author_name . ' - ' . $site_title;
// 设置数据库搜索条件为此用户日志,从新到旧排列
$sqlSegment = "and author=$author order by date desc";
// 获取统计缓存
$sta_cache = $CACHE->readCache('sta');
// 获取此用户已发布日志总数量
$lognum = $sta_cache[$author]['lognum'];
// 获取用户文章列表页面总页数
$total_pages = ceil($lognum / $index_lognum);
if ($page > $total_pages) { // 页码超过总页数
// 页码设置为最后一页
$page = $total_pages;
}
// 数据库搜索的开始限制
$start_limit = ($page - 1) * $index_lognum;
// 利用工具类Url获取作者文章列表页的链接
$pageurl .= Url::author($author, 'page');
// 建立日志模型
$Log_Model = new Log_Model();
// 获取日志列表
$logs = $Log_Model->getLogsForHome($sqlSegment, $page, $index_lognum);
// 利用工具函数获取输出列表页底部页码导航的字符串
$page_url = pagination($lognum, $index_lognum, $page, $pageurl);
// View调用前台模板的header.php和log_list.php输出作者文章列表页面
include View::getView('header');
include View::getView('log_list');
}
标签:emlog
发表评论: