示例#1
0
文件: ajax_cdt.php 项目: rhertzog/lcs
/*
echo "\$mode=$mode<br />";
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='******';";
示例#2
0
        <script type="text/javascript">
          Calendar.setup({
            inputField     :    "date_fin_toute_absence",     // id of the input field
            ifFormat       :    "%d/%m/%Y",      // format of the input field
            button         :    "date_fin_toute_absence",  // trigger for the calendar (button ID)
            align          :    "Bl",           // alignment (defaults to "Bl")
            singleClick    :    true
          });
        </script>
        <button type="submit">Changer</button>
      </h2>
    </form>
  <?php 
$eleve_col = EleveQuery::create()->orderByNom()->filterByUtilisateurProfessionnel($utilisateur)->useAbsenceEleveSaisieQuery()->filterByPlageTemps($dt_debut_toutes, $dt_fin_toutes)->endUse()->distinct()->find();
foreach ($eleve_col as $eleve) {
    $eleve_a_afficher = is_responsable($eleve->getLogin(), $utilisateur->getLogin(), "", "yy");
    if ($eleve_a_afficher) {
        ?>

        <br />
        <table style="border: 1px solid black;" cellpadding="5" cellspacing="5" title="Toutes les absences de <?php 
        echo $eleve->getNom() . ' ' . $eleve->getPrenom();
        ?>
">
    <?php 
        $creneau_col = EdtCreneauPeer::retrieveAllEdtCreneauxOrderByTime();
        ?>
        <tr>
          <th style="border: 1px solid black; background-color: gray; min-width: 300px; max-width: 500px;"><?php 
        echo $eleve->getNom() . ' ' . $eleve->getPrenom();
        ?>
示例#3
0
function tab_mod_discipline($ele_login, $mode, $date_debut, $date_fin, $restreindre_affichage_a_eleve_seul = "n")
{
    global $mod_disc_terme_incident, $mod_disc_terme_sanction;
    global $tab_incidents_ele, $tab_mesures_ele, $tab_sanctions_ele;
    $retour = "";
    if ($date_debut != "") {
        // Tester la validité de la date
        // Si elle n'est pas valide... la vider
        if (preg_match("#/#", $date_debut)) {
            $tmp_tab_date = explode("/", $date_debut);
            if (!checkdate($tmp_tab_date[1], $tmp_tab_date[0], $tmp_tab_date[2])) {
                $date_debut = "";
            } else {
                $date_debut = $tmp_tab_date[2] . "-" . $tmp_tab_date[1] . "-" . $tmp_tab_date[0];
            }
        } elseif (preg_match("/-/", $date_debut)) {
            $tmp_tab_date = explode("-", $date_debut);
            if (!checkdate($tmp_tab_date[1], $tmp_tab_date[2], $tmp_tab_date[0])) {
                $date_debut = "";
            }
        } else {
            $date_debut = "";
        }
    }
    if ($date_fin != "") {
        // Tester la validité de la date
        // Si elle n'est pas valide... la vider
        // Tester la validité de la date
        // Si elle n'est pas valide... la vider
        if (preg_match("#/#", $date_fin)) {
            $tmp_tab_date = explode("/", $date_fin);
            if (!checkdate($tmp_tab_date[1], $tmp_tab_date[0], $tmp_tab_date[2])) {
                $date_fin = "";
            } else {
                $date_fin = $tmp_tab_date[2] . "-" . $tmp_tab_date[1] . "-" . $tmp_tab_date[0];
            }
        } elseif (preg_match("/-/", $date_fin)) {
            $tmp_tab_date = explode("-", $date_fin);
            if (!checkdate($tmp_tab_date[1], $tmp_tab_date[2], $tmp_tab_date[0])) {
                $date_fin = "";
            }
        } else {
            $date_fin = "";
        }
    }
    $info_dates = "";
    $restriction_date = "";
    if ($date_debut != "" && $date_fin != "") {
        $restriction_date .= " AND (si.date>='{$date_debut}' AND si.date<='{$date_fin}') ";
        $info_dates = " (<em>" . formate_date($date_debut) . "-&gt;" . formate_date($date_fin) . "</em>)";
    } elseif ($date_debut != "") {
        $restriction_date .= " AND (si.date>='{$date_debut}') ";
        $info_dates = " (<em>depuis le " . formate_date($date_debut) . "</em>)";
    } elseif ($date_fin != "") {
        $restriction_date .= " AND (si.date<='{$date_fin}') ";
        $info_dates = " (<em>jusqu'au " . formate_date($date_fin) . "</em>)";
    }
    $tab_incident = array();
    $tab_sanction = array();
    $tab_sanction_non_effectuee = array();
    $tab_mesure = array();
    $zone_de_commentaire = "";
    $sql = "SELECT * FROM s_incidents si, s_protagonistes sp WHERE si.id_incident=sp.id_incident AND sp.login='******' {$restriction_date} ORDER BY si.date DESC;";
    //echo "$sql<br />\n";
    $res = mysqli_query($GLOBALS["mysqli"], $sql);
    if (mysqli_num_rows($res) > 0) {
        $retour = "<p class='bold'>Tableau des " . $mod_disc_terme_incident . "s concernant " . p_nom($ele_login);
        $retour .= $info_dates;
        $retour .= "</p>\n";
        $retour .= "<table class='boireaus' border='1' summary=\"Tableau des " . $mod_disc_terme_incident . "s concernant {$ele_login}\">\n";
        $retour .= "<tr>\n";
        $retour .= "<th>Num</th>\n";
        $retour .= "<th>Date</th>\n";
        $retour .= "<th>Qualité</th>\n";
        $retour .= "<th>Description</th>\n";
        $retour .= "<th>Suivi</th>\n";
        $retour .= "</tr>\n";
        $alt_1 = 1;
        while ($lig = mysqli_fetch_object($res)) {
            $alt_1 = $alt_1 * -1;
            $retour .= "<tr class='lig{$alt_1}'>\n";
            $retour .= "<td>" . $lig->id_incident . "</td>\n";
            // Modifier l'accès Consultation d'incident... on ne voit actuellement que ses propres incidents
            //$retour.="<td><a href='' target='_blank'>".$lig->id_incident."</a></td>\n";
            $retour .= "<td>" . formate_date($lig->date);
            $retour .= "<br />\n";
            $retour .= "<span style='font-size:small;'>" . u_p_nom($lig->declarant) . "</span>";
            $zone_de_commentaire = $lig->commentaire;
            $retour .= "</td>\n";
            $retour .= "<td>" . $lig->qualite . "</td>\n";
            $temoin_eleve_responsable_de_l_incident = 'n';
            if (mb_strtolower(mb_strtolower($lig->qualite) == 'responsable')) {
                if (isset($tab_incident[addslashes($lig->nature)])) {
                    $tab_incident[addslashes($lig->nature)]++;
                } else {
                    $tab_incident[addslashes($lig->nature)] = 1;
                }
                $temoin_eleve_responsable_de_l_incident = 'y';
            }
            $retour .= "<td>";
            $retour .= "<p style='font-weight: bold;'>" . $lig->nature . "</p>\n";
            $retour .= "<p>" . $lig->description . "</p>\n";
            $retour .= "</td>\n";
            $retour .= "<td style='padding: 2px;'>";
            $sql = "SELECT * FROM s_protagonistes WHERE id_incident='{$lig->id_incident}' ORDER BY qualite;";
            //echo "$sql<br />\n";
            $res_prot = mysqli_query($GLOBALS["mysqli"], $sql);
            if (mysqli_num_rows($res_prot) > 0) {
                $retour .= "<table class='boireaus' border='1' summary=\"Protagonistes de l " . $mod_disc_terme_incident . " n°{$lig->id_incident}\">\n";
                $alt_2 = 1;
                while ($lig_prot = mysqli_fetch_object($res_prot)) {
                    $ligne_visible = "y";
                    if ($lig_prot->statut == 'eleve') {
                        if ($_SESSION['statut'] == 'eleve') {
                            if ($_SESSION['login'] == $lig_prot->login) {
                                $ligne_visible = "y";
                            } else {
                                $ligne_visible = "n";
                            }
                        } elseif ($_SESSION['statut'] == 'responsable') {
                            $ligne_visible = "n";
                            if (is_responsable($lig_prot->login, $_SESSION['login'])) {
                                $ligne_visible = "y";
                            }
                        } elseif ($restreindre_affichage_a_eleve_seul == "y") {
                            $ligne_visible = "n";
                            if ($lig_prot->login == $ele_login) {
                                $ligne_visible = "y";
                            }
                        }
                    }
                    $alt_2 = $alt_2 * -1;
                    $retour .= "<tr class='lig{$alt_2}'>\n";
                    $retour .= "<td>";
                    if ($lig_prot->statut == 'eleve') {
                        //if((($_SESSION['statut']=='eleve')||($_SESSION['statut']=='responsable'))&&($ligne_visible!="y")) {
                        if ($ligne_visible != "y") {
                            $retour .= "XXX";
                        } else {
                            $retour .= p_nom($lig_prot->login);
                        }
                    } else {
                        $retour .= civ_nom_prenom($lig_prot->login, "");
                    }
                    $retour .= "</td>\n";
                    $retour .= "<td>";
                    if ($lig_prot->statut == 'eleve') {
                        //if((($_SESSION['statut']=='eleve')||($_SESSION['statut']=='responsable'))&&($ligne_visible!="y")) {
                        if ($ligne_visible != "y") {
                            $retour .= "XXX";
                        } else {
                            $retour .= $lig_prot->qualite;
                        }
                    } else {
                        $retour .= $lig_prot->qualite;
                    }
                    $retour .= "</td>\n";
                    $retour .= "<td style='padding: 3px;'>\n";
                    if ($lig_prot->statut == 'eleve') {
                        //if((($_SESSION['statut']=='eleve')||($_SESSION['statut']=='responsable'))&&($ligne_visible!="y")) {
                        if ($ligne_visible != "y") {
                            $retour .= "XXX";
                        } else {
                            $retour .= $lig_prot->qualite;
                        }
                    } else {
                        $retour .= $lig_prot->qualite;
                    }
                    /*
                    if((($_SESSION['statut']!='responsable')&&($_SESSION['statut']!='eleve'))||
                    ($lig_prot->statut!='eleve')||
                    (($_SESSION['statut']=='responsable')&&($ligne_visible=="y"))||
                    (($_SESSION['statut']=='eleve')&&($ligne_visible=="y"))
                    ) {
                    */
                    if ($ligne_visible == "y") {
                        $alt = 1;
                        $sql = "SELECT * FROM s_traitement_incident sti, s_mesures sm WHERE sti.id_incident='{$lig->id_incident}' AND sti.login_ele='{$lig_prot->login}' AND sm.id=sti.id_mesure ORDER BY mesure;";
                        $res_suivi = mysqli_query($GLOBALS["mysqli"], $sql);
                        if (mysqli_num_rows($res_suivi) > 0) {
                            //$retour.="<p style='text-align:left;'>Tableau des mesures pour le protagoniste $lig_prot->login de l incident n°$lig->id_incident</p>\n";
                            $retour .= "<p style='text-align:left; font-weight: bold;'>Mesures</p>\n";
                            $retour .= "<table class='boireaus' border='1' summary=\"Tableau des mesures pour le protagoniste {$lig_prot->login} de l " . $mod_disc_terme_incident . " n°{$lig->id_incident}\">\n";
                            $retour .= "<tr>\n";
                            $retour .= "<th>Nature</th>\n";
                            $retour .= "<th>Mesure</th>\n";
                            $retour .= "</tr>\n";
                            while ($lig_suivi = mysqli_fetch_object($res_suivi)) {
                                $alt = $alt * -1;
                                $retour .= "<tr class='lig{$alt}'>\n";
                                $retour .= "<td>{$lig_suivi->mesure}</td>\n";
                                if ($lig_suivi->type == 'prise') {
                                    $retour .= "<td>prise par " . u_p_nom($lig_suivi->login_u) . "</td>\n";
                                    if ($temoin_eleve_responsable_de_l_incident == 'y') {
                                        if ($lig_suivi->login_ele == $ele_login) {
                                            //Ajout ERIC test pour ne compter que pour l'élève demandé
                                            if (isset($tab_mesure[addslashes($lig_suivi->mesure)])) {
                                                $tab_mesure[addslashes($lig_suivi->mesure)]++;
                                            } else {
                                                $tab_mesure[addslashes($lig_suivi->mesure)] = 1;
                                            }
                                        }
                                    }
                                } else {
                                    $retour .= "<td>demandée par " . u_p_nom($lig_suivi->login_u) . "</td>\n";
                                }
                                $retour .= "</tr>\n";
                            }
                            $retour .= "</table>\n";
                        }
                        //$sql="SELECT * FROM s_sanctions s WHERE s.id_incident='$lig->id_incident' AND s.login='******' ORDER BY nature;";
                        $sql = "SELECT * FROM s_sanctions s, s_types_sanctions2 sts WHERE s.id_incident='{$lig->id_incident}' AND s.login='******' AND sts.id_nature=s.id_nature_sanction ORDER BY sts.nature;";
                        //echo "$sql<br />\n";
                        $res_suivi = mysqli_query($GLOBALS["mysqli"], $sql);
                        if (mysqli_num_rows($res_suivi) > 0) {
                            //$retour.="<p style='text-align:left;'>Tableau des sanctions pour le protagoniste $lig_prot->login de l incident n°$lig->id_incident</p>\n";
                            $retour .= "<p style='text-align:left; font-weight: bold;'>" . ucfirst($mod_disc_terme_sanction) . "s</p>\n";
                            $retour .= "<table class='boireaus' border='1' summary=\"Tableau des " . $mod_disc_terme_sanction . "s pour le protagoniste {$lig_prot->login} de l " . $mod_disc_terme_incident . " n°{$lig->id_incident}\">\n";
                            $retour .= "<tr>\n";
                            $retour .= "<th>Nature</th>\n";
                            $retour .= "<th>Date</th>\n";
                            $retour .= "<th>Description</th>\n";
                            $retour .= "<th>Effectuée</th>\n";
                            $retour .= "</tr>\n";
                            while ($lig_suivi = mysqli_fetch_object($res_suivi)) {
                                $alt = $alt * -1;
                                $retour .= "<tr class='lig{$alt}'>\n";
                                $retour .= "<td>{$lig_suivi->nature}</td>\n";
                                $retour .= "<td>";
                                if ($temoin_eleve_responsable_de_l_incident == 'y') {
                                    if ($lig_suivi->login == $ele_login) {
                                        //Ajout ERIC test pour ne compter que pour l'élève demandé
                                        if (isset($tab_sanction[addslashes($lig_suivi->nature)])) {
                                            $tab_sanction[addslashes($lig_suivi->nature)]++;
                                            if ($lig_suivi->effectuee == "O") {
                                                $tab_sanction_non_effectuee[addslashes($lig_suivi->nature)] += 0;
                                            } else {
                                                $tab_sanction_non_effectuee[addslashes($lig_suivi->nature)]++;
                                            }
                                        } else {
                                            $tab_sanction[addslashes($lig_suivi->nature)] = 1;
                                            if ($lig_suivi->effectuee == "O") {
                                                $tab_sanction_non_effectuee[addslashes($lig_suivi->nature)] = 0;
                                            } else {
                                                $tab_sanction_non_effectuee[addslashes($lig_suivi->nature)] = 1;
                                            }
                                        }
                                    }
                                }
                                //if($lig_suivi->nature=='retenue') {
                                if (mb_strtolower($lig_suivi->type) == 'retenue') {
                                    $sql = "SELECT * FROM s_retenues WHERE id_sanction='{$lig_suivi->id_sanction}';";
                                    //echo "$sql<br />\n";
                                    $res_retenue = mysqli_query($GLOBALS["mysqli"], $sql);
                                    if (mysqli_num_rows($res_retenue) > 0) {
                                        $lig_retenue = mysqli_fetch_object($res_retenue);
                                        $retour .= formate_date($lig_retenue->date) . " (<i>" . $lig_retenue->duree . "H</i>)";
                                    } else {
                                        $retour .= "X";
                                    }
                                } elseif (mb_strtolower($lig_suivi->type) == 'exclusion') {
                                    $sql = "SELECT * FROM s_exclusions WHERE id_sanction='{$lig_suivi->id_sanction}';";
                                    //echo "$sql<br />\n";
                                    $res_exclusion = mysqli_query($GLOBALS["mysqli"], $sql);
                                    if (mysqli_num_rows($res_exclusion) > 0) {
                                        $lig_exclusion = mysqli_fetch_object($res_exclusion);
                                        $retour .= "du " . formate_date($lig_exclusion->date_debut) . " (<i>{$lig_exclusion->heure_debut}</i>) au " . formate_date($lig_exclusion->date_fin) . " (<i>{$lig_exclusion->heure_fin}</i>)<br />{$lig_exclusion->lieu}";
                                    } else {
                                        $retour .= "X";
                                    }
                                } elseif (mb_strtolower($lig_suivi->type) == 'travail') {
                                    $sql = "SELECT * FROM s_travail WHERE id_sanction='{$lig_suivi->id_sanction}';";
                                    //echo "$sql<br />\n";
                                    $res_travail = mysqli_query($GLOBALS["mysqli"], $sql);
                                    if (mysqli_num_rows($res_travail) > 0) {
                                        $lig_travail = mysqli_fetch_object($res_travail);
                                        $retour .= "pour le " . formate_date($lig_travail->date_retour) . "  (<i>{$lig_travail->heure_retour}</i>)";
                                    } else {
                                        $retour .= "X";
                                    }
                                }
                                $retour .= "</td>\n";
                                $retour .= "<td>{$lig_suivi->description}</td>\n";
                                $retour .= "<td>{$lig_suivi->effectuee}</td>\n";
                                $retour .= "</tr>\n";
                            }
                            $retour .= "</table>\n";
                        }
                    } else {
                        $retour .= "XXX";
                    }
                    $retour .= "</td>\n";
                    $retour .= "</tr>\n";
                }
                $retour .= "</table>\n";
                // Ajout Eric de la zone de commentaire
                //affichage du commentaire
                if ($_SESSION['statut'] != 'eleve' && $_SESSION['statut'] != 'responsable' || $_SESSION['statut'] == 'eleve' && getSettingAOui('commentaires_mod_disc_visible_eleve') || $_SESSION['statut'] == 'responsable' && getSettingAOui('commentaires_mod_disc_visible_parent')) {
                    if ($zone_de_commentaire != "") {
                        $retour .= "<p style='text-align:left;'><b>Commentaires sur l'" . $mod_disc_terme_incident . "&nbsp;:&nbsp;</b></br></br>{$zone_de_commentaire}</p>";
                    }
                }
            }
            $retour .= "</td>\n";
        }
        $retour .= "</table>\n";
        // Totaux
        $retour .= "<p style='font-weight: bold;'>Totaux des " . $mod_disc_terme_incident . "s/mesures/" . $mod_disc_terme_sanction . "s en tant que Responsable.</p>\n";
        $retour .= "<div style='float:left; width:33%;'>\n";
        $retour .= "<p style='font-weight: bold;'>" . ucfirst($mod_disc_terme_incident) . "s</p>\n";
        if (count($tab_incident) > 0) {
            $retour .= "<table class='boireaus' border='1' summary='Totaux " . $mod_disc_terme_incident . "s'>\n";
            $retour .= "<tr><th>Nature</th><th>Total</th></tr>\n";
            $alt = 1;
            foreach ($tab_incident as $key => $value) {
                $alt = $alt * -1;
                $retour .= "<tr class='lig{$alt}'><td>" . stripslashes($key) . "</td><td>" . stripslashes($value) . "</td></tr>\n";
            }
            $retour .= "</table>\n";
        } else {
            $retour .= "<p>Aucun " . $mod_disc_terme_incident . " relevé en qualité de responsable.</p>\n";
        }
        $retour .= "</div>\n";
        $retour .= "<div style='float:left; width:33%;'>\n";
        if (count($tab_mesure) > 0) {
            $retour .= "<p style='font-weight: bold;'>Mesures prises</p>\n";
            $retour .= "<table class='boireaus' border='1' summary='Totaux mesures prises'>\n";
            $retour .= "<tr><th>Mesure</th><th>Total</th></tr>\n";
            $alt = 1;
            foreach ($tab_mesure as $key => $value) {
                $alt = $alt * -1;
                $retour .= "<tr class='lig{$alt}'><td>" . stripslashes($key) . "</td><td>" . stripslashes($value) . "</td></tr>\n";
            }
            $retour .= "</table>\n";
        } else {
            $retour .= "<p>Aucune mesure prise en qualité de responsable.</p>\n";
        }
        $retour .= "</div>\n";
        $retour .= "<div style='float:left; width:33%;'>\n";
        $retour .= "<p style='font-weight: bold;'>" . ucfirst($mod_disc_terme_sanction) . "s</p>\n";
        if (count($tab_sanction) > 0) {
            $retour .= "<table class='boireaus' border='1' summary='Totaux " . $mod_disc_terme_sanction . "s'>\n";
            $retour .= "<tr><th>Nature</th><th>Total</th><th>Non<br />effectué(e)</th></tr>\n";
            $alt = 1;
            foreach ($tab_sanction as $key => $value) {
                $alt = $alt * -1;
                $retour .= "<tr class='lig{$alt}'><td>" . stripslashes($key) . "</td><td>" . stripslashes($value) . "</td><td>" . count($tab_sanction_non_effectuee[$key]) . "</td></tr>\n";
            }
            $retour .= "</table>\n";
        } else {
            $retour .= "<p>Aucun(e) " . $mod_disc_terme_sanction . " en qualité de responsable.</p>\n";
        }
        $retour .= "</div>\n";
        $retour .= "<div style='clear:both;'></div>\n";
    } else {
        $retour = "<p>Aucun " . $mod_disc_terme_incident . " relevé.</p>\n";
    }
    $tab_incidents_ele[$ele_login] = $tab_incident;
    $tab_mesures_ele[$ele_login] = $tab_mesure;
    foreach ($tab_sanction as $key => $value) {
        $tab_sanctions_ele[$ele_login][$key]['total'] = $value;
        $tab_sanctions_ele[$ele_login][$key]['non_effectuee'] = $tab_sanction_non_effectuee[$key];
    }
    return $retour;
}
示例#4
0
/** Fonction destinée à tester si un utilisateur a le droit d'accéder aux absences de tel élève
 *
 * @param string $login_user Login de l'utilisateur
 * @param string $login_eleve Login de l'élève
 *
 * @return boolean true/false
 */
function acces_abs_eleve($login_user, $statut_user, $login_eleve)
{
    if ($statut_user == 'responsable') {
        if (is_responsable($login_eleve, $login_user, "", "yy") && getSettingAOui('active_absences_parents')) {
            return true;
        } else {
            return false;
        }
    } elseif ($statut_user == 'eleve') {
        return false;
    } elseif ($statut_user == 'administrateur') {
        return true;
    } elseif ($statut_user == 'scolarite') {
        return true;
    } elseif ($statut_user == 'cpe') {
        return true;
    } elseif ($statut_user == 'professeur') {
        return true;
    } else {
        // Cas 'autre' à voir
        return false;
    }
}
示例#5
0
/** Fonction destinée à tester si un utilisateur a le droit d'accéder au CDT de tel élève
 *
 * @param string $login_user Login de l'utilisateur
 * @param string $login_eleve Login de l'élève
 *
 * @return boolean true/false
 */
function acces_cdt_eleve($login_user, $login_eleve) {
	global $mysqli;
	$retour=false;

	$sql="SELECT statut FROM utilisateurs WHERE login='******';";
	$res = mysqli_query($mysqli, $sql);
	if($res->num_rows > 0) {
		$obj = $res->fetch_object();
		$statut = $obj->statut;		
		$res->close();

		if(($statut=="eleve")&&($login_user==$login_eleve)&&(getSettingAOui('GepiAccesCahierTexteEleve'))) {
			$retour=true;
		}
		elseif(($statut=="responsable")&&(getSettingAOui('GepiAccesCahierTexteParent'))&&(is_responsable($login_eleve, $login_user))) {
			$retour=true;
		}
		elseif(($statut=="professeur")&&(getSettingAOui('GepiAccesCDTToutesClasses'))) {
			$retour=true;
		}
		elseif($statut=="professeur") {
			$sql_prof="SELECT 1=1 FROM j_groupes_professeurs jgp, j_eleves_groupes jeg WHERE jgp.id_groupe=jeg.id_groupe AND jeg.login='******' AND jgp.login='******';";
			$res_prof=mysqli_query($mysqli, $sql_prof);
			if($res_prof->num_rows > 0) {
				$res_prof->close();
				$retour=true;
			}
			// Donner le droit au PP?
		}
		elseif(($statut=="cpe")&&(getSettingAOui('GepiAccesCdtCpe'))) {
			$retour=true;
		}
		elseif(($statut=="cpe")&&(getSettingAOui('GepiAccesCdtCpeRestreint'))) {
			$sql_cpe="SELECT 1=1 FROM j_eleves_cpe WHERE e_login='******' AND cpe_login='******';";
			$res_cpe = mysqli_query($mysqli, $sql_cpe);
			if($res_cpe->num_rows > 0) {
				$res_cpe->close();
				$retour=true;
			}
		}
		elseif(($statut=="scolarite")&&(getSettingAOui('GepiAccesCdtScol'))) {
			$retour=true;
		}
		elseif(($statut=="scolarite")&&(getSettingAOui('GepiAccesCdtScolRestreint'))) {
			$sql_scol="SELECT 1=1 FROM j_scol_classes jsc, j_eleves_classes jec WHERE jsc.id_classe=jec.id_classe AND jsc.login='******' AND jec.login='******';";
			$res_scol = mysqli_query($mysqli, $sql_scol);
			if($res_scol->num_rows > 0) {
				$res_scol->close();
				$retour=true;
			}
		}
	}

	return $retour;
}