login/list: visit view to emulate login/visits
[minimedit.git] / login / visits.php
index 5c29a6ce428ed127fbd48a9ac4fa200c21398fd5..93bdd94f2d71614e2296265e560337dc83fb63ea 100644 (file)
@@ -1,17 +1,30 @@
 <?php
-$logs = glob('login/*/last.log');
-
 $logins = [];
-foreach ($logs as $log) {
-       preg_match('{^login/([^/]+)}', $log, $login);
-       $logins[ $login[1] ] = filemtime($log);
+foreach (glob('profile/*') as $userdir) {
+       $logins[] = [
+               'login' => basename($userdir),
+               'name' => @file_get_contents("$userdir/name.txt"),
+               'seen' => @filemtime("$userdir/last.log"),
+               'admin' => @file_exists("$userdir/.admin"),
+       ];
+}
+
+if (@$Place['order'] == 'seen') {
+       array_multisort(array_column($logins, 'seen'), SORT_DESC, SORT_NUMERIC, $logins);
 }
 
-print "<ul>\n";
-arsort($logins, SORT_NUMERIC);
-foreach ($logins as $login => $last) {
-       printf('<li>%s <a href="/login/%s">%s</a></li>'."\n",
-               strftime('%F %H:%M', $last), $login, $login
+print "<ul class=cols>\n";
+foreach ($logins as $profile) {
+       printf('<li><a href="%s">%s</a>',
+               '/login/edit/'.$profile['login'],
+               $profile['name'] ?: $profile['login']
        );
+       if ($profile['seen']) {
+               printf(' <small class="date">%s</small>', strftime('%F %H:%M', $profile['seen']));
+       }
+       if (!empty($profile['admin'])) {
+               print ' <em>(beheerder)</em>';
+       }
+       print "</li>\n";
 }
 print "</ul>\n\n";