Ejemplo n.º 1
0
    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.
echo "<div id=\"div_chaine_edition_notice\" style=\"display:inline;\"><img id=\"chaine_edition_notice\" onLoad=\"updateChaineIcones()\" style=\"border: 0px; vertical-align : middle\" HEIGHT=\"16\" WIDTH=\"16\" src=\"../images/blank.gif\" alt=\"Lier\" title=\"Lier la liste avec la fenetre la liste des notices\" /></div>&nbsp;\n";
} 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");
//}