login/list: prepare user data before display
authorMischa POSLAWSKY <perl@shiar.org>
Sat, 7 Jul 2018 19:47:58 +0000 (21:47 +0200)
committerMischa POSLAWSKY <perl@shiar.org>
Sat, 7 Jul 2018 21:41:08 +0000 (23:41 +0200)
Similar to login/visits; abstraction for upcoming options.

login/list.php

index ad2f8045535c42ad9e90362f3df9a8ab29d2fe0d..4c8f4f0b9fcc3e35fb71d3ddd4ffdf97399d908b 100644 (file)
@@ -4,16 +4,23 @@ if ($Args) $basepath .= '/.tags' . $Args;
 $users = glob("$basepath/*/");
 if (!$users) return;
 
+foreach ($users as $col => $userdir) {
+       $users[$col] = [
+               'dir'   => $userdir,
+               'login' => basename($userdir),
+               'name' => @file_get_contents("$userdir/name.txt"),
+       ];
+}
+
 print '<ul class="gallery cat">';
 
-foreach ($users as $userdir) {
-       $user = pathinfo($userdir, PATHINFO_FILENAME);
-       $name = @file_get_contents("$userdir/name.txt") ?: ucfirst($user);
-       if (file_exists("$userdir/avatar.jpg")) {
+foreach ($users as &$user) {
+       $name = $user['name'] ?: ucfirst($user['login']);
+       if (file_exists("{$user['dir']}/avatar.jpg")) {
                $avatar = sprintf(
                        '<img src="%s" alt="%s" />',
-                       "/thumb/100/profile/$user/avatar.jpg",
-                       $user
+                       "/thumb/100/profile/{$user['login']}/avatar.jpg",
+                       $user['login']
                );
                $name = sprintf(
                        '<figure>%s<figcaption>%s</figcaption></figure>',