68 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace App\Http\Controllers;
 | 
						|
 | 
						|
use App\Post;
 | 
						|
use DateTime;
 | 
						|
use Illuminate\Support\Facades\Auth;
 | 
						|
use Illuminate\Support\Facades\Redirect;
 | 
						|
 | 
						|
class HomeController extends Controller
 | 
						|
{
 | 
						|
    /**
 | 
						|
     * Create a new controller instance.
 | 
						|
     *
 | 
						|
     * @return void
 | 
						|
     */
 | 
						|
    public function __construct()
 | 
						|
    {
 | 
						|
        $this->middleware('auth');
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Show the application dashboard.
 | 
						|
     *
 | 
						|
     * @return \Illuminate\Contracts\Support\Renderable
 | 
						|
     */
 | 
						|
    public function index()
 | 
						|
    {
 | 
						|
        setlocale(LC_TIME, 'fr_FR.utf8');
 | 
						|
        $today = new DateTime();
 | 
						|
        $user_id = Auth::user()->getAuthIdentifier();
 | 
						|
        $posts = Post::where('user_id', $user_id)->orderBy('date_post', 'DESC')->get();
 | 
						|
        $today_post = Post::whereDate('date_post', '=', $today->format('Y-m-d'))
 | 
						|
            ->where('user_id', $user_id)
 | 
						|
            ->count();
 | 
						|
        
 | 
						|
        $already = false;
 | 
						|
        if ($today_post > 0) {
 | 
						|
            $already = true;
 | 
						|
        }
 | 
						|
        
 | 
						|
        return view('home', [
 | 
						|
            'already' => $already,
 | 
						|
            'today' => $today,
 | 
						|
            'posts' => $posts,
 | 
						|
        ]);
 | 
						|
    }
 | 
						|
    
 | 
						|
    public function store()
 | 
						|
    {
 | 
						|
        $today = new DateTime();
 | 
						|
        
 | 
						|
        $data = request()->validate([
 | 
						|
            'message' => 'required'
 | 
						|
        ]);
 | 
						|
        
 | 
						|
        $data = [
 | 
						|
            'user_id'   => Auth::user()->getAuthIdentifier(),
 | 
						|
            'date_post' => new DateTime(), // Take back the date from the form ?
 | 
						|
            'content'   => $data['message'],
 | 
						|
        ];
 | 
						|
    
 | 
						|
        $check = Post::create($data);
 | 
						|
        
 | 
						|
        return Redirect::to('home')->withSuccess('Great! Form successfully submit with validation.');
 | 
						|
    }
 | 
						|
}
 |