' . "\n"; } // 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"]; $matiere_nom_court = $current_group["matiere"]["matiere"]; // Vérification settype($month,"integer"); settype($day,"integer"); settype($year,"integer"); $minyear = strftime("%Y", getSettingValue("begin_bookings")); $maxyear = strftime("%Y", getSettingValue("end_bookings")); if ($day < 1) $day = 1; if ($day > 31) $day = 31; if ($month < 1) $month = 1; if ($month > 12) $month = 12; if ($year < $minyear) $year = $minyear; if ($year > $maxyear) $year = $maxyear; # Make the date valid if day is more then number of days in month while (!checkdate($month, $day, $year)) $day--; $today=mktime(0,0,0,$month,$day,$year); //**************** EN-TETE ***************** $titre_page = "Cahier de textes"; $page_accueil = "index.php?id_classe=-1"; //require_once("../lib/header.inc.php"); require_once("lib/header_public.inc.php"); //**************** FIN EN-TETE ************* //On vérifie si le module est activé if (getSettingValue("active_cahiers_texte")!='y') { echo("

Le cahier de textes n'est pas accessible pour le moment.

"); require ("../lib/footer.inc.php"); die(); } if (getSettingValue("cahier_texte_acces_public")!='yes') { echo("

Le cahier de textes n'est pas en accès public.

"); require ("../lib/footer.inc.php"); die(); } // On vérifie que la date demandée est bien comprise entre la date de début des cahiers de texte et la date de fin des cahiers de texte : if ($today < getSettingValue("begin_bookings")) { $today = getSettingValue("begin_bookings"); } else if ($today > getSettingValue("end_bookings")) { $today = getSettingValue("end_bookings"); } echo ""; //----------------------------------------------------------------------------------- echo ""; echo "\n"; echo "\n"; echo ""; echo "
"; echo "

Nous sommes le : 
\n"; echo "

