/** * Store a newly created post in storage. * * @param PostFormRequest $request * * @return \Illuminate\Http\Response */ public function store(PostFormRequest $request) { $post = new Post(); $post->title = $request->get('title'); $post->content = $request->get('content'); $post->author_id = $request->user()->id; if ($this->getDuplicate($post->slug)) { return redirect('new-post')->withErrors('Title already exists.')->withInput(); } else { if ($request->has('save')) { $post->active = 1; $message = 'Post published successfully'; } else { $post->active = 1; $message = 'Post published successfully'; } } $post->save(); return redirect('edit/' . $post->slug)->withMessage($message); }
/** * Store a newly created resource in storage. * * @return Response */ public function store(PostFormRequest $request) { $title = $request->get('title'); $duplicate = \DB::table('posts')->where('title', $title)->get(); // var_dump($duplicate); // die(); if ($duplicate != null) { return redirect('/new-post')->withErrors('A post with this title already exists'); } $post = new Posts(); $post->title = $request->get('title'); $post->body = $request->get('body'); $post->slug = str_slug($post->title); $post->author_id = $request->user()->id; $category_id = $request->get('category'); // var_dump($category_id); // die(); $post->category_id = $category_id; if ($request->has('save')) { $post->active = 0; $message = 'Post saved successfully'; } else { $post->active = 1; $message = 'Post published successfully'; } $post->save(); return redirect('edit/' . $post->slug)->withMessage($message); }
/** * Store a newly created resource in storage. * * @return Response */ public function store(PostFormRequest $request) { $post = new Post(array('title' => $request->get('title'), 'content' => $request->get('content'), 'slug' => Str::slug($request->get('title'), '-'))); $post->save(); $post->categories()->sync($request->get('categories')); return redirect('/admin/posts/create')->with('status', 'The post has been created!'); }
public function update($id, PostFormRequest $request) { $post = Post::whereId($id)->firstOrFail(); $post->title = $request->get('title'); $post->content = $request->get('content'); $post->slug = Str::slug($request->get('title'), '-'); $post->save(); $post->categories()->sync($request->get('categories')); return redirect(action('Admin\\PostsController@edit', $post->id))->with('status', 'The post has been updated!'); }
/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function store(PostFormRequest $request) { $post = new Posts(); $post->title = $request->get('title'); $post->body = $request->get('body'); $post->slug = str_slug($post->title); $post->author_id = $request->user()->id; if ($request->has('save')) { $post->active = 0; $message = 'Post saved successfully'; } else { $post->active = 1; $message = 'Post published successfully'; } $post->save(); return redirect('edit/' . $post->slug)->withMessage($message); }
/** * Store a newly created resource in storage. * * @return Response */ public function store(PostFormRequest $request) { // dd($request->all()); // anonymous detector if (Auth::guest()) { if (empty($request->get('name'))) { // $name = 'anonymous'; Auth::loginUsingId(2); } else { $guest_name = $request->get('name'); // get computer ip address if not anonymous // $ip = Request::getClientIp(); $ip = $_SERVER['REMOTE_ADDR']; } } // validate slug availability (route name check + existing slugs) $ugly_slug = $request->get('title'); $title_special_removed = preg_replace('/[^A-Za-z0-9\\-]/', '', $ugly_slug); $posted_slug = str_slug($title_special_removed); $existing_slugs = Posts::where('slug', '=', $posted_slug)->count(); $routes = array(); $routeCollection = Route::getRoutes(); foreach ($routeCollection as $route) { $routes[] = $route->getPath(); } // if found in either route check or db, fail the post if (in_array($posted_slug, $routes) || $existing_slugs > 0) { // echo "validation failed"; if (!Auth::user()->is_admin()) { Auth::logout(); } return redirect('new-post')->withErrors('This title is unavailble. Please choose a new one.')->withInput(); } $post = new Posts(); $post->title = $request->get('title'); $post->body = $request->get('body'); $post->slug = str_slug($post->title); if (Auth::guest()) { $post->author_id = 3; $post->guest_name = $guest_name; $post->ip_address = $ip; } else { $post->author_id = $request->user()->id; } if ($request->has('save')) { $post->active = 0; $message = 'Post Saved Successfully'; } else { if (!Auth::guest() && $request->user()->is_admin()) { $post->active = 1; $message = 'Post Published Successfully'; } else { $post->active = 0; $message = 'Post Pending Approval'; Auth::logout(); } } $post->save(); // gather info for the mailer // $admin_email = User::find(1)->email; // $admin_email = User::where('role', 'admin')->get(); $admin_email = User::where('role', 'admin')->whereNotIn('id', [1])->get(); $title = $post->title; $body = $post->body; $slug = $post->slug; // email admin if (isset($post->guest_name)) { $name = $post->guest_name; } else { $name = User::find($post->author_id)->name; } $data['admin_email'] = $admin_email; $data['title'] = $title; $data['body'] = $body; $data['slug'] = $slug; $data['name'] = $name; Mail::send('emails.newpost', $data, function ($message) use($admin_email, $title, $body, $slug, $name) { $message->from(Config::get('services.email.from'), 'Whiteboard'); foreach ($admin_email as $admin) { $message->to($admin->email, $admin->name); } $message->subject('Whiteboard - New Post'); }); // return redirect('edit/'.$post->slug)->withMessage($message); return redirect('/')->withMessage($message); }
/** * Update the specified resource in storage. * * @param Request $request * @param int $id * @return Response */ public function update(PostFormRequest $request, $id) { if (Auth::guest()) { App::abort(403, 'Access denied'); } $post = Post::findBySlugOrId($id); $isDraft = (bool) $request->get('draft'); $post->update(['title' => $request->get('title'), 'body' => $request->get('body'), 'draft' => $isDraft ? 1 : 0]); return \Redirect::route('posts.show', $post->slug)->with('message', 'Post updated!'); //add messages' displaying! }