/** * @descrpition 单篇文章展示 * @return Ambigous */ public function main() { $articleId = $this->param['aid']; if (empty($articleId)) { View::showErrorMessage(GAME_URL, '参数错误'); } //获取文章信息 $article = ArticleBusiness::getArticle($articleId); if (empty($article)) { View::showErrorMessage(GAME_URL, '内容丢掉了-.-'); } $article['author'] = $article['author']; $article['title'] = $article['title']; $article['description'] = $article['description']; $article['ctime'] = date('Y-m-d H:i:s', $article['ctime']); $article['tag'] = explode('|', $article['tag']); // $article['content'] = htmlspecialchars_decode($article['content']); // preg_match_all("/\[code\](.*?)\[\/code\]/s", $article['content'], $match); // // $article['content'] = preg_replace("/\[code\](.*?)\[\/code\]/s", htmlspecialchars('${1}'), $article['content']); //获取该文章的评论 $commentList = CommentBusiness::getCommentByAid($this->param['aid']); $commentList = Func::arrayKey($commentList); //将评论二级分类 foreach ($commentList as $key => $comment) { if ($comment['cid'] != 0) { $commentList[$comment['cid']]['son'][] = $comment; unset($commentList[$key]); } } //获取该分类下热门文章 $articleHotList = ArticleBusiness::getHotListByMid($article['mid']); foreach ($articleHotList as $k => $a) { $articleHotList[$k]['title'] = mb_substr($a['title'], 0, 30, 'UTF-8') . '...'; } //获取该分类下最新评论 $commentNewList = CommentBusiness::getNewListByMid($article['mid']); foreach ($commentNewList as $key => $comment) { $commentNewList[$key]['content'] = mb_substr($commentNewList[$key]['content'], 0, 30, 'UTF-8') . '...'; } //获取Tag $tags = TagBusiness::getRandList(ParamConstant::PARAM_TAG_LIST_NUM); //对文章进行处理,代码部分特殊显示. $article['content'] = preg_replace('/\\[code\\]/s', '<pre class="prettyprint linenums">', $article['content']); $article['content'] = preg_replace('/\\[\\/code\\]/s', '</pre>', $article['content']); //SEO的title,keywords,description $seo_title = $article['seo_title']; $seo_description = $article['seo_description']; $seo_keywords = $article['seo_keywords']; //文章的点击数+1 ArticleBusiness::clicks($articleId); View::assign('seo_title', $seo_title); View::assign('seo_description', $seo_description); View::assign('seo_keywords', $seo_keywords); View::assign('tags', $tags); View::assign('commentList', $commentList); View::assign('commentNewList', $commentNewList); View::assign('articleHotList', $articleHotList); View::assign('article', $article); View::showFrontTpl('article'); }
/** * @descrpition 修改文章 */ public function edit() { if (Request::getRequest('dosubmit', 'str')) { $jumpUrl = '/admin.php/article/edit/id-' . $this->param['id']; $fields = array(); $fields['title'] = Request::getRequest('title', 'str'); $fields['seo_title'] = Request::getRequest('seo_title', 'str'); $fields['seo_description'] = Request::getRequest('seo_description', 'str'); $fields['seo_keywords'] = Request::getRequest('seo_keywords', 'str'); $fields['author'] = Request::getRequest('author', 'str'); $fields['description'] = Request::getRequest('description', 'str'); $fields['clicks'] = Request::getRequest('clicks', 'str'); $fields['tag'] = Request::getRequest('tag', 'str'); $fields['good_num'] = Request::getRequest('good_num', 'str'); $fields['bad_num'] = Request::getRequest('bad_num', 'str'); $fields['ctime'] = Request::getRequest('ctime', 'str'); $fields['ctime'] = strtotime($fields['ctime']); $fields['mid'] = Request::getRequest('mid', 'int'); $fields['recommend_type'] = Request::getRequest('recommend_type', 'int'); $fields['content'] = Request::getRequest('content', 'str'); //如果使用UEditor,则反转义一次 $fields['content'] = htmlspecialchars_decode($fields['content']); //将TAG记录进TAG表 $tags = explode('|', $fields['tag']); foreach ($tags as $tag) { $tagInfo = TagBusiness::getTagByTag($tag); if (!empty($tagInfo)) { $tagInfo['num']++; TagBusiness::editTag($tagInfo['id'], $tagInfo); } else { $tagFields['tag'] = $tag; $tagFields['num'] = 1; TagBusiness::setTag($tagFields); } } $result = ArticleBusiness::editArticle($this->param['id'], $fields); if ($result) { View::showAdminMessage('/admin.php/article/lists', '修改成功'); } else { View::showAdminErrorMessage($jumpUrl, '修改失败'); } } $blogMenuList = MenuBusiness::getMenuList(); $blogMenuList = Func::arrayKey($blogMenuList); $blogMenuList = Func::categoryTree($blogMenuList); $article = ArticleBusiness::getArticle($this->param['id']); View::assign('article', $article); View::assign('blogMenuList', $blogMenuList); View::showAdminTpl('article_edit'); }