1f049d84494fc84eb59323cae6e97ddaa47801dc
[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 else {
22         print ' class="cols"';
23 }
24 print ">\n";
25
26 foreach ($users as $user) {
27         $name = $user->name ?: $user->login;
28         if (!empty($GLOBALS['User']['admin'])) {
29                 $link = '/login/edit/'.$user->login;
30                 $name = sprintf('<a href="%s">%s</a>', $link, $name);
31         }
32
33         switch (@$Place['view']) {
34         case 'avatar':
35                 if (!file_exists("{$user->dir}/avatar.jpg")) {
36                         break;
37                 }
38                 $avatar = sprintf(
39                         '<img src="%s" alt="%s" />',
40                         "/thumb/100/profile/{$user->login}/avatar.jpg",
41                         $user->login
42                 );
43                 $name = sprintf(
44                         '<figure>%s<figcaption>%s</figcaption></figure>',
45                         $avatar, $name
46                 );
47                 break;
48         case 'visit':
49                 if ($user->seen) {
50                         $name .= sprintf(' <small class="date">%s</small>', strftime('%F %H:%M', $user->seen));
51                 }
52                 # continue to default
53         default:
54                 if ($user->admin) {
55                         $name .= ' <em>(beheerder)</em>';
56                 }
57         }
58
59         print "<li>$name</li>\n";
60 }
61
62 print "</ul>\n\n";