// 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);
	}
Example #5
0
	/**
	 * @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");