Пример #1
0
		$tab_enfants=get_enfants_from_resp_login($_SESSION['login'],'avec_classe');
	}
	if(!isset($tab_enfants)) {
		echo "<p style='color:red'>Vous n'avez semble-t-il aucun élève en responsabilité.</p>\n";
		tentative_intrusion(1, "Tentative d'accès au module Discipline sans élève en responsabilité.");
		require("../lib/footer.inc.php");
		die();
	}
	for($i=0;$i<count($tab_enfants);$i+=2) {
		//echo "\$tab_enfants[$i]=".$tab_enfants[$i]."<br />";
		$tab_ele_login[]=$tab_enfants[$i];
	}

	if((isset($ele_login))&&(!in_array($ele_login,$tab_ele_login))) {
		echo "<p style='color:red'>Tentative d'accès au module Discipline pour un élève dont vous n'êtes pas responsable.</p>\n";
		tentative_intrusion(1, "Tentative d'accès au module Discipline pour un élève dont il n'est pas responsable : $ele_login");
		unset($ele_login);
	}

	if(!isset($ele_login)) {
		if(count($tab_ele_login)==1) {
			$ele_login=$tab_ele_login[0];
		}
		else {
			echo "<p>Choisissez l'enfant dont vous souhaitez consulter les incidents&nbsp;:<br />\n";
			for($i=0;$i<count($tab_enfants);$i+=2) {
				echo "<a href='".$_SERVER['PHP_SELF']."?ele_login="******"'>".$tab_enfants[$i+1]."</a><br />\n";
			}

			require("../lib/footer.inc.php");
			die();
Пример #2
0
    if (!is_numeric($id_classe)) {
        tentative_intrusion("3", "Changement de la valeur de id_classe pour un type non numérique, en changeant la valeur d'un champ 'hidden' d'un formulaire.");
        echo "Erreur.";
        require "../lib/footer.inc.php";
        die;
    }
    // On teste si le professeur a le droit d'accéder à cette classe
    if ($_SESSION['statut'] == "professeur" and getSettingValue("GepiAccesMoyennesProfTousEleves") != "yes" and getSettingValue("GepiAccesMoyennesProfToutesClasses") != "yes") {
        $test = mysqli_num_rows(mysqli_query($GLOBALS["mysqli"], "SELECT jgc.* FROM j_groupes_classes jgc, j_groupes_professeurs jgp WHERE (jgp.login='******'login'] . "' AND jgc.id_groupe = jgp.id_groupe AND jgc.id_classe = '" . $id_classe . "')"));
        if ($test == "0") {
            if (!is_pp($_SESSION['login'], $id_classe) || !getSettingAOui('GepiAccesReleveProfP')) {
                $classe = get_nom_classe($id_classe);
                if ($id_classe_recu_en_post == "y") {
                    tentative_intrusion("3", "Tentative d'accès par un prof à une classe ({$classe}) dans laquelle il n'enseigne pas, sans en avoir l'autorisation. Tentative avancée : changement des valeurs de champs de type 'hidden' du formulaire.");
                } else {
                    tentative_intrusion("3", "Tentative d'accès par un prof à une classe ({$classe}) dans laquelle il n'enseigne pas, sans en avoir l'autorisation. Changement des valeurs de id_classe dans la barre d'adresse.");
                }
                //echo "Vous ne pouvez pas accéder à cette classe car vous n'y êtes pas professeur !";
                //require ("../lib/footer.inc.php");
                header("Location: ../accueil.php?msg=Vous n'êtes pas professeur de la classe de {$classe}.");
                die;
            }
        }
    }
}
if (!isset($id_classe) || !isset($num_periode)) {
    header("Location: index2.php?msg=" . rawurlencode('Choisissez une classe'));
    die;
}
//debug_var();
check_token();
Пример #3
0
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 (!checkAccess()) {
    header("Location: ../logout.php?auto=1");
	die();
}

if(mb_strtolower(mb_substr(getSettingValue('active_mod_discipline'),0,1))!='y') {
	$mess=rawurlencode("Vous tentez d accéder au module Discipline qui est désactivé !");
	tentative_intrusion(1, "Tentative d'accès au module Discipline qui est désactivé.");
	header("Location: ../accueil.php?msg=$mess");
	die();
}

require('sanctions_func_lib.php');

$msg="";

$id_sanction=isset($_POST['id_sanction']) ? $_POST['id_sanction'] : (isset($_GET['id_sanction']) ? $_GET['id_sanction'] : NULL);

$lieu=isset($_GET['lieu']) ? $_GET['lieu'] : NULL;
$date=isset($_GET['date']) ? $_GET['date'] : NULL;
$heure=isset($_GET['heure']) ? $_GET['heure'] : NULL;
$duree=isset($_GET['duree']) ? $_GET['duree'] : NULL;
Пример #4
0
if ($_SESSION['statut'] == "responsable" and getSettingValue("GepiAccesEquipePedaParent") != "yes" or $_SESSION['statut'] == "eleve" and getSettingValue("GepiAccesEquipePedaEleve") != "yes" or $_SESSION['statut'] != "responsable" and $_SESSION['statut'] != "eleve") {
    tentative_intrusion(1, "Tentative d'accès à l'équipe pédagogique sans y être autorisé.");
    echo "<p>Vous n'êtes pas autorisé à visualiser cette page.</p>";
    require "../lib/footer.inc.php";
    die;
}
// Et une autre vérification de sécurité : est-ce que si on a un statut 'responsable' le $login_eleve est bien un élève dont le responsable a la responsabilité
if ($login_eleve != null and $_SESSION['statut'] == "responsable") {
    $sql = "(SELECT e.login " . "FROM eleves e, responsables2 re, resp_pers r " . "WHERE (" . "e.login = '******' AND " . "e.ele_id = re.ele_id AND " . "re.pers_id = r.pers_id AND " . "r.login = '******'login'] . "' AND (re.resp_legal='1' OR re.resp_legal='2')))";
    if (getSettingAOui('GepiMemesDroitsRespNonLegaux')) {
        $sql .= " UNION (SELECT e.login " . "FROM eleves e, responsables2 re, resp_pers r " . "WHERE (" . "e.login = '******' AND " . "e.ele_id = re.ele_id AND " . "re.pers_id = r.pers_id AND " . "r.login = '******'login'] . "' AND re.resp_legal='0' AND re.acces_sp='y'))";
    }
    $sql .= ";";
    $test = mysqli_query($GLOBALS["mysqli"], $sql);
    if (mysqli_num_rows($test) == 0) {
        tentative_intrusion(2, "Tentative par un parent d'accéder à l'équipe pédagogique d'un élève dont il n'est pas responsable légal.");
        echo "Vous ne pouvez visualiser que les relevés de notes des élèves pour lesquels vous êtes responsable légal.\n";
        require "../lib/footer.inc.php";
        die;
    }
}
// Maintenant on arrive au code en lui-même.
// On commence par traiter le cas où il faut sélectionner un élève (cas d'un responsable de plusieurs élèves)
if ($login_eleve == null and $_SESSION['statut'] == "responsable") {
    echo "</p>\n";
    // Si on est là normalement c'est parce qu'on a un responsable de plusieurs élèves qui n'a pas encore choisi d'élève.
    $sql = "(SELECT e.login, e.nom, e.prenom " . "FROM eleves e, responsables2 re, resp_pers r WHERE (" . "e.ele_id = re.ele_id AND " . "re.pers_id = r.pers_id AND " . "r.login = '******'login'] . "' AND (re.resp_legal='1' OR re.resp_legal='2')))";
    if (getSettingAOui('GepiMemesDroitsRespNonLegaux')) {
        $sql .= " UNION (SELECT e.login, e.nom, e.prenom " . "FROM eleves e, responsables2 re, resp_pers r WHERE (" . "e.ele_id = re.ele_id AND " . "re.pers_id = r.pers_id AND " . "r.login = '******'login'] . "' AND re.resp_legal='0' AND re.acces_sp='y'))";
    }
    $sql .= ";";
Пример #5
0
} else {
    if ($resultat_session == '0') {
        header("Location: ../logout.php?auto=1");
        die;
    }
}
// Sécurité
/*
	if (!checkAccess()) {
		header("Location: ../logout.php?auto=2");
		die();
	}
*/
// La SESSION est valide, on teste juste les bricolages d'URL
$url = parse_url($_SERVER['REQUEST_URI']);
if (mb_substr($url['path'], 0, mb_strlen($gepiPath)) != $gepiPath) {
    tentative_intrusion(2, "Tentative d'accès avec modification sauvage de gepiPath");
    header("Location: ../logout.php?auto=2");
    die;
}
// On récupère le mode pour le Header (normalement en POST):
$cacher_header = isset($_POST['cacher_header']) ? $_POST['cacher_header'] : (isset($_GET['cacher_header']) ? $_GET['cacher_header'] : "n");
// On n'accepte que deux valeurs:
if ($cacher_header != "y" && $cacher_header != "n") {
    $cacher_header = "n";
}
// On enregistre le mode pour le Header:
$_SESSION['cacher_header'] = $cacher_header;
// Et on renvoie un message http valide
header("HTTP/1.0 200 OK");
echo ' ';
Пример #6
0
	private function lock_account($_login) {
        global $mysqli;
       if ((!isset($GLOBALS['bloque_compte_admin'])) or ($GLOBALS['bloque_compte_admin'] != "n")) {
          // On verrouille le compte même si c'est un admin 
                $reg_data = mysqli_query($mysqli,"UPDATE utilisateurs SET date_verrouillage=now() WHERE login='******'" );
            
       } else {
          // on ne bloque pas le compte d'un administrateur    
                $reg_data = mysqli_query($mysqli,"UPDATE utilisateurs SET date_verrouillage=now() WHERE login='******' and statut!='administrateur'");
            
       }
       # On enregistre une alerte de sécurité.
       tentative_intrusion(2, "Verrouillage du compte ".$_login." en raison d'un trop grand nombre de tentatives de connexion infructueuses. Ce peut être une tentative d'attaque brute-force.", $_login);
       return true;
	}
Пример #7
0
        $msg = "Tous les régimes étaient déjà renseignés.<br />";
    }
}
$gepi_prof_suivi = getSettingValue('gepi_prof_suivi');
if ($_SESSION['statut'] == "professeur") {
    if (getSettingValue('GepiAccesGestElevesProfP') != 'yes') {
        tentative_intrusion("2", "Tentative d'accès par un prof à des fiches élèves, sans en avoir l'autorisation.");
        echo "Vous ne pouvez pas accéder à cette page car l'accès professeur n'est pas autorisé !";
        require "../lib/footer.inc.php";
        die;
    } else {
        // Le professeur est-il professeur principal dans une classe au moins.
        $sql = "SELECT 1=1 FROM j_eleves_professeurs WHERE professeur='" . $_SESSION['login'] . "';";
        $test = mysqli_query($GLOBALS["mysqli"], $sql);
        if (mysqli_num_rows($test) == 0) {
            tentative_intrusion("2", "Tentative d'accès par un prof qui n'est pas {$gepi_prof_suivi} à des fiches élèves, sans en avoir l'autorisation.");
            echo "Vous ne pouvez pas accéder à cette page car vous n'êtes pas {$gepi_prof_suivi} !";
            require "../lib/footer.inc.php";
            die;
        }
    }
}
if (isset($is_posted) and $is_posted == '2') {
    //$tab_id_classe_quelles_classes=array();
    if ($quelles_classes == 'certaines') {
        //
        // On efface les enregistrements liés à la session en cours
        //
        $sql = "DELETE FROM tempo WHERE num = '" . SESSION_ID() . "';";
        //echo "$sql<br />";
        mysqli_query($GLOBALS["mysqli"], $sql);
Пример #8
0
         echo "Vous n'êtes pas autorisé à utiliser ce mode de visualisation.\n";
         require "../lib/footer.inc.php";
         die;
     }
     if ($_SESSION['statut'] == "eleve") {
         if (my_strtoupper($login_eleve) != my_strtoupper($_SESSION['login'])) {
             tentative_intrusion(3, "Tentative d'un élève de visualiser les relevés de notes d'un autre élève.");
             echo "Vous ne pouvez visualiser que vos relevés de notes.\n";
             require "../lib/footer.inc.php";
             die;
         }
     }
     if ($_SESSION['statut'] == "responsable") {
         $test = mysqli_query($GLOBALS["mysqli"], "SELECT count(e.login) " . "FROM eleves e, responsables2 re, resp_pers r " . "WHERE (" . "e.login = '******' AND " . "e.ele_id = re.ele_id AND " . "re.pers_id = r.pers_id AND " . "r.login = '******'login'] . "' AND (re.resp_legal='1' OR re.resp_legal='2'))");
         if (old_mysql_result($test, 0) == 0) {
             tentative_intrusion(3, "Tentative d'un parent d'accès aux relevés de notes d'un élève dont il n'est pas responsable légal.");
             echo "Vous ne pouvez visualiser que les relevés de notes des élèves pour lesquels vous êtes responsable légal.\n";
             require "../lib/footer.inc.php";
             die;
         }
     }
 }
 // Affichage du relevé de notes
 if (my_ereg("([0-9]{2})/([0-9]{2})/([0-9]{4})", $_POST['display_date_debut'])) {
     $anneed = mb_substr($_POST['display_date_debut'], 6, 4);
     $moisd = mb_substr($_POST['display_date_debut'], 3, 2);
     $jourd = mb_substr($_POST['display_date_debut'], 0, 2);
     //=========================
     // AJOUT: boireaus 20071118
     $_SESSION['display_date_debut'] = $_POST['display_date_debut'];
     // Pour éviter de refaire le choix des dates en changeant de classe, on utilise la SESSION...
Пример #9
0
/**
 * Vérifie que la page est bien accessible par l'utilisateur
 *
 * @global string 
 * @return boolean TRUE si la page est accessible, FALSE sinon
 * @see tentative_intrusion()
 */
function checkAccess()
{
    global $gepiPath;
    global $mysqli;
    if (!preg_match("/mon_compte.php/", $_SERVER['SCRIPT_NAME'])) {
        if (isset($_SESSION['statut']) && $_SESSION['statut'] != "administrateur" && getSettingAOui('MailValideRequis' . ucfirst($_SESSION['statut']))) {
            $debug_test_mail = "n";
            if ($debug_test_mail == "y") {
                $f = fopen("/tmp/debug_check_mail.txt", "a+");
                fwrite($f, strftime("%Y-%m-%d %H:%M:%S") . " checkAccess(): depuis " . $_SERVER['SCRIPT_NAME'] . "\n");
                fwrite($f, strftime("%Y-%m-%d %H:%M:%S") . " checkAccess(): Avant le test check_mail().\n");
                fclose($f);
            }
            $ping_host = getSettingValue('ping_host');
            if ($ping_host == "") {
                //$ping_host="www.google.fr";
                $ping_host = "173.194.40.183";
            }
            $redir_saisie_mail_requise = "n";
            //if((!isset($_SESSION['email']))||(!check_mail($_SESSION['email']))) {
            if (!isset($_SESSION['email'])) {
                $redir_saisie_mail_requise = "y";
                if ($debug_test_mail == "y") {
                    $f = fopen("/tmp/debug_check_mail.txt", "a+");
                    fwrite($f, strftime("%Y-%m-%d %H:%M:%S") . " \$_SESSION['email'] est vide.\n");
                    fclose($f);
                }
            } elseif (getSettingAOui('MailValideRequisCheckDNS') && ping($ping_host, 80, 3) != "down") {
                if ($debug_test_mail == "y") {
                    $f = fopen("/tmp/debug_check_mail.txt", "a+");
                    fwrite($f, strftime("%Y-%m-%d %H:%M:%S") . " Avant le test checkdnsrr...\n");
                    fclose($f);
                }
                if (!check_mail($_SESSION['email'], 'checkdnsrr', 'y')) {
                    $redir_saisie_mail_requise = "y";
                    if ($debug_test_mail == "y") {
                        $f = fopen("/tmp/debug_check_mail.txt", "a+");
                        fwrite($f, strftime("%Y-%m-%d %H:%M:%S") . " Le test checkdnsrr a échoué.\n");
                        fclose($f);
                    }
                }
            } elseif (!check_mail($_SESSION['email'])) {
                if ($debug_test_mail == "y") {
                    $f = fopen("/tmp/debug_check_mail.txt", "a+");
                    fwrite($f, strftime("%Y-%m-%d %H:%M:%S") . " Le check_mail() a échoué.\n");
                    fclose($f);
                }
                $redir_saisie_mail_requise = "y";
            }
            if ($redir_saisie_mail_requise == "y") {
                if ($debug_test_mail == "y") {
                    $f = fopen("/tmp/debug_check_mail.txt", "a+");
                    if (!isset($_SESSION['email'])) {
                        fwrite($f, strftime("%Y-%m-%d %H:%M:%S") . " checkAccess(): Après le test check_mail() qui n'a pas été effectué : \$_SESSION['email'] n'est pas initialisé.\n");
                    } else {
                        fwrite($f, strftime("%Y-%m-%d %H:%M:%S") . " checkAccess(): Après le test check_mail() qui a échoué sur '" . $_SESSION['email'] . "'.\n");
                    }
                    fclose($f);
                }
                header("Location: {$gepiPath}/utilisateurs/mon_compte.php?saisie_mail_requise=yes");
                //getSettingValue('sso_url_portail')
                die;
            }
        }
    }
    $url = parse_url($_SERVER['SCRIPT_NAME']);
    if (mb_substr($url['path'], 0, mb_strlen($gepiPath)) != $gepiPath) {
        tentative_intrusion(2, "Tentative d'accès avec modification sauvage de gepiPath");
        return FALSE;
    } else {
        if ($_SESSION["statut"] == 'autre') {
            $sql = "SELECT autorisation\n\t\t\t\t\tFROM droits_speciaux\n\t\t\t\t\tWHERE nom_fichier = '" . mb_substr($url['path'], mb_strlen($gepiPath)) . "'\n\t\t\t\t\tAND id_statut = '" . $_SESSION['statut_special_id'] . "'\n\t\t\t\t\tAND autorisation='V'";
        } else {
            $sql = "SELECT " . $_SESSION['statut'] . " AS autorisation\n\t\t\t\t\tFROM droits\n\t\t\t\t\tWHERE id = '" . mb_substr($url['path'], mb_strlen($gepiPath)) . "'\n\t\t\t\t\tAND " . $_SESSION['statut'] . "='V';";
        }
        $resultat = mysqli_query($mysqli, $sql);
        $nb_lignes = $resultat->num_rows;
        $resultat->close();
        if ($nb_lignes > 0) {
            return TRUE;
        } else {
            tentative_intrusion(1, "Tentative d'accès à un fichier sans avoir les droits nécessaires");
            return FALSE;
        }
    }
}
Пример #10
0
    Date : 2013-05-12 17:15:24
    Fichier visé : /lib/form_message.php
    Url d'origine : https://XXX/*.php
    Niveau de gravité : 1
    Description : Accès à une page sans être logué (peut provenir d'un timeout de session).
    
    La tentative d'intrusion a été effectuée par un utilisateur non connecté à Gepi.
    Adresse IP : 127.0.0.1
    */
    // En fait, on n'arrive même pas jusque là si la session est terminée.
    //header("Location: ../logout.php?auto=1");
    die;
}
if (!getSettingAOui('active_messagerie') && !getSettingAOui('active_mod_alerte')) {
    $mess = rawurlencode("Vous tentez d accéder au module Messagerie qui est désactivé !");
    tentative_intrusion(1, "Tentative d'accès au module Messagerie qui est désactivé.");
    header("Location: ../accueil.php?msg={$mess}");
    die;
}
$mode = isset($_POST['mode']) ? $_POST['mode'] : (isset($_GET['mode']) ? $_GET['mode'] : NULL);
if (isset($mode) && $mode == 'maj_span_nom_jour_semaine') {
    header('Content-Type: text/html; charset=utf-8');
    $jour = isset($_GET['jour']) ? $_GET['jour'] : NULL;
    //if(isset($jour)) {
    if (isset($jour) && preg_match("|[0-9]{2}/[0-9]{2}/[0-9]{4}|", $jour)) {
        $tmp_tab = explode("/", $jour);
        if (checkdate($tmp_tab[1], $tmp_tab[0], $tmp_tab[2])) {
            echo strftime("%A", mktime("12", "59", "00", $tmp_tab[1], $tmp_tab[0], $tmp_tab[2]));
        }
    }
    die;
Пример #11
0
     // On selectionne toutes les classes
     //$sql="SELECT DISTINCT c.* FROM classes c WHERE 1";
     $sql = "SELECT 1=1 FROM j_eleves_classes jec, classes c WHERE (c.id=jec.id_classe) LIMIT 1;";
 } elseif ($_SESSION["statut"] == "professeur") {
     $sql = "SELECT DISTINCT c.* FROM classes c, j_eleves_professeurs jep, j_eleves_classes jec WHERE (jep.professeur='" . $_SESSION['login'] . "' AND jep.login = jec.login AND jec.id_classe = c.id AND c.id='{$id_classe}');";
 } elseif ($_SESSION["statut"] == "cpe") {
     $sql = "SELECT DISTINCT c.* FROM classes c, j_eleves_cpe jecpe, j_eleves_classes jec WHERE (jecpe.cpe_login='******'login'] . "' AND jecpe.e_login = jec.login AND jec.id_classe = c.id AND c.id='{$id_classe}');";
 } else {
     // On ne devrait pas arriver jusque-là...
     echo "<p>Droits insuffisants pour effectuer cette opération</p>\n";
     require "../lib/footer.inc.php";
     die;
 }
 $test_acces_classe = mysqli_query($GLOBALS["mysqli"], $sql);
 if (mysqli_num_rows($test_acces_classe) == 0) {
     tentative_intrusion(2, "Tentative d'un " . $_SESSION["statut"] . " (" . $_SESSION["login"] . ") à une classe (" . get_class_from_id($id_classe) . ") sans y être autorisé.");
     echo "<p>Vous n'êtes pas autorisés à être ici.</p>\n";
     require "../lib/footer.inc.php";
     die;
 }
 // ++++++++++++++++++++++++++++++++++++++
 // ++++++++++++++++++++++++++++++++++++++
 // Tableau destiné à stocker toutes les infos
 $tab_bulletin[$id_classe] = array();
 if (!isset($intercaler_releve_notes)) {
     // On initialise un tableau qui va rester vide
     $tab_releve[$id_classe] = array();
 }
 $affiche_adresse = sql_query1("SELECT display_address FROM classes WHERE id='" . $id_classe . "'");
 //echo "\$affiche_adresse=$affiche_adresse<br />";
 //===========================================
Пример #12
0
  private function affErreur($number){
    if(is_numeric($number)){
      switch ($number) {
        case "1":
          Die('Il faut pr&eacute;ciser le nom du plugin dans la cr&eacute;ation de son instance : $user_auth = new gepiPlugIn("nom_plugin");');
          break;
        case "2":
          Die('L\'objet plugin n\'est pas instanci&eacute; ou n\'existe pas !');
          break;
        case "3":
          tentative_intrusion(2, "Tentative d'ouverture d'une page du plugin ".$this->_plugin->getNom()." sans avoir les droits suffisants !");
          Die('Vous n\'avez pas les droits suffisants pour afficher cette page !');
          break;

      default:
          Die("Erreur non r&eacute;pertori&eacute;e !");
        break;
  }
    }else{
      Die("L'information pass&eacute;e à la m&eacute;thode " . __METHOD__ . " n'est pas valide !");
    }
  }
Пример #13
0
    header("Location: ../accueil.php?msg=Classe non choisie.");
    die;
}
$login_eleve = isset($_POST['login_eleve']) ? $_POST['login_eleve'] : (isset($_GET['login_eleve']) ? $_GET['login_eleve'] : NULL);
if (!isset($login_eleve)) {
    header("Location: ../accueil.php?msg=Elève non choisi.");
    die;
}
// Seuls les comptes Administrateur et Scolarité ont accès
if ($_SESSION['statut'] == "scolarite") {
    // Tester si le compte scolarité a accès à cette classe...
    // Si ce n'est pas le cas -> intrusion...
    $sql = "SELECT 1=1 FROM j_scol_classes jsc WHERE jsc.id_classe='{$id_classe}' AND jsc.login='******'login'] . "';";
    $test = mysqli_query($GLOBALS["mysqli"], $sql);
    if ($test == "0") {
        tentative_intrusion("2", "Tentative d'accès par un compte scolarité à une classe à laquelle il n'est pas associé.");
        echo "Vous ne pouvez pas accéder à cette classe car vous n'y êtes pas référent !";
        require "../lib/footer.inc.php";
        die;
    }
}
include "../lib/periodes.inc.php";
if ($_SESSION['statut'] == "administrateur") {
    if (isset($is_posted)) {
        check_token();
        $msg = '';
        $j = 1;
        while ($j < $nb_periode) {
            $sql = "SELECT DISTINCT g.id, g.name FROM groupes g, j_groupes_classes jgc WHERE (g.id = jgc.id_groupe and jgc.id_classe = '" . $id_classe . "') ORDER BY jgc.priorite, g.name";
            //echo "$sql<br />";
            $call_group = mysqli_query($GLOBALS["mysqli"], $sql);
Пример #14
0
    
    La tentative d'intrusion a été effectuée par un utilisateur non connecté à Gepi.
    Adresse IP : 127.0.0.1
    */
    // En fait, on n'arrive même pas jusque là si la session est terminée.
    //header("Location: ../logout.php?auto=1");
    die;
}
if (!getSettingAOui('active_mod_alerte')) {
    $active_messagerie = getSettingValue('active_messagerie');
    if ($active_messagerie != "") {
        saveSetting('active_mod_alerte', $active_messagerie);
    }
    if (!getSettingAOui('active_mod_alerte')) {
        $mess = rawurlencode("Vous tentez d accéder au dispositif d'alerte qui est désactivé !");
        tentative_intrusion(1, "Tentative d'accès au dispositif d'alerte qui est désactivé.");
        header("Location: ../accueil.php?msg={$mess}");
        die;
    }
}
$mode = isset($_POST['mode']) ? $_POST['mode'] : (isset($_GET['mode']) ? $_GET['mode'] : NULL);
if (isset($mode) && $mode == 'maj_span_nom_jour_semaine') {
    header('Content-Type: text/html; charset=utf-8');
    $jour = isset($_GET['jour']) ? $_GET['jour'] : NULL;
    //if(isset($jour)) {
    if (isset($jour) && preg_match("|[0-9]{2}/[0-9]{2}/[0-9]{4}|", $jour)) {
        $tmp_tab = explode("/", $jour);
        if (checkdate($tmp_tab[1], $tmp_tab[0], $tmp_tab[2])) {
            echo strftime("%A", mktime("12", "59", "00", $tmp_tab[1], $tmp_tab[0], $tmp_tab[2]));
        }
    }
Пример #15
0
		}
		elseif($_SESSION['statut']=='professeur'){
			if ((getSettingValue("GepiAccesBulletinSimpleProf") == "yes")||(getSettingValue("GepiAccesBulletinSimpleProfTousEleves") == "yes")) {
				$sql="SELECT DISTINCT c.id,c.classe FROM classes c, periodes p, j_groupes_classes jgc, j_groupes_professeurs jgp WHERE p.id_classe = c.id AND jgc.id_classe=c.id AND jgp.id_groupe=jgc.id_groupe AND jgp.login='******'login']."' ORDER BY c.classe";
			}
			elseif(getSettingValue("GepiAccesBulletinSimplePP") == "yes") {
				$sql="SELECT DISTINCT c.id,c.classe FROM classes c,
												j_eleves_classes jec,
												j_eleves_professeurs jep
										WHERE jec.id_classe=c.id AND
												jep.login=jec.login AND
												jep.professeur='".$_SESSION['login']."'
										ORDER BY c.classe;";
			}
			else {
				tentative_intrusion(1, "Tentative d'accès aux bulletins simplifiés sans autorisation.");
				echo "<p>Vous n'êtes pas autorisé à visualiser cette page.</p>";
				require "../lib/footer.inc.php";
				die();
			}

		}
		elseif($_SESSION['statut']=='cpe'){
			$sql="SELECT DISTINCT c.id,c.classe FROM classes c, periodes p, j_eleves_classes jec, j_eleves_cpe jecpe WHERE
				p.id_classe = c.id AND
				jec.id_classe=c.id AND
				jec.periode=p.num_periode AND
				jecpe.e_login=jec.login AND
				jecpe.cpe_login='******'login']."'
				ORDER BY classe";
		}
Пример #16
0
//$choix_parametres=isset($_POST['choix_parametres']) ? $_POST['choix_parametres'] : NULL;
// Un prof peut choisir un groupe plutôt qu'une liste de classes
$id_groupe = $_SESSION['statut'] == 'professeur' ? isset($_POST['id_groupe']) ? $_POST['id_groupe'] : NULL : NULL;
if (isset($id_groupe)) {
    if ($id_groupe == '' || mb_strlen(my_ereg_replace("[0-9]", "", $id_groupe)) != 0) {
        tentative_intrusion(2, "Tentative d'un professeur de manipuler l'identifiant id_groupe en y mettant des caractères non numériques ou un identifiant de groupe vide.");
        echo "<p>L'identifiant de groupe est erroné.</p>\n";
        require "../lib/footer.inc.php";
        die;
    }
    // On vérifie si le prof est bien associé au groupe
    $sql = "SELECT 1=1 FROM j_groupes_professeurs WHERE id_groupe='{$id_groupe}' AND login='******'login'] . "';";
    $test_grp_prof = mysqli_query($GLOBALS["mysqli"], $sql);
    if (mysqli_num_rows($test_grp_prof) == 0) {
        //intrusion
        tentative_intrusion(2, "Tentative d'un professeur d'accéder aux relevés de notes d'un groupe auquel il n'est pas associé.");
        echo "<p>Vous n'êtes pas associé au groupe choisi.</p>\n";
        require "../lib/footer.inc.php";
        die;
    }
    //echo "id_groupe=$id_groupe<br />\n";
}
//=========================
//=========================
// A FAIRE
// CAS D'UN ELEVE
// - Préremplir la classe pour sauter l'étape? sauf s'il a changé de classe?
// - Permettre de choisir la période
// - Préremplir la sélection d'élèves pour sauter l'étape (en renseignant un champ caché) et en cas de manipulation (vider le champ) interdire l'accès élève dans la section de choix des élèves
// Contrôler avant et après validation des paramètres si les champs proposés/reçus sont corrects (conforme à ce qu'on autorise à l'élève)
// CAS D'UN RESPONSABLE
Пример #17
0
		    require("../lib/footer.inc.php");
			die();
		}
	}
	if ($_SESSION['statut'] == "eleve" OR $_SESSION['statut'] == "responsable") {
		// On filtre eleve2 :
		if(!isset($eleve2)) {$eleve2 = "moyclasse";}
		if((($_SESSION['statut'] == "eleve")&&(getSettingAOui('GepiAccesGraphRangEleve')))||(($_SESSION['statut'] == "responsable")&&(getSettingAOui('GepiAccesGraphRangParent')))) {
			if ($eleve2 != "moyclasse" and $eleve2 != "moymin" and $eleve2 != "moymax" and $eleve2 != "rang_eleve") {
				tentative_intrusion(3, "Tentative de manipulation de la seconde source de données sur la visualisation graphique des résultats (détournement de _eleve2_, qui ne peut, dans le cas d'un utilisateur parent ou eleve, ne correspondre qu'à une moyenne et non un autre élève).");
				$eleve2 = "moyclasse";
			}
		}
		else {
			if ($eleve2 != "moyclasse" and $eleve2 != "moymin" and $eleve2 != "moymax") {
				tentative_intrusion(3, "Tentative de manipulation de la seconde source de données sur la visualisation graphique des résultats (détournement de _eleve2_, qui ne peut, dans le cas d'un utilisateur parent ou eleve, ne correspondre qu'à une moyenne et non un autre élève).");
				$eleve2 = "moyclasse";
			}
		}
	}

	//debug_var();

	/*
	// On évite d'initialiser à NULL pour permettre de pré-cocher le choix_periode.
	$choix_periode=isset($_POST['choix_periode']) ? $_POST['choix_periode'] : (isset($_GET['choix_periode']) ? $_GET['choix_periode'] : "periode");
	$periode=isset($_POST['periode']) ? $_POST['periode'] : (isset($_GET['periode']) ? $_GET['periode'] : NULL);
	$num_periode_choisie=isset($_POST['num_periode_choisie']) ? $_POST['num_periode_choisie'] : (isset($_GET['num_periode_choisie']) ? $_GET['num_periode_choisie'] : NULL);

	if(isset($num_periode_choisie)) {
		$sql="SELECT nom_periode FROM periodes WHERE num_periode='$num_periode_choisie' AND id_classe='$id_classe';";
Пример #18
0
if (isset($id_classe)) {
    // On regarde si le type est correct :
    if (!is_numeric($id_classe)) {
        tentative_intrusion("2", "Changement de la valeur de id_classe pour un type non numérique.");
        echo "Erreur.";
        /**
         * inclusion du pied de page
         */
        require "../lib/footer.inc.php";
        die;
    }
    // On teste si le professeur a le droit d'accéder à cette classe
    if ($_SESSION['statut'] == "professeur" and getSettingValue("GepiAccesMoyennesProfToutesClasses") != "yes") {
        $test = mysqli_num_rows(mysqli_query($GLOBALS["mysqli"], "SELECT jgc.* FROM j_groupes_classes jgc, j_groupes_professeurs jgp WHERE (jgp.login='******'login'] . "' AND jgc.id_groupe = jgp.id_groupe AND jgc.id_classe = '" . $id_classe . "')"));
        if ($test == "0") {
            tentative_intrusion("2", "Tentative d'accès par un prof à une classe dans laquelle il n'enseigne pas, sans en avoir l'autorisation.");
            echo "Vous ne pouvez pas accéder à cette classe car vous n'y êtes pas professeur !";
            /**
             * inclusion du pied de page
             */
            require "../lib/footer.inc.php";
            die;
        }
    }
}
$javascript_specifique = "prepa_conseil/colorisation_visu_toutes_notes";
//**************** EN-TETE *****************
$titre_page = "Visualisation des moyennes des carnets de notes";
/**
 * Entête de la page
 */
Пример #19
0
	if($_SESSION['statut']=='professeur') {
		$acces_suite="n";

		if((getSettingAOui('visuDiscProfClasses'))&&(is_prof_ele($_SESSION['login'], $login_ele))) {
			$acces_suite="y";
		}
		elseif((getSettingAOui('visuDiscProfGroupes'))&&(is_prof_classe_ele($_SESSION['login'], $login_ele))) {
			$acces_suite="y";
		}
		elseif(is_pp($_SESSION['login'], "", $login_ele)) {
			$acces_suite="y";
		}

		if($acces_suite=="n") {
			$msg="Vous n'avez pas accès à cet élève.<br />";
			tentative_intrusion(1, "Tentative d'accès à la consultation d'$mod_disc_terme_incident pour l'élève ".get_nom_prenom_eleve($login_ele).".");
			unset($login_ele);
		}
	}
	/*
	elseif(($_SESSION['statut']=='cpe')&&(!is_cpe($_SESSION['login'], "", $login_ele))) {
		$msg="Vous n'avez pas accès à cet élève.<br />";
		tentative_intrusion(1, "Tentative d'accès à la consultation d'$mod_disc_terme_incident pour l'élève ".get_nom_prenom_eleve($login_ele).".");
		unset($login_ele);
	}
	*/
}

$style_specifique[] = "lib/DHTMLcalendar/calendarstyle";
$javascript_specifique[] = "lib/DHTMLcalendar/calendar";
$javascript_specifique[] = "lib/DHTMLcalendar/lang/calendar-fr";
Пример #20
0
		$t=$_FILES['monfichier'];
		
		$monfichiername=$t['name'];
		$monfichiertype=$t['type'];
		$monfichiersize=$t['size'];
		$monfichiertmp_name=$t['tmp_name'];

		$upload_modele_ooo_autorise="n";
		if($_SESSION['statut']=='administrateur') {$upload_modele_ooo_autorise="y";}
		elseif(($_SESSION['statut']=='scolarite')&&(getSettingValue('OOoUploadScol')=='yes')) {$upload_modele_ooo_autorise="y";}
		elseif(($_SESSION['statut']=='cpe')&&(getSettingValue('OOoUploadCpe')=='yes')) {$upload_modele_ooo_autorise="y";}
		elseif(($_SESSION['statut']=='professeur')&&(getSettingValue('OOoUploadProf')=='yes')) {$upload_modele_ooo_autorise="y";}
	
		if($upload_modele_ooo_autorise!='y') {
			echo "<p style='color:red'>Action non autorisée&nbsp;: Upload d'un modèle personnalisé.</p>\n";
			tentative_intrusion(1, "Tentative non autorisée d'upload d'un modèle OOo (".$monfichiername.")");
		}
		else {

			if ($monfichiername=="") {
				echo "<p style='color:red'>Pas de fichier indiqué ! Il faut recommencer...</p>\n";
			}
			else {
				$fichiercopie=mb_strtolower($monfichiername);

				$cible=array();
				if($_SESSION['statut']=='administrateur') {
					$login_user=isset($_POST['login_user']) ? $_POST['login_user'] : NULL;
					if(!isset($login_user)) {
						$login_user=array();
						$login_user[]=$_SESSION['login'];
Пример #21
0
$mode_calcul_moy_annee = "moyenne_des_moy_gen_periodes";
// On filtre au niveau sécurité pour s'assurer qu'un prof n'est pas en train de chercher
// à visualiser des données pour lesquelles il n'est pas autorisé
if (isset($id_classe)) {
    // On regarde si le type est correct :
    if (!is_numeric($id_classe)) {
        tentative_intrusion("3", "Changement de la valeur de id_classe pour un type non numérique, en changeant la valeur d'un champ 'hidden' d'un formulaire.");
        echo "Erreur.";
        require "../lib/footer.inc.php";
        die;
    }
    // On teste si le professeur a le droit d'accéder à cette classe
    if ($_SESSION['statut'] == "professeur" and getSettingValue("GepiAccesMoyennesProfToutesClasses") != "yes") {
        $test = mysqli_num_rows(mysqli_query($GLOBALS["mysqli"], "SELECT jgc.* FROM j_groupes_classes jgc, j_groupes_professeurs jgp WHERE (jgp.login='******'login'] . "' AND jgc.id_groupe = jgp.id_groupe AND jgc.id_classe = '" . $id_classe . "')"));
        if ($test == "0") {
            tentative_intrusion("3", "Tentative d'accès par un prof à une classe dans laquelle il n'enseigne pas, sans en avoir l'autorisation. Tentative avancée : changement des valeurs de champs de type 'hidden' du formulaire.");
            echo "Vous ne pouvez pas accéder à cette classe car vous n'y êtes pas professeur !";
            require "../lib/footer.inc.php";
            die;
        }
    }
}
function my_echo($texte)
{
    $debug = 0;
    if ($debug != 0) {
        echo $texte;
    }
}
$larg_tab = isset($_POST['larg_tab']) ? $_POST['larg_tab'] : NULL;
$bord = isset($_POST['bord']) ? $_POST['bord'] : NULL;
Пример #22
0
            // Si on est là, ce qu'un utilisateur au statut 'responsable' a essayé
            // de sélectionner un élève pour lequel il n'est pas responsable.
            tentative_intrusion(2, "Tentative d'accès par un parent au cahier de textes d'un autre élève que le ou les sien(s).");
            $selected_eleve = false;
        }
    }
    if (isset($login_eleve) && $login_eleve != "") {
        $sql = "(SELECT 1=1 FROM resp_pers r, responsables2 re, eleves e WHERE r.pers_id=re.pers_id AND re.ele_id=e.ele_id AND r.login='******'login'] . "' AND (re.resp_legal='1' OR re.resp_legal='2') AND e.login='******')";
        if (getSettingAOui('GepiMemesDroitsRespNonLegaux')) {
            $sql .= " UNION (SELECT 1=1 FROM eleves e, resp_pers r, responsables2 re \n\t\t\t\t\t\t\tWHERE (e.login = '******' AND\n\t\t\t\t\t\t\t\te.ele_id = re.ele_id AND \n\t\t\t\t\t\t\t\tre.pers_id = r.pers_id AND \n\t\t\t\t\t\t\t\tr.login = '******'login'] . "' AND \n\t\t\t\t\t\t\t\tre.resp_legal='0' AND \n\t\t\t\t\t\t\t\tre.acces_sp='y'))";
        }
        $sql .= ";";
        //echo "$sql<br />";
        $verif_ele = mysqli_query($GLOBALS["mysqli"], $sql);
        if (mysqli_num_rows($verif_ele) == 0) {
            tentative_intrusion(2, "Tentative d'accès par un parent au cahier de textes d'un autre élève que le ou les sien(s).");
            header("Location: ../logout.php?auto=1");
            die;
            //echo "PB intrusion<br />";
        }
    }
}
$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"];
$matiere_nom_court = $current_group["matiere"]["matiere"];
// Vérification sur les dates
settype($month, "integer");
Пример #23
0
		else {
			$sql="SELECT DISTINCT jep.login " .
				"FROM j_eleves_professeurs jep " .
				"WHERE (" .
				"jep.login='******' AND " .
				"jep.professeur = '".$_SESSION['login']."');";
		}
	}
	else {
		$sql="SELECT jeg.* FROM j_eleves_groupes jeg, j_groupes_professeurs jgp WHERE (jgp.login='******'login']."' AND jeg.id_groupe = jgp.id_groupe AND jeg.login = '******')";
	}
	//echo "$sql<br />";

	$test = mysqli_num_rows(mysqli_query($GLOBALS["mysqli"], $sql));
	if ($test == "0") {
		tentative_intrusion("2", "Tentative d'accès par un prof à un bulletin simplifié d'un élève ($login_eleve) qu'il n'a pas en cours, sans en avoir l'autorisation.");
		echo "Vous ne pouvez pas accéder à cet élève !";
		require ("../lib/footer.inc.php");
		die();
	}
}

$affiche_colonne_moy_classe="y";
if((($_SESSION['statut']=='eleve')&&(!getSettingAOui('GepiAccesBulletinSimpleColonneMoyClasseEleve')))||
(($_SESSION['statut']=='responsable')&&(!getSettingAOui('GepiAccesBulletinSimpleColonneMoyClasseResp')))) {
	$affiche_colonne_moy_classe="n";
}
if((isset($_POST['pas_de_colonne_moy_classe']))&&($_POST['pas_de_colonne_moy_classe']=='y')) {
	$affiche_colonne_moy_classe="n";
}
//echo "\$affiche_colonne_moy_classe=$affiche_colonne_moy_classe<br />";
Пример #24
0
    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',\n\tadministrateur='V',\n\tprofesseur='V',\n\tcpe='V',\n\tscolarite='V',\n\televe='V',\n\tresponsable='V',\n\tsecours='F',\n\tautre='V',\n\tdescription='Cahiers de textes: Consultation',\n\tstatut='';";
    $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)) {
Пример #25
0
// Il faut rendre ces choix paramétrables dans Droits d'accès.


$annee_scolaire=isset($_GET['annee_scolaire']) ? $_GET['annee_scolaire'] : NULL;
$num_periode=isset($_GET['num_periode']) ? $_GET['num_periode'] : NULL;

// Mode: 'bull_simp' ou 'avis_conseil'
$mode=isset($_GET['mode']) ? $_GET['mode'] : NULL;
// Faire un filtrage sur ces valeurs.


// Si le module n'est pas activé...
if(getSettingValue('active_annees_anterieures')!="y") {
	// A DEGAGER
	// A VOIR: Comment enregistrer une tentative d'accès illicite?
	tentative_intrusion(1, "Tentative d'un ".$_SESSION["statut"]." (".$_SESSION["login"].") d'accéder au module Années antérieures qui n'est pas activé.");

	//echo "1";

	header("Location: ../logout.php?auto=1");
	die();
}

// Il faut arriver sur cette page avec un $logineleve passé en paramètre.

// Faire les filtrages selon le statut à ce niveau en tenant compte:
// - du fait que le statut est autorisé à accéder dans Droits d'accès;
// - du login élève fourni.

require('fonctions_annees_anterieures.inc.php');
    }
} elseif ($_SESSION['statut'] == "autre") {
    $sql = "SELECT 1=1 FROM droits_speciaux ds WHERE ds.id_statut='" . $_SESSION['statut_special_id'] . "' AND ds.nom_fichier='/mod_annees_anterieures/consultation_annee_anterieure.php' AND ds.autorisation='V';";
    $res_acces = mysqli_query($GLOBALS["mysqli"], $sql);
    if (mysqli_num_rows($res_acces) > 0) {
        $acces = "y";
        $sql_classes = "SELECT DISTINCT id,classe FROM classes ORDER BY classe";
        if (isset($id_classe)) {
            $sql_ele = "SELECT DISTINCT e.nom,e.prenom,e.login FROM eleves e,j_eleves_classes jec WHERE jec.id_classe='{$id_classe}' AND jec.login=e.login ORDER BY e.nom,e.prenom";
        }
    }
}
if ($acces != "y") {
    // A DEGAGER
    // A VOIR: Comment enregistrer une tentative d'accès illicite?
    tentative_intrusion(1, "Tentative illicite d'un " . $_SESSION["statut"] . " (" . $_SESSION["login"] . ") d'accéder à des données d'Années antérieures.");
    header("Location: ../logout.php?auto=1");
    die;
}
$msg = "";
$style_specifique = "mod_annees_anterieures/annees_anterieures";
//**************** EN-TETE *****************
$titre_page = "Consultation des données antérieures";
require_once "../lib/header.inc.php";
//**************** FIN EN-TETE *****************
//debug_var();
echo "<div class='norme'>\n";
echo "<form action='" . $_SERVER['PHP_SELF'] . "' id='form_change_eleve' method='get'>\n";
echo "<p class='bold'><a href='";
if ($_SESSION['statut'] == "administrateur") {
    echo "index.php";
			tentative_intrusion(1, "Tentative d'accès à la saisie de $mod_disc_terme_avertissement_fin_periode pour l'élève ".get_nom_prenom_eleve($login_ele).".");
			header("Location: ../accueil.php?msg=$mess");
			die();
		}
	}
	elseif($_SESSION['statut']=='cpe') {
		$acces_suite="n";
		if(getSettingAOui('saisieDiscCpeAvtTous')) {
			$acces_suite="y";
		}
		elseif((!getSettingAOui('saisieDiscCpeAvt'))&&(is_cpe($_SESSION['login'], "", $login_ele))) {
			$acces_suite="y";
		}
		else {
			$mess=rawurlencode("Vous n'êtes pas CPE de ".get_nom_prenom_eleve($login_ele)." ou bien vous n'êtes pas autorisé à saisir les ".$mod_disc_terme_avertissement_fin_periode."s !");
			tentative_intrusion(1, "Tentative d'accès à la saisie de $mod_disc_terme_avertissement_fin_periode pour l'élève ".get_nom_prenom_eleve($login_ele).".");
			header("Location: ../accueil.php?msg=$mess");
			die();
		}
	}

	$msg="";

	// 20140616
	if(isset($_POST['get_avertissement_fin_periode'])) {
		check_token();

		//$tab_type_avertissement_fin_periode=get_tab_type_avertissement();

		//$tab_av_ele=get_tab_avertissement($login_ele, $periode);
Пример #28
0
        }
    } else {
        $mess = rawurlencode("Vous n'êtes pas autorisé à imprimer les " . $mod_disc_terme_avertissement_fin_periode . "s !");
        tentative_intrusion(1, "Tentative d'accès à l'impression de {$mod_disc_terme_avertissement_fin_periode}.");
        header("Location: ../accueil.php?msg={$mess}");
        die;
    }
    if (count($tab_restriction_classes) == 0) {
        $mess = rawurlencode("Il n'y a aucune classe pour laquelle vous seriez autorisé à imprimer les " . $mod_disc_terme_avertissement_fin_periode . "s !");
        //tentative_intrusion(1, "Tentative d'accès à l'impression de $mod_disc_terme_avertissement_fin_periode.");
        header("Location: ../accueil.php?msg={$mess}");
        die;
    }
} elseif ($_SESSION['statut'] == 'cpe' && !getSettingAOui('imprDiscCpeAvtOOo')) {
    $mess = rawurlencode("Vous n'êtes pas autorisé à imprimer les " . $mod_disc_terme_avertissement_fin_periode . "s !");
    tentative_intrusion(1, "Tentative d'accès à l'impression de {$mod_disc_terme_avertissement_fin_periode}.");
    header("Location: ../accueil.php?msg={$mess}");
    die;
}
if (isset($eleve)) {
    $tab_eleves_OOo = array();
    $nb_eleve = 0;
    $tab_type_avertissement_fin_periode = get_tab_type_avertissement();
    for ($loop = 0; $loop < count($eleve); $loop++) {
        $tab = explode("|", $eleve[$loop]);
        if (isset($tab[2])) {
            $tab_eleves_OOo[$nb_eleve] = array();
            $current_id_classe = $tab[0];
            $current_periode = $tab[1];
            $current_eleve_login = $tab[2];
            $classe = get_nom_classe($current_id_classe);
Пример #29
0
echo "\$login_eleve=$login_eleve<br />";
echo "\$regime_eleve=$regime_eleve<br />";
*/
$CDTPeutPointerTravailFait = getSettingAOui('CDTPeutPointerTravailFait' . ucfirst($_SESSION['statut']));
//if(($mode=='changer_etat')&&($etat!="")&&(is_numeric($id_ct_devoir))&&($login_eleve!="")) {
if ($mode == 'changer_etat' && is_numeric($id_ct_devoir) && $login_eleve != "" && $CDTPeutPointerTravailFait) {
    if ($_SESSION['statut'] == 'eleve') {
        if ($login_eleve != $_SESSION['login']) {
            echo "<img src='../images/icons/sens_interdit.png' class='icone16' title=\"Vous ne pouvez pas modifier les travux faits ou non pour un autre élève.\nNotez que ces tentatives pourraient provoquer une désactivation de votre compte.\" />";
            tentative_intrusion(1, "Tentative d'un élève de modifier l'état du travail fait ou non CDT pour une notice d'un autre élève ({$login_eleve}).");
            die;
        }
    } elseif ($_SESSION['statut'] == 'responsable') {
        if (!is_responsable($login_eleve, $_SESSION['login'], "", "yy")) {
            echo "<img src='../images/icons/sens_interdit.png' class='icone16' title=\"Vous ne pouvez pas modifier les travux faits ou non pour un élève dont vous n'êtes pas responsable.\nNotez que ces tentatives pourraient provoquer une désactivation de votre compte.\" />";
            tentative_intrusion(1, "Tentative d'un responsable de modifier l'état du travail fait ou non CDT pour une notice d'un élève ({$login_eleve}) dont il n'est pas responsable.");
            die;
        }
    }
    // Vérifier que l'id_ct_devoir correspond à un cours de l'élève.
    $sql = "SELECT 1=1 FROM ct_devoirs_entry cde, j_eleves_groupes jeg WHERE cde.id_ct='" . $id_ct_devoir . "' AND cde.id_groupe=jeg.id_groupe AND jeg.login='******';";
    //echo "$sql<br />";
    $res = mysqli_query($GLOBALS["mysqli"], $sql);
    if (mysqli_num_rows($res) == 0) {
        echo "<img src='../images/icons/sens_interdit.png' class='icone16' title=\"Vous ne suivez pas l'enseignement associé à ce devoir.\" />";
        die;
    }
    $date_courante = strftime("%Y-%m-%d %H:%M:%S");
    $sql = "SELECT * FROM ct_devoirs_faits WHERE id_ct='" . $id_ct_devoir . "' AND login='******';";
    $res = mysqli_query($GLOBALS["mysqli"], $sql);
    if (mysqli_num_rows($res) == 0) {
Пример #30
0
                                                    imagejpeg($destination, $dest_file, 100);
                                                }
                                            } else {
                                                $msg .= "Erreur lors de l'upload de la photo.";
                                            }
                                        }
                                    }
                                } elseif ($nb_elenoet == 0) {
                                    //$msg.="Le numéro GEP de l'élève n'est pas enregistré dans la table 'eleves'.";
                                    $msg .= "Le numéro interne Sconet (elenoet) de l'élève n'est pas enregistré dans la table 'eleves'.";
                                } else {
                                    //$msg.="Le numéro GEP est commun à plusieurs élèves. C'est une anomalie.";
                                    $msg .= "Le numéro interne Sconet (elenoet) est commun à plusieurs élèves. C'est une anomalie.";
                                }
                            } else {
                                tentative_intrusion("2", "Tentative d'upload par un prof de la photo d'un élève ({$eleve_login}) dont il n'est pas " . getSettingValue('gepi_prof_suivi') . ".");
                                echo "Upload de photo non autorisé : Vous n'êtes pas " . getSettingValue('gepi_prof_suivi') . " de cet élève.";
                                require "../lib/footer.inc.php";
                                die;
                            }
                        }
                    } else {
                        //$msg.="Le numéro GEP proposé contient des caractères non numériques.";
                        $msg .= "Le numéro interne Sconet (elenoet) proposé contient des caractères non numériques.";
                    }
                }
            }
        }
    }
}
// On appelle les informations de l'utilisateur pour les afficher :