예제 #1
0
 /**
  * Store a newly created resource in storage.
  *
  * @param Request $request
  * @return Response
  */
 public function store(Request $request)
 {
     $validator = \Validator::make($request->all(), ['title' => 'required|max:255|unique:posts', 'description' => 'required|max:5000', 'content' => 'required|max:40000', 'active_from' => 'date', 'state' => 'required|integer|min:0|max:2', 'disable_comments' => 'boolean']);
     if (!$validator->fails()) {
         /*
          * TODO::Categories check...
          * */
         $post = new Post();
         $post->title = $request->get("title");
         $post->generateSlug();
         $post->description = $request->get("description");
         $post->content = $request->get("content");
         if ($request->get('state') == 2) {
             $post->active_from = $request->get("active_from");
         }
         $post->state = $request->get("state");
         $post->disable_comments = $request->has("disable_comments");
         $post->save();
     } else {
         $this->throwValidationException($request, $validator);
     }
     return redirect()->back();
 }
예제 #2
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     for ($i = 0; $i < 20; $i++) {
         $paragraph = rand(1, 7);
         $data = json_decode(file_get_contents("http://www.randomtext.me/api/lorem/p-" . $paragraph . "/" . rand(3, 20) . "" . rand(20, 45)));
         $description = function () use($data) {
             $desc = explode("</p>", $data->text_out);
             return $desc[0] . "</p>";
         };
         $title = function () use($data) {
             $text = explode(" ", str_replace(["<p>", "</p>"], "", $data->text_out));
             $wordCount = rand(1, 8);
             $start = rand(1, count($text) - $wordCount);
             $wordCount += $start;
             $title = "";
             while ($start < $wordCount) {
                 $title .= $text[$start] . " ";
                 $start++;
             }
             while (true) {
                 if ($post = Post::whereTitle($title)->first()) {
                     $title .= ".";
                 } else {
                     return $title;
                 }
             }
             return $title;
         };
         $post = new Post();
         $post->description = $description();
         $post->content = $data->text_out;
         $post->title = $title();
         $post->generateSlug();
         $post->user_id = 1;
         $post->save();
     }
 }