// Vérification : est-ce que l'utilisateur a le droit de travailler sur ce groupe ? if (!$groupe->belongsTo($utilisateur)) { echo "Erreur edition de notice privee : le groupe n'appartient pas au professeur"; die; } if ($ajout_nouvelle_notice != "oui") { //on cherche si il y a une notice pour le groupe à la date précisée $criteria = new Criteria(CahierTexteNoticePriveePeer::DATABASE_NAME); $criteria->add(CahierTexteNoticePriveePeer::DATE_CT, $today, '='); $criteria->add(CahierTexteNoticePriveePeer::ID_LOGIN, $utilisateur->getLogin()); $cahierTexteNoticePrivees = $groupe->getCahierTexteNoticePrivees($criteria); $cahierTexteNoticePrivee = isset($cahierTexteNoticePrivees[0]) ? $cahierTexteNoticePrivees[0] : NULL; } if ($cahierTexteNoticePrivee == null) { //pas de notices, on initialise un nouvel objet $cahierTexteNoticePrivee = new CahierTexteNoticePrivee(); $cahierTexteNoticePrivee->setIdGroupe($groupe->getId()); $cahierTexteNoticePrivee->setDateCt($today); $cahierTexteNoticePrivee->setIdLogin($utilisateur->getLogin()); } } // Vérification : est-ce que l'utilisateur a le droit de modifier cette entré ? if (my_strtolower($cahierTexteNoticePrivee->getIdLogin()) != my_strtolower($utilisateur->getLogin())) { echo "Erreur edition de notice privee : vous n'avez pas le droit de modifier cette notice car elle appartient à un autre professeur."; die; } //on mets le groupe dans le session, pour naviguer entre absence, cahier de texte et autres $_SESSION['id_groupe_session'] = $cahierTexteNoticePrivee->getIdGroupe(); // ********************************************** // Affichage des différents groupes du professeur //\$A($('id_groupe_colonne_gauche').options).find(function(option) { return option.selected; }).value is a javascript trick to get selected value.
/** * Filter the query by a related CahierTexteNoticePrivee object * * @param CahierTexteNoticePrivee $cahierTexteNoticePrivee the related object to use as filter * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * * @return CahierTexteSequenceQuery The current query, for fluid interface */ public function filterByCahierTexteNoticePrivee($cahierTexteNoticePrivee, $comparison = null) { if ($cahierTexteNoticePrivee instanceof CahierTexteNoticePrivee) { return $this ->addUsingAlias(CahierTexteSequencePeer::ID, $cahierTexteNoticePrivee->getIdSequence(), $comparison); } elseif ($cahierTexteNoticePrivee instanceof PropelCollection) { return $this ->useCahierTexteNoticePriveeQuery() ->filterByPrimaryKeys($cahierTexteNoticePrivee->getPrimaryKeys()) ->endUse(); } else { throw new PropelException('filterByCahierTexteNoticePrivee() only accepts arguments of type CahierTexteNoticePrivee or PropelCollection'); } }
/** * Exclude object from result * * @param CahierTexteNoticePrivee $cahierTexteNoticePrivee Object to remove from the list of results * * @return CahierTexteNoticePriveeQuery The current query, for fluid interface */ public function prune($cahierTexteNoticePrivee = null) { if ($cahierTexteNoticePrivee) { $this->addUsingAlias(CahierTexteNoticePriveePeer::ID_CT, $cahierTexteNoticePrivee->getIdCt(), Criteria::NOT_EQUAL); } return $this; }
/** * @param CahierTexteNoticePrivee $cahierTexteNoticePrivee The cahierTexteNoticePrivee object to add. */ protected function doAddCahierTexteNoticePrivee($cahierTexteNoticePrivee) { $this->collCahierTexteNoticePrivees[]= $cahierTexteNoticePrivee; $cahierTexteNoticePrivee->setUtilisateurProfessionnel($this); }
/** * @param CahierTexteNoticePrivee $cahierTexteNoticePrivee The cahierTexteNoticePrivee object to add. */ protected function doAddCahierTexteNoticePrivee($cahierTexteNoticePrivee) { $this->collCahierTexteNoticePrivees[]= $cahierTexteNoticePrivee; $cahierTexteNoticePrivee->setGroupe($this); }
$groupe = $ctNoticePrivee->getGroupe(); } else { //si pas du compte rendu précisé, récupération du groupe dans la requete et création d'un nouvel objet CahierTexteNoticePrivee foreach ($utilisateur->getGroupes() as $group) { if ($id_groupe == $group->getId()) { $groupe = $group; break; } } // cela economise un acces db par rapport à $current_group = GroupePeer::retrieveByPK($id_groupe), et permet de ne pas avoir a nettoyer les reference de utilisateurs. if ($groupe == null) { echo "Erreur enregistrement de notice privee : pas de groupe ou mauvais groupe spécifié"; die; } //pas de notices, on lance une création de notice $ctNoticePrivee = new CahierTexteNoticePrivee(); $ctNoticePrivee->setIdGroupe($groupe->getId()); $ctNoticePrivee->setIdLogin($utilisateur->getLogin()); } //affectation des parametres de la requete à l'objet ctNoticePrivee $contenu_cor = traitement_magic_quotes(corriger_caracteres($contenu), ''); $contenu_cor = str_replace("\\r", "", $contenu_cor); $contenu_cor = str_replace("\\n", "", $contenu_cor); $contenu_cor = stripslashes($contenu_cor); if ($contenu_cor == "" or $contenu_cor == "<br>") { $contenu_cor = "..."; } // Recuperation des images de formules mathematiques: //if(getSettingValue('get_img_formules_math')=='y') { // On met les images de notices privées dans le dossier des notices de compte-rendus. $contenu_cor = get_img_formules_math($contenu_cor, $id_groupe, "c");