login/list: option to order by seen date
[minimedit.git] / login / list.php
index 86e8daf5490788316af492873f093bafd5472bf5..d3b1f177005ebc91be910f0af119e7dd9574690e 100644 (file)
@@ -5,16 +5,33 @@ $users = glob("$basepath/*/");
 if (!$users) return;
 
 foreach ($users as $col => $userdir) {
-       $user = new User($userdir);
-       $user->name = @file_get_contents("{$user->dir}/name.txt");
-       $users[$col] = $user;
+       $users[$col] = new User($userdir);
 }
 
-print '<ul class="gallery cat">';
+if (@$Place['order'] == 'seen') {
+       $order = array_map(function ($col) { return $col->seen; }, $users);
+#      $order = array_column($users, 'seen');  #TODO php7 simplification
+       array_multisort($order, SORT_DESC, SORT_NUMERIC, $users);
+}
+
+print '<ul';
+if (@$Place['view'] == 'avatar') {
+       print ' class="gallery cat"';
+}
+print ">\n";
 
 foreach ($users as $user) {
        $name = $user->name ?: ucfirst($user->login);
-       if (file_exists("{$user->dir}/avatar.jpg")) {
+       if (!empty($GLOBALS['User']['admin'])) {
+               $link = '/login/edit/'.$user->login;
+               $name = sprintf('<a href="%s">%s</a>', $link, $name);
+       }
+
+       switch (@$Place['view']) {
+       case 'avatar':
+               if (!file_exists("{$user->dir}/avatar.jpg")) {
+                       break;
+               }
                $avatar = sprintf(
                        '<img src="%s" alt="%s" />',
                        "/thumb/100/profile/{$user->login}/avatar.jpg",
@@ -24,7 +41,13 @@ foreach ($users as $user) {
                        '<figure>%s<figcaption>%s</figcaption></figure>',
                        $avatar, $name
                );
+               break;
+       default:
+               if ($user->admin) {
+                       $name .= ' <em>(beheerder)</em>';
+               }
        }
+
        print '<li>'.$name;
 }