/** * 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(); }
/** * 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(); } }