summaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorSimon Rettberg2014-10-09 16:01:11 +0200
committerSimon Rettberg2014-10-09 16:01:11 +0200
commite1dc0d3c99217504de2ac8467156274786efc0bd (patch)
tree130d7fed1fff8aaaffe5942cf2a3d6bb1dad03c8 /modules
parentMinor fixes and improvements (diff)
downloadslx-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.php55
-rw-r--r--modules/sysconfig.inc.php2
-rw-r--r--modules/syslog.inc.php5
-rw-r--r--modules/translation.inc.php34
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);
+ }
}