Пример #1
0
	// 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 *****************
Пример #2
0
    $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") {
Пример #3
0
                    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);
Пример #4
0
                    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);
Пример #5
0
                            '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();
Пример #6
0
/**
 * 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 ();
}
Пример #7
0
		
    // 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');
?>
Пример #8
0
</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();