diff options
author | Simon Rettberg | 2014-10-09 16:01:11 +0200 |
---|---|---|
committer | Simon Rettberg | 2014-10-09 16:01:11 +0200 |
commit | e1dc0d3c99217504de2ac8467156274786efc0bd (patch) | |
tree | 130d7fed1fff8aaaffe5942cf2a3d6bb1dad03c8 /modules | |
parent | Minor fixes and improvements (diff) | |
download | slx-admin-e1dc0d3c99217504de2ac8467156274786efc0bd.tar.gz slx-admin-e1dc0d3c99217504de2ac8467156274786efc0bd.tar.xz slx-admin-e1dc0d3c99217504de2ac8467156274786efc0bd.zip |
Big load of changes
- Added callback functionality for taskmanager tasks. You can launch
a task and define a callback function to be run when the task finished.
This requires activating the cronjob
- Added cron functionality: Add cronjob that calls the cron api every 5
minutes to use it. (See cron.inc.php)
- Added eventlog
- Added missing translations
- Merged main-menu-login and main-menu-logout
Diffstat (limited to 'modules')
-rw-r--r-- | modules/eventlog.inc.php | 55 | ||||
-rw-r--r-- | modules/sysconfig.inc.php | 2 | ||||
-rw-r--r-- | modules/syslog.inc.php | 5 | ||||
-rw-r--r-- | modules/translation.inc.php | 34 |
4 files changed, 90 insertions, 6 deletions
diff --git a/modules/eventlog.inc.php b/modules/eventlog.inc.php new file mode 100644 index 00000000..1a63a0a6 --- /dev/null +++ b/modules/eventlog.inc.php @@ -0,0 +1,55 @@ +<?php + +class Page_EventLog extends Page +{ + + protected function doPreprocess() + { + User::load(); + if (!User::hasPermission('superadmin')) { + Message::addError('no-permission'); + Util::redirect('?do=Main'); + } + User::setLastSeenEvent(Property::getLastWarningId()); + } + + protected function doRender() + { + Render::setTitle(Dictionary::translate('lang_titleEventLog')); + $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('today'); + } elseif ($day === $yesterday) { + $day = Dictionary::translate('yesterday'); + } + $row['date'] = $day . date(' H:i', $row['dateline']); + $row['icon'] = $this->typeToIcon($row['logtypeid']); + $lines[] = $row; + } + + $paginate->render('eventlog/_page', array( + 'list' => $lines + )); + } + + private function typeToIcon($type) + { + switch ($type) { + case 'info': + return 'ok'; + case 'warning': + return 'exclamation-sign'; + case 'error': + return 'remove'; + default: + return 'question-sign'; + } + } + +} diff --git a/modules/sysconfig.inc.php b/modules/sysconfig.inc.php index f873fe9e..b27b6a97 100644 --- a/modules/sysconfig.inc.php +++ b/modules/sysconfig.inc.php @@ -222,7 +222,7 @@ class Page_SysConfig extends Page Message::addError('task-error', $task['data']['error']); } elseif ($task['statusCode'] === TASK_FINISHED) { Message::addSuccess('config-activated', $row['title']); - Trigger::ldadp(); // TODO: Feedback + Event::activeConfigChanged(); } Util::redirect('?do=SysConfig'); } diff --git a/modules/syslog.inc.php b/modules/syslog.inc.php index 8d591876..facc1557 100644 --- a/modules/syslog.inc.php +++ b/modules/syslog.inc.php @@ -50,11 +50,10 @@ class Page_SysLog extends Page $res = $paginate->exec(); while ($row = $res->fetch(PDO::FETCH_ASSOC)) { $day = date('d.m.Y', $row['dateline']); - // TODO: No output strings in source files! if ($day === $today) { - $day = 'Heute'; + $day = Dictionary::translate('today'); } elseif ($day === $yesterday) { - $day = 'Gestern'; + $day = Dictionary::translate('yesterday'); } $row['date'] = $day . date(' H:i', $row['dateline']); $lines[] = $row; diff --git a/modules/translation.inc.php b/modules/translation.inc.php index 15733b73..594c65dc 100644 --- a/modules/translation.inc.php +++ b/modules/translation.inc.php @@ -66,12 +66,12 @@ class Page_Translation extends Page Render::addTemplate('translation/edit', array( 'path' => 'settings/cat_setting', 'langs' => $langs, - 'tags' => $this->buildTranslationTable('settings/cat_setting') + 'tags' => $this->loadCategoriesArray() )); Render::addTemplate('translation/edit', array( 'path' => 'settings/setting', 'langs' => $langs, - 'tags' => $this->buildTranslationTable('settings/setting') + 'tags' => $this->loadSettingsArray() )); break; case 'template': @@ -443,5 +443,35 @@ class Page_Translation extends Page } Message::addSuccess('deleted-tag'); } + + /** + * Load all settings categories for editing. + * + * @return array + */ + private function loadCategoriesArray() + { + $want = array(); + $res = Database::simpleQuery("SELECT catid FROM cat_setting ORDER BY catid ASC"); + while ($row = $res->fetch(PDO::FETCH_ASSOC)) { + $want[] = 'cat_' . $row['catid']; + } + return $this->buildTranslationTable('settings/cat_setting', $want); + } + + /** + * Load all settings categories for editing. + * + * @return array + */ + private function loadSettingsArray() + { + $want = array(); + $res = Database::simpleQuery("SELECT setting FROM setting ORDER BY setting ASC"); + while ($row = $res->fetch(PDO::FETCH_ASSOC)) { + $want[] = $row['setting']; + } + return $this->buildTranslationTable('settings/setting', $want); + } } |