git-archimport-id: opensource@polytechnique.org--2005/platal--mainline--0.9--patch-86
}
}
-$reporter = new MyReporter;
echo <<<EOF
<html>
<head>
EOF;
foreach (glob(PATH.'/*_*.php') as $tfile) {
+ $reporter = new MyReporter;
require_once($tfile);
}
class TestOfXOrgUsers extends UnitTestCase {
function TestOfXOrgUsers() {
- $this->UnitTestCase('XOrg Users Test');
+ $this->UnitTestCase('Users functions');
}
function test_get_user_login() {
if (!$det['own'] && !has_perms()) {
$page->kill("La liste n'existe pas ou tu n'as pas le droit de l'administrer");
}
- $membres = Array();
- foreach($mem as $member) {
- if(preg_match('/^([^.]*\.([^.]*)\.\d\d\d\d)@'.$globals->mail->domain.'$/', $member[1], $matches)) {
- $key = strtoupper($matches[2]{0});
- $membres[$key][$matches[2].$matches[1]] = Array('n' => $member[0], 'l' => $matches[1], 'a' => $member[1]);
- } else {
- $membres[0][] = Array('l' => $member[1], 'a' => $member[1]);
- }
- }
- foreach($membres as $key=>$val) ksort($membres[$key]);
- ksort($membres);
-
- $moderos = Array();
- foreach($own as $owner) {
- list($m) = split('@',$owner);
- $res = $globals->db->query("SELECT CONCAT(prenom, ' ', nom), promo
- FROM auth_user_md5 AS u
- INNER JOIN aliases AS a ON u.user_id = a.id
- WHERE a.alias = '$m'");
- if(list($nom, $promo) = mysql_fetch_row($res)) {
- $moderos[$promo][] = Array('n' => $nom, 'l' => $m, 'a'=>$owner);
- } else {
- $moderos[0][] = Array('l' => $owner, 'a' => $owner);
- }
- mysql_free_result($res);
- }
- ksort($moderos);
+
+ $membres = list_sort_members($mem, $tri_promo);
+ $moderos = list_sort_owners($own, $tri_promo);
$page->assign_by_ref('details', $det);
$page->assign_by_ref('members', $membres);
$tri_promo = empty($_REQUEST['alpha']);
if(list($det,$mem,$own) = $members) {
- $membres = Array();
- foreach($mem as $member) {
- list($m) = split('@',$member[1]);
- $res = $globals->db->query("SELECT prenom,IF(epouse='', nom, epouse), promo
- FROM auth_user_md5 AS u
- INNER JOIN aliases AS a ON u.user_id = a.id
- WHERE a.alias = '$m'");
- if(list($prenom, $nom, $promo) = mysql_fetch_row($res)) {
- $key = $tri_promo ? $promo : strtoupper($nom{0});
- $membres[$key][$nom.$m] = Array('n' => "$prenom $nom", 'l' => $m);
- } else {
- $membres[0][] = Array('l' => $member[1]);
- }
- mysql_free_result($res);
- }
- ksort($membres);
- foreach($membres as $key=>$val) ksort($membres[$key]);
-
- $moderos = Array();
- foreach($own as $owner) {
- list($m) = split('@',$owner);
- $res = $globals->db->query("SELECT IF(epouse='', CONCAT(prenom, ' ', nom), CONCAT(prenom, ' ', epouse)), promo
- FROM auth_user_md5 AS u
- INNER JOIN aliases AS a ON u.user_id = a.id
- WHERE a.alias = '$m'");
- if(list($nom, $promo) = mysql_fetch_row($res)) {
- $moderos[$promo][] = Array('n' => $nom, 'l' => $m);
- } else {
- $moderos[0][] = Array('l' => $owner);
- }
- mysql_free_result($res);
- }
- ksort($moderos);
+ $membres = list_sort_members($mem, $tri_promo);
+ $moderos = list_sort_owners($own, $tri_promo);
$page->assign_by_ref('details', $det);
$page->assign_by_ref('members', $membres);
}
// }}}
+// {{{ function list_sort_owners
+function list_sort_owners(&$members, $tri_promo = true) {
+ global $globals;
+
+ $membres = Array();
+
+ foreach($members as $mem) {
+ list($m, $dom) = split('@',$mem);
+ if ($dom == $globals->mail->domain || $dom == $globals->mail->domain2) {
+ $res = $globals->db->query("SELECT prenom,IF(epouse='', nom, epouse), promo
+ FROM auth_user_md5 AS u
+ INNER JOIN aliases AS a ON u.user_id = a.id
+ WHERE a.alias = '$m'");
+ if(list($prenom, $nom, $promo) = mysql_fetch_row($res)) {
+ $key = $tri_promo ? $promo : strtoupper($nom{0});
+ $membres[$key][$nom.$m] = Array('n' => "$prenom $nom", 'l' => $m);
+ } else {
+ $membres[0][] = Array('l' => $mem);
+ }
+ mysql_free_result($res);
+ } else {
+ $membres[0][] = Array('l' => $mem);
+ }
+ }
+
+ ksort($membres);
+ foreach($membres as $key=>$val) ksort($membres[$key]);
+ return $membres;
+}
+
+// }}}
+// {{{ function list_sort_members
+
+function list_sort_members(&$members, $tri_promo = true) {
+ $pi1 = create_function('$arr', 'return $arr[1];');
+ return list_sort_owners(array_map($pi1, $members), $tri_promo);
+}
+
+// }}}
// vim:set et sw=4 sts=4 sws=4 foldmethod=marker:
?>