X-Git-Url: http://git.shiar.net/minimedit.git/blobdiff_plain/c4e740f0d50d526ba9c17c6ccb821aca4f1da15b..c2d5f112c1413efcd1fe07a974c24d89ca18d1df:/login/list.php
diff --git a/login/list.php b/login/list.php
index 4c8f4f0..7872bd6 100644
--- a/login/list.php
+++ b/login/list.php
@@ -5,29 +5,72 @@ $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"),
- ];
+ $users[$col] = new User($userdir);
}
-print '
';
+if (isset($Place['order'])) {
+ $ordercol = $Place['order'];
+ $order = array_map(function ($row) use ($ordercol) {
+ return $row->$ordercol;
+ }, $users);
+# $order = array_column($users, $ordercol); #TODO php7 simplification
+ if ($ordercol == 'seen') {
+ array_multisort($order, SORT_DESC, SORT_NUMERIC, $users);
+ $users = array_intersect_key($users, array_filter($order));
+ }
+ else {
+ array_multisort($order, SORT_ASC, SORT_NATURAL, $users);
+ }
+}
-foreach ($users as &$user) {
- $name = $user['name'] ?: ucfirst($user['login']);
- if (file_exists("{$user['dir']}/avatar.jpg")) {
+if (isset($Place['n'])) {
+ array_splice($users, $Place['n']); # limit number of results
+}
+
+print ' 5) {
+ print ' class="cols"';
+}
+print ">\n";
+
+foreach ($users as $user) {
+ $name = $user->name ?: $user->login;
+ if (!empty($GLOBALS['User']['admin'])) {
+ $link = '/login/edit/'.$user->login;
+ $name = sprintf('%s', $link, $name);
+ }
+
+ switch (@$Place['view']) {
+ case 'avatar':
+ if (!file_exists("{$user->dir}/avatar.jpg")) {
+ break;
+ }
$avatar = sprintf(
'',
- "/thumb/100/profile/{$user['login']}/avatar.jpg",
- $user['login']
+ "/thumb/100/profile/{$user->login}/avatar.jpg",
+ $user->login
);
$name = sprintf(
'',
$avatar, $name
);
+ break;
+ case 'visit':
+ if ($user->seen) {
+ $name .= sprintf(' %s', strftime('%F %H:%M', $user->seen));
+ }
+ # continue to default
+ default:
+ if ($user->admin) {
+ $name .= ' 🔧';
+ }
+ $name = "$name
";
}
- print '- '.$name;
+
+ print "
- $name
\n";
}
-print '
';
+print "
\n\n";