security_check();
if ($resultat_session == 'c') {
header("Location: ../utilisateurs/mon_compte.php?change_mdp=yes");
die();
} else if ($resultat_session == '0') {
header("Location: ../logout.php?auto=1");
die();
}
// Il faudra corriger le droit dans utilitaires/updates/access_rights.inc.php
//$tab_req[] = "INSERT INTO droits VALUES ('/cahier_texte_2/see_all.php', 'F', 'V', 'V', 'V', 'V', 'V', 'F', 'F', 'Consultation des cahiers de texte', '');";
//$tab_req[] = "INSERT INTO droits VALUES ('/cahier_texte/see_all.php', 'F', 'V', 'V', 'V', 'V', 'V', 'F', 'F', 'Consultation des cahiers de texte', '');";
// Passer à V pour administrateur
if($_SESSION['statut']!='administrateur') {
if (!checkAccess()) {
header("Location: ../logout.php?auto=1");
die();
}
}
//On vérifie si le module est activé
if (getSettingValue("active_cahiers_texte")!='y') {
die("Le module n'est pas activé.");
}
//include "../lib/mincals.inc";
unset($day);
$day = isset($_POST["day"]) ? $_POST["day"] : (isset($_GET["day"]) ? $_GET["day"] : date("d"));
unset($month);
$month = isset($_POST["month"]) ? $_POST["month"] : (isset($_GET["month"]) ? $_GET["month"] : date("m"));
unset($year);
$year = isset($_POST["year"]) ? $_POST["year"] : (isset($_GET["year"]) ? $_GET["year"] : date("Y"));
$id_classe = isset($_POST["id_classe"]) ? $_POST["id_classe"] : (isset($_GET["id_classe"]) ? $_GET["id_classe"] : -1);
unset($id_groupe);
$id_groupe = isset($_POST["id_groupe"]) ? $_POST["id_groupe"] :(isset($_GET["id_groupe"]) ? $_GET["id_groupe"] :NULL);
if (is_numeric($id_groupe)) {
$current_group = get_group($id_groupe);
} else {
$current_group = false;
}
unset($selected_eleve);
$login_eleve = isset($_POST["login_eleve"]) ? $_POST["login_eleve"] :(isset($_GET["login_eleve"]) ? $_GET["login_eleve"] :false);
if ($login_eleve) {
$selected_eleve = mysqli_fetch_object(mysqli_query($GLOBALS["mysqli"], "SELECT e.login, e.nom, e.prenom FROM eleves e WHERE login = '" . $login_eleve . "'"));
} else {
$selected_eleve = false;
}
if ($_SESSION['statut'] == 'eleve') {
$selected_eleve = mysqli_fetch_object(mysqli_query($GLOBALS["mysqli"], "SELECT e.login, e.nom, e.prenom FROM eleves e WHERE login = '".$_SESSION['login'] . "'"));
} elseif ($_SESSION['statut'] == "responsable") {
$get_eleves = mysqli_query($GLOBALS["mysqli"], "SELECT e.login, e.nom, e.prenom " .
"FROM eleves e, resp_pers r, responsables2 re " .
"WHERE (" .
"e.ele_id = re.ele_id AND " .
"re.pers_id = r.pers_id AND " .
"r.login = '".$_SESSION['login']."')");
if (mysqli_num_rows($get_eleves) == 1) {
// Un seul élève associé : on initialise tout de suite la variable $selected_eleve
// Cela signifie entre autre que l'on ne prend pas en compte $login_eleve, fermant ainsi une
// potentielle faille de sécurité.
$selected_eleve = mysqli_fetch_object($get_eleves);
} elseif (mysqli_num_rows($get_eleves) == 0) {
$selected_eleve = false;
} elseif (mysqli_num_rows($get_eleves) > 1 and $selected_eleve) {
// Si on est là, c'est que la variable $login_eleve a été utilisée pour
// générer $selected_eleve
// On va vérifier que l'élève ainsi sélectionné fait bien partie des élèves
// associés à l'utilisateur au statut 'responsable'
$ok = false;
while($test = mysqli_fetch_object($get_eleves)) {
if ($test->login == $selected_eleve->login) $ok = true;
}
if (!$ok) $selected_eleve = false;
}
}
$selected_eleve_login = $selected_eleve ? $selected_eleve->login : "";
// Nom complet de la classe
$appel_classe = mysqli_query($GLOBALS["mysqli"], "SELECT classe FROM classes WHERE id='$id_classe'");
$classe_nom = @old_mysql_result($appel_classe, 0, "classe");
// Nom complet de la matière
$matiere_nom = $current_group["matiere"]["nom_complet"];
(!isset($_GET['ordre']) or (($_GET['ordre'] != '') and ($_GET['ordre']!= 'DESC')))?$current_ordre='':$current_ordre=$_GET['ordre'];
($current_ordre == '')?$ordre='DESC':$ordre='';
(!isset($_GET['imprime']) or (($_GET['imprime'] != 'y') and ($_GET['imprime']!= 'n')))?$current_imprime='n':$current_imprime=$_GET['imprime'];
if ($current_imprime == 'n') {
$imprime='y';
$text_imprime="Version imprimable";
$largeur = "30%";
} else {
$imprime='n';
$text_imprime="Retour";
$largeur = "5%";
}
// On ajoute un retour vers la page de signature des cdt si c'est un administrateur
$_retour = ((isset($_SESSION["retour"]))&&($_SESSION["retour"] == 'admin_ct')) ? $_SESSION["retour"] : 'visa_ct';
$code_retour_admin = '
\n";
//**************** FIN EN-TETE *************
// Création d'un espace entre le bandeau et le reste ainsi que le retour pour l'admin
echo "
\n" . $retour_admin;
//On vérifie si le module est activé
if (getSettingValue("active_cahiers_texte")!='y') {
die("
Le cahier de textes n'est pas accessible pour le moment.
");
}
// echo "
\n";
echo "\n";
// echo "
";
// echo "| ";
echo " ";
if ($current_imprime=='n') {
if ($_SESSION['statut'] == 'responsable') {
echo make_eleve_select_html('see_all.php', $_SESSION['login'], $selected_eleve, $year, $month, $day);
}
if ($selected_eleve_login != "") echo make_matiere_select_html('see_all.php', $selected_eleve_login, $id_groupe, $year, $month, $day);
if ($_SESSION['statut'] != "responsable" and $_SESSION['statut'] != "eleve") {
echo make_classes_select_html('see_all.php', $id_classe, $year, $month, $day);
if ($id_classe != -1) echo make_matiere_select_html('see_all.php', $id_classe, $id_groupe, $year, $month, $day);
}
}
echo " \n";
// echo " | \n";
// echo "\n";
echo "\n";
echo " \n";
echo "\n";
echo "Cahier de textes";
if ($current_group) {
echo " - $matiere_nom";
echo " - classe de ".$current_group['classlist_string'];
}
if ($id_classe != -1) {
echo " $classe_nom\n";
}
echo "\n";
// Test si le cahier de texte est partagé
if ($current_group) {
echo " (";
$i=0;
foreach ($current_group["profs"]["users"] as $prof) {
if ($i != 0) echo ", ";
echo mb_substr($prof["prenom"],0,1) . ". " . $prof["nom"];
$i++;
}
echo ")";
}
echo " \n";
echo " \n";
// echo " | \n";
// echo "
\n";
echo "
\n";
// echo "
\n";
if ($current_group) {
echo "
\n";
if ($current_imprime=='n') {
//if ($_SESSION["statut"] == "professeur" OR $_SESSION["statut"] == "scolarite" OR $_SESSION["statut"] == "cpe" OR $_SESSION["statut"] == "autre") {
if ($_SESSION["statut"] == "administrateur" OR $_SESSION["statut"] == "professeur" OR $_SESSION["statut"] == "scolarite" OR $_SESSION["statut"] == "cpe" OR $_SESSION["statut"] == "autre") {
echo "
\n
Retour\n - ";
if ($_SESSION["statut"] == "professeur") {
echo "
\n
Retour vers mes cahiers de textes\n - ";
}
} else {
echo "
\n
Retour\n - ";
}
// if ($current_imprime=='n')
echo "
\nTrier dans l'ordre inverse\n - \n";
}
echo "
\n$text_imprime\n\n";
// } retour ne s'affichait pas sur la page imprimable
echo "
\n";
}
echo "
";
$test_cahier_texte = mysqli_query($GLOBALS["mysqli"], "SELECT contenu FROM ct_entry WHERE (id_groupe='$id_groupe')");
$nb_test = mysqli_num_rows($test_cahier_texte);
if ($nb_test == 0) {
echo "\n
\n";
if ($_SESSION['statut'] == "responsable") {
echo "Choisissez un élève et une matière.";
} elseif ($_SESSION['statut'] == "eleve") {
echo "Choisissez une matière.";
} else {
echo "Choisissez une classe et une matière.";
}
echo "\n
\n";
echo "
\n";
echo "
Cahiers de textes du ";
echo strftime("%d/%m/%Y", getSettingValue("begin_bookings"));
echo " au ";
echo strftime("%d/%m/%Y", getSettingValue("end_bookings"));
echo "
\n";
require("../lib/footer.inc.php");
die();
}
// Affichage des informations générales
/*
$appel_info_cahier_texte = mysqli_query($GLOBALS["mysqli"], "SELECT contenu, id_ct FROM ct_entry WHERE (id_groupe='$id_groupe' and date_ct='')");
$nb_cahier_texte = mysqli_num_rows($appel_info_cahier_texte);
$content = @old_mysql_result($appel_info_cahier_texte, 0, 'contenu');
$id_ct = @old_mysql_result($appel_info_cahier_texte, 0, 'id_ct');
$content .= affiche_docs_joints($id_ct,"c");
if ($content != '') {
echo "
\nINFORMATIONS GENERALES\n
\n";
echo "
".$content."
";
}
*/
$infos_generales="";
$sql="SELECT contenu, id_ct FROM ct_entry WHERE (id_groupe='$id_groupe' and date_ct='');";
//echo "$sql
";
$appel_info_cahier_texte = mysqli_query($GLOBALS["mysqli"], $sql);
$nb_cahier_texte = mysqli_num_rows($appel_info_cahier_texte);
while($lig_ct=mysqli_fetch_object($appel_info_cahier_texte)) {
$content=$lig_ct->contenu;
if($content!="") {
$id_ct = $lig_ct->id_ct;
$content .= affiche_docs_joints($id_ct,"c");
$infos_generales.="
";
$infos_generales.=$content;
$infos_generales.="
";
}
}
//if ($content != '') {
if ($infos_generales != '') {
echo "
\nINFORMATIONS GENERALES\n
\n";
echo $infos_generales;
}
// echo "
CAHIER DE TEXTES: comptes rendus de séance
";
echo "
\nCAHIER DE TEXTES: comptes rendus de séance\n
\n";
if(($_SESSION['statut']=='eleve')||($_SESSION['statut']=='responsable')) {
if((isset($selected_eleve_login))&&($selected_eleve_login!="")) {
$req_notices =
"select DISTINCT 'c' type, contenu, date_ct, id_ct
from ct_entry ce, j_eleves_groupes jeg
where (contenu != ''
and ce.id_groupe='".$id_groupe."'
and ce.id_groupe=jeg.id_groupe
and jeg.login='".$selected_eleve_login."'
and date_ct != ''
and date_ct >= '".getSettingValue("begin_bookings")."'
and date_ct <= '".getSettingValue("end_bookings")."'
and date_ct <= '".time()."')
ORDER BY date_ct ".$current_ordre.", heure_entry ".$current_ordre;
}
else {
$req_notices =
"select 'c' type, contenu, date_ct, id_ct
from ct_entry
where (contenu != ''
and id_groupe='".$id_groupe."'
and date_ct != ''
and date_ct >= '".getSettingValue("begin_bookings")."'
and date_ct <= '".getSettingValue("end_bookings")."'
and date_ct <= '".time()."')
ORDER BY date_ct ".$current_ordre.", heure_entry ".$current_ordre;
}
}
else {
$req_notices =
"select 'c' type, contenu, date_ct, id_ct
from ct_entry
where (contenu != ''
and id_groupe='".$id_groupe."'
and date_ct != ''
and date_ct >= '".getSettingValue("begin_bookings")."'
and date_ct <= '".getSettingValue("end_bookings")."')
ORDER BY date_ct ".$current_ordre.", heure_entry ".$current_ordre;
}
$res_notices = mysqli_query($GLOBALS["mysqli"], $req_notices);
$notice = mysqli_fetch_object($res_notices);
// 20130727
$CDTPeutPointerTravailFait=getSettingAOui('CDTPeutPointerTravailFait'.ucfirst($_SESSION['statut']));
$class_notice_dev_fait="see_all_notice couleur_bord_tableau_notice color_fond_notices_t_fait";
$class_notice_dev_non_fait="see_all_notice couleur_bord_tableau_notice color_fond_notices_t";
if(($selected_eleve_login!='')&&($CDTPeutPointerTravailFait)) {
$tab_etat_travail_fait=get_tab_etat_travail_fait($selected_eleve_login);
echo js_cdt_modif_etat_travail();
}
$ts_limite_visibilite_devoirs_pour_eleves=time()+getSettingValue('delai_devoirs')*24*3600;
if(($_SESSION['statut']=='eleve')||($_SESSION['statut']=='responsable')) {
$ts_limite_dev=$ts_limite_visibilite_devoirs_pour_eleves;
}
else {
$ts_limite_dev=getSettingValue("end_bookings");
}
$req_devoirs =
"select 't' type, contenu, date_ct, id_ct, date_visibilite_eleve
from ct_devoirs_entry
where (contenu != ''
and id_groupe = '".$id_groupe."'
and date_ct != ''
and date_ct >= '".getSettingValue("begin_bookings")."'
and date_ct <= '".$ts_limite_dev."'
) order by date_ct ".$current_ordre;
$res_devoirs = mysqli_query($GLOBALS["mysqli"], $req_devoirs);
$devoir = mysqli_fetch_object($res_devoirs);
$timestamp_courant=time();
// Boucle d'affichage des notices dans la colonne de gauche
$date_ct_old = -1;
while (true) {
if ($current_ordre == "DESC") {
// On met les notices du jour avant les devoirs à rendre aujourd'hui
if ($notice && (!$devoir || $notice->date_ct >= $devoir->date_ct)) {
// Il y a encore une notice et elle est plus récente que le prochain devoir, où il n'y a plus de devoirs
$not_dev = $notice;
$notice = mysqli_fetch_object($res_notices);
$type_notice="notice";
} elseif($devoir) {
// Plus de notices et toujours un devoir, ou devoir plus récent
$not_dev = $devoir;
$devoir = mysqli_fetch_object($res_devoirs);
$type_notice="devoir";
} else {
// Plus rien à afficher, on sort de la boucle
break;
}
} else {
// On met les notices du jour avant les devoirs à rendre aujourd'hui
if ($notice && (!$devoir || $notice->date_ct <= $devoir->date_ct)) {
// Il y a encore une notice et elle est plus récente que le prochain devoir, où il n'y a plus de devoirs
$not_dev = $notice;
$notice = mysqli_fetch_object($res_notices);
$type_notice="notice";
} elseif($devoir) {
// Plus de notices et toujours un devoir, ou devoir plus récent
$not_dev = $devoir;
$devoir = mysqli_fetch_object($res_devoirs);
$type_notice="devoir";
} else {
// Plus rien à afficher, on sort de la boucle
break;
}
}
if(($type_notice!="devoir")||
($not_dev->date_visibilite_eleve=="")||
(($not_dev->date_visibilite_eleve!="")&&(mysql_date_to_unix_timestamp($not_dev->date_visibilite_eleve)<=$timestamp_courant))||
(verif_groupe_appartient_prof($id_groupe)==1)) {
// Passage en HTML
//$content = &$not_dev->contenu;
// INSERT INTO setting SET name='depolluer_MSOffice', value='y';
if(getSettingValue('depolluer_MSOffice')=='y') {
//$content = &my_ereg_replace('.*<\!\[endif\]-->',"",$not_dev->contenu);
$content = &preg_replace('#.*<\!\[endif\]-->#',"",$not_dev->contenu);
}
else {
$content = &$not_dev->contenu;
}
$content .= affiche_docs_joints($not_dev->id_ct,$not_dev->type);
echo "
\n\n";
if ($not_dev->type == "t") {
echo("A faire pour le : ");
}
echo(strftime("%a %d %b %y", $not_dev->date_ct));
echo "\n
\n";
// Numérotation des notices si plusieurs notices sur la même journée
if ($not_dev->type == "c") {
if ($date_ct_old == $not_dev->date_ct) {
$num_notice++;
echo "
(notice N° ".$num_notice.")";
} else {
// on afffiche "(notice N° 1)" uniquement s'il y a plusieurs notices dans la même journée
$nb_notices = sql_query1("SELECT count(id_ct) FROM ct_entry WHERE (id_groupe='" . $current_group["id"] ."' and date_ct='".$not_dev->date_ct."')");
if ($nb_notices > 1)
echo "
(notice N° 1)";
// On réinitialise le compteur
$num_notice = 1;
}
}
// echo("
type]."\">\n\n| \n$content | \n
\n
\n
\n");
if($type_notice=='devoir') {
// 20130727
$class_color_fond_notice="color_fond_notices_t";
if($CDTPeutPointerTravailFait) {
get_etat_et_img_cdt_travail_fait($not_dev->id_ct);
/*
if(array_key_exists($not_dev->id_ct, $tab_etat_travail_fait)) {
if($tab_etat_travail_fait[$not_dev->id_ct]['etat']=='fait') {
$image_etat="../images/edit16b.png";
$texte_etat_travail="FAIT: Le travail est actuellement pointé comme fait.\n";
if($tab_etat_travail_fait[$not_dev->id_ct]['date_modif']!=$tab_etat_travail_fait[$not_dev->id_ct]['date_initiale']) {
$texte_etat_travail.="Le travail a été pointé comme fait la première fois le ".formate_date($tab_etat_travail_fait[$not_dev->id_ct]['date_initiale'], "y")."\net modifié pour la dernière fois par la suite le ".formate_date($tab_etat_travail_fait[$not_dev->id_ct]['date_modif'], "y")."\n";
}
else {
$texte_etat_travail.="Le travail a été pointé comme fait le ".formate_date($tab_etat_travail_fait[$not_dev->id_ct]['date_initiale'], "y")."\n";
}
$texte_etat_travail.="Cliquer pour corriger si le travail n'est pas encore fait.";
$class_color_fond_notice="color_fond_notices_t_fait";
}
else {
$image_etat="../images/edit16.png";
$texte_etat_travail="NON FAIT: Le travail n'est actuellement pas fait.\nCliquer pour pointer le travail comme fait.";
}
}
else {
$image_etat="../images/edit16.png";
$texte_etat_travail="NON FAIT: Le travail n'est actuellement pas fait.\nCliquer pour pointer le travail comme fait.";
}
*/
}
echo "
";
}
else {
echo "
";
}
/* if ($not_dev->type == "t") {
echo "see_all_a_faire'>\n";
} else {
echo "see_all_compte_rendu'>\n";
}*/
if(($type_notice=='devoir')&&($not_dev->date_visibilite_eleve!='0000-00-00 00:00:00')) {
echo "
Donné le ".formate_date($not_dev->date_visibilite_eleve)."
\n";
}
if(($type_notice=='devoir')&&($CDTPeutPointerTravailFait)) {
echo "
\n";
}
$chaine_tag=get_liste_tag_notice_cdt($not_dev->id_ct, $not_dev->type, "right");
if($chaine_tag!="") {
echo $chaine_tag;
}
echo "$content\n
\n";
if ($not_dev->type == "c") $date_ct_old = $not_dev->date_ct;
}
}
//if ($current_imprime=='n') echo "";
//echo "";
echo "
\n";
echo "
Cahiers de textes du ";
echo strftime("%d/%m/%Y", getSettingValue("begin_bookings"));
echo " au ";
echo strftime("%d/%m/%Y", getSettingValue("end_bookings"));
echo "
\n";
require("../lib/footer.inc.php");
?>