Exemple #1
0
 /**
  * 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');
 }