\n"; echo make_classes_select_html('index.php', $id_classe, $year, $month, $day); if ($id_classe!=-1) echo make_matiere_select_html('index.php', $id_classe, $id_groupe, $year, $month, $day); $test_login = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(login) FROM utilisateurs WHERE ((statut = 'responsable' OR statut = 'eleve') AND etat = 'actif')"), 0); if ($test_login > 0) { echo "

Si vous disposez d'un identifiant et d'un mot de passe, connectez-vous !

"; } echo "
\n"; echo "

Cahier de textes"; if ($id_classe != -1) echo "
$classe_nom"; if ($id_matiere != -1) echo "- $matiere_nom ($matiere_nom_court)"; echo "
\n"; // Test si le cahier de texte est partagé if ($current_group) { echo "
\n("; $i=0; foreach ($current_group["profs"]["users"] as $prof) { if ($i != 0) echo ", "; echo mb_substr($prof["prenom"],0,1) . ". " . $prof["nom"]; $i++; } echo ")\n"; } echo "

\n"; echo "
\n"; genDateSelector("", $day, $month, $year,''); echo "\n"; echo "\n"; echo $aff_input_rne . "\n"; echo "
\n"; //Affiche le calendrier minicals($year, $month, $day, $id_groupe, 'index.php?'); echo "
\n
\n"; $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); $delai = getSettingValue("delai_devoirs"); //Affichage des devoirs globaux s'il n'y a pas de notices dans ct_entry à afficher if (($nb_test == 0) and ($id_classe != -1) and ($delai != 0)) { if ($delai == "") die("Erreur : Délai de visualisation du travail personnel non défini. Contactez l'administrateur de GEPI de votre établissement."); $nb_dev = 0; for ($i = 0; $i <= $delai; $i++) { $aujourhui = $aujourdhui = mktime(0,0,0,date("m"),date("d"),date("Y")); $jour = mktime(0, 0, 0, date('m',$aujourhui), (date('d',$aujourhui) + $i), date('Y',$aujourhui) ); $jour_suivant=$jour+24*3600; /* $sql="SELECT ct.contenu, g.id, g.description, ct.date_ct, ct.id_ct " . "FROM ct_devoirs_entry ct, groupes g, j_groupes_classes jc WHERE (" . "ct.id_groupe = jc.id_groupe and " . "g.id = jc.id_groupe and " . "jc.id_classe = '" . $id_classe . "' and " . "ct.contenu != '' and " . "ct.date_ct = '$jour')"; */ $sql="SELECT ct.contenu, g.id, g.description, ct.date_ct, ct.id_ct " . "FROM ct_devoirs_entry ct, groupes g, j_groupes_classes jc WHERE (" . "ct.id_groupe = jc.id_groupe and " . "g.id = jc.id_groupe and " . "jc.id_classe = '" . $id_classe . "' and " . "ct.contenu != '' and " . "ct.date_ct >= '$jour' AND ct.date_ct < '$jour_suivant' );"; //echo "DEBUG : $sql
"; $appel_devoirs_cahier_texte = mysqli_query($GLOBALS["mysqli"], $sql); $nb_devoirs_cahier_texte = mysqli_num_rows($appel_devoirs_cahier_texte); $ind = 0; if ($nb_devoirs_cahier_texte != 0) { $nb_dev++; if ($nb_dev == '1') { echo "
Date sélectionnée : ".strftime("%A %d %B %Y", $today)."
\n"; echo "
Travaux personnels des $delai jours suivant le ".strftime("%d %B %Y", $today)." pour la classe de $classe_nom

\n"; echo "
\n"; } echo "
Travaux personnels pour le ".strftime("%a %d %b", $jour)."\n"; // Affichage des devoirs dans chaque matière while ($ind < $nb_devoirs_cahier_texte) { $content = old_mysql_result($appel_devoirs_cahier_texte, $ind, 'contenu'); $date_devoirs = old_mysql_result($appel_devoirs_cahier_texte, $ind, 'date_ct'); $id_devoirs = old_mysql_result($appel_devoirs_cahier_texte, $ind, 'id_ct'); $id_groupe_devoirs = old_mysql_result($appel_devoirs_cahier_texte, $ind, 'id'); $matiere_devoirs = old_mysql_result($appel_devoirs_cahier_texte,$ind, 'description'); $test_prof = "SELECT nom, prenom FROM j_groupes_professeurs j, utilisateurs u WHERE (j.id_groupe='".$id_groupe_devoirs."' and u.login=j.login) ORDER BY nom, prenom"; $res_prof = sql_query($test_prof); $chaine = ""; for ($k=0;$prof=sql_row($res_prof,$k);$k++) { if ($k != 0) $chaine .= ", "; $chaine .= htmlspecialchars($prof[0])." ".mb_substr(htmlspecialchars($prof[1]),0,1)."."; } $content = "
".$matiere_devoirs." (".$chaine."):".$content; // fichier joint $content .= affiche_docs_joints($id_devoirs,"t"); $content .="
"; if ($nb_devoirs_cahier_texte != 0) echo $content; $ind++; } echo "

"; } } if ($nb_dev != 0) echo "

"; require("../lib/footer.inc.php"); die(); //AFfichage page de garde } elseif ($nb_test == 0) { echo "

".getSettingValue("gepiSchoolName"). " - année scolaire " . getSettingValue("gepiYear")."

\n"; echo "

Choisissez une classe et une matière.

\n"; $nom_fic_logo = getSettingValue("logo_etab"); $nom_fic_logo_c = "../images/".$nom_fic_logo; if (($nom_fic_logo != '') and (file_exists($nom_fic_logo_c))) { echo "\"\"
\n"; } echo "

Ce cahier de textes est géré sous GEPI.\n
GEPI est un outil de gestion, de suivi, et de visualisation graphique des résultats scolaires (écoles, collèges, lycées).\n
GEPI est un logiciel libre et gratuit diffusé sous la licence GPL.


\n"; echo "
"; require("../lib/footer.inc.php"); die(); } // Affichage des compte-rendus et des travaux à faire. echo "\n"; // Première colonne : affichage du 'travail à faire' à venir echo "\n"; // Fin de la première colonne // Début de la deuxième colonne echo "
\n"; echo "Voir l'ensemble du cahier de textes

\n"; // Affichage des devoirs if ($delai == "") die("Erreur : Délai de visualisation des devois non défini. Contactez l'administrateur de GEPI de votre établissement."); // Si l'affichage des devoirs est activée, on affiche les devoirs if ($delai != 0) { // Affichage de la semaine en cours $nb_dev = 0; for ($i = 0; $i <= $delai; $i++) { $jour = mktime(0, 0, 0, date('m',$today), (date('d',$today) + $i), date('Y',$today) ); $jour_suivant=$jour+24*3600; // On regarde pour chaque jour, s'il y a des devoirs dans à faire /* $sql="SELECT ct.contenu, g.id, g.description, ct.date_ct, ct.id_ct " . "FROM ct_devoirs_entry ct, groupes g, j_groupes_classes jgc WHERE (" . "ct.id_groupe = jgc.id_groupe and " . "g.id = jgc.id_groupe and " . "jgc.id_classe = '" . $id_classe . "' and " . "ct.contenu != '' and " . "ct.date_ct = '$jour')"; */ $sql="SELECT ct.contenu, g.id, g.description, ct.date_ct, ct.id_ct " . "FROM ct_devoirs_entry ct, groupes g, j_groupes_classes jgc WHERE (" . "ct.id_groupe = jgc.id_groupe and " . "g.id = jgc.id_groupe and " . "jgc.id_classe = '" . $id_classe . "' and " . "ct.contenu != '' and " . "ct.date_ct >= '$jour' and ct.date_ct < '$jour_suivant' );"; //echo "DEBUG : $sql
"; $appel_devoirs_cahier_texte = mysqli_query($GLOBALS["mysqli"], $sql); $nb_devoirs_cahier_texte = mysqli_num_rows($appel_devoirs_cahier_texte); $ind = 0; if ($nb_devoirs_cahier_texte != 0) { $nb_dev++; if ($nb_dev == '1') { if ((strftime("%a",$today) == "lun") or (strftime("%a",$today) == "lun.")) {$debutsemaine = $today;} if ((strftime("%a",$today) == "mar") or (strftime("%a",$today) == "mar.")) {$debutsemaine = mktime(0, 0, 0, date('m',$today), (date('d',$today) - 1), date('Y',$today) );} if ((strftime("%a",$today) == "mer") or (strftime("%a",$today) == "mer.")) {$debutsemaine = mktime(0, 0, 0, date('m',$today), (date('d',$today) - 2), date('Y',$today) );} if ((strftime("%a",$today) == "jeu") or (strftime("%a",$today) == "jeu.")) {$debutsemaine = mktime(0, 0, 0, date('m',$today), (date('d',$today) - 3), date('Y',$today) );} if ((strftime("%a",$today) == "ven") or (strftime("%a",$today) == "ven.")) {$debutsemaine = mktime(0, 0, 0, date('m',$today), (date('d',$today) - 4), date('Y',$today) );} if ((strftime("%a",$today) == "sam") or (strftime("%a",$today) == "sam.")) {$debutsemaine = mktime(0, 0, 0, date('m',$today), (date('d',$today) - 5), date('Y',$today) );} if ((strftime("%a",$today) == "dim") or (strftime("%a",$today) == "dim.")) {$debutsemaine = mktime(0, 0, 0, date('m',$today), (date('d',$today) - 6), date('Y',$today) );} $finsemaine = mktime(0, 0, 0, date('m',$debutsemaine), (date('d',$debutsemaine) + 6), date('Y',$debutsemaine) ); echo "

Semaine du ".strftime("%d %B", $debutsemaine)." au ".strftime("%d %B %Y", $finsemaine)."

\n"; echo "Travaux personnels des $delai prochains jours\n"; echo "
\n"; } echo "
Travaux personnels
pour le ".strftime("%a %d %b", $jour)."
\n"; // Affichage des devoirs dans chaque matière while ($ind < $nb_devoirs_cahier_texte) { $content = old_mysql_result($appel_devoirs_cahier_texte, $ind, 'contenu'); $date_devoirs = old_mysql_result($appel_devoirs_cahier_texte, $ind, 'date_ct'); $id_devoirs = old_mysql_result($appel_devoirs_cahier_texte, $ind, 'id_ct'); $id_groupe_devoirs = old_mysql_result($appel_devoirs_cahier_texte, $ind, 'id'); $matiere_devoirs = old_mysql_result($appel_devoirs_cahier_texte, $ind, 'description'); $test_prof = "SELECT nom, prenom FROM j_groupes_professeurs j, utilisateurs u WHERE (j.id_groupe='".$id_groupe_devoirs."' and u.login=j.login) ORDER BY nom, prenom"; $res_prof = sql_query($test_prof); $chaine = ""; for ($k=0;$prof=sql_row($res_prof,$k);$k++) { if ($k != 0) $chaine .= ", "; $chaine .= htmlspecialchars($prof[0])." ".mb_substr(htmlspecialchars($prof[1]),0,1)."."; } $content = "
".$matiere_devoirs." (".$chaine.") :\n".$content; // fichier joint $content .= affiche_docs_joints($id_devoirs,"t"); $content .="
\n"; if ($nb_devoirs_cahier_texte != 0) echo $content; $ind++; } echo "

\n"; } } if ($nb_dev != 0) echo "
\n"; } // 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'); // documents joints $content .= affiche_docs_joints($id_ct,"c"); if ($content != '') echo "Informations Générales
".$content."

\n"; echo "
"; echo ""; // Première ligne echo "\n"; // affichage du texte echo "\n"; //echo ""; echo "
" . strftime("%A %d %B %Y", $today) . ""; #y? sont les année, mois et jour précédents #t? sont les année, mois et jour suivants $i= mktime(0,0,0,$month,$day-1,$year); $yy = date("Y",$i); $ym = date("m",$i); $yd = date("d",$i); $i= mktime(0,0,0,$month,$day+1,$year); $ty = date("Y",$i); $tm = date("m",$i); $td = date("d",$i); echo "<<Aujourd'hui>>
\n"; echo "
les dix dernières séances jusqu'au ".strftime("%A %d %B %Y", $today)." :
"; echo "
\n"; $current_time = time(); $req_notices = "select 'c' type, contenu, date_ct, id_ct from ct_entry where (contenu != '' and id_groupe='$id_groupe' and date_ct <= '$today' and date_ct <= '$current_time' and date_ct != '' and date_ct >= '".getSettingValue("begin_bookings")."') ORDER BY date_ct DESC, heure_entry DESC limit 10;"; $res_notices = mysqli_query($GLOBALS["mysqli"], $req_notices); $notice = mysqli_fetch_object($res_notices); $req_devoirs = "select 't' type, contenu, date_ct, id_ct from ct_devoirs_entry where (contenu != '' and id_groupe = '".$id_groupe."' and date_ct != '' and date_ct <= '$today' and date_ct >= '".getSettingValue("begin_bookings")."' and date_ct <= '".getSettingValue("end_bookings")."' ) order by date_ct DESC limit 10;"; $res_devoirs = mysqli_query($GLOBALS["mysqli"], $req_devoirs); $devoir = mysqli_fetch_object($res_devoirs); // Boucle d'affichage des notices dans la colonne de gauche $date_ct_old = -1; while (true) { // 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); } elseif($devoir) { // Plus de notices et toujours un devoir, ou devoir plus récent $not_dev = $devoir; $devoir = mysqli_fetch_object($res_devoirs); } else { // Plus rien à afficher, on sort de la boucle break; } // Passage en HTML $content = &$not_dev->contenu; $content .= affiche_docs_joints($not_dev->id_ct,$not_dev->type); $titre = ""; if ($not_dev->type == "t") { $titre .= "A faire pour le : \n"; } $titre .= "" . strftime("%a %d %b %y", $not_dev->date_ct) . "\n"; // Numérotation des notices si plusieurs notice sur la même journée if ($not_dev->type == "c") { if ($date_ct_old == $not_dev->date_ct) { $num_notice++; $titre .= " (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) $titre .= " (notice N° 1)"; // On réinitialise le compteur $num_notice = 1; } } echo "
type]."; padding: 2px; margin: 0px;\"> ".$titre."
".$content."

\n"; if ($not_dev->type == "c") $date_ct_old = $not_dev->date_ct; } echo "
"; echo "
"; require("../lib/footer.inc.php"); ?>