From c274a1545da0f09c1360734221e551d0ccd3c3b6 Mon Sep 17 00:00:00 2001 From: Udo Walter Date: Thu, 28 Dec 2017 17:22:22 +0100 Subject: [eventlog] added permission to view the log --- .../eventlog/lang/de/permissions.json | 3 ++ modules-available/eventlog/lang/en/module.json | 2 +- .../eventlog/lang/en/permissions.json | 3 ++ modules-available/eventlog/page.inc.php | 49 ++++++++++++---------- .../eventlog/permissions/permissions.json | 3 ++ modules-available/eventlog/templates/_page.html | 1 - modules-available/eventlog/templates/heading.html | 1 + 7 files changed, 39 insertions(+), 23 deletions(-) create mode 100644 modules-available/eventlog/lang/de/permissions.json create mode 100644 modules-available/eventlog/lang/en/permissions.json create mode 100644 modules-available/eventlog/permissions/permissions.json create mode 100644 modules-available/eventlog/templates/heading.html (limited to 'modules-available/eventlog') diff --git a/modules-available/eventlog/lang/de/permissions.json b/modules-available/eventlog/lang/de/permissions.json new file mode 100644 index 00000000..7f1087bf --- /dev/null +++ b/modules-available/eventlog/lang/de/permissions.json @@ -0,0 +1,3 @@ +{ + "view": "Server Log anschauen." +} \ No newline at end of file diff --git a/modules-available/eventlog/lang/en/module.json b/modules-available/eventlog/lang/en/module.json index 8217fc02..0fc536f3 100644 --- a/modules-available/eventlog/lang/en/module.json +++ b/modules-available/eventlog/lang/en/module.json @@ -1,3 +1,3 @@ { - "module_name": "Server-Log" + "module_name": "Server Log" } \ No newline at end of file diff --git a/modules-available/eventlog/lang/en/permissions.json b/modules-available/eventlog/lang/en/permissions.json new file mode 100644 index 00000000..ec438a4b --- /dev/null +++ b/modules-available/eventlog/lang/en/permissions.json @@ -0,0 +1,3 @@ +{ + "view": "View server log." +} \ No newline at end of file diff --git a/modules-available/eventlog/page.inc.php b/modules-available/eventlog/page.inc.php index 87957479..320c3b07 100644 --- a/modules-available/eventlog/page.inc.php +++ b/modules-available/eventlog/page.inc.php @@ -6,36 +6,43 @@ class Page_EventLog extends Page protected function doPreprocess() { User::load(); - if (!User::hasPermission('superadmin')) { + if (!User::isLoggedIn()) { Message::addError('main.no-permission'); Util::redirect('?do=Main'); } - User::setLastSeenEvent(Property::getLastWarningId()); + if (User::hasPermission("view")) { + User::setLastSeenEvent(Property::getLastWarningId()); + } } protected function doRender() { - $today = date('d.m.Y'); - $yesterday = date('d.m.Y', time() - 86400); - $lines = array(); - $paginate = new Paginate("SELECT logid, dateline, logtypeid, description, extra FROM eventlog ORDER BY logid DESC", 50); - $res = $paginate->exec(); - while ($row = $res->fetch(PDO::FETCH_ASSOC)) { - $day = date('d.m.Y', $row['dateline']); - if ($day === $today) { - $day = Dictionary::translate('lang_today'); - } elseif ($day === $yesterday) { - $day = Dictionary::translate('lang_yesterday'); + Render::addTemplate("heading"); + if (User::hasPermission("view")) { + $today = date('d.m.Y'); + $yesterday = date('d.m.Y', time() - 86400); + $lines = array(); + $paginate = new Paginate("SELECT logid, dateline, logtypeid, description, extra FROM eventlog ORDER BY logid DESC", 50); + $res = $paginate->exec(); + while ($row = $res->fetch(PDO::FETCH_ASSOC)) { + $day = date('d.m.Y', $row['dateline']); + if ($day === $today) { + $day = Dictionary::translate('lang_today'); + } elseif ($day === $yesterday) { + $day = Dictionary::translate('lang_yesterday'); + } + $row['date'] = $day . date(' H:i', $row['dateline']); + $row['icon'] = $this->typeToIcon($row['logtypeid']); + $row['color'] = $this->typeToColor($row['logtypeid']); + $lines[] = $row; } - $row['date'] = $day . date(' H:i', $row['dateline']); - $row['icon'] = $this->typeToIcon($row['logtypeid']); - $row['color'] = $this->typeToColor($row['logtypeid']); - $lines[] = $row; - } - $paginate->render('_page', array( - 'list' => $lines - )); + $paginate->render('_page', array( + 'list' => $lines + )); + } else { + Message::addError('main.no-permission'); + } } private function typeToIcon($type) diff --git a/modules-available/eventlog/permissions/permissions.json b/modules-available/eventlog/permissions/permissions.json new file mode 100644 index 00000000..f04ea714 --- /dev/null +++ b/modules-available/eventlog/permissions/permissions.json @@ -0,0 +1,3 @@ +[ + "view" +] \ No newline at end of file diff --git a/modules-available/eventlog/templates/_page.html b/modules-available/eventlog/templates/_page.html index 0875664e..239286f8 100644 --- a/modules-available/eventlog/templates/_page.html +++ b/modules-available/eventlog/templates/_page.html @@ -1,4 +1,3 @@ -

{{lang_eventLog}}

{{{pagenav}}} diff --git a/modules-available/eventlog/templates/heading.html b/modules-available/eventlog/templates/heading.html new file mode 100644 index 00000000..37612a77 --- /dev/null +++ b/modules-available/eventlog/templates/heading.html @@ -0,0 +1 @@ +

{{lang_eventLog}}

\ No newline at end of file -- cgit v1.2.3-55-g7522