| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | 
							- <?php
 
- namespace App\Http\Controllers;
 
- use Illuminate\Http\Request;
 
- use App\Models\User;
 
- use App\Models\Comment;
 
- use App\Models\Moderate;
 
- use App\Models\Post;
 
- use App\Events\ValidatePost;
 
- use App\Events\ValidateComment;
 
- class PostController extends Controller
 
- {
 
-   // Переход по страницам
 
-   public function all(){ return view('posts.all', ['posts' => Post::with("user")->orderBy("created_at", 'desc')->orderBy("id", 'desc')->get(), 'users' => User::orderBy("name")->get()]); }
 
-   public function view_update(Request $request){
 
-     return view('posts.update', ['post' => Post::with("user")->where('id', $request->id)->get()[0],
 
-     'admins' => User::where('role', 'admin')->orderBy("name")->get(), 'moderates' => Moderate::allPost($request->id) ]);
 
-   }
 
-   public function single_post(Request $request){
 
-     return view('posts.single_post', ['post' => Post::where('id', $request->id)->with('user')->get()[0],
 
-     'comments' => Comment::where('post_id', $request->id)->with('user')->orderBy("created_at", 'desc')->get(),
 
-     'moderates' => Moderate::allPost($request->id), 'users' => User::orderBy("name")->get() ]);
 
-   }
 
-   // Взаимодействия со страницами
 
-   function insert(Request $request) { // Добавить
 
-     event(new ValidatePost($request));
 
-     $post = new Post;
 
-     $post->user_id = $request->input("user");
 
-     $post->text = $request->input("text");
 
-     $post->created_at = $request->input("date_publication");
 
-     $post->save();
 
-     return back();
 
-   }
 
-   function update(Request $request) { // Изменить
 
-     event(new ValidateComment($request));
 
-     $post = Post::find($request->input("id"));
 
-     $post->text = $request->input("text");
 
-     $post->save();
 
-     $moderate = new Moderate;
 
-     $moderate->user_id = $request->input("user");
 
-     $moderate->post_type = "App\Models\Post";
 
-     $moderate->post_id = $request->input("id");
 
-     $moderate->save();
 
-     return back();
 
-   }
 
-   function delete_by_id($id) { // Удаление
 
-     $comments = Comment::where('post_id', $id)->get();
 
-     foreach ($comments as $comment) (new CommentController)->delete_by_id($id);
 
-     Moderate::where('post_type', "App\Models\Post")->where('post_id', $id)->delete();
 
-     Post::where('id', $id)->delete();
 
-     return back();
 
-   }
 
-   function delete(Request $request) { // Удаление
 
-     $comments = Comment::where('post_id', $request->id)->get();
 
-     foreach ($comments as $comment) (new CommentController)->delete_by_id($comment->id);
 
-     Moderate::where('post_type', "App\Models\Post")->where('post_id', $request->id)->delete();
 
-     Post::where('id', $request->id)->delete();
 
-     return back();
 
-   }
 
- }
 
 
  |