42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace App\Http\Controllers;
 | 
						|
 | 
						|
use App\Home;
 | 
						|
use Artesaos\SEOTools\Traits\SEOTools as SEOToolsTrait;
 | 
						|
use DateTime;
 | 
						|
 | 
						|
class PublicController extends Controller
 | 
						|
{
 | 
						|
    use SEOToolsTrait;
 | 
						|
 | 
						|
    public function show($slug)
 | 
						|
    {
 | 
						|
        $home = Home::where('slug', $slug)->firstOrFail();
 | 
						|
        $this->seo()
 | 
						|
            ->setTitle($home->title)
 | 
						|
            ->setDescription($home->excerpt())
 | 
						|
            ->addImages(array_map(static function ($picture) {
 | 
						|
                return asset($picture);
 | 
						|
            }, $home->pictures));
 | 
						|
        $this->seo()
 | 
						|
            ->opengraph()
 | 
						|
            ->addProperty('article:published_time', $home->created_at->format(DateTime::ATOM))
 | 
						|
            ->addProperty('article:author', 'Shikiryu');
 | 
						|
 | 
						|
        return view('public.view', ['home' => $home]);
 | 
						|
    }
 | 
						|
 | 
						|
    public function list()
 | 
						|
    {
 | 
						|
        $homes = Home::where('slug', '!=', null)
 | 
						|
            ->orderBy('created_at', 'desc')
 | 
						|
            ->paginate(12);
 | 
						|
        $this->seo()
 | 
						|
            ->setTitle('Liste des maisons rĂȘvĂ©es')
 | 
						|
            ->setDescription('La sélection');
 | 
						|
 | 
						|
        return view('public.list', ['homes' => $homes]);
 | 
						|
    }
 | 
						|
}
 |