/** * Performs the work of inserting or updating the row in the database. * * If the object is new, it inserts it; otherwise an update is performed. * All related objects are also updated in this method. * * @param PropelPDO $con * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations. * @throws PropelException * @see save() */ protected function doSave(PropelPDO $con) { $affectedRows = 0; // initialize var to track total num of affected rows if (!$this->alreadyInSave) { $this->alreadyInSave = true; // We call the save method on the following object(s) if they // were passed to this object by their coresponding set // method. This object relates to these object(s) by a // foreign key reference. if ($this->aAbsenceEleveNotification !== null) { if ($this->aAbsenceEleveNotification->isModified() || $this->aAbsenceEleveNotification->isNew()) { $affectedRows += $this->aAbsenceEleveNotification->save($con); } $this->setAbsenceEleveNotification($this->aAbsenceEleveNotification); } if ($this->aResponsableEleve !== null) { if ($this->aResponsableEleve->isModified() || $this->aResponsableEleve->isNew()) { $affectedRows += $this->aResponsableEleve->save($con); } $this->setResponsableEleve($this->aResponsableEleve); } if ($this->isNew() || $this->isModified()) { // persist changes if ($this->isNew()) { $this->doInsert($con); } else { $this->doUpdate($con); } $affectedRows += 1; $this->resetModified(); } $this->alreadyInSave = false; } return $affectedRows; } // doSave()
public static function populate($con = null) { if($con === null) { $con = Propel::getConnection(); } $con->beginTransaction(); // Add utilisateur records // --------------------- $lebesgue_prof = new UtilisateurProfessionnel(); $lebesgue_prof->setLogin('Lebesgue'); $lebesgue_prof->setStatut('professeur'); $lebesgue_prof->setPreferenceValeur('glace_parfum','chocolat'); $lebesgue_prof->save($con); $newton_prof = new UtilisateurProfessionnel(); $newton_prof->setLogin('Newton'); $newton_prof->setStatut('professeur'); $newton_prof->save($con); $curie_prof = new UtilisateurProfessionnel(); $curie_prof->setLogin('Curie'); $curie_prof->setStatut('professeur'); $curie_prof->save($con); $dolto_cpe = new UtilisateurProfessionnel(); $dolto_cpe->setLogin('Dolto'); $dolto_cpe->setStatut('cpe'); $dolto_cpe->save($con); $aubert_scola = new UtilisateurProfessionnel(); $aubert_scola->setLogin('Aubert'); $aubert_scola->setStatut('scolarite'); $aubert_scola->save($con); $florence_eleve = new Eleve(); $florence_eleve->setLogin('Florence Michu'); $florence_eleve->setEleId('00112233'); $florence_eleve->save(); $adresse = new Adresse(); $adresse->setAdr1('13 rue du paradis'); $adresse->setCommune('Montendre'); $adresse->setCp('01001'); $adresse->save(); $adresse->setId('add id 1'); $responsable = new ResponsableEleve(); $responsable->setCivilite('M.'); $responsable->setNom('Michu'); $responsable->setMel('mail@test'); $responsable->setPrenom('Mere'); $responsable->setResponsableEleveId('id 1'); $responsable->setAdresse($adresse); $responsable->save(); $responsable_info = new ResponsableInformation(); $responsable_info->setEleve($florence_eleve); $responsable_info->setNiveauResponsabilite(1); $responsable_info->setResponsableEleve($responsable); $responsable_info->save(); $responsable2 = new ResponsableEleve(); $responsable2->setCivilite('Mme.'); $responsable2->setNom('Michudame'); $responsable2->setMel('mail@test'); $responsable2->setPrenom('Mere'); $responsable2->setResponsableEleveId('id 2'); $responsable2->setAdresse($adresse); $responsable2->save(); $responsable_info2 = new ResponsableInformation(); $responsable_info2->setEleve($florence_eleve); $responsable_info2->setNiveauResponsabilite(2); $responsable_info2->setResponsableEleve($responsable2); $responsable_info2->save(); $dolto_cpe->addEleve($florence_eleve); $dolto_cpe->save(); $newton_prof->addEleve($florence_eleve); $newton_prof->save(); $nicolas_eleve = new Eleve(); $nicolas_eleve->setLogin('Nicolas Dupont'); $nicolas_eleve->setEleId('00112234'); $nicolas_eleve->save(); $michel_eleve = new Eleve(); $michel_eleve->setLogin('Michel Martin'); $michel_eleve->setEleId('00112235'); $michel_eleve->setDateSortie(LUNDI_s52j1); $michel_eleve->save(); $classe_6A = new Classe(); $classe_6A->setNom('6ieme A'); $classe_6A->save(); $periode_6A_1 = new PeriodeNote(); $periode_6A_1->setClasse($classe_6A); $periode_6A_1->setNumPeriode(1); $periode_6A_1->setVerouiller('O'); $periode_6A_1->setNomPeriode('premier trimestre'); $periode_6A_1->setDateFin(trimestre1.' 00:00:00'); $periode_6A_1->save(); $periode_6A_2 = new PeriodeNote(); $periode_6A_2->setClasse($classe_6A); $periode_6A_2->setNumPeriode(2); $periode_6A_2->setVerouiller('N'); $periode_6A_2->setNomPeriode('deuxième trimestre'); $periode_6A_2->setDateFin(trimestre2.' 23:59:59'); $periode_6A_2->save(); $classe_6A->addEleve($florence_eleve,1);//florence est dans la 6A pour les deux premiers trimestres et dans la 6B pour les deux suivants $classe_6A->addEleve($florence_eleve,2); $aubert_scola->addClasse($classe_6A); $aubert_scola->save(); $classe_6B = new Classe(); $classe_6B->setNom('6ieme B'); $classe_6B->save(); $periode_6B_2 = new PeriodeNote(); $periode_6B_2->setClasse($classe_6B); $periode_6B_2->setNumPeriode(2); $periode_6B_2->setVerouiller('O'); $periode_6B_2->setNomPeriode('deuxième trimestre'); $periode_6B_2->setDateFin(trimestre2.' 23:59:59'); $periode_6B_2->save(); $periode_6B_3 = new PeriodeNote(); $periode_6B_3->setClasse($classe_6B); $periode_6B_3->setNumPeriode(3); $periode_6B_3->setVerouiller('O'); $periode_6B_3->setNomPeriode('troisième trimestre'); $periode_6B_3->setDateFin(trimestre3.' 23:59:59'); $periode_6B_3->save(); $classe_6B->addEleve($nicolas_eleve,1); $classe_6B->addEleve($nicolas_eleve,2); $classe_6B->addEleve($florence_eleve,3); $groupe_math = new Groupe(); $groupe_math->setName('MATH6A'); $groupe_math->addEleve($florence_eleve, 1); $groupe_math->addEleve($florence_eleve, 2); $groupe_math->addEleve($florence_eleve, 3); $groupe_math->addUtilisateurProfessionnel($lebesgue_prof); $groupe_math->addClasse($classe_6A); $groupe_math->addClasse($classe_6B); $groupe_math->save(); $aid_1 = new AidDetails(); $aid_1->setNom('aid 1'); $aid_1->setId('1ai'); $aid_1->addEleve($florence_eleve); $aid_1->addUtilisateurProfessionnel($newton_prof); $aid_1->save(); //on va peupler les absences 2 include_once(dirname(__FILE__).'/../../../../mod_abs2/admin/function.php'); ajoutMotifsParDefaut(); ajoutLieuxParDefaut(); ajoutJustificationsParDefaut(); ajoutTypesParDefaut(); $saisie_1 = new AbsenceEleveSaisie(); $saisie_1->setEleve($florence_eleve); $saisie_1->setUtilisateurProfessionnel($lebesgue_prof); $saisie_1->setDebutAbs(VENDREDI_s40j5.' 08:00:00');//le 2010-10-01 est un vendredi $saisie_1->setFinAbs(VENDREDI_s40j5.' 09:00:00'); $saisie_1->save(); $saisie_2 = new AbsenceEleveSaisie(); $saisie_2->setEleve($florence_eleve); $saisie_2->setUtilisateurProfessionnel($lebesgue_prof); $saisie_2->setDebutAbs(SAMEDI_s40j6.' 08:00:00');//samedi : ne comptera pas comme demi journée d'absence $saisie_2->setFinAbs(SAMEDI_s40j6.' 09:00:00'); $saisie_2->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_2); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Absence scolaire')->findOne()); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->setAbsenceEleveJustification(AbsenceEleveJustificationQuery::create()->filterByNom('Courrier familial')->findOne()); $traitement->save(); $notification = new AbsenceEleveNotification(); $notification->setStatutEnvoi(AbsenceEleveNotificationPeer::STATUT_ENVOI_EN_COURS); $notification->setTypeNotification(AbsenceEleveNotificationPeer::TYPE_NOTIFICATION_COURRIER); $notification->setAbsenceEleveTraitement($traitement); $notification->save(); $saisie_3 = new AbsenceEleveSaisie(); $saisie_3->setEleve($florence_eleve); $saisie_3->setUtilisateurProfessionnel($lebesgue_prof); $saisie_3->setDebutAbs(DIMANCHE_s40j7.' 08:00:00');//dimanche : ne comptera pas comme demi journée d'absence $saisie_3->setFinAbs(DIMANCHE_s40j7.' 08:29:00'); $saisie_3->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_3); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Exclusion de cours')->findOne()); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $saisie_4 = new AbsenceEleveSaisie(); $saisie_4->setEleve($florence_eleve); $saisie_4->setUtilisateurProfessionnel($lebesgue_prof); $saisie_4->setDebutAbs(LUNDI_s41j1.' 08:00:00'); $saisie_4->setFinAbs(LUNDI_s41j1.' 08:29:00');//retard : ne comptera pas comme demi journée d'absence $saisie_4->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_4); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Retard intercours')->findOne()); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_4); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Absence scolaire')->findOne()); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->setAbsenceEleveJustification(AbsenceEleveJustificationQuery::create()->filterByNom('Courrier familial')->findOne()); $traitement->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_4); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Erreur de saisie')->findOne()); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $notification = new AbsenceEleveNotification(); $notification->setStatutEnvoi(AbsenceEleveNotificationPeer::STATUT_ENVOI_SUCCES); $notification->setTypeNotification(AbsenceEleveNotificationPeer::TYPE_NOTIFICATION_COURRIER); $notification->setAbsenceEleveTraitement($traitement); $notification->save(); $saisie_5 = new AbsenceEleveSaisie(); $saisie_5->setEleve($florence_eleve); $saisie_5->setUtilisateurProfessionnel($lebesgue_prof); $saisie_5->setDebutAbs(MARDI_s41j2.' 08:00:00'); $saisie_5->setFinAbs(MARDI_s41j2.' 08:29:00');//retard : ne comptera pas comme demi journée d'absence $saisie_5->save(); $saisie_51 = new AbsenceEleveSaisie(); $saisie_51->setEleve($florence_eleve); $saisie_51->setUtilisateurProfessionnel($lebesgue_prof); $saisie_51->setDebutAbs(MARDI_s41j2.' 09:00:00'); $saisie_51->setFinAbs(MARDI_s41j2.' 09:29:00');//retard : ne comptera pas comme demi journée d'absence $saisie_51->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_5); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->setAbsenceEleveJustification(AbsenceEleveJustificationQuery::create()->filterByNom('Courrier familial')->findOne()); $traitement->save(); $saisie_6 = new AbsenceEleveSaisie(); $saisie_6->setEleve($florence_eleve); $saisie_6->setUtilisateurProfessionnel($lebesgue_prof); $saisie_6->setDebutAbs(MERCREDI_s41j3.' 08:00:00'); $saisie_6->setFinAbs(MERCREDI_s41j3.' 09:00:00'); $saisie_6->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_6); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Retard exterieur')->findOne());//c'est le retard extérieur qui va prendre le dessus : ne comptera pas comme demi journée d'absence $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_6); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Absence scolaire')->findOne()); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_6); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Erreur de saisie')->findOne()); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $saisie_7 = new AbsenceEleveSaisie(); $saisie_7->setEleve($florence_eleve); $saisie_7->setUtilisateurProfessionnel($lebesgue_prof); $saisie_7->setDebutAbs(JEUDI_s41j4.' 08:00:00'); $saisie_7->setFinAbs(JEUDI_s41j4.' 09:00:00'); $saisie_7->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_7); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Erreur de saisie')->findOne()); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $saisie_8 = new AbsenceEleveSaisie(); $saisie_8->setEleve($florence_eleve); $saisie_8->setUtilisateurProfessionnel($lebesgue_prof); $saisie_8->setDebutAbs(VENDREDI_s41j5.' 08:00:00'); $saisie_8->setFinAbs(VENDREDI_s41j5.' 09:00:00'); $saisie_8->save(); $saisie_81 = new AbsenceEleveSaisie(); $saisie_81->setEleve($florence_eleve); $saisie_81->setUtilisateurProfessionnel($lebesgue_prof); $saisie_81->setDebutAbs(VENDREDI_s41j5.' 08:00:00'); $saisie_81->setFinAbs(VENDREDI_s41j5.' 08:10:00');//ce retard ne sera pas décompté car il est inclus dans une absence plus globale $saisie_81->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_81); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Retard exterieur')->findOne()); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $saisie_9 = new AbsenceEleveSaisie(); $saisie_9->setEleve($florence_eleve); $saisie_9->setUtilisateurProfessionnel($lebesgue_prof); $saisie_9->setDebutAbs(SAMEDI_s41j6.' 08:00:00'); $saisie_9->setFinAbs(SAMEDI_s41j6.' 09:00:00');//samedi : ne comptera pas comme demi journée d'absence $saisie_9->save(); $saisie_91 = new AbsenceEleveSaisie(); $saisie_91->setEleve($florence_eleve); $saisie_91->setUtilisateurProfessionnel($lebesgue_prof); $saisie_91->setDebutAbs(SAMEDI_s41j6.' 08:00:00'); $saisie_91->setFinAbs(SAMEDI_s41j6.' 08:10:00'); $saisie_91->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_91); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Infirmerie')->findOne()); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $saisie_10 = new AbsenceEleveSaisie(); //$saisie_9->setEleve($florence_eleve);//aucun eleve : c'est un marqueur d'appel éffectué $saisie_10->setUtilisateurProfessionnel($lebesgue_prof); $saisie_10->setDebutAbs(DIMANCHE_s41j7.' 08:00:00'); $saisie_10->setFinAbs(DIMANCHE_s41j7.' 09:00:00'); $saisie_10->setGroupe($groupe_math); $saisie_10->save(); $saisie_101 = new AbsenceEleveSaisie(); $saisie_101->setEleve($florence_eleve); $saisie_101->setUtilisateurProfessionnel($lebesgue_prof); $saisie_101->setDebutAbs(DIMANCHE_s41j7.' 08:00:00'); $saisie_101->setFinAbs(DIMANCHE_s41j7.' 08:10:00'); $saisie_101->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_101); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Retard exterieur')->findOne()); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $saisie_11 = new AbsenceEleveSaisie(); //$saisie_9->setEleve($florence_eleve);//aucun eleve : c'est un marqueur d'appel éffectué $saisie_11->setUtilisateurProfessionnel($lebesgue_prof); $saisie_11->setDebutAbs(LUNDI_s42j1.' 08:00:00'); $saisie_11->setFinAbs(LUNDI_s42j1.' 09:00:00'); $saisie_11->setClasse($classe_6A); $saisie_11->save(); $saisie_111 = new AbsenceEleveSaisie(); $saisie_111->setEleve($florence_eleve); $saisie_111->setUtilisateurProfessionnel($lebesgue_prof); $saisie_111->setDebutAbs(LUNDI_s42j1.' 08:00:00'); $saisie_111->setFinAbs(LUNDI_s42j1.' 08:10:00'); $saisie_111->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_111); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Retard exterieur')->findOne()); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $saisie_12 = new AbsenceEleveSaisie(); //$saisie_9->setEleve($florence_eleve);//aucun eleve : c'est un marqueur d'appel éffectué $saisie_12->setUtilisateurProfessionnel($lebesgue_prof); $saisie_12->setDebutAbs(MARDI_s42j2.' 08:00:00'); $saisie_12->setFinAbs(MARDI_s42j2.' 09:00:00'); $saisie_12->setAidDetails($aid_1); $saisie_12->save(); $saisie_121 = new AbsenceEleveSaisie(); $saisie_121->setEleve($florence_eleve); $saisie_121->setUtilisateurProfessionnel($lebesgue_prof); $saisie_121->setDebutAbs(MARDI_s42j2.' 08:00:00'); $saisie_121->setFinAbs(MARDI_s42j2.' 08:10:00'); $saisie_121->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_121); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Retard exterieur')->findOne()); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $saisie_13 = new AbsenceEleveSaisie(); //$saisie_13->setEleve($florence_eleve);//aucun eleve : c'est un marqueur d'appel effectué $saisie_13->setUtilisateurProfessionnel($lebesgue_prof); $saisie_13->setDebutAbs(MERCREDI_s42j3.' 08:00:00'); $saisie_13->setFinAbs(MERCREDI_s42j3.' 09:00:00'); $saisie_13->setClasse($classe_6A); $saisie_13->save(); $saisie_131 = new AbsenceEleveSaisie(); $saisie_131->setEleve($florence_eleve); $saisie_131->setUtilisateurProfessionnel($lebesgue_prof); $saisie_131->setDebutAbs(MERCREDI_s42j3.' 08:00:00'); $saisie_131->setFinAbs(MERCREDI_s42j3.' 08:10:00'); $saisie_131->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_131); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Infirmerie')->findOne()); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $saisie_14 = new AbsenceEleveSaisie(); $saisie_14->setEleve($florence_eleve); $saisie_14->setUtilisateurProfessionnel($lebesgue_prof); $saisie_14->setDebutAbs(JEUDI_s42j4.' 08:00:00'); $saisie_14->setFinAbs(JEUDI_s42j4.' 09:00:00'); $saisie_14->setClasse($classe_6A); $saisie_14->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_14); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->setAbsenceEleveJustification(AbsenceEleveJustificationQuery::create()->filterByNom('Courrier familial')->findOne()); $traitement->save(); $saisie_15 = new AbsenceEleveSaisie(); $saisie_15->setEleve($florence_eleve); $saisie_15->setUtilisateurProfessionnel($lebesgue_prof); $saisie_15->setDebutAbs(VENDREDI_s42j5.' 08:00:00'); $saisie_15->setFinAbs(VENDREDI_s42j5.' 09:00:00'); $saisie_15->setClasse($classe_6A); $saisie_15->save(); $saisie_151 = new AbsenceEleveSaisie(); $saisie_151->setEleve($florence_eleve); $saisie_151->setUtilisateurProfessionnel($lebesgue_prof); $saisie_151->setDebutAbs(VENDREDI_s42j5.' 08:00:00');//ce retard ne sera pas décompté car il est inclus dans une absence plus globale $saisie_151->setFinAbs(VENDREDI_s42j5.' 08:10:00'); $saisie_151->setClasse($classe_6A); $saisie_151->save(); $saisie_16 = new AbsenceEleveSaisie(); //$saisie_9->setEleve($florence_eleve);//aucun eleve : c'est un marqueur d'appel éffectué $saisie_16->setUtilisateurProfessionnel($lebesgue_prof); $saisie_16->setDebutAbs(SAMEDI_s42j6.' 08:00:00'); $saisie_16->setFinAbs(SAMEDI_s42j6.' 09:00:00'); $saisie_16->setAidDetails($aid_1); $saisie_16->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_16); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Erreur de saisie')->findOne()); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $saisie_17 = new AbsenceEleveSaisie(); $saisie_17->setEleve($florence_eleve); $saisie_17->setUtilisateurProfessionnel($lebesgue_prof); $saisie_17->setDebutAbs(DIMANCHE_s42j7.' 08:00:00'); $saisie_17->setFinAbs(DIMANCHE_s42j7.' 09:00:00'); $saisie_17->save(); $saisie_171 = new AbsenceEleveSaisie(); $saisie_171->setEleve($florence_eleve); $saisie_171->setUtilisateurProfessionnel($lebesgue_prof); $saisie_171->setDebutAbs(DIMANCHE_s42j7.' 14:00:00'); $saisie_171->setFinAbs(DIMANCHE_s42j7.' 15:00:00'); $saisie_171->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_17); $traitement->addAbsenceEleveSaisie($saisie_171); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Absence scolaire')->findOne()); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $saisie_18 = new AbsenceEleveSaisie(); $saisie_18->setEleve($florence_eleve); $saisie_18->setUtilisateurProfessionnel($lebesgue_prof); $saisie_18->setDebutAbs(LUNDI_s43j1.' 08:00:00'); $saisie_18->setFinAbs(LUNDI_s43j1.' 09:00:00'); $saisie_18->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_18); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Retard exterieur')->findOne());//c'est le retard extérieur qui va prendre le dessus : ne comptera pas comme demi journée d'absence $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $saisie_181 = new AbsenceEleveSaisie();//la saisie 181 est la même que 18 mais elle va être comptée comme une absence normale et non un retard $saisie_181->setEleve($florence_eleve); $saisie_181->setUtilisateurProfessionnel($lebesgue_prof); $saisie_181->setDebutAbs(LUNDI_s43j1.' 08:00:00'); $saisie_181->setFinAbs(LUNDI_s43j1.' 09:00:00'); $saisie_181->save(); $saisie_19 = new AbsenceEleveSaisie(); //saisie sur une journée ouvrée un mardi $saisie_19->setEleve($florence_eleve); $saisie_19->setUtilisateurProfessionnel($lebesgue_prof); $saisie_19->setDebutAbs(MARDI_s43j2.' 08:00:00'); $saisie_19->setFinAbs(MARDI_s43j2.' 16:30:00'); $saisie_19->save(); $saisie_20 = new AbsenceEleveSaisie(); //saisie sur plusieurs journées du jeudi 28-10 au mardi 2-11-2010, 1 seule saisie $saisie_20->setEleve($florence_eleve); $saisie_20->setUtilisateurProfessionnel($dolto_cpe); $saisie_20->setDebutAbs(JEUDI_s44j4.' 08:00:00'); $saisie_20->setFinAbs(MARDI_s45j2.' 17:00:00'); $saisie_20->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_20); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Absence scolaire')->findOne()); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $saisie_21 = new AbsenceEleveSaisie(); //saisie sur 1 journée et sortir l'élève de l'établissement $saisie_21->setEleve($florence_eleve); $saisie_21->setUtilisateurProfessionnel($lebesgue_prof); $saisie_21->setDebutAbs(LUNDI_a1_s22j1.' 08:00:00'); $saisie_21->setFinAbs(LUNDI_a1_s22j1.' 16:30:00'); $saisie_21->save(); $saisie_22 = new AbsenceEleveSaisie(); $saisie_22->setEleve($florence_eleve); $saisie_22->setUtilisateurProfessionnel($lebesgue_prof); $saisie_22->setDebutAbs(MARDI_a1_s22j2.' 08:01:00'); $saisie_22->setFinAbs(MARDI_a1_s22j2.' 09:00:00'); $saisie_22->save(); $saisie_221 = new AbsenceEleveSaisie(); $saisie_221->setEleve($florence_eleve); $saisie_221->setUtilisateurProfessionnel($lebesgue_prof); $saisie_221->setDebutAbs(MARDI_a1_s22j2.' 08:00:00'); $saisie_221->setFinAbs(MARDI_a1_s22j2.' 09:10:00'); $saisie_221->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_221); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Infirmerie')->findOne()); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $saisie_23 = new AbsenceEleveSaisie(); $saisie_23->setEleve($florence_eleve); $saisie_23->setUtilisateurProfessionnel($lebesgue_prof); $saisie_23->setDebutAbs(MERCREDI_a1_s22j3.' 08:01:00'); $saisie_23->setFinAbs(MERCREDI_a1_s22j3.' 08:10:00'); $saisie_23->save(); $saisie_231 = new AbsenceEleveSaisie(); $saisie_231->setEleve($florence_eleve); $saisie_231->setUtilisateurProfessionnel($lebesgue_prof); $saisie_231->setDebutAbs(MERCREDI_a1_s22j3.' 08:00:00'); $saisie_231->setFinAbs(MERCREDI_a1_s22j3.' 09:10:00'); $saisie_231->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_231); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Infirmerie')->findOne()); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); //on ajoute des cours $edtCours = new EdtEmplacementCours(); $edtCours->setGroupe($groupe_math); $edtCours->setDuree(2); $edtCours->setIdDefiniePeriode(4); $edtCours->setJourSemaine('vendredi'); $edtCours->setHeuredebDec(0); $edtCours->setUtilisateurProfessionnel($lebesgue_prof); $edtCours->save(); $edtCours = new EdtEmplacementCours(); $edtCours->setGroupe($groupe_math); $edtCours->setDuree(2); $edtCours->setIdDefiniePeriode(1); $edtCours->setJourSemaine('jeudi'); $edtCours->setHeuredebDec(0); $edtCours->setUtilisateurProfessionnel($lebesgue_prof); $edtCours->save(); $edtCours = new EdtEmplacementCours(); $edtCours->setAidDetails($aid_1); $edtCours->setDuree(2); $edtCours->setIdDefiniePeriode(4); $edtCours->setJourSemaine('vendredi'); $edtCours->setHeuredebDec(0); $edtCours->setUtilisateurProfessionnel($newton_prof); $edtCours->save(); //on va peupler des saisies englobantes ou identiques $saisie_1 = new AbsenceEleveSaisie(); $saisie_1->setEleve($florence_eleve); $saisie_1->setUtilisateurProfessionnel($lebesgue_prof); $saisie_1->setDebutAbs(JEUDI_a1_s22j4.' 08:00:00'); $saisie_1->setFinAbs(JEUDI_a1_s22j4.' 09:00:00'); $saisie_1->save(); $saisie_1 = new AbsenceEleveSaisie(); $saisie_1->setEleve($florence_eleve); $saisie_1->setUtilisateurProfessionnel($lebesgue_prof); $saisie_1->setDebutAbs(JEUDI_a1_s22j4.' 07:00:00'); $saisie_1->setFinAbs(JEUDI_a1_s22j4.' 10:00:00'); $saisie_1->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_1); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Infirmerie')->findOne()); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $saisie_1 = new AbsenceEleveSaisie(); $saisie_1->setEleve($florence_eleve); $saisie_1->setUtilisateurProfessionnel($lebesgue_prof); $saisie_1->setDebutAbs(VENDREDI_a1_s22j5.' 08:00:00'); $saisie_1->setFinAbs(VENDREDI_a1_s22j5.' 09:00:00'); $saisie_1->save(); $saisie_1 = new AbsenceEleveSaisie(); $saisie_1->setEleve($florence_eleve); $saisie_1->setUtilisateurProfessionnel($lebesgue_prof); $saisie_1->setDebutAbs(VENDREDI_a1_s22j5.' 08:00:00'); $saisie_1->setFinAbs(VENDREDI_a1_s22j5.' 09:00:00'); $saisie_1->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_1); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Infirmerie')->findOne()); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $saisie_1 = new AbsenceEleveSaisie(); $saisie_1->setEleve($florence_eleve); $saisie_1->setUtilisateurProfessionnel($lebesgue_prof); $saisie_1->setDebutAbs(LUNDI_a1_s23j1.' 08:00:00'); $saisie_1->setFinAbs(LUNDI_a1_s23j1.' 09:00:00'); $saisie_1->save(); $saisie_1 = new AbsenceEleveSaisie(); $saisie_1->setEleve($florence_eleve); $saisie_1->setUtilisateurProfessionnel($lebesgue_prof); $saisie_1->setDebutAbs(LUNDI_a1_s23j1.' 08:00:00'); $saisie_1->setFinAbs(LUNDI_a1_s23j1.' 09:30:00'); $saisie_1->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_1); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Infirmerie')->findOne()); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $saisie_1 = new AbsenceEleveSaisie(); $saisie_1->setEleve($florence_eleve); $saisie_1->setUtilisateurProfessionnel($lebesgue_prof); $saisie_1->setDebutAbs(LUNDI_a1_s23j1.' 08:00:00'); $saisie_1->setFinAbs(LUNDI_a1_s23j1.' 10:00:00'); $saisie_1->save(); $saisie_1 = new AbsenceEleveSaisie(); $saisie_1->setEleve($florence_eleve); $saisie_1->setUtilisateurProfessionnel($lebesgue_prof); $saisie_1->setDebutAbs(MARDI_a1_s23j2.' 08:00:00'); $saisie_1->setFinAbs(MARDI_a1_s23j2.' 09:00:00'); $saisie_1->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_1); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Infirmerie')->findOne()); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $saisie_1 = new AbsenceEleveSaisie(); $saisie_1->setEleve($florence_eleve); $saisie_1->setUtilisateurProfessionnel($lebesgue_prof); $saisie_1->setDebutAbs(MARDI_a1_s23j2.' 09:00:00'); $saisie_1->setFinAbs(MARDI_a1_s23j2.' 09:40:00'); $saisie_1->save(); $saisie_1 = new AbsenceEleveSaisie(); $saisie_1->setEleve($florence_eleve); $saisie_1->setUtilisateurProfessionnel($lebesgue_prof); $saisie_1->setDebutAbs(MARDI_a1_s23j2.' 08:00:00'); $saisie_1->setFinAbs(MARDI_a1_s23j2.' 10:00:00'); $saisie_1->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_1); $traitement->setAbsenceEleveJustification(AbsenceEleveJustificationQuery::create()->filterByNom('Courrier familial')->findOne()); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $saisie_1 = new AbsenceEleveSaisie(); $saisie_1->setEleve($florence_eleve); $saisie_1->setUtilisateurProfessionnel($lebesgue_prof); $saisie_1->setDebutAbs(MERCREDI_a1_s23j3.' 08:00:00'); $saisie_1->setFinAbs(MERCREDI_a1_s23j3.' 09:00:00'); $saisie_1->save(); $saisie_1 = new AbsenceEleveSaisie(); $saisie_1->setEleve($florence_eleve); $saisie_1->setUtilisateurProfessionnel($lebesgue_prof); $saisie_1->setDebutAbs(MERCREDI_a1_s23j3.' 08:00:00'); $saisie_1->setFinAbs(MERCREDI_a1_s23j3.' 09:00:00'); $saisie_1->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_1); $traitement->setAbsenceEleveJustification(AbsenceEleveJustificationQuery::create()->filterByNom('Courrier familial')->findOne()); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Infirmerie')->findOne()); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $saisie_1 = new AbsenceEleveSaisie(); $saisie_1->setEleve($florence_eleve); $saisie_1->setUtilisateurProfessionnel($lebesgue_prof); $saisie_1->setDebutAbs(JEUDI_a1_s23j4.' 08:00:00'); $saisie_1->setFinAbs(JEUDI_a1_s23j4.' 08:10:00'); $saisie_1->save(); $saisie_1 = new AbsenceEleveSaisie(); $saisie_1->setEleve($florence_eleve); $saisie_1->setUtilisateurProfessionnel($lebesgue_prof); $saisie_1->setDebutAbs(JEUDI_a1_s23j4.' 08:00:00'); $saisie_1->setFinAbs(JEUDI_a1_s23j4.' 08:15:00'); $saisie_1->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_1); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $notification = new AbsenceEleveNotification(); $notification->setStatutEnvoi(AbsenceEleveNotificationPeer::STATUT_ENVOI_EN_COURS); $notification->setTypeNotification(AbsenceEleveNotificationPeer::TYPE_NOTIFICATION_COURRIER); $notification->setAbsenceEleveTraitement($traitement); $notification->save(); $saisie_1 = new AbsenceEleveSaisie(); $saisie_1->setEleve($florence_eleve); $saisie_1->setUtilisateurProfessionnel($lebesgue_prof); $saisie_1->setDebutAbs(VENDREDI_a1_s23j5.' 08:00:00'); $saisie_1->setFinAbs(VENDREDI_a1_s23j5.' 08:10:00'); $saisie_1->save(); $saisie_1 = new AbsenceEleveSaisie(); $saisie_1->setEleve($florence_eleve); $saisie_1->setUtilisateurProfessionnel($lebesgue_prof); $saisie_1->setDebutAbs(VENDREDI_a1_s23j5.' 08:00:00'); $saisie_1->setFinAbs(VENDREDI_a1_s23j5.' 08:10:00'); $saisie_1->save(); $saisie_1 = new AbsenceEleveSaisie(); $saisie_1->setEleve($florence_eleve); $saisie_1->setUtilisateurProfessionnel($lebesgue_prof); $saisie_1->setDebutAbs(SAMEDI_a1_s23j6.' 08:00:00'); $saisie_1->setFinAbs(SAMEDI_a1_s23j6.' 09:00:00'); $saisie_1->save(); $saisie_1 = new AbsenceEleveSaisie(); $saisie_1->setEleve($florence_eleve); $saisie_1->setUtilisateurProfessionnel($lebesgue_prof); $saisie_1->setDebutAbs(SAMEDI_a1_s23j6.' 08:00:00'); $saisie_1->setFinAbs(SAMEDI_a1_s23j6.' 09:00:00'); $saisie_1->save(); $saisie_1 = new AbsenceEleveSaisie(); $saisie_1->setEleve($florence_eleve); $saisie_1->setUtilisateurProfessionnel($lebesgue_prof); $saisie_1->setDebutAbs(SAMEDI_a1_s23j6.' 08:00:00'); $saisie_1->setFinAbs(SAMEDI_a1_s23j6.' 09:00:00'); $saisie_1->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_1); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Infirmerie')->findOne()); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $saisie_1 = new AbsenceEleveSaisie(); $saisie_1->setEleve($florence_eleve); $saisie_1->setUtilisateurProfessionnel($lebesgue_prof); $saisie_1->setDebutAbs(SAMEDI_a1_s23j6.' 08:00:00'); $saisie_1->setFinAbs(SAMEDI_a1_s23j6.' 09:10:00'); $saisie_1->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_1); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Erreur de saisie')->findOne()); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $saisie_1 = new AbsenceEleveSaisie(); $saisie_1->setEleve($florence_eleve); $saisie_1->setUtilisateurProfessionnel($lebesgue_prof); $saisie_1->setDebutAbs(DIMANCHE_a1_s23j7.' 08:00:00'); $saisie_1->setFinAbs(DIMANCHE_a1_s23j7.' 09:00:00'); $saisie_1->save(); $saisie_1 = new AbsenceEleveSaisie(); $saisie_1->setEleve($florence_eleve); $saisie_1->setUtilisateurProfessionnel($lebesgue_prof); $saisie_1->setDebutAbs(DIMANCHE_a1_s23j7.' 07:00:00'); $saisie_1->setFinAbs(DIMANCHE_a1_s23j7.' 09:10:00'); $saisie_1->save(); $saisie_1 = new AbsenceEleveSaisie(); $saisie_1->setEleve($florence_eleve); $saisie_1->setUtilisateurProfessionnel($lebesgue_prof); $saisie_1->setDebutAbs(DIMANCHE_a1_s23j7.' 08:00:00'); $saisie_1->setFinAbs(DIMANCHE_a1_s23j7.' 09:11:00'); $saisie_1->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_1); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Infirmerie')->findOne()); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $saisie_1 = new AbsenceEleveSaisie(); $saisie_1->setEleve($florence_eleve); $saisie_1->setUtilisateurProfessionnel($lebesgue_prof); $saisie_1->setDebutAbs(DIMANCHE_a1_s23j7.' 08:00:00'); $saisie_1->setFinAbs(DIMANCHE_a1_s23j7.' 09:10:00'); $saisie_1->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_1); $traitement->setAbsenceEleveType(AbsenceEleveTypeQuery::create()->filterByNom('Erreur de saisie')->findOne()); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $saisie_1 = new AbsenceEleveSaisie(); $saisie_1->setEleve($florence_eleve); $saisie_1->setUtilisateurProfessionnel($lebesgue_prof); $saisie_1->setDebutAbs(LUNDIa1_s24j1.' 08:00:00'); $saisie_1->setFinAbs(LUNDIa1_s24j1.' 08:10:00'); $saisie_1->save(); $saisie_1 = new AbsenceEleveSaisie(); $saisie_1->setEleve($florence_eleve); $saisie_1->setUtilisateurProfessionnel($lebesgue_prof); $saisie_1->setDebutAbs(LUNDIa1_s24j1.' 08:00:00'); $saisie_1->setFinAbs(LUNDIa1_s24j1.' 08:10:00'); $saisie_1->save(); $saisie_1 = new AbsenceEleveSaisie(); $saisie_1->setEleve($florence_eleve); $saisie_1->setUtilisateurProfessionnel($lebesgue_prof); $saisie_1->setDebutAbs(LUNDIa1_s24j1.' 08:00:00'); $saisie_1->setFinAbs(LUNDIa1_s24j1.' 08:10:00'); $saisie_1->save(); $saisie_1 = new AbsenceEleveSaisie(); $saisie_1->setEleve($florence_eleve); $saisie_1->setUtilisateurProfessionnel($lebesgue_prof); $saisie_1->setDebutAbs(LUNDIa1_s24j1.' 08:00:00'); $saisie_1->setFinAbs(LUNDIa1_s24j1.' 09:10:00'); $saisie_1->save(); $traitement = new AbsenceEleveTraitement(); $traitement->addAbsenceEleveSaisie($saisie_1); $traitement->setUtilisateurProfessionnel($dolto_cpe); $traitement->save(); $notification = new AbsenceEleveNotification(); $notification->setStatutEnvoi(AbsenceEleveNotificationPeer::STATUT_ENVOI_SUCCES); $notification->setTypeNotification(AbsenceEleveNotificationPeer::TYPE_NOTIFICATION_COURRIER); $notification->setAbsenceEleveTraitement($traitement); $notification->save(); //on va purger les références, qui peuvent être fausses suite à des ajouts ultérieurs GepiDataPopulator::clearAllReferences(); $con->commit(); }
$responsable_eleve2 = $responsable_information->getResponsableEleve(); } } } if ($responsable_eleve1 != null) { $notification->setEmail($responsable_eleve1->getMel()); $notification->setTelephone($responsable_eleve1->getTelPort()); $notification->setAdresseId($responsable_eleve1->getAdresseId()); $notification->addResponsableEleve($responsable_eleve1); } if ($responsable_eleve2 != null) { if ($responsable_eleve1 == null || $responsable_eleve2->getAdresseId() == $responsable_eleve1->getAdresseId()) { $notification->addResponsableEleve($responsable_eleve2); } } $notification->save(); header("Location: ./visu_notification.php?id_notification=" . $notification->getId() . '&menu=' . $menu); die; } elseif (isset($_POST["modifier_type"])) { $message_enregistrement .= modif_type($saisie, $utilisateur); if ($message_enregistrement == '') { $message_enregistrement = '<span style="color:green">Modification du type enregistrée.</span>'; } include "visu_saisie.php"; die; } elseif (isset($_GET["version"])) { if ($utilisateur->getStatut() != 'cpe' && $utilisateur->getStatut() != 'scolarite') { $message_enregistrement .= '<span style="color:red">Modification non autorisée.</span>'; $temoin_erreur_saisie = "y"; include "visu_saisie.php"; die;
/** * Envoi une notification (email ou sms uniquement) * * @param AbsenceEleveNotification $notification * @param String $message le message texte a envoyer * @return String message d'erreur si envoi échoué */ public static function EnvoiNotification($notification, $message){ $return_message = ''; if ($notification->getStatutEnvoi() != AbsenceEleveNotificationPeer::STATUT_ENVOI_ETAT_INITIAL && $notification->getStatutEnvoi() != AbsenceEleveNotificationPeer::STATUT_ENVOI_ETAT_INITIAL) { return 'Seul une notification de statut initial ou prete à envoyer peut être envoyée avec cette méthode'; } if ($notification->getTypeNotification() != AbsenceEleveNotificationPeer::TYPE_NOTIFICATION_EMAIL && $notification->getTypeNotification() != AbsenceEleveNotificationPeer::TYPE_NOTIFICATION_SMS) { return 'Seul une notification de type email ou sms peut être envoyée avec cette méthode'; } elseif ($notification->getTypeNotification() == AbsenceEleveNotificationPeer::TYPE_NOTIFICATION_EMAIL) { if ($notification->getEmail() == null || $notification->getEmail() == '') { $notification->setErreurMessageEnvoi('email non renseigné'); $notification->save(); return 'Echec de l\'envoi : email non renseigné.'; } require_once('../lib/email_validator.php'); if (!validEmail($notification->getEmail())) { $notification->setErreurMessageEnvoi('adresse email non valide'); $notification->save(); return 'Erreur : adresse email non valide.'; } $email_abs_etab = getSettingValue("gepiAbsenceEmail"); if ($email_abs_etab == null || $email_abs_etab == '') { $email_abs_etab = getSettingValue("gepiSchoolEmail"); } $envoi = mail($notification->getEmail(), "Notification d'absence ".getSettingValue("gepiSchoolName").' - Ref : '.$notification->getId().' -', $message, "From: ".$email_abs_etab."\r\n" ."X-Mailer: PHP/" . phpversion()); $notification->setDateEnvoi('now'); if ($envoi) { $notification->setStatutEnvoi(AbsenceEleveNotificationPeer::STATUT_ENVOI_SUCCES); $return_message = ''; } else { $return_message = 'Non accepté pour livraison.'; $notification->setErreurMessageEnvoi($return_message); $notification->setStatutEnvoi(AbsenceEleveNotificationPeer::STATUT_ENVOI_ECHEC); } $notification->save(); return $return_message; } else if ($notification->getTypeNotification() == AbsenceEleveNotificationPeer::TYPE_NOTIFICATION_SMS) { if (getSettingValue("abs2_sms")!='y') { return 'Erreur : envoi de sms désactivé.'; } // Load the template if (getSettingValue("abs2_sms_prestataire")=='tm4b') { $url = "http://www.tm4b.com/client/api/http.php"; $hote = "tm4b.com"; $script = "/client/api/http.php"; $param['username'] = getSettingValue("abs2_sms_username"); // identifiant de notre compte TM4B $param['password'] = getSettingValue("abs2_sms_password"); // mot de passe de notre compte TM4B $param['type'] = 'broadcast'; // envoi de sms $param['msg'] = $message; // message que l'on désire envoyer $tel = $notification->getTelephone(); if (mb_substr($tel, 0, 1) == '0') { $tel = '33'.mb_substr($tel, 1, 9); } $param['to'] = $tel; // numéros de téléphones auxquels on envoie le message $param['from'] = getSettingValue("gepiSchoolName"); // expéditeur du message (first class uniquement) $param['route'] = 'business'; // type de route (pour la france, business class uniquement) $param['version'] = '2.1'; $param['sim'] = 'yes'; // on active le mode simulation, pour tester notre script } else if (getSettingValue("abs2_sms_prestataire")=='123-sms') { $url = "http://www.123-SMS.net/http.php"; $hote = "123-SMS.net"; $script = "/http.php"; $param['email'] = getSettingValue("abs2_sms_username"); // identifiant de notre compte TM4B $param['pass'] = getSettingValue("abs2_sms_password"); // mot de passe de notre compte TM4B $param['message'] = $message; // message que l'on désire envoyer $param['numero'] = $notification->getTelephone(); // numéros de téléphones auxquels on envoie le message } else if (getSettingValue("abs2_sms_prestataire")=='pluriware') { $url = "http://sms.pluriware.fr/httpapi.php"; $hote = "pluriware.fr"; $script = "/httpapi.php"; $param['user'] = getSettingValue("abs2_sms_username"); // identifiant du compte Pluriware $param['pass'] = getSettingValue("abs2_sms_password"); // mot de passe du compte Pluriware $param['cmd'] = 'sendsms'; $param['txt'] = $message; // message a envoyer $tel = $notification->getTelephone(); $tel = str_replace(" ","",$tel); $tel = str_replace(".","",$tel); $tel = str_replace("-","",$tel); $tel = str_replace("/","",$tel); if (mb_substr($tel, 0, 1) == '0') { //Ajout indicatif 33 $tel = '33'.mb_substr($tel, 1, 9); } $param['to'] = $tel; // numéro de téléphone auxquel on envoie le message $param['from'] = str_replace(" ","",getSettingValue("gepiSchoolTel")); // expéditeur du message (facultatif) /* Les parametres suivants sont pour le moment facultatifs (janv/2011) mais peuvent êtres utiles pour une évolution future ou en cas de debug */ $param['gepi_school'] = getSettingValue("gepiSchoolName"); $param['gepi_version'] = getSettingValue("version"); // pour debug au cas ou $param['gepi_mail'] = getSettingValue("gepiSchoolEmail"); // remontée éventuelle des réponses par mail $param['gepi_rne'] = getSettingValue("gepiSchoolRne"); // identification supplémentaire $param['gepi_pays'] = getSettingValue("gepiSchoolPays"); // peux servir pour corriger ou insérer l'indicatif international du num tel //echo "<pre>"; //echo print_r($param); //echo "</pre>"; } $requete = ''; foreach($param as $clef => $valeur) { $requete .= $clef . '=' . urlencode($valeur); // il faut bien formater les valeurs $requete .= '&'; } if (in_array ('curl', get_loaded_extensions())) { //on utilise curl pour la requete au service sms $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $requete); $reponse = curl_exec($ch); curl_close($ch); } else { $longueur_requete = strlen($requete); $methode = "POST"; $entete = $methode . " " . $script . " HTTP/1.1\r\n"; $entete .= "Host: " . $hote . "\r\n"; $entete .= "Content-Type: application/x-www-form-urlencoded\r\n"; $entete .= "Content-Length: " . $longueur_requete . "\r\n"; $entete .= "Connection: close\r\n\r\n"; $entete .= $requete . "\r\n"; $socket = fsockopen($hote, 80, $errno, $errstr); if($socket) { fputs($socket, $entete); // envoi de l'entete while(!feof($socket)) { $reponseArray[] = fgets($socket); // recupere les resultats } $reponse = $reponseArray[8]; fclose($socket); } else { $reponse = 'error : no socket available.'; } } $notification->setDateEnvoi('now'); //traitement de la réponse if (getSettingValue("abs2_sms_prestataire")=='tm4b') { if (mb_substr($reponse, 0, 5) == 'error') { $return_message = 'Erreur : message non envoyé. Code erreur : '.$reponse; $notification->setStatutEnvoi(AbsenceEleveNotificationPeer::STATUT_ENVOI_ECHEC); $notification->setErreurMessageEnvoi($reponse); } else { $notification->setStatutEnvoi(AbsenceEleveNotificationPeer::STATUT_ENVOI_ECHEC); } } else if (getSettingValue("abs2_sms_prestataire")=='123-sms') { if ($reponse != '80') { $return_message = 'Erreur : message non envoyé. Code erreur : '.$reponse; $notification->setStatutEnvoi(AbsenceEleveNotificationPeer::STATUT_ENVOI_ECHEC); $notification->setErreurMessageEnvoi($reponse); } else { $notification->setStatutEnvoi(AbsenceEleveNotificationPeer::STATUT_ENVOI_ECHEC); } } else if (getSettingValue("abs2_sms_prestataire")=='pluriware') { if (mb_substr($reponse, 0, 3) == 'ERR') { $return_message = 'Erreur : message non envoyé. Code erreur : '.$reponse; $notification->setStatutEnvoi(AbsenceEleveNotificationPeer::STATUT_ENVOI_ECHEC); $notification->setErreurMessageEnvoi($reponse); } else { $notification->setStatutEnvoi(AbsenceEleveNotificationPeer::STATUT_ENVOI_SUCCES); } } $notification->save(); return $return_message; } }