$nom = $_POST['nomeleve']; } if (isset($_GET['cl']) || isset($_POST["klas"])) { if (isset($_GET['cl'])) { $nom = $_GET['cl']; } if (isset($_POST["klas"])) { $nom = $_POST["klas"]; } $filtre = "cn=" . $nom; $grp_cl = search_groups($filtre); if (count($grp_cl[0]) == 0) { $grp_cl = search_groups("cn=Classe_*" . $nom); } $uids = search_uids("(cn=" . $grp_cl[0]["cn"] . ")", "half"); $users = search_people_groups($uids, "(sn=*)", "cat"); } function affiche_abs($potache) { global $dtajadebut, $dtajafin; //$potache=$_POST["eleve"]; $horaire = array("M1", "M2", "M3", "M4", "M5", "S1", "S2", "S3", "S4", "S5"); $nbabs = 0; $nbrtd = 0; foreach ($horaire as $cle => $val) { $rq4 = "SELECT count(*) FROM absences WHERE uidprof='{$_SESSION['login']}' AND {$val}='A' AND uideleve='{$potache}' AND date >='{$dtajadebut}' AND date<='{$dtajafin}' "; $result4 = mysqli_query($dbc, $rq4) or die(is_object($dbc) ? mysqli_error($dbc) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)); while ($nb = mysqli_fetch_array($result4, MYSQLI_NUM)) { $nbabs += $nb[0]; } $rq5 = "SELECT count(*) FROM absences WHERE uidprof='{$_SESSION['login']}' AND {$val}='R' AND uideleve='{$potache}' AND date >='{$dtajadebut}' AND date<='{$dtajafin}' ";
echo "<tr><td align=\"center\"><img src=\"images/prof_g_bleu.jpg\" alt=\"Professeur\" width=16 height=16 hspace=1 border=0></td>\n"; } } echo "<td><A href=\"people.php?uid=".$people2[$loop]["uid"]."&jeton=".md5($_SESSION['token'].htmlentities("/Annu/people.php"))."\">".$people2[$loop]["fullname"]."</A>"; echo "</td></tr>\n"; } echo "</table><BR>\n"; } } // Affichage du rebond sur la classe associee à une equipe pdagogique if (mb_ereg("Equipe",$filter,$matche)) { $filter2 = mb_ereg_replace("Equipe_","Classe_",$filter); $uids2 = search_uids ("(cn=".$filter2.")","half"); $people2 = search_people_groups ($uids2,"(sn=*)","cat"); if (count($people2)) { // affichage des resultats echo "<BR>Il y a ".count($people2)." élèves dans la <a href=\"group.php?filter=$filter2&jeton=".md5($_SESSION['token'].htmlentities("/Annu/group.php"))."\">$filter2</A> associée à cette équipe.\n"; echo "<BR>\n"; } } //Fin Modifications de Wawa // Affichage menu admin if ( (is_admin("Annu_is_admin",$login) == "Y") && $filter!="lcs-users" ) { if ( $filter!="Eleves" && $filter!="Profs" && $filter!="Administratifs" ) { echo "<br>\n<ul style=\"color: red;\">\n"; // Affichage du menu "Ajouter des membres" si le groupe est de type Equipe_ ou Classe_ if ( mb_ereg ("Equipe_", $filter) || mb_ereg("Classe_", $filter) ) echo "<li><a href=\"add_list_users_group.php?cn=$filter&jeton=".md5($_SESSION['token'].htmlentities("/Annu/add_list_users_group.php"))."\">Ajouter des membres</a></li>\n";
// Recherche des Eleves qui ne sont pas affectés à une classe $k=0; for ($i=0; $i < count($uids_eleves); $i++ ) { $affect = false; for ($j=0; $j < count($uids_eleves_classes); $j++ ) { if ( $uids_eleves[$i]["uid"] == $uids_eleves_classes[$j]["uid"] ) { $affect = true; break; } } if ($affect==false ) { $uids_eleves_no_affect[$k]["uid"]=$uids_eleves[$i]["uid"]; $k++; } } $people_new_members = search_people_groups ($uids_eleves_no_affect,"(sn=*)","cat"); } // Affichage de la liste dans une boite de sélection if ( count($people_new_members)>15) $size=15; else $size=count($people_new_members); if ( count($people_new_members)>0) { $form = "<form action=\"add_list_users_group.php\" method=\"post\">\n"; $form.="<p>Sélectionnez les membres à ajouter au groupe :</p>\n"; $form.="<p><select size=\"".$size."\" name=\"new_uids[]\" multiple=\"multiple\">\n"; echo $form; for ($loop=0; $loop < count($people_new_members); $loop++) { echo "<option value=".$people_new_members[$loop]["uid"].">".$people_new_members[$loop]["fullname"]; } $form="</select></p>\n"; $form.="<input type=\"hidden\" name=\"cn\" value=\"$cn\">\n"; $form.='<input name="jeton" type="hidden" value="'.md5($_SESSION['token'].htmlentities($_SERVER['PHP_SELF'])).'" />'; $form.="<input type=\"hidden\" name=\"add_list_users_group\" value=\"true\">\n";
function get_users_in_my_groups() { global $ldap_server, $ldap_port, $dn, $login, $DEBUG, $MsgD; $count = 0; $i = 0; $group_principal = "NUL_group"; // Recherche des groupes d'appartenance de l'utilisateur $login list($user, $groups) = people_get_variables($login, true); ### DEBUG if ($DEBUG) { for ($loop = 0; $loop < count($groups); $loop++) { echo "{$MsgD} liste des groupes : " . $groups[$loop]["cn"] . "<br>"; } } // Recherche du groupe principal et des groupes secondaires de l'utilisateur for ($loop = 0; $loop < count($groups); $loop++) { if ($groups[$loop]["cn"] == "Administratifs") { $group_principal = "Administratifs"; } elseif ($groups[$loop]["cn"] == "Profs") { $group_principal = "Profs"; } elseif ($groups[$loop]["cn"] == "Eleves") { $group_principal = "Eleves"; } elseif (!ereg("Administratifs", $groups[$loop]["cn"]) && !ereg("Profs", $groups[$loop]["cn"]) && !ereg("Eleves", $groups[$loop]["cn"]) && !ereg("Cours", $groups[$loop]["cn"]) && !ereg("Matiere", $groups[$loop]["cn"])) { $groups_secondaires[$i] = $groups[$loop]["cn"]; $i++; if (ereg("Classe", $groups[$loop]["cn"])) { $groups_secondaires[$i] = ereg_replace("Classe_", "Equipe_", $groups[$loop]["cn"]); $i++; } if (ereg("Equipe", $groups[$loop]["cn"])) { $groups_secondaires[$i] = ereg_replace("Equipe_", "Classe_", $groups[$loop]["cn"]); $i++; } } } ### DEBUG if ($DEBUG) { echo "{$MsgD} group_principal : {$group_principal}<br>"; echo "{$MsgD} nbr groupes secondaires : " . count($groups_secondaires) . "<br>"; for ($loop = 0; $loop < count($groups_secondaires); $loop++) { echo "{$MsgD} groups_secondaires : " . $groups_secondaires[$loop] . "<br>"; } } if ($group_principal != "NUL_group") { // Recherche des uids des membres de ses groupes secondaires //echo $group_principal;exit; //modif $index = 0; if ($group_principal == "Administratifs" || $group_principal == "Profs") { $uids[$loop] = search_uids("(cn=Administratifs)", "half"); $users_in_my_groups[$index] = search_people_groups($uids[$loop], "(sn=*)", "group"); $index++; $uids[$loop] = search_uids("(cn=Profs)", "half"); $users_in_my_groups[$index] = search_people_groups($uids[$loop], "(sn=*)", "group"); $index++; //ajout de Equipes pour les administratisfs if ($group_principal == "Administratifs") { $groups_equipes = search_groups("cn=Equipe*"); if (count($groups_equipes) != 0) { for ($loop = 0; $loop < count($groups_equipes); $loop++) { $uids[$loop] = search_uids("(cn=" . $groups_equipes[$loop]['cn'] . ")", "half"); $users_in_my_groups[$index] = search_people_groups($uids[$loop], "(sn=*)", "group"); $index++; } } } } if (count($groups_secondaires) != 0) { for ($loop = 0; $loop < count($groups_secondaires); $loop++) { $uids[$loop] = search_uids("(cn=" . $groups_secondaires[$loop] . ")", "half"); $users_in_my_groups[$index] = search_people_groups($uids[$loop], "(sn=*)", "group"); $index++; } } } elseif ($group_principal == "Eleves" && count($groups_secondaires) == 0 || $group_principal == "NUL_group") { // Aaaaaaaaargh ! L'utilisateur est dans aucun groupe secondaire ou principal... // On retourne uniquement son fullname et celui d'admin if ($DEBUG) { echo "{$MsgD} Cas d'1 user ne possŽdant pas de groupes secondaires<br>"; } $uids[0]["uid"] = "admin"; $uids[1]["uid"] = $login; $users_in_my_groups[0] = search_people_groups($uids, "(sn=*)", "group"); } // Transfert dans le tableau $ret for ($loop0 = 0; $loop0 < count($users_in_my_groups); $loop0++) { for ($loop = 0; $loop < count($users_in_my_groups[$loop0]); $loop++) { $ret[$count++] = array("cal_login" => $users_in_my_groups[$loop0][$loop]["uid"], "cal_fullname" => $users_in_my_groups[$loop0][$loop]["fullname"], "cal_group" => $users_in_my_groups[$loop0][$loop]["group"], "cal_cat" => $users_in_my_groups[$loop0][$loop]["cat"]); } } ### DEBUG if ($DEBUG) { for ($loop = 0; $loop < count($ret); $loop++) { echo "{$MsgD} : " . $ret[$loop]["cal_login"] . " " . $ret[$loop]["cal_fullname"] . " " . $ret[$loop]["cal_group"] . " " . $ret[$loop]["cal_cat"] . "<br>"; } } ### FIN DEBUG return $ret; }
} elseif ($classe) { // Recherche des classes et �quipes dans la branche groups de l'annuaire if ($priority_classe=="contient") { $filter_classe="(cn=Classe_*$classe*)"; } elseif($priority_classe=="commence") { $filter_classe="(cn=Classe_$classe*)"; } else { $filter_classe="(cn=Classe_*$classe)"; } // Remplacement de *** ou ** par * $filter_classe = mb_ereg_replace("\*\*\*","*",$filter_classe); $filter_classe = mb_ereg_replace("\*\*","*",$filter_classe); $TimeStamp_0=microtime(); $uids = search_uids ($filter_classe, "full"); $people = search_people_groups ($uids,$filter_people,"group"); $TimeStamp_1=microtime(); // Affichage menu haut de page aff_trailer("3"); ############# # DEBUG # ############# #echo "<u>debug</u> :Temps de recherche = ".duree($TimeStamp_0,$TimeStamp_1)." s<BR>"; ############# # Fin DEBUG # ############# if (count($people)) { if (count($people)==1) { echo "<p><STRONG>".count($people)."</STRONG> utilisateur répond à ces critères de recherche.</p>\n"; } else { echo "<p><STRONG>".count($people)."</STRONG> utilisateurs répondent à ces critères de recherche.</p>\n";