texte NOM Prénom
* -> style Classe à appliquer
* -> courriel Adresse courriel
* -> statut Statut
* $tbs_referencement Demande de référencement
* -> texte Message
* -> lien lien vers la page
* -> titre titre du lien
* $tbs_probleme_dir messages : problèmes de réglage
* $tbs_interface_graphique lien vers l'interface graphique
* -> lien
* -> classe
* -> titre
* $tbs_message Messagerie de GEPI
* -> message texte du message (avec les balises html de mise en page)
* -> suite hr si ce n'est pas le premier message
* $tbs_canal_rss
* -> lien lien du flux
* -> texte texte du lien
* -> mode 1 si récupération directe, 2 si fichier CSV
* -> expli explications
* $tbs_menu
* -> classe classe CSS
* -> image icone du lien
* -> texte texte du titre du menu
* -> entree entrées du menu
* -> lien lien vers la page
* -> titre texte du lien
* -> expli explications
*
* Variables héritées de :
*
* header_template.inc
* header_barre_prof_template.inc
* footer_template.inc.php
*
*/
// On utilise mysqli
$useMysqli = TRUE;
// Initialisation des feuilles de style après modification pour améliorer l'accessibilité
$accessibilite="y";
// Begin standart header
$titre_page = "Accueil GEPI";
$affiche_connexion = 'yes';
$niveau_arbo = 0;
$gepiPathJava=".";
/**
* Fichiers d'initialisation
*/
require_once("./lib/initialisations.inc.php");
// On teste s'il y a une mise à jour de la base de données à effectuer
if (test_maj()) {
header("Location: ./utilitaires/maj.php");
}
// Resume session
$resultat_session = $session_gepi->security_check();
if ($resultat_session == 'c') {
header("Location:utilisateurs/mon_compte.php?change_mdp=yes&retour=accueil#changemdp");
die();
} else if ($resultat_session == '0') {
header("Location: ./logout.php?auto=1");
die();
}
// On vérifie si l'utilisation du cdt n'est pas unique
if (getSettingValue("use_only_cdt") == 'y' AND $_SESSION["statut"] == 'professeur'){
$cdt = (getSettingValue("GepiCahierTexteVersion") == '2') ? '_2' : '';
header("Location:cahier_texte".$cdt."/index.php");
}
// Sécurité
if (!checkAccess()) {
header("Location: ./logout.php?auto=2");
die();
}
unset ($_SESSION['order_by']);
$test_https = 'y'; // pour ne pas avoir à refaire le test si on a besoin de l'URL complète (rss)
if (!isset($_SERVER['HTTPS'])
OR (isset($_SERVER['HTTPS']) AND strtolower($_SERVER['HTTPS']) != "on")
OR (isset($_SERVER['X-Forwaded-Proto']) AND $_SERVER['X-Forwaded-Proto'] != "https"))
{
$test_https = 'n';
}
/**
* Fonctions utiles uniquement pour l'administrateur
*/
if($_SESSION['statut']=='administrateur') {
include_once("lib/share-admin.inc.php");
}
if(isset($_GET['suppr_msg_chgt_version_gepi'])) {
check_token();
savePref($_SESSION['login'], 'gepiVersionConnue', $gepiVersion);
}
if(($_SESSION['statut']=='professeur')||($_SESSION['statut']=='eleve')||($_SESSION['statut']=='responsable')) {
$accueil_simpl=isset($_GET['accueil_simpl']) ? $_GET['accueil_simpl'] : NULL;
if(!isset($accueil_simpl)) {
if($_SESSION['statut']=='professeur') {
// Si on affichait par défaut l'interface simplifiée pour les profs, il faudrait définir un modèle pour savoir quelles colonnes afficher
$valeur_par_defaut="n";
}
else {
$valeur_par_defaut="y";
}
$pref_accueil_simpl=getPref($_SESSION['login'],'accueil_simpl',$valeur_par_defaut);
$accueil_simpl=$pref_accueil_simpl;
}
//echo "plop";
//die();
//$_SERVER['HTTP_REFERER']= https://127.0.0.1/steph/gepi-trunk/accueil_simpl_prof.php
//$_SERVER['REQUEST_URI']= /steph/gepi-trunk/accueil.php
if((($_SESSION['statut']=='professeur')&&((isset($_SERVER['HTTP_REFERER']))&&(preg_match("#$gepiPath/accueil_simpl_prof.php$#",$_SERVER['HTTP_REFERER']))&&(isset($_SERVER['REQUEST_URI']))&&($_SERVER['REQUEST_URI']=="$gepiPath/accueil.php")))||
((($_SESSION['statut']=='eleve')||($_SESSION['statut']=='responsable'))&&((isset($_SERVER['HTTP_REFERER']))&&
((preg_match("#$gepiPath/eleves/resume_ele.php$#",$_SERVER['HTTP_REFERER']))||(preg_match("#$gepiPath/eleves/resume_ele.php?#",$_SERVER['HTTP_REFERER'])))
&&(isset($_SERVER['REQUEST_URI']))&&($_SERVER['REQUEST_URI']=="$gepiPath/accueil.php")))) {
// On va accéder à l'accueil.php classique
}
else {
if($accueil_simpl=="y") {
if (!check_user_temp_directory()) {
$_SESSION['user_temp_directory']='n';
}
else {
$_SESSION['user_temp_directory']='y';
}
$msg=isset($_POST['msg']) ? $_POST['msg'] : (isset($_GET['msg']) ? $_GET['msg'] : NULL);
$chaine_complement_url="";
if(isset($_POST['supprimer_message'])) {
$chaine_complement_url="supprimer_message=".$_POST['supprimer_message'].add_token_in_url(false);
}
if($_SESSION['statut']=='professeur') {
if(isset($msg)) {
header("Location: ./accueil_simpl_prof.php?msg=$msg&".$chaine_complement_url);
}
else {
header("Location: ./accueil_simpl_prof.php?".$chaine_complement_url);
}
}
else {
if(isset($msg)) {
header("Location: ./eleves/resume_ele.php?msg=$msg&".$chaine_complement_url);
}
else {
header("Location: ./eleves/resume_ele.php?".$chaine_complement_url);
}
}
die();
}
}
}
else{
$accueil_simpl=NULL;
}
//debug_var();
// ====== Inclusion des fichiers de classes =====
$_SESSION['gepiPath']=$gepiPath;
include "class_php/class_menu_general.php";
include "class_php/class_page_accueil.php";
include "class_php/class_page_accueil_autre.php";
if ($_SESSION['statut']=="autre") {
$afficheAccueil=new class_page_accueil_autre($gepiSettings, $niveau_arbo,$ordre_menus);
} else {
$afficheAccueil=new class_page_accueil($_SESSION['statut'], $gepiSettings, $niveau_arbo,$ordre_menus);
}
if(isset($_GET['del_id_info'])) {
check_token();
if(!isset($msg)) {$msg="";}
if(del_info_action($_GET['del_id_info'])) {
$msg.="Action n° ".$_GET['del_id_info']." supprimée.
";
}
else {
$msg.="Erreur lors de la suppression de l'action n° ".$_GET['del_id_info'].".
";
}
}
if((($_SESSION['statut']=='administrateur')||($_SESSION['statut']=='scolarite'))&&(isset($_GET['del_id_acces_cdt']))) {
check_token();
if(!isset($msg)) {$msg="";}
if(del_acces_cdt($_GET['del_id_acces_cdt'])) {
$msg.="Accès CDT n° ".$_GET['del_id_acces_cdt']." supprimé.
";
}
else {
$msg.="Erreur lors de la suppression de l'accès CDT n° ".$_GET['del_id_acces_cdt'].".
";
}
}
if ($_SESSION['statut'] == "administrateur") {
$utilisation_tablekit="ok";
}
$post_reussi=FALSE;
// ====== Inclusion des balises head et du bandeau =====
include_once("./lib/header_template.inc.php");
$tbs_statut_utilisateur = $_SESSION['statut'];
if (!suivi_ariane($_SERVER['PHP_SELF'],"Accueil"))
echo "erreur lors de la création du fil d'ariane";
/*
// voir le fil d'Ariane pour debug
foreach ($_SESSION['ariane']['lien'] as $index=>$lienActuel){
echo $lienActuel;
echo " => ";
echo $_SESSION['ariane']['texte'][$index];
echo "
";
}
*
*/
// Initialisation de $_SESSION["retour"]
$_SESSION["retour"] = "";
//*************************************************************
// fin initialisation des tableaux d'affichage et des variables
//*************************************************************
if ($_SESSION['statut'] == "administrateur") {
// Vérification et/ou changement du répertoire de backup
if (!check_backup_directory()) {
$afficheAccueil->message_admin[] = "Il y a eu un problème avec la mise à jour du répertoire de sauvegarde.
Veuillez vérifier que le répertoire /backup de Gepi est accessible en écriture par le serveur (le serveur *uniquement* !)";
}
if (!check_user_temp_directory()) {
$afficheAccueil->message_admin[] = "Il y a eu un problème avec la mise à jour du répertoire temp.
Veuillez vérifier que le répertoire /temp de Gepi est accessible en écriture par le serveur (le serveur *uniquement* !)";
}else{
$_SESSION['user_temp_directory']='y';
}
if ((getSettingValue("disable_login"))!='no'){
$afficheAccueil->message_admin[] = "Attention : le site est en cours de maintenance et temporairement inaccessible.";
}
// * affichage du nombre de connecté *
// compte le nombre d'enregistrement dans la table
$sql = "SELECT u.login, l.END, l.START, l.REMOTE_ADDR FROM log l, utilisateurs u WHERE u.login=l.login AND l.END > now() ORDER BY u.statut, u.nom, u.prenom;";
$res = mysqli_query($mysqli, $sql);
$afficheAccueil->nb_connect = sqli_count($res);
if($afficheAccueil->nb_connect >1) {
$titre="Personnes connectées";
$alt=1;
while($lig_log = $res->fetch_object()) {
$sql="SELECT nom,prenom,statut,email,login FROM utilisateurs WHERE login='$lig_log->login';";
//echo "$sql
";
$res_pers = mysqli_query($mysqli, $sql);
if(sqli_count($res_pers) == 0) {
$afficheAccueil->nom_connecte[]=array("style"=>'rouge',"courriel"=>"","texte"=>$lig_log->LOGIN,"statut"=>"???","end"=>$lig_log->END,"start"=>$lig_log->START,"remote_addr"=>$lig_log->REMOTE_ADDR);
} else {
$lig_pers = $res_pers->fetch_object();
$alt=$alt*(-1);
if($lig_pers->statut=='responsable') {
$sql="SELECT pers_id FROM resp_pers WHERE login='$lig_pers->login';";
$res_resp = mysqli_query($mysqli, $sql);
if(sqli_count($res_resp)>0) {
$lig_resp = $res_resp->fetch_object();
$afficheAccueil->nom_connecte[]=array("style"=>'lig'.$alt,"courriel"=>$lig_pers->email,"texte"=>my_strtoupper($lig_pers->nom)." ".casse_mot($lig_pers->prenom,'majf2'),"statut"=>$lig_pers->statut,"login"=>$lig_pers->login,"pers_id"=>$lig_resp->pers_id,"end"=>$lig_log->END,"start"=>$lig_log->START,"remote_addr"=>$lig_log->REMOTE_ADDR);
} else {
$afficheAccueil->nom_connecte[]=array("style"=>'lig'.$alt,"courriel"=>$lig_pers->email,"texte"=>my_strtoupper($lig_pers->nom)." ".casse_mot($lig_pers->prenom,'majf2'),"statut"=>$lig_pers->statut,"login"=>$lig_pers->login,"end"=>$lig_log->END,"start"=>$lig_log->START,"remote_addr"=>$lig_log->REMOTE_ADDR);
}
} else {
$afficheAccueil->nom_connecte[]=array("style"=>'lig'.$alt,"courriel"=>$lig_pers->email,"texte"=>my_strtoupper($lig_pers->nom)." ".casse_mot($lig_pers->prenom,'majf2'),"statut"=>$lig_pers->statut,"login"=>$lig_pers->login,"end"=>$lig_log->END,"start"=>$lig_log->START,"remote_addr"=>$lig_log->REMOTE_ADDR);
}
}
}
$afficheAccueil->nb_connect_lien = "#";
} else {
$afficheAccueil->nb_connect_lien ="#";
}
$res->close();
$afficheAccueil->gere_connect= "1";
// Lien vers le panneau de contrôle de sécurité
$sql = "SELECT SUM(niveau) FROM tentatives_intrusion WHERE (statut = 'new')";
$resultat = mysqli_query($mysqli, $sql);
$row = $resultat->fetch_row();
$alert_sums = $row[0];
if (empty($alert_sums)) $alert_sums = "0";
$afficheAccueil->alert_sums = $alert_sums;
$resultat->close();
// christian : demande d'enregistrement
if (($force_ref)) {
$afficheAccueil->referencement[]=array("texte"=>"Votre établissement n'est pas référencé parmi les utilisateurs de Gepi.","lien"=>"$gepiPath/referencement.php?etape=explication","titre"=>"Pourquoi est-ce utile ?");
$afficheAccueil->referencement[]=array("texte"=>"Votre établissement n'est pas référencé parmi les utilisateurs de Gepi.","lien"=>"$gepiPath/referencement.php?etape=1","titre"=>"Référencer votre établissement");
}
// fin christian demande d'enregistrement
// Test du mode de connexion (http ou https) :
// FIXME: Les deux lignes ci-dessous ne sont-elles pas inutiles ?
$uri = $_SERVER['PHP_SELF'];
$parsed_uri = parse_url($uri);
if (
!isset($_SERVER['HTTPS'])
OR (isset($_SERVER['HTTPS']) AND strtolower($_SERVER['HTTPS']) != "on")
OR (isset($_SERVER['X-Forwaded-Proto']) AND $_SERVER['X-Forwaded-Proto'] != "https")
) {
$afficheAccueil->probleme_dir[]="Connexion non sécurisée ! Vous *devez* accéder à Gepi en HTTPS (vérifiez la configuration de votre serveur web)";
$test_https = 'n';
}
if (ini_get("register_globals") == "1") {
$afficheAccueil->probleme_dir[]="PHP potentiellement mal configuré (register_globals=on)! Pour prévenir certaines failles de sécurité, vous *devez* configurer PHP avec le paramètre register_globals à off.";
}
if (version_compare(PHP_VERSION,'5.2.4')<0) {
$afficheAccueil->probleme_dir[]="Gépi nécessite une version de php supérieure à la version 5.2.4 pour fonctionner de manière optimale. Il est conseillé de mettre à jour votre version de PHP.";
}
if(file_exists('./lib/global.inc')){
$afficheAccueil->probleme_dir[]="Le fichier global.inc dans le répertoire lib est obsolète. Vous devez le supprimer manuellement.";
}
/**
* Pour Debug : Décommenter les 2 lignes si pas en multisites
*/
/**
$_COOKIE['RNE']="essai";
$multisite='y';
*/
if (($multisite=='y')&&(isset($_COOKIE['RNE']))) {
if (!check_photos_multisite($messageErreur)) {
$afficheAccueil->probleme_dir[]=$messageErreur;
}
}
$sql="SELECT DISTINCT id_groupe, declarant FROM j_signalement WHERE nature='erreur_affect';";
$res_sign = mysqli_query($mysqli, $sql);
if($res_sign->num_rows > 0) {
$tbs_signalement="
Une ou des erreurs d'affectation d'élèves ont été signalées dans le ou les enseignements suivants :
\n";
while($lig_sign = $res_sign->fetch_object()) {
$tmp_tab_champ=array('classes');
$current_group_sign=get_group($lig_sign->id_groupe,$tmp_tab_champ);
$current_group_sign['description']=str_replace ( "&" , "&" , $current_group_sign['description'] );
$tbs_signalement.="".$current_group_sign['name']." (".$current_group_sign['description']." ".$current_group_sign['classlist_string'].") signalé par ".affiche_utilisateur($lig_sign->declarant,$current_group_sign['classes']['list'][0])."
\n";
}
$tbs_signalement.="
Une ou des erreurs d'affectation d'élèves ont été signalées dans le ou les enseignements suivants :
\n";
while($lig_sign = $res_sign->fetch_object()) {
$tmp_tab_champ=array('classes');
$current_group_sign=get_group($lig_sign->id_groupe,$tmp_tab_champ);
$current_group_sign['description']=str_replace ( "&" , "&" , $current_group_sign['description'] );
$tbs_signalement.="".$current_group_sign['name']." (".$current_group_sign['description']." ".$current_group_sign['classlist_string'].") signalé par ".affiche_utilisateur($lig_sign->declarant,$current_group_sign['classes']['list'][0])."
\n";
}
$tbs_signalement.="