// génération Ooo include_once '../mod_abs2/lib/function.php'; //pour la fonction repertoire_modeles include_once '../orm/helpers/AbsencesNotificationHelper.php'; // pour la fonction tbs_str et MergeInfosEtab if($odt=='exclusion') { $fichier_modele_discipline='discipline_exclusion.odt'; $prefixe_fichier_odt="exclusion"; } elseif($odt=='travail') { $fichier_modele_discipline='discipline_travail.odt'; $prefixe_fichier_odt="travail"; } elseif($odt=='autre') { $fichier_modele_discipline='discipline_autre.odt'; $prefixe_fichier_odt="autre_sanction"; } $extraction_bilans = repertoire_modeles($fichier_modele_discipline); //Coordonnées etab $TBS = AbsencesNotificationHelper::MergeInfosEtab($extraction_bilans); $TBS->MergeBlock('export', $export); $nom_fichier = $prefixe_fichier_odt.'_'. $nom_ele.'_'.$prenom_ele.'_'.$id_sanction. '.odt'; $TBS->Show(OPENTBS_DOWNLOAD + TBS_EXIT, $nom_fichier); } //fin Ooo $utilisation_prototype="ok"; $themessage = 'Des informations ont été modifiées. Voulez-vous vraiment quitter sans enregistrer ?'; //**************** EN-TETE ***************** $titre_page = "Discipline: Traitement/".$mod_disc_terme_sanction; require_once("../lib/header.inc.php"); //**************** FIN EN-TETE *****************
$page_number = $nb_pages; } $results = $traitements_col->getResults(); if ($affichage == 'tableur') { include_once 'lib/function.php'; // load the TinyButStrong libraries include_once '../tbs/tbs_class.php'; // TinyButStrong template engine //include_once('../tbs/plugins/tbsdb_php.php'); $TBS = new clsTinyButStrong(); // new instance of TBS include_once '../tbs/plugins/tbs_plugin_opentbs.php'; $TBS->Plugin(TBS_INSTALL, OPENTBS_PLUGIN); // load OpenTBS plugin // Load the template $extraction_traitement = repertoire_modeles('absence_extraction_traitements.ods'); $TBS->LoadTemplate($extraction_traitement, OPENTBS_ALREADY_UTF8); $titre = 'Extrait des traitement d\'absences'; $TBS->MergeField('titre', $titre); $traitement_array_avec_data = array(); foreach ($results as $traitement) { if (isset($_POST['envoye_depuis_liste_traitements'])) { if (isset($_POST['liste_traitements_id_traitement']) && in_array($traitement->getPrimaryKey(), $_POST['liste_traitements_id_traitement'])) { $extraire_ce_traitement = "y"; } else { $extraire_ce_traitement = "n"; } } else { $extraire_ce_traitement = "y"; } if ($extraire_ce_traitement == "y") {
echo '</th>'; } } echo '</tr>'; echo '</tfoot>'; echo '<h5>Extraction faite le ' . date("d/m/Y - h:i") . '</h5>'; } else if ($affichage == 'ods') { include_once 'lib/function.php'; // load the TinyButStrong libraries include_once('../tbs/tbs_class.php'); // TinyButStrong template engine //include_once('../tbs/plugins/tbsdb_php.php'); $TBS = new clsTinyButStrong; // new instance of TBS include_once('../tbs/plugins/tbs_plugin_opentbs.php'); $TBS->Plugin(TBS_INSTALL, OPENTBS_PLUGIN); // load OpenTBS plugin // Load the template $extraction_taux_absenteisme = repertoire_modeles('absence_taux_absenteisme.ods'); $TBS->LoadTemplate($extraction_taux_absenteisme, OPENTBS_ALREADY_UTF8); $titre = 'Extrait du Taux d\'absentéisme d\'absences du ' . $dt_date_absence_eleve_debut->format('d/m/Y') . ' au ' . $dt_date_absence_eleve_fin->format('d/m/Y'); $classe = null; if ($id_classe != null && $id_classe != '') { $classe = ClasseQuery::create()->findOneById($id_classe); if ($classe != null) { $titre .= ' pour la classe ' . $classe->getNom(); } } if ($nom_eleve != null && $nom_eleve != '') { $titre .= ' pour les élèves dont le nom ou le prénom contient ' . $nom_eleve; } $TBS->MergeField('titre', $titre); $TBS->MergeField('dj_ouvrees', $nbre_demi_journees);
document.getElementById('p_csv').style.display=''; </script>\n"; } } } } else if ($affichage == 'ods') { // load the TinyButStrong libraries include_once('../tbs/tbs_class.php'); // TinyButStrong template engine //include_once('../tbs/plugins/tbsdb_php.php'); $TBS = new clsTinyButStrong; // new instance of TBS include_once('../tbs/plugins/tbs_plugin_opentbs.php'); $TBS->Plugin(TBS_INSTALL, OPENTBS_PLUGIN); // load OpenTBS plugin // Load the template $extraction_demi_journees=repertoire_modeles('absence_extraction_demi-journees.ods'); $TBS->LoadTemplate($extraction_demi_journees, OPENTBS_ALREADY_UTF8); $titre = 'Extrait des demi-journées d\'absences du '.$dt_date_absence_eleve_debut->format('d/m/Y').' au '.$dt_date_absence_eleve_fin->format('d/m/Y'); $classe = null; if ($id_classe != null && $id_classe != '') { $classe = ClasseQuery::create()->findOneById($id_classe); if ($classe != null) { $titre .= ' pour la classe '.$classe->getNom(); } } if ($nom_eleve != null && $nom_eleve != '' ) { $titre .= ' pour les élèves dont le nom ou le prénom contient '.$nom_eleve; } $TBS->MergeField('titre', $titre);
'total_demi_journees_non_justifiees' => $total_demi_journees_non_justifiees, 'retards' => $retards); } $export[$id]['lignes'][] = Array('dates' => $dates, 'ligne_demi_journees_non_justifiees' => $ligne_demi_journees_non_justifiees, 'ligne_demi_journees_justifiees' => $ligne_demi_journees_justifiees, 'type' => $type, 'motif' => $motif, 'justification' => $justification, 'export_commentaire' => $export_commentaire); } } } } } $extraction_bilans = repertoire_modeles('absence_extraction_bilan.'.$extension); $TBS = AbsencesNotificationHelper::MergeInfosEtab($extraction_bilans); $titre = 'Bilan individuel du ' . $dt_date_absence_eleve_debut->format('d/m/Y') . ' au ' . $dt_date_absence_eleve_fin->format('d/m/Y'); $classe = null; if ($id_classe != null && $id_classe != '' && $id_eleve == null) { $classe = ClasseQuery::create()->findOneById($id_classe); if ($classe != null) { $titre .= ' pour la classe ' . $classe->getNom(); } } if ($nom_eleve != null && $nom_eleve != '') { $titre .= ' pour les élèves dont le nom ou le prénom contient ' . $nom_eleve; } if ($id_eleve != null && $id_eleve != '') { $eleve_current= EleveQuery::create()->filterById($id_eleve)->findOne(); $titre .= ' pour ' . $eleve_current->getPrenom() . ' ' . $eleve_current->getNom();
/** * Crée et envoie un fichier .ods avec le tableau des justifications * @param array $donnees * @param objet $justifications */ function creeODS($donnees, $justifications) { $date = date("d-m-Y_H-i"); $nom_fichier = "Justifications_".$date.".ods"; $nbre_colonnes = count($justifications); foreach ($justifications as $justifie) { $libelle[] = $justifie->getNom(); } $titre = 'extraction des justifications du '; $titre .= unserialize($_SESSION['statJustifie']['date_absence_eleve_debut']); $titre .= ' au '; $titre .= unserialize($_SESSION['statJustifie']['date_absence_eleve_fin']); if (isset ($_SESSION['statJustifie']['erreur']) && $_SESSION['statJustifie']['erreur']) { $titre .= ' (Total des justifications différent des absences justifiées)'; } $colonnes_individu = array(); $colonnes_individu[1] = 'nom'; $colonnes_individu[2] = 'classe'; if (count($donnees)) { foreach ($donnees as &$donnee) { $j=1; foreach ($donnee['traitement'] as $justifie) { $donnee['traite_'.$j] = $justifie; $j++; } } } // load the TinyButStrong libraries include_once('../tbs/tbs_class.php'); // TinyButStrong template engine $TBS = new clsTinyButStrong; // new instance of TBS include_once('../tbs/plugins/tbs_plugin_opentbs.php'); $TBS->Plugin(TBS_INSTALL, OPENTBS_PLUGIN); // load OpenTBS plugin // Load the template $extraction_Justifications = repertoire_modeles('absence_nb_justifications.ods'); $TBS->LoadTemplate($extraction_Justifications, OPENTBS_ALREADY_UTF8); $TBS->MergeBlock('c2', 'num', $nbre_colonnes); $TBS->MergeField('titre', $titre); $TBS->MergeBlock('a', $libelle); $TBS->MergeBlock('b2', $donnees); // Output as a download file (some automatic fields are merged here) $TBS->Show(OPENTBS_DOWNLOAD + TBS_EXIT, $nom_fichier); die (); }
// Output as a download file (some automatic fields are merged here) $TBS->Show(OPENTBS_DOWNLOAD+TBS_EXIT, 'abs_notif_'.$notification->getId().'.odt'); die(); } else if ($notification->getTypeNotification() == AbsenceEleveNotificationPeer::TYPE_NOTIFICATION_EMAIL) { // Load the template $email=repertoire_modeles('absence_email.txt'); include_once '../orm/helpers/AbsencesNotificationHelper.php'; $TBS = AbsencesNotificationHelper::MergeNotification($notification, $email); $message = $TBS->Source; $retour_envoi = AbsencesNotificationHelper::EnvoiNotification($notification, $message); } else if ($notification->getTypeNotification() == AbsenceEleveNotificationPeer::TYPE_NOTIFICATION_SMS) { // Load the template $sms=repertoire_modeles('absence_sms.txt'); include_once '../orm/helpers/AbsencesNotificationHelper.php'; $TBS = AbsencesNotificationHelper::MergeNotification($notification, $sms); $message = $TBS->Source; $retour_envoi = AbsencesNotificationHelper::EnvoiNotification($notification, $message); } if ($notification->getStatutEnvoi() == AbsenceEleveNotificationPeer::STATUT_ENVOI_SUCCES) { $message_enregistrement = 'Envoi réussi. '.$retour_envoi; } else { $message_enregistrement = 'Échec de l\'envoi. '.$retour_envoi; } include('visu_notification.php'); ?>
</table> <p>' . $cpt_eleve . ' élève(s).</p> <h5>Extraction faite le ' . date("d/m/Y - H:i") . '</h5>'; } else { if ($affichage == 'ods') { // load the TinyButStrong libraries include_once '../tbs/tbs_class.php'; // TinyButStrong template engine //include_once('../tbs/plugins/tbsdb_php.php'); $TBS = new clsTinyButStrong(); // new instance of TBS include_once '../tbs/plugins/tbs_plugin_opentbs.php'; $TBS->Plugin(TBS_INSTALL, OPENTBS_PLUGIN); // load OpenTBS plugin // Load the template $extraction_saisies = repertoire_modeles('absence_extraction_saisies.ods'); $TBS->LoadTemplate($extraction_saisies, OPENTBS_ALREADY_UTF8); $titre = 'Extrait des absences du ' . $dt_date_absence_eleve_debut->format('d/m/Y') . ' au ' . $dt_date_absence_eleve_fin->format('d/m/Y'); $classe = null; if ($id_classe != null && $id_classe != '') { $classe = ClasseQuery::create()->findOneById($id_classe); if ($classe != null) { $titre .= ' pour la classe ' . $classe->getNom(); } } if ($nom_eleve != null && $nom_eleve != '') { $titre .= ' pour les élèves dont le nom ou le prénom contient ' . $nom_eleve; } $TBS->MergeField('titre', $titre); $saisie_col = $saisie_query->find(); $TBS->MergeBlock('saisie_col', $saisie_col);
echo "<div class='css-panes' style='background-color:#c7e3ec;' id='containDiv' style='overflow : none; float : left; margin-top : -1px; border-width : 1px;'>\n"; if ($id_notif_col->isEmpty()) { echo 'Aucune notification sélectionnée -> '; echo '<a href="liste_notifications.php">liste des notifications</a>'; die; } // //on envoi les emails // $nb_mail_envoyés = 0; if (isset($_GET['envoyer_email']) && $_GET['envoyer_email'] == 'true') { // Load the template include_once 'lib/function.php'; $email_modele=repertoire_modeles('absence_email.txt'); include_once '../orm/helpers/AbsencesNotificationHelper.php'; foreach($notifications_col as $notif) { $TBS = AbsencesNotificationHelper::MergeNotification($notif, $email_modele); $retour_envoi = AbsencesNotificationHelper::EnvoiNotification($notif, $TBS->Source); if ($retour_envoi == '') { $nb_mail_envoyés = $nb_mail_envoyés + 1; } } echo 'Mail envoyés : '.$nb_mail_envoyés.'<br/>'; } // //on affiche les notifications de type email // $notif_mail_a_envoyer_col = new PropelCollection(); $notif_mail_fini_col = new PropelCollection();