login/list: profile class to access user data
authorMischa POSLAWSKY <perl@shiar.org>
Sat, 7 Jul 2018 19:55:04 +0000 (21:55 +0200)
committerMischa POSLAWSKY <perl@shiar.org>
Sat, 7 Jul 2018 21:41:08 +0000 (23:41 +0200)
Common object currently identical to array setup, but allowing for more complex
features such as delayed setup.

auth.inc.php
login/list.php

index 030a394e0b7904db90320b5643d5f274ddbeda4f..e4e8bb9b30dc4fb078b9907f15557a9505e1f9f0 100644 (file)
@@ -1,6 +1,15 @@
 <?php
 date_default_timezone_set('Europe/Amsterdam');
 
+class User
+{
+       function __construct($dir)
+       {
+               $this->dir = $dir;
+               $this->login = basename($dir);
+       }
+}
+
 function login_password_verify($input, $test)
 {
        if (substr($test, 0, 1) != '$') {
index 4c8f4f0b9fcc3e35fb71d3ddd4ffdf97399d908b..86e8daf5490788316af492873f093bafd5472bf5 100644 (file)
@@ -5,22 +5,20 @@ $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"),
-       ];
+       $user = new User($userdir);
+       $user->name = @file_get_contents("{$user->dir}/name.txt");
+       $users[$col] = $user;
 }
 
 print '<ul class="gallery cat">';
 
-foreach ($users as &$user) {
-       $name = $user['name'] ?: ucfirst($user['login']);
-       if (file_exists("{$user['dir']}/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['login']}/avatar.jpg",
-                       $user['login']
+                       "/thumb/100/profile/{$user->login}/avatar.jpg",
+                       $user->login
                );
                $name = sprintf(
                        '<figure>%s<figcaption>%s</figcaption></figure>',