$sessions, 'link' => User::hasPermission('.adduser.user.edit'), 'audit' => User::hasPermission('.adduser.audit.show'), ]); } private static function showAudit() { User::assertPermission('.adduser.audit.show'); $user = Request::get('user', 0, 'int'); $args = []; $extra = ''; $username = null; if ($user > 0) { $args['userid'] = $user; $extra .= ' WHERE a.userid = :userid'; $row = Database::queryFirst("SELECT login FROM user WHERE userid = :userid", ['userid' => $user]); if ($row === false) { Message::addError('user-not-found', $user); Util::redirect('?do=session&show=audit', 404); } $username = $row['login']; } $lines = array(); $paginate = new Paginate("SELECT u.userid, u.login, a.action, a.dateline, a.ipaddr, a.data, a.module, a.response FROM audit a LEFT JOIN user u USING (userid) $extra ORDER BY dateline DESC", 50); $res = $paginate->exec($args); foreach ($res as $row) { $row['dateline_s'] = Util::prettyTime($row['dateline']); if ($row['response'] < 200 || $row['response'] >= 400) { $row['class'] = 'text-danger slx-bold'; } if ($username !== null) { unset($row['login']); } $lines[] = $row; } $paginate->render('audit-list', ['list' => $lines, 'user' => $username]); } }