';
print_r($tableau);
echo '';
}
// Resume session
$resultat_session = $session_gepi->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();
}
if (getSettingValue("GepiCahierTexteVersion") != '2') {
tentative_intrusion(1, "Tentative d'accès au cahier de textes v2 alors qu'il n'est pas ouvert.");
header("Location: ../cahier_texte/consultation.php");
die();
}
$sql="SELECT 1=1 FROM droits WHERE id='/cahier_texte_2/consultation2.php';";
$test=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($test)==0) {
$sql="INSERT INTO droits SET id='/cahier_texte_2/consultation2.php',
administrateur='V',
professeur='V',
cpe='V',
scolarite='V',
eleve='V',
responsable='V',
secours='F',
autre='V',
description='Cahiers de textes: Consultation',
statut='';";
$insert=mysqli_query($GLOBALS["mysqli"], $sql);
}
if (!checkAccess()) {
header("Location: ../logout.php?auto=1");
die();
}
//On vérifie si le module est activé
if (getSettingValue("active_cahiers_texte")!='y') {
tentative_intrusion(1, "Tentative d'accès au cahier de textes en consultation alors que le module n'est pas activé.");
die("Le module n'est pas activé.");
}
//include "../lib/mincals.inc";
//==========================================================================
// Si la date est transmise, on l'utilise, sinon, on prend la date du jour:
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"));
// Si la date est transmise lors d'un passage à la semaine suivante/précédente:
unset($today);
$today = isset($_POST["today"]) ? $_POST["today"] : (isset($_GET["today"]) ? $_GET["today"] : NULL);
if(isset($today)) {
$day=strftime("%d",$today);
$month=strftime("%m",$today);
$year=strftime("%Y",$today);
}
$today_jjmmaaaa = isset($_POST["today_jjmmaaaa"]) ? $_POST["today_jjmmaaaa"] : (isset($_GET["today_jjmmaaaa"]) ? $_GET["today_jjmmaaaa"] : NULL);
if(isset($today_jjmmaaaa)) {
$tmp_date=explode("/", $today_jjmmaaaa);
if(isset($tmp_date[2])) {
$day=$tmp_date[0];
$month=$tmp_date[1];
$year=$tmp_date[2];
}
}
// Vérification sur les dates: Est-ce une date dans la période d'ouverture des cahiers de textes
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--;}
// Timestamp du jour choisi:
$today=mktime(0,0,0,$month,$day,$year);
// 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");
}
// Semaine précédente: Pour tester avec une base pas trop récente...
//$today=$today-3600*24*7;
//==========================================================================
unset($mode);
$mode = isset($_POST["mode"]) ? $_POST["mode"] : (isset($_GET["mode"]) ? $_GET["mode"] : NULL);
unset($id_classe);
$id_classe = isset($_POST["id_classe"]) ? $_POST["id_classe"] : (isset($_GET["id_classe"]) ? $_GET["id_classe"] : NULL);
unset($login_eleve);
$login_eleve = isset($_POST["login_eleve"]) ? $_POST["login_eleve"] : (isset($_GET["login_eleve"]) ? $_GET["login_eleve"] : NULL);
unset($login_prof);
$login_prof = isset($_POST["login_prof"]) ? $_POST["login_prof"] : (isset($_GET["login_prof"]) ? $_GET["login_prof"] : NULL);
$tab_couleur_edt=array('','blue','lime','maroon','purple','red','yellow','aqua','grey','green','olive','teal','#799C13','#4BA829','#D4D600','#FFEC00','#FCC300','#DBAA73','#745A32','#E95D0F','#99141B','#009EE0','#C19CC4');
// Associer aussi des couleurs aux classes (ou aux niveaux?) pour l'affichage prof.
// C'est fait plus loin
$style_specifique[] = "cahier_texte_2/consultation2";
$javascript_specifique[] = "cahier_texte_2/consultation2";
//$chaine_handles="'ml', 'mr'";
$mode_handles="m";
$charger_js_dragresize="y";
/*
$style_specifique[] = "lib/DHTMLcalendar/calendarstyle";
$javascript_specifique[] = "lib/DHTMLcalendar/calendar";
$javascript_specifique[] = "lib/DHTMLcalendar/lang/calendar-fr";
$javascript_specifique[] = "lib/DHTMLcalendar/calendar-setup";
*/
//**************** EN-TETE *****************
$titre_page = "Cahier de textes";
require_once("../lib/header.inc.php");
//**************** FIN EN-TETE *************
//debug_var();
//=============================================================
echo "
";
echo "
\n";
echo "Retour à l'accueil\n";
echo "\n";
echo " | ";
if(($_SESSION['statut']=='eleve')||($_SESSION['statut']=='responsable')) {
echo "\n";
}
else {
echo "\n";
}
echo "Affichage classique\n";
echo "\n";
echo "
\n";
//=============================================================
//=============================================================
// Mode d'affichage:
// On force le mode par défaut pour les élèves et responsables
if($_SESSION['statut']=='eleve') {
$mode='eleve';
$login_eleve=$_SESSION['login'];
}
elseif($_SESSION['statut']=='responsable') {
$mode='eleve';
// On récupère la liste des élèves associés au responsable:
if(getSettingAOui('GepiMemesDroitsRespNonLegaux')) {
$tab_eleve=get_enfants_from_resp_login($_SESSION['login'], "simple", "yy");
}
else {
$tab_eleve=get_enfants_from_resp_login($_SESSION['login']);
}
if(count($tab_eleve)==0) {
echo "Vous n'avez aucun élève en responsabilité ???
\n";
require("../lib/footer.inc.php");
die();
}
/*
echo "";
echo print_r($tab_eleve);
echo "
";
*/
for($i=0;$iVous n'avez aucun élève en responsabilité ???\n";
require("../lib/footer.inc.php");
die();
}
$login_eleve=$tab_eleve[0];
}
//echo "\$login_eleve=$login_eleve
";
}
else {
// Proposer le formulaire de choix de mode:
// Récupération de la liste des profs de l'établissement
$tab_profs=array();
$tab_profs2=array();
$sql="SELECT u.civilite, u.nom, u.prenom, u.login FROM utilisateurs u WHERE etat='actif' AND statut='professeur' ORDER BY u.nom, u.prenom;";
$res_prof=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_prof)>0) {
$cpt=0;
while($lig_prof=mysqli_fetch_object($res_prof)) {
$tab_profs[$cpt]['login']=$lig_prof->login;
$tab_profs[$cpt]['civ_nom_prenom']=$lig_prof->civilite." ".casse_mot($lig_prof->nom,'maj')." ".casse_mot($lig_prof->prenom,'majf2');
$tab_profs2[$lig_prof->login]=$tab_profs[$cpt]['civ_nom_prenom'];
$cpt++;
}
}
// Récupération de la liste des classes de l'établissement
$tab_classe=array();
$sql="SELECT id, classe FROM classes ORDER BY classe;";
$res_classe=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_classe)>0) {
$cpt=0;
while($lig_class_prof=mysqli_fetch_object($res_classe)) {
$tab_classe[$cpt]['id_classe']=$lig_class_prof->id;
$tab_classe[$cpt]['classe']=$lig_class_prof->classe;
$cpt++;
}
}
// Récupération de la liste des classes d'un professeur
if($_SESSION['statut']=='professeur') {
$tab_classe_du_prof=array();
$sql="SELECT c.classe, jgc.id_classe FROM j_groupes_classes jgc, j_groupes_professeurs jgp, classes c WHERE jgc.id_groupe=jgp.id_groupe AND jgp.login='".$_SESSION['login']."' AND jgc.id_classe=c.id ORDER BY c.classe;";
$res_classe=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_classe)>0) {
$cpt=0;
while($lig_prof=mysqli_fetch_object($res_classe)) {
$tab_classe_du_prof[$cpt]['id_classe']=$lig_prof->id_classe;
$tab_classe_du_prof[$cpt]['classe']=$lig_prof->classe;
$cpt++;
}
}
}
if(isset($id_classe)) {
$classe=get_class_from_id($id_classe);
// Récupérer la liste des élèves de la classe pour proposer l'affichage pour tel élève
$tab_eleve_de_la_classe=array();
$sql="SELECT DISTINCT e.nom, e.prenom, e.login FROM j_eleves_classes jec, eleves e WHERE jec.login=e.login AND jec.id_classe='$id_classe' ORDER BY e.nom, e.prenom;";
//echo "$sql
";
$res_ele_classe=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_ele_classe)>0) {
$cpt=0;
while($lig_ele=mysqli_fetch_object($res_ele_classe)) {
$tab_eleve_de_la_classe[$cpt]['login']=$lig_ele->login;
$tab_eleve_de_la_classe[$cpt]['nom_prenom']=casse_mot($lig_ele->nom,'maj')." ".casse_mot($lig_ele->prenom,'majf2');
$cpt++;
}
}
}
// Choix par défaut selon le statut:
if(!isset($mode)) {
if($_SESSION['statut']=='professeur') {
$mode='professeur';
}
else {
$mode='classe';
}
}
// Afficher les formulaires de choix pour les non-élève/non-responsable
if(($_SESSION['statut']!='professeur')||
(getSettingAOui('GepiAccesCDTToutesClasses'))) {
// Choix d'une classe
echo "\n";
}
// Choix d'une classe du prof connecté
if(isset($tab_classe_du_prof)) {
echo "\n";
}
if(isset($tab_eleve_de_la_classe)) {
echo "\n";
}
// Il faudra peut-être revoir plus finement quels statuts peuvent accéder... il peut y avoir pas mal de catégories en statut 'autre'
if(($_SESSION['statut']!='professeur')) {
// Choix d'un professeur
echo "\n";
}
else {
//echo "";
//echo "\n";
echo "\n";
}
// Retour à la ligne pour ce qui va suivre les cadres formulaires de choix:
echo "
";
}
//=============================================================
$ts_aujourdhui=time();
$ts_semaine_precedente=$today-7*24*3600;
$ts_semaine_suivante=$today+2*7*24*3600;
$ts_limite_visibilite_devoirs_pour_eleves=$ts_aujourdhui+getSettingValue('delai_devoirs')*24*3600;
//=============================================================
// Définition de valeurs par défaut si nécessaire, et récupération des groupes associés au mode choisi:
if($mode=='classe') {
if(!isset($id_classe)) {
if($_SESSION['statut']=='professeur') {
$sql="SELECT id_classe FROM j_groupes_classes jgc, j_groupes_professeurs jgp, classes c WHERE jgc.id_groupe=jgp.id_groupe AND jgp.login='".$_SESSION['login']."' AND jgc.id_classe=c.id ORDER BY c.classe LIMIT 1;";
$res_classe=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_classe)>0) {
$id_classe = old_mysql_result($res_classe, 0, 'id_classe');
}
}
if(!isset($id_classe)) {
$sql="SELECT id AS id_classe FROM classes ORDER BY classe LIMIT 1;";
$res_classe=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_classe)>0) {
$id_classe = old_mysql_result($res_classe, 0, 'id_classe');
}
}
}
if(!isset($id_classe)) {
echo "Aucune classe n'a été trouvée.
\n";
require("../lib/footer.inc.php");
die();
}
// Passage à la semaine précédente/courante/suivante
include("../lib/calendrier/calendrier.class.php");
$cal1 = new Calendrier("form_choix_date", "today_jjmmaaaa");
echo "\n";
$classe=get_class_from_id($id_classe);
echo "Affichage pour une classe : ".$classe."
\n";
$groups=get_groups_for_class($id_classe);
}
elseif($mode=='eleve') {
if(!isset($login_eleve)) {
echo "Aucun élève n'a été choisi.
\n";
require("../lib/footer.inc.php");
die();
}
if(!isset($id_classe)) {
$sql="SELECT id_classe FROM j_eleves_classes WHERE login='$login_eleve' ORDER BY periode DESC LIMIT 1;";
$res_classe=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_classe)>0) {
$id_classe = old_mysql_result($res_classe, 0, 'id_classe');
}
}
$classe=get_class_from_id($id_classe);
$groups=get_groups_for_eleve($login_eleve, $id_classe);
// Passage à la semaine précédente/courante/suivante
include("../lib/calendrier/calendrier.class.php");
$cal1 = new Calendrier("form_choix_date", "today_jjmmaaaa");
echo "\n";
echo "Affichage pour un élève : ".civ_nom_prenom($login_eleve)." ($classe)
\n";
}
elseif($mode=='professeur') {
if(!isset($login_prof)) {
if($_SESSION['statut']=='professeur') {
$login_prof=$_SESSION['login'];
}
else {
$sql="SELECT u.civilite, u.nom, u.prenom, u.login FROM utilisateurs u WHERE statut='professeur' AND etat='actif' ORDER BY u.nom, u.prenom LIMIT 1;";
$res_prof=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_prof)>0) {
$login_prof = old_mysql_result($res_prefs, 0, 'login');
}
}
if(!isset($login_prof)) {
echo "Aucun professeur n'a été trouvé.
\n";
require("../lib/footer.inc.php");
die();
}
}
$groups=get_groups_for_prof($login_prof);
// Passage à la semaine précédente/courante/suivante
include("../lib/calendrier/calendrier.class.php");
$cal1 = new Calendrier("form_choix_date", "today_jjmmaaaa");
echo "\n";
echo "Affichage pour un professeur : ".$tab_profs2[$login_prof]."
\n";
}
//=============================================================
//=============================================================
// Récupération des groupes du professeur connecté:
if($_SESSION['statut']=='professeur') {
$tab_mes_groupes=array();
if($mode!='professeur') {
//$tab_mes_groupes=get_groups_for_prof($_SESSION['login']);
$sql="SELECT id_groupe FROM j_groupes_professeurs WHERE login='".$_SESSION['login']."'";
$res_tmp=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_tmp)>0) {
while($lig_tmp=mysqli_fetch_object($res_tmp)) {
$tab_mes_groupes[]=$lig_tmp->id_groupe;
}
}
}
else {
foreach($groups as $key => $value) {
$tab_mes_groupes[]=$value['id'];
}
}
}
//=============================================================
//================================================================
// Récupération des identifiants de couleurs associées aux matières dans l'EDT
$couleur_matiere=array();
$sql="SELECT m.matiere, es.valeur FROM edt_setting es, matieres m WHERE es.reglage = CONCAT('M_',m.matiere);";
//echo "$sql
";
$res_couleur=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_couleur)>0) {
while($lig_couleur=mysqli_fetch_object($res_couleur)) {
$couleur_matiere[$lig_couleur->matiere]=$lig_couleur->valeur;
}
}
//================================================================
//================================================================
// Faire une sélection parmi les couleurs... on n'aura jamais autant de classes dans un établissement:
$tab_toutes_couleurs=array("aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen");
$couleur_classe=array();
if(isset($tab_classe)) {
for($i=0;$i";
$premier_jour_semaine=$today-(3600*24*($num_jour_semaine-1));
//echo "strftime('%d/%m/%Y',\$today)=".strftime("%d/%m/%Y",$today)."
";
//echo "strftime('%u',\$today)=".strftime("%u",$today)."
";
//echo "strftime('%w',\$today)=".strftime("%w",$today)."
";
// %u Représentation ISO-8601 du jour de la semaine De 1 (pour Lundi) à 7 (pour Dimanche)
// %w Représentation numérique du jour de la semaine De 0 (pour Dimanche) à 6 (pour Samedi)
//=============================================================
//=============================================================
// Récupération des notices:
$tab_notice=array();
for($i=0;$i<14;$i++) {
$tab_notice[$i]=array();
$ts_jour_debut=$premier_jour_semaine+$i*3600*24;
$ts_jour_fin=$premier_jour_semaine+($i+1)*3600*24;
//echo "".strftime("%d/%m/%Y",$ts_jour_debut)."
";
foreach($groups as $current_group) {
$id_groupe=$current_group['id'];
if(!isset($couleur_matiere[$current_group['matiere']['matiere']])) {
$couleur_matiere[$current_group['matiere']['matiere']]="";
}
$sql="SELECT * FROM ct_entry WHERE id_groupe='$id_groupe' AND date_ct>=$ts_jour_debut AND date_ct<$ts_jour_fin ORDER BY date_ct;";
//echo "$sql
";
$res_ct=mysqli_query($GLOBALS["mysqli"], $sql);
$cpt=0;
while($ligne_ct=mysqli_fetch_object($res_ct)) {
//if((($_SESSION['statut']!='eleve')&&($_SESSION['statut']!='responsable'))||
if((($_SESSION['statut']=='professeur')&&(in_array($id_groupe,$tab_mes_groupes)))||
($ligne_ct->date_ct<=$ts_aujourdhui)) {
//echo "".$current_group['name']."
".$ligne_ct->contenu."
\n";
$tab_notice[$i][$id_groupe]['ct_entry'][$cpt]['id_ct']=$ligne_ct->id_ct;
$tab_notice[$i][$id_groupe]['ct_entry'][$cpt]['contenu']="";
// Lien d'édition de la notice:
//if(($_SESSION['statut']=='professeur')&&(in_array($id_groupe,$tab_mes_groupes))) {
if(($_SESSION['statut']=='professeur')&&(($ligne_ct->id_login==$_SESSION['login'])||(getSettingAOui('cdt_autoriser_modif_multiprof')))) {
if((!getSettingAOui('visa_cdt_inter_modif_notices_visees'))||($ligne_ct->vise!='y')){
$tab_notice[$i][$id_groupe]['ct_entry'][$cpt]['contenu'].="";
}
}
// Notice proprement dite:
$tab_notice[$i][$id_groupe]['ct_entry'][$cpt]['contenu'].=$ligne_ct->contenu;
/*
}
else {
// Un élève,... ne voit pas les compte-rendus dans le futur
if($ligne_ct->date_ct<=$ts_aujourdhui) {
$tab_notice[$i][$id_groupe]['ct_entry'][$cpt].=$ligne_ct->contenu;
}
}
*/
// Documents joints:
// Dans le futur, ils ne sont vus que par les profs du groupe
if((($_SESSION['statut']=='professeur')&&(in_array($id_groupe,$tab_mes_groupes)))||
($ligne_ct->date_ct<=$ts_aujourdhui)) {
$sql="SELECT * FROM ct_documents where id_ct='$ligne_ct->id_ct';";
$res_doc=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_doc)>0) {
$tab_notice[$i][$id_groupe]['ct_entry'][$cpt]['contenu'].="
Documents joints :";
while($ligne_ct_doc=mysqli_fetch_object($res_doc)) {
// Tester si le document est visible ou non dans le cas ele/resp
if((($_SESSION['statut']!='eleve')&&($_SESSION['statut']!='responsable'))||
($ligne_ct_doc->visible_eleve_parent==1))
{
$tab_notice[$i][$id_groupe]['ct_entry'][$cpt]['contenu'].="
\ntitre\" target='_blank'>".$ligne_ct_doc->titre."";
}
}
}
$cpt++;
}
}
}
$sql="SELECT * FROM ct_devoirs_entry WHERE id_groupe='$id_groupe' AND date_ct>=$ts_jour_debut AND date_ct<$ts_jour_fin ORDER BY date_ct;";
//echo "$sql
";
$res_ct=mysqli_query($GLOBALS["mysqli"], $sql);
$cpt=0;
while($ligne_ct=mysqli_fetch_object($res_ct)) {
if((($_SESSION['statut']!='eleve')&&($_SESSION['statut']!='responsable'))||
($ligne_ct->date_ct<=$ts_limite_visibilite_devoirs_pour_eleves)) {
$tab_notice[$i][$id_groupe]['ct_devoirs_entry'][$cpt]['id_ct']=$ligne_ct->id_ct;
$tab_notice[$i][$id_groupe]['ct_devoirs_entry'][$cpt]['contenu']="";
// Lien d'édition de la notice:
if(($_SESSION['statut']=='professeur')&&(in_array($id_groupe,$tab_mes_groupes))) {
if(($ligne_ct->id_login==$_SESSION['login'])||(getSettingAOui('cdt_autoriser_modif_multiprof'))) {
if((!getSettingAOui('visa_cdt_inter_modif_notices_visees'))||($ligne_ct->vise!='y')){
$tab_notice[$i][$id_groupe]['ct_devoirs_entry'][$cpt]['contenu'].="";
}
}
}
// Notice proprement dite:
$tab_notice[$i][$id_groupe]['ct_devoirs_entry'][$cpt]['contenu'].=$ligne_ct->contenu;
// Documents joints:
$sql="SELECT * FROM ct_devoirs_documents where id_ct_devoir='$ligne_ct->id_ct';";
$res_doc=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($res_doc)>0) {
$tab_notice[$i][$id_groupe]['ct_devoirs_entry'][$cpt]['contenu'].="
Documents joints :";
while($ligne_ct_doc=mysqli_fetch_object($res_doc)) {
if((($_SESSION['statut']!='eleve')&&($_SESSION['statut']!='responsable'))||
($ligne_ct_doc->visible_eleve_parent==1))
{
$tab_notice[$i][$id_groupe]['ct_devoirs_entry'][$cpt]['contenu'].="
\ntitre\" target='_blank'>".$ligne_ct_doc->titre."";
}
}
}
$cpt++;
}
}
$sql="SELECT * FROM ct_private_entry WHERE id_groupe='$id_groupe' AND date_ct>=$ts_jour_debut AND date_ct<$ts_jour_fin ORDER BY date_ct;";
//echo "$sql
";
$res_ct=mysqli_query($GLOBALS["mysqli"], $sql);
$cpt=0;
while($ligne_ct=mysqli_fetch_object($res_ct)) {
//$tab_notice[$i][$id_groupe]['ct_private_entry'][$cpt]="";
// Lien d'édition de la notice:
// Les notices privées en multiprof??? sont-elles visibles du seul prof ou des profs du groupe?
if(($_SESSION['statut']=='professeur')&&(in_array($id_groupe,$tab_mes_groupes))) {
if(($ligne_ct->id_login==$_SESSION['login'])||(getSettingAOui('cdt_autoriser_modif_multiprof'))) {
$tab_notice[$i][$id_groupe]['ct_private_entry'][$cpt]['contenu']="
";
// Notice proprement dite:
$tab_notice[$i][$id_groupe]['ct_private_entry'][$cpt]['contenu'].=$ligne_ct->contenu;
$cpt++;
}
}
}
}
}
//=============================================================
//=============================================================
$chaine_id_groupe="";
foreach($groups as $current_group) {
$id_groupe=$current_group['id'];
if($chaine_id_groupe!="") {$chaine_id_groupe.=", ";}
$chaine_id_groupe.="'$id_groupe'";
}
//=============================================================
//================================================
// 20130727
$class_notice_dev_fait="color_fond_notices_t_fait";
$class_notice_dev_non_fait="color_fond_notices_t";
$CDTPeutPointerTravailFait=getSettingAOui('CDTPeutPointerTravailFait'.ucfirst($_SESSION['statut']));
if($CDTPeutPointerTravailFait) {
if($login_eleve!='') {
$tab_etat_travail_fait=get_tab_etat_travail_fait($login_eleve);
echo js_cdt_modif_etat_travail();
}
}
//================================================
//=============================================================
// Boucle sur les 14 jours affichés
$max_cpt_grp=0;
for($i=0;$i<14;$i++) {
$ts_jour_debut=$premier_jour_semaine+$i*3600*24;
if($i%7==0) {
if($i>0) {
echo "\n";
echo "\n";
echo "\n";
//echo "
";
}
echo "\n";
echo "
\n";
echo "\n";
}
echo "\n";
echo "\n";
$temoin_dev_non_vides=0;
$temoin_cr_non_vides=0;
$temoin_np_non_vides=0;
$jour_courant=ucfirst(strftime("%a %d/%m/%y",$ts_jour_debut));
echo " ";
echo "";
echo $jour_courant;
echo "";
echo " \n";
$titre_infobulle_jour=" ".$jour_courant;
$texte_infobulle_jour="";
$cpt_grp=0;
$cpt_notice=0;
// Boucle sur les groupes
foreach($groups as $current_group) {
$id_groupe=$current_group['id'];
// Si il y a une notice pour ce groupe sur le jour courant de la boucle:
if(isset($tab_notice[$i][$id_groupe])) {
echo " \n";
//echo " ";
/*
echo " ";
if($mode=='professeur') {
echo $current_group['name']." (".$current_group['classlist_string'].")";
}
else {
echo $current_group['name'];
}
echo "";
*/
//==================================================================
// Cadre pour le groupe courant dans le cadre du jour courant dans l'infobulle du jour:
$texte_infobulle_jour.=" \n";
$texte_dev_courant="";
if(isset($tab_notice[$i][$id_groupe]['ct_devoirs_entry'])) {
// Liste des devoirs donnés pour ce jour dans ce groupe:
for($j=0;$j \n";
$texte_dev_courant.="\n";
if($CDTPeutPointerTravailFait) {
$texte_dev_courant.=" \n";
}
$chaine_tag=get_liste_tag_notice_cdt($tab_notice[$i][$id_groupe]['ct_devoirs_entry'][$j]['id_ct'], 't', "right");
if($chaine_tag!="") {
$texte_dev_courant.=$chaine_tag;
}
$texte_dev_courant.=$tab_notice[$i][$id_groupe]['ct_devoirs_entry'][$j]['contenu'];
$texte_dev_courant.=" \n";
$temoin_dev_non_vides++;
}
if($texte_dev_courant!="") {
/*
$texte_infobulle_jour.="\n";
*/
$texte_dev_courant="\n".$texte_dev_courant;
$texte_dev_courant.=" \n";
}
}
$texte_cr_courant="";
if(isset($tab_notice[$i][$id_groupe]['ct_entry'])) {
// Liste des compte-renddus pour ce jour dans ce groupe:
for($j=0;$j\n";
$chaine_tag=get_liste_tag_notice_cdt($tab_notice[$i][$id_groupe]['ct_entry'][$j]['id_ct'], 'c', "right");
if($chaine_tag!="") {
$texte_cr_courant.=$chaine_tag;
}
$texte_cr_courant.=$tab_notice[$i][$id_groupe]['ct_entry'][$j]['contenu'];
$texte_cr_courant.="\n";
$temoin_cr_non_vides++;
}
if($texte_cr_courant!="") {
/*
$texte_infobulle_jour.=" \n";
*/
$texte_cr_courant=" \n".$texte_cr_courant;
$texte_cr_courant.=" \n";
}
}
$texte_np_courant="";
if(isset($tab_notice[$i][$id_groupe]['ct_private_entry'])) {
// Liste des notices privées pour ce jour dans ce groupe:
for($j=0;$j \n";
$chaine_tag=get_liste_tag_notice_cdt($tab_notice[$i][$id_groupe]['ct_private_entry'][$j]['id_ct'], 'p', "right");
if($chaine_tag!="") {
$texte_np_courant.=$chaine_tag;
}
$texte_np_courant.=$tab_notice[$i][$id_groupe]['ct_private_entry'][$j]['contenu'];
$texte_np_courant.="\n";
$temoin_np_non_vides++;
}
if($texte_np_courant!="") {
/*
$texte_infobulle_jour.=" \n";
*/
$texte_np_courant=" \n".$texte_np_courant;
$texte_np_courant.=" \n";
}
}
// On remplit le cadre pour le groupe courant dans le cadre du jour courant dans l'infobulle du jour
// avec le nom du groupe, puis les devoirs donnés pour ce jour et enfin les compte-rendus de séance
$texte_infobulle_jour.=" \n";
$texte_infobulle_jour.=" ";
if($mode=='professeur') {
$texte_infobulle_jour.=$current_group['name']." (".$current_group['classlist_string'].")";
}
else {
$texte_infobulle_jour.=$current_group['name'];
}
$texte_infobulle_jour.="\n";
$texte_infobulle_jour.=$texte_dev_courant;
$texte_infobulle_jour.=$texte_cr_courant;
$texte_infobulle_jour.=$texte_np_courant;
$texte_infobulle_jour.=" \n";
$texte_infobulle_jour.=" \n";
// Fin du cadre pour le groupe courant dans le cadre du jour courant dans l'infobulle du jour
//==================================================================
// Pour repérer les enseignements avec tel ou tel type de notice
if($texte_np_courant!='') {
// La restriction des notices visibles est fait plus haut
echo " \n";
echo " \n";
}
if($texte_dev_courant!='') {
// La restriction des notices visibles est fait plus haut
echo " \n";
echo " \n";
}
if($texte_cr_courant!='') {
// La restriction des notices visibles est fait plus haut
echo " \n";
echo " \n";
}
echo " \n";
echo " ";
if($mode=='professeur') {
echo $current_group['name']." (".$current_group['classlist_string'].")";
}
else {
echo $current_group['name'];
}
echo "\n";
//echo " \n";
echo " \n\n";
}
$cpt_grp++;
}
// Ajouter un lien jour précédent avant
if($i>0) {
$indice_prec=$i-1;
$lien_jour_prec="";
$lien_jour_prec.=" ";
$lien_jour_prec.="";
$titre_infobulle_jour=$lien_jour_prec." \n".$titre_infobulle_jour;
}
// Ajouter un lien jour suivant après
if($i<14) {
$indice_suiv=$i+1;
$lien_jour_suiv="";
$lien_jour_suiv.=" ";
$lien_jour_suiv.="";
$titre_infobulle_jour=$titre_infobulle_jour." \n".$lien_jour_suiv."\n";
}
// Masquage de tel type de notice d'un clic:
if(($temoin_dev_non_vides>0)||($temoin_cr_non_vides>0)||($temoin_np_non_vides>0)) {
$ajout="";
if($temoin_cr_non_vides>0) {
$ajout.="";
$ajout.="C";
$ajout.="\n";
}
if($temoin_dev_non_vides>0) {
$ajout.=" ";
$ajout.="";
$ajout.="T";
$ajout.="\n";
}
if($temoin_np_non_vides>0) {
$ajout.=" ";
$ajout.="";
$ajout.="P";
$ajout.="\n";
}
$titre_infobulle_jour=$titre_infobulle_jour." ".$ajout;
}
else {
$texte_infobulle_jour.="Aucune saisie pour ce jour.";
$texte_infobulle_jour.=" ";
}
if($cpt_grp>$max_cpt_grp) {$max_cpt_grp=$cpt_grp;}
if($texte_infobulle_jour=="") {
echo "\n";
}
//$tabdiv_infobulle[]=creer_div_infobulle("travail_jour_".$i,$titre_infobulle_jour,"",$texte_infobulle_jour,"pink",20,0,'y','y','n','n');
$tabdiv_infobulle[]=creer_div_infobulle2("travail_jour_".$i,$titre_infobulle_jour,"",$texte_infobulle_jour,"pink",20,0,'y','y','n','n');
echo " | \n";
}
echo "
\n";
echo "
\n";
echo "
\n";
//=============================================================
echo "\n";
/*
echo "";
echo print_r($tab_mes_groupes);
echo "
";
echo "id_classe=$id_classe
";
*/
$tab_grp=array();
/*
if($_SESSION['statut']=='professeur') {
if($mode=='professeur') {
//$tab_champs=array();
$tab_grp=get_groups_for_prof($_SESSION['login']);
}
}
elseif(($_SESSION['statut']=='responsable')||($_SESSION['statut']=='eleve')) {
// A VOIR: Cas des élèves qui changent de classe...
$tab_grp=get_groups_for_eleve($login_eleve, $id_classe);
}
*/
if($mode=='professeur') {
//$tab_champs=array();
$tab_grp=get_groups_for_prof($_SESSION['login']);
}
elseif($mode=='classe') {
$tab_grp=get_groups_for_class($id_classe);
}
elseif($mode=='eleve') {
// A VOIR: Cas des élèves qui changent de classe...
$tab_grp=get_groups_for_eleve($login_eleve, $id_classe);
}
if(count($tab_grp)>0) {
$infos_generales="";
foreach($tab_grp as $current_group) {
$id_groupe=$current_group['id'];
$content="";
// Affichage des informations générales
//$sql="SELECT contenu, id_ct FROM ct_entry WHERE (id_groupe='$id_groupe' and (date_ct='' OR date_ct='0'));";
$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)) {
$tmp_content=$lig_ct->contenu;
$id_ct = $lig_ct->id_ct;
$tmp_content.=affiche_docs_joints($id_ct,"c");
if($tmp_content!="") {
$content.="";
$content.=$tmp_content;
$content.="
";
}
}
if($content!="") {
$infos_generales.="";
$infos_generales.="
".$current_group['name']." (".$current_group['description']." en ".$current_group['classlist_string'].")"."
";
$infos_generales.=$content;
$infos_generales.="";
}
}
if ($infos_generales != '') {
echo "\n";
echo "
\nINFORMATIONS GENERALES\n
\n";
echo $infos_generales;
echo "\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");
?>