71 lines
1.8 KiB
PHP
71 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\Format;
|
|
use App\Models\Typevue;
|
|
use App\Models\Variante;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Support\Facades\Mail;
|
|
use App\Models\Sujet;
|
|
use App\Models\Recherche;
|
|
use App\User;
|
|
use App\Models\Dossier;
|
|
use App\Mail\contact;
|
|
use Illuminate\Http\Request;
|
|
|
|
class CommunController extends Controller
|
|
{
|
|
/**
|
|
* page d'accueil
|
|
*
|
|
* @return \Illuminate\Contracts\Support\Renderable
|
|
*/
|
|
public function index()
|
|
{
|
|
$user = Auth::user();
|
|
$sujets = $user->sujets;
|
|
$paniers = Auth::user()->paniersFavoris;
|
|
$recherches = Recherche::where('user_id', $user->id)
|
|
->with("sujet")
|
|
->limit(10)
|
|
->orderBy("created_at", "desc")
|
|
->get();
|
|
|
|
$dossiers = Dossier::whereHas("users", function($query) use ($user){
|
|
$query->where('user_id', $user->id);
|
|
})
|
|
->with("sujet")
|
|
->get();
|
|
return view('home')->with(['sujets'=> $sujets, 'recherches'=> $recherches, 'dossiers'=> $dossiers, 'paniers'=> $paniers]);
|
|
}
|
|
|
|
/**
|
|
* Envoi d'un message
|
|
*
|
|
*/
|
|
public function sendMessage(Request $request)
|
|
{
|
|
$type = $request->input('type');
|
|
$url = $request->input('url');
|
|
$message = $request->input('message');
|
|
|
|
if (Auth::check()) {
|
|
$user = auth()->user();
|
|
Mail::to(env('MAIL_ADMIN_ADDRESS', "informatique.internet@ldc.fr"))->send(new contact($type, $url, $message, $user));
|
|
}
|
|
return json_encode(array('status' => "OK"));
|
|
}
|
|
|
|
public function getDatasBySujet(Request $request) {
|
|
$sujet_id = $request->sujet_id;
|
|
|
|
$sujet = Sujet::findOrFail($sujet_id);
|
|
|
|
$response['typesvue'] = $sujet->typeVues;
|
|
$response['typesvariantes'] = $sujet->variantes;
|
|
$response['formats'] = array_merge(Format::withoutGlobalScope('App\Scopes\SystemScope')->where('system', 1)->get()->toArray(), $sujet->formats->toArray());
|
|
|
|
return response()->json($response);
|
|
}
|
|
}
|