/** * Run the database seeds. * * @return void */ public function run() { // 从数据库中获取的ArticleTag集合 $tags = \App\Model\Tag::all(); // 初始化博客的路径 $dir = "/root/blog"; $file_system = new Filesystem(); $files = $file_system->allFiles($dir); foreach ($files as $file) { $file_extension = $file_system->extension($file); if ($file_extension != 'md') { continue; } $create_time_stamp = $file_system->lastModified($file); $create_time = gmdate("Y-m-d", $create_time_stamp); $file_content = $file_system->get($file); $file_name = preg_replace('/^.+[\\\\\\/]/', '', $file); $file_name = explode(".md", $file_name); $blog_name = $file_name[0]; $last_dir = dirname($file); $current_tag_name = preg_replace('/^.+[\\\\\\/]/', '', $last_dir); $article_type_id = 0; foreach ($tags as $tag) { $tag_name = $tag->name; if (strcmp($current_tag_name, $tag_name) == 0) { $article_type_id = $tag->id; break; } } $article_id = \App\Model\Article::create(['cate_id' => $article_type_id, 'user_id' => 1, 'title' => $blog_name, 'content' => $file_content, 'tags' => $article_type_id, 'created_at' => $create_time, 'updated_at' => $create_time])->id; \App\Model\ArticleStatus::create(['art_id' => $article_id, 'view_number' => 0]); } }
/** * Store a newly created resource in storage. * * @return Response */ public function store(Comment $result) { $attributes = $result->all(); $attributes['type_id'] = 0; if (!captcha_check($attributes['captcha'])) { Notification::error('验证码错误'); return redirect()->route('article.show', ['id' => $attributes['el_id'], '#commentList'])->withInput(); } unset($attributes['captcha']); if (Session::token() !== $attributes['_token']) { Notification::error('token错误'); return redirect()->route('article.show', ['id' => $attributes['el_id'], '#commentList'])->withInput(); } unset($attributes['_token']); try { $attributes['content'] = htmlspecialchars($attributes['content']); CommentModel::create($attributes); ArticleStatus::updateCommentNumber($attributes['el_id']); Notification::success('评论成功'); return redirect()->route('article.show', ['id' => $attributes['el_id'], '#commentList']); } catch (\Exception $e) { Notification::error($e->getMessage()); return redirect()->route('article.show', ['id' => $attributes['el_id'], '#commentList'])->withInput(); } }
/** * Display the specified resource. * * @param int $id * @return Response */ public function show($id) { $article = Article::getArticleModelByArticleId($id); ArticleStatus::updateViewNumber($id); $data = array('article' => $article); viewInit(); return homeView('article', $data); }
/** * Display a listing of the resource. * * @return Response */ public function index() { // $article = Article::getNewsArticle(); $hotArticle = ArticleStatus::getHotArticle(3, false); viewInit(); return homeView('index', array('article' => $article, 'hotArticle' => $hotArticle)); }
/** * Display the specified resource. * * @param int $id * @return Response */ public function show($id) { // $article = Article::getArticleModelByArticleId($id); $tags = Tag::getTagModelByTagIds($article->tags); $authorArticle = Article::getArticleModelByUserId($article->user_id); ArticleStatus::updateViewNumber($id); $data = array('article' => $article, 'tags' => $tags, 'authorArticle' => $authorArticle); viewInit(); return homeView('article', $data); }
/** * Store a newly created resource in storage. * * @return Response */ public function store(ArticleForm $result) { // try { $data = array('title' => $result->input('title'), 'user_id' => Auth::user()->get()->id, 'cate_id' => $result->input('cate_id'), 'content' => $result->input('content'), 'tags' => $result->input('tags'), 'pic' => Article::uploadImg('pic')); if ($article = Article::create($data)) { if (ArticleStatus::initArticleStatus($article->id)) { // 清除缓存 Cache::tags(Article::REDIS_ARTICLE_PAGE_TAG)->flush(); Notification::success('恭喜又写一篇文章'); return redirect()->route('backend.article.index'); } else { self::destroy($article->id); } } } catch (\Exception $e) { return redirect()->back()->withErrors(array('error' => $e->getMessage()))->withInput(); } }
/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($id) { // $article = Article::find($id); if (!empty($article->pic)) { $fileName = public_path() . '/uploads/' . $article->pic; if (file_exists($fileName)) { unlink($fileName); } } if (ArticleStatus::deleteArticleStatus($id)) { if (Article::destroy($id)) { Notification::success('删除成功'); Cache::tags(Article::REDIS_ARTICLE_PAGE_TAG)->flush(); Cache::forget(Article::REDIS_ARTICLE_CACHE . $id); } else { Notification::error('主数据删除失败'); } } else { Notification::error('动态删除失败'); } return redirect()->route('backend.article.index'); }
/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($id) { // $article = Article::find($id); if (!empty($article->pic)) { $fileName = public_path() . '/uploads/' . $article->pic; if (file_exists($fileName)) { unlink($fileName); } } if (ArticleStatus::deleteArticleStatus($id)) { if (Article::destroy($id)) { Notification::success('删除成功'); return Redirect::route('backend.article.index'); } else { Notification::error('主数据删除失败'); } } else { Notification::error('动态删除失败'); } return Redirect::route('backend.article.index'); }