login/members: order by full name
[minimedit.git] / login / list.php
index 0d9eec2a73240a414961fe378dba12c09ab6eda8..7872bd64f32838dbeb3e3b92ca93b47ca219d788 100644 (file)
@@ -8,11 +8,19 @@ foreach ($users as $col => $userdir) {
        $users[$col] = new User($userdir);
 }
 
-if (@$Place['order'] == 'seen') {
-       $order = array_map(function ($col) { return $col->seen; }, $users);
-#      $order = array_column($users, 'seen');  #TODO php7 simplification
-       array_multisort($order, SORT_DESC, SORT_NUMERIC, $users);
-       $users = array_intersect_key($users, array_filter($order));
+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'])) {