d3b1f177005ebc91be910f0af119e7dd9574690e
[minimedit.git] / login / list.php
1 <?php
2 $basepath = 'profile';
3 if ($Args) $basepath .= '/.tags' . $Args;
4 $users = glob("$basepath/*/");
5 if (!$users) return;
6
7 foreach ($users as $col => $userdir) {
8         $users[$col] = new User($userdir);
9 }
10
11 if (@$Place['order'] == 'seen') {
12         $order = array_map(function ($col) { return $col->seen; }, $users);
13 #       $order = array_column($users, 'seen');  #TODO php7 simplification
14         array_multisort($order, SORT_DESC, SORT_NUMERIC, $users);
15 }
16
17 print '<ul';
18 if (@$Place['view'] == 'avatar') {
19         print ' class="gallery cat"';
20 }
21 print ">\n";
22
23 foreach ($users as $user) {
24         $name = $user->name ?: ucfirst($user->login);
25         if (!empty($GLOBALS['User']['admin'])) {
26                 $link = '/login/edit/'.$user->login;
27                 $name = sprintf('<a href="%s">%s</a>', $link, $name);
28         }
29
30         switch (@$Place['view']) {
31         case 'avatar':
32                 if (!file_exists("{$user->dir}/avatar.jpg")) {
33                         break;
34                 }
35                 $avatar = sprintf(
36                         '<img src="%s" alt="%s" />',
37                         "/thumb/100/profile/{$user->login}/avatar.jpg",
38                         $user->login
39                 );
40                 $name = sprintf(
41                         '<figure>%s<figcaption>%s</figcaption></figure>',
42                         $avatar, $name
43                 );
44                 break;
45         default:
46                 if ($user->admin) {
47                         $name .= ' <em>(beheerder)</em>';
48                 }
49         }
50
51         print '<li>'.$name;
52 }
53
54 print '</ul>';