X-Git-Url: http://git.shiar.nl/minimedit.git/blobdiff_plain/13fff5fc0ef7d349d016f3248b25eb036f0bdd5f..651d9f8d7a700bfbc9d2c10a2f79eed9af8d62e4:/login/list.php?ds=inline
diff --git a/login/list.php b/login/list.php
index ad2f804..7872bd6 100644
--- a/login/list.php
+++ b/login/list.php
@@ -4,23 +4,73 @@ if ($Args) $basepath .= '/.tags' . $Args;
$users = glob("$basepath/*/");
if (!$users) return;
-print '
';
+foreach ($users as $col => $userdir) {
+ $users[$col] = new User($userdir);
+}
+
+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);
+ }
+}
+
+if (isset($Place['n'])) {
+ array_splice($users, $Place['n']); # limit number of results
+}
-foreach ($users as $userdir) {
- $user = pathinfo($userdir, PATHINFO_FILENAME);
- $name = @file_get_contents("$userdir/name.txt") ?: ucfirst($user);
- if (file_exists("$userdir/avatar.jpg")) {
+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/avatar.jpg",
- $user
+ "/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";