requireAccess('compta', Membres::DROIT_ACCES); $membres = new Membres; qv(['id' => 'required|numeric']); $id = (int) qg('id'); $f = $facture->get($id); if (!$f) { throw new UserException("Ce document n'existe pas."); } $cats = new Compta\Categories; $moyen_paiement = $cats->getMoyenPaiement($f->moyen_paiement); try { if ($f->receveur_membre) { $c = $membres->get($f->receveur_id); foreach(['ville','code_postal','adresse'] as $v) { if($c->$v == '') { $c->$v = '[A RENSEIGNER DANS LA FICHE MEMBRE]'; } } } else { $c = $client->get($f->receveur_id); } } catch(UserException $e) { $form->addError("Pas de document correspondant à cet id trouvée."); } // Création du PDF $pdf = new \Mpdf\Mpdf([ 'default_font_size' => 10, 'default_font' => 'dejavusans', // 'tempDir' => PLUGINS_ROOT . '/mpdf-tmp/' ]); $pdf->SetAuthor($config->get('nom_asso')); ob_start(); $doc = ($f->type_facture?'Facture':'Devis').' n°'.$f->numero; $emission = date('d/m/Y' ,$f->date_emission); $pdf->SetTitle($doc.' - '.$emission); $asso = // 'Émis par :

'. ''.$config->get('nom_asso')."
". str_replace("\n", '
', $config->get('adresse_asso'))."
". (($t = $plugin->getConfig('rna_asso'))?"RNA : $t
":''). (($t = $plugin->getConfig('siret_asso'))?"SIRET : $t
":''). (($t = $config->get('email_asso'))?"Email : $t
":''). (($t = $config->get('site_asso'))?"Site web : $t
":''); $receveur = 'Adressé à :

'. ''.$c->nom.'
'. $c->adresse."
". $c->code_postal.' '.$c->ville."
". (($t = $c->email)?"Email : $t
":''). (($t = $c->telephone)?"Tel : $t
":''); $total = number_format($f->total, 2, ',', ' '); $echeance = date('d/m/Y' ,$f->date_echeance); $echeance = ($f->type_facture?'Échéance de paiement':'Échéance du devis')." : ".$echeance; $reglee = !$f->reglee?'Cette facture est en attente de règlement.':'Cette facture a été reglée.'; $footer = str_replace("\n", '
', $plugin->getConfig('footer')); echo <<

$doc - Émis le $emission

$asso $receveur

Contenu - $doc

EOF; $i = 1; foreach($f->contenu as $k=>$v) { echo ''; $i++; } echo <<
Désignations Prix
'; echo str_replace("\n", '
', $v['designation']); echo '
'; echo number_format($v['prix'], 2, ',', ' ').'€'; echo '

Total

Net à payer
$total € (HT)
EOF; $html = ob_get_clean(); $pdf->WriteHTML($html); if(qg('d') !== null) { $t = \Mpdf\Output\Destination::DOWNLOAD; } else { $t = \Mpdf\Output\Destination::INLINE; } $pdf->Output( ($f->type_facture?'Facture':'Devis').' '.$f->numero . ' du '.date('d-m-Y' ,$f->date_emission) .'.pdf', $t);