// //////////////////////////////////////////////////////////////////////////////////////////////////// // IMPRIMER ETAPE 2/4 - Le PDF complet est généré ; on archive individuellement les bilans anonymes (qui vont y rester une année scolaire) // //////////////////////////////////////////////////////////////////////////////////////////////////// if( ($ACTION=='imprimer') && ($etape==2) ) { Erreur500::prevention_et_gestion_erreurs_fatales( FALSE /*memory*/ , TRUE /*time*/ ); // Récupérer les bilans déjà existants pour savoir s'il faut faire un INSERT ou un UPDATE (sinon, un REPLACE efface les dates de consultation) $DB_TAB = DB_STRUCTURE_OFFICIEL::DB_lister_bilan_officiel_fichiers( $BILAN_TYPE , $periode_id , array_keys($_SESSION['tmp']['tab_pages_decoupe_pdf']) ); $tab_notif = array(); foreach($_SESSION['tmp']['tab_pages_decoupe_pdf'] as $eleve_id => $tab_tirages) { list( $eleve_identite , $page_plage ) = $tab_tirages[0]; if(!isset($DB_TAB[$eleve_id])) { DB_STRUCTURE_OFFICIEL::DB_ajouter_bilan_officiel_fichier( $eleve_id , $BILAN_TYPE , $periode_id ); $tab_notif[$eleve_id] = $eleve_id; } else { DB_STRUCTURE_OFFICIEL::DB_modifier_bilan_officiel_fichier_date( $eleve_id , $BILAN_TYPE , $periode_id , 'generation' ); } $fichier_extraction_chemin = CHEMIN_DOSSIER_OFFICIEL.$_SESSION['BASE'].DS.fabriquer_nom_fichier_bilan_officiel( $eleve_id , $BILAN_TYPE , $periode_id ); unset($_SESSION['tmp']['tab_pages_decoupe_pdf'][$eleve_id][0]); $releve_pdf = new PDFMerger; $pdf_string = $releve_pdf -> addPDF( CHEMIN_DOSSIER_EXPORT.$_SESSION['tmp']['fichier_nom'].'.pdf' , $page_plage ) -> merge( 'file' , $fichier_extraction_chemin ); } // Notifications (rendues visibles ultérieurement parce que plus simple comme cela) if(!empty($tab_notif)) { $abonnement_ref = 'bilan_officiel_visible';