shell bypass 403
<?php namespace App\Exports; use App\Models\Avenant; use Maatwebsite\Excel\Concerns\FromCollection; use Maatwebsite\Excel\Concerns\FromQuery; use Maatwebsite\Excel\Concerns\WithHeadings; use Illuminate\Support\Facades\DB; class ReversementsExport implements FromQuery, WithHeadings { protected $risque; protected $compagnie; protected $search_dateDebut; protected $search_dateFin; public function __construct($risque, $compagnie, $search_dateDebut, $search_dateFin) { $this->risque = $risque; $this->compagnie = $compagnie; $this->search_dateDebut = $search_dateDebut; $this->search_dateFin = $search_dateFin; } public function query() { return Avenant::select( 'avenants.date_creation', 'a.nomAssure', 'avenants.police', 'veh.immatriculation', 'avenants.date_effet', 'avenants.date_echeance', 'ac.prime_nette', 'ac.accs_compagnie', 'ac.accs_courtier', 'ac.taxe', 'ac.fga', 'ac.cdeao', 'ac.prime_ttc', 'ac.bonus_commerciale', 'ac.commission', 'user.name', DB::raw('(ac.prime_ttc - ac.commission) AS montant_a_reverser') ) ->leftJoin('compagnies as c', 'c.id', '=', 'avenants.IDcompagnie') ->leftJoin('assures as a', 'a.id', '=', 'avenants.IDassure') ->leftJoin('users as user', 'user.id', '=', 'avenants.IDuser') ->leftJoin('autocontrats as ac', 'ac.IDavenant', '=', 'avenants.id') ->leftJoin('vehicules as veh', 'veh.id', '=', 'ac.IDvehicule') ->where('avenants.status_avenant', 'production') ->where('ac.IDrisque', '=', $this->risque) ->where('avenants.IDcompagnie', '=', $this->compagnie) ->whereBetween('avenants.date_creation', [$this->search_dateDebut, $this->search_dateFin]) ->where('ac.etat', 'production') ->orderBy('avenants.date_creation', 'asc'); } public function headings(): array { return [ 'Date Enreg.', 'Assure', 'Police', 'Immat', 'Effet', 'Echéance', 'Prime Nette', 'Acs Compagnie', 'Acs Courtier', 'Taxe', 'FGA', 'Cedea', 'Prime TTC', 'Taux', 'Com Brute', 'Operateur', 'TTC a Reverser' ]; } }