summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2013-04-17 08:42:39 +0400
committerAndrew Dolgov <[email protected]>2013-04-17 08:42:39 +0400
commit2cbdc95bb00faad46df8976cf9b33e1bc188ec91 (patch)
treeb1360010f1477f41a126d911757535342cfc16dd
parent77be1217e5e559b6f972afc4d5506426692d50fe (diff)
add a separate tab for the logger
-rw-r--r--classes/pref/prefs.php45
-rw-r--r--classes/pref/system.php78
-rw-r--r--js/prefs.js11
-rw-r--r--prefs.php3
4 files changed, 92 insertions, 45 deletions
diff --git a/classes/pref/prefs.php b/classes/pref/prefs.php
index dcd83ae26..2f316b48b 100644
--- a/classes/pref/prefs.php
+++ b/classes/pref/prefs.php
@@ -725,51 +725,6 @@ class Pref_Prefs extends Handler_Protected {
print "</div>"; #pane
- if ($_SESSION["access_level"] == 10) {
-
- print "<div dojoType=\"dijit.layout.AccordionPane\" title=\"".__('Error Log')."\">";
- print "<h2>".__("Error Log")."</h2>";
-
- $result = db_query($this->link, "SELECT errno, errstr, filename, lineno,
- created_at, login FROM ttrss_error_log
- LEFT JOIN ttrss_users ON (owner_uid = ttrss_users.id)
- ORDER BY ttrss_error_log.id DESC
- LIMIT 100");
-
- print "<p><table width=\"100%\" cellspacing=\"10\" class=\"prefErrorLog\">";
-
- print "<tr class=\"title\">
- <td width='5%'>".__("Error")."</td>
- <td>".__("Filename")."</td>
- <td>".__("Message")."</td>
- <td width='5%'>".__("User")."</td>
- <td width='5%'>".__("Date")."</td>
- </tr>";
-
- while ($line = db_fetch_assoc($result)) {
- print "<tr class=\"errrow\">";
-
- foreach ($line as $k => $v) {
- $line[$k] = htmlspecialchars($v);
- }
-
- print "<td class='errno'>" . Logger::$errornames[$line["errno"]] . " (" . $line["errno"] . ")</td>";
- print "<td class='filename'>" . $line["filename"] . ":" . $line["lineno"] . "</td>";
- print "<td class='errstr'>" . $line["errstr"] . "</td>";
- print "<td class='login'>" . $line["login"] . "</td>";
-
- print "<td class='timestamp'>" .
- make_local_datetime($this->link,
- $line["created_at"], false) . "</td>";
-
- print "</tr>";
- }
-
- print "</table>";
-
- print "</div>";
- }
-
print "<div dojoType=\"dijit.layout.AccordionPane\" title=\"".__('Plugins')."\">";
print "<h2>".__("Plugins")."</h2>";
diff --git a/classes/pref/system.php b/classes/pref/system.php
new file mode 100644
index 000000000..2957b7b96
--- /dev/null
+++ b/classes/pref/system.php
@@ -0,0 +1,78 @@
+<?php
+
+class Pref_System extends Handler_Protected {
+
+ function __construct($link, $args) {
+ parent::__construct($link, $args);
+ }
+
+ function before($method) {
+ if (parent::before($method)) {
+ if ($_SESSION["access_level"] < 10) {
+ print __("Your access level is insufficient to open this tab.");
+ return false;
+ }
+ return true;
+ }
+ return false;
+ }
+
+ function csrf_ignore($method) {
+ $csrf_ignored = array("index");
+
+ return array_search($method, $csrf_ignored) !== false;
+ }
+
+ function index() {
+
+ print "<div dojoType=\"dijit.layout.AccordionContainer\" region=\"center\">";
+ print "<div dojoType=\"dijit.layout.AccordionPane\" title=\"".__('Error Log')."\">";
+
+ $result = db_query($this->link, "SELECT errno, errstr, filename, lineno,
+ created_at, login FROM ttrss_error_log
+ LEFT JOIN ttrss_users ON (owner_uid = ttrss_users.id)
+ ORDER BY ttrss_error_log.id DESC
+ LIMIT 100");
+
+ print "<p><table width=\"100%\" cellspacing=\"10\" class=\"prefErrorLog\">";
+
+ print "<tr class=\"title\">
+ <td width='5%'>".__("Error")."</td>
+ <td>".__("Filename")."</td>
+ <td>".__("Message")."</td>
+ <td width='5%'>".__("User")."</td>
+ <td width='5%'>".__("Date")."</td>
+ </tr>";
+
+ while ($line = db_fetch_assoc($result)) {
+ print "<tr class=\"errrow\">";
+
+ foreach ($line as $k => $v) {
+ $line[$k] = htmlspecialchars($v);
+ }
+
+ print "<td class='errno'>" . Logger::$errornames[$line["errno"]] . " (" . $line["errno"] . ")</td>";
+ print "<td class='filename'>" . $line["filename"] . ":" . $line["lineno"] . "</td>";
+ print "<td class='errstr'>" . $line["errstr"] . "</td>";
+ print "<td class='login'>" . $line["login"] . "</td>";
+
+ print "<td class='timestamp'>" .
+ make_local_datetime($this->link,
+ $line["created_at"], false) . "</td>";
+
+ print "</tr>";
+ }
+
+ print "</table>";
+
+ print "</div>";
+
+ global $pluginhost;
+ $pluginhost->run_hooks($pluginhost::HOOK_PREFS_TAB,
+ "hook_prefs_tab", "prefSystem");
+
+ print "</div>"; #container
+ }
+
+}
+?>
diff --git a/js/prefs.js b/js/prefs.js
index b1decede5..8612b70fb 100644
--- a/js/prefs.js
+++ b/js/prefs.js
@@ -852,6 +852,15 @@ function updatePrefsList() {
} });
}
+function updateSystemList() {
+ new Ajax.Request("backend.php", {
+ parameters: "?op=pref-system",
+ onComplete: function(transport) {
+ dijit.byId('systemConfigTab').attr('content', transport.responseText);
+ notify("");
+ } });
+}
+
function selectTab(id, noupdate, method) {
try {
if (!noupdate) {
@@ -867,6 +876,8 @@ function selectTab(id, noupdate, method) {
updatePrefsList();
} else if (id == "userConfig") {
updateUsersList();
+ } else if (id == "systemConfig") {
+ updateSystemList();
}
var tab = dijit.byId(id + "Tab");
diff --git a/prefs.php b/prefs.php
index 476ad2578..a047931c6 100644
--- a/prefs.php
+++ b/prefs.php
@@ -130,6 +130,9 @@
<div id="userConfigTab" dojoType="dijit.layout.ContentPane"
href="backend.php?op=pref-users"
title="<?php echo __('Users') ?>"></div>
+ <div id="systemConfigTab" dojoType="dijit.layout.ContentPane"
+ href="backend.php?op=pref-system"
+ title="<?php echo __('System') ?>"></div>
<?php } ?>
<?php
$pluginhost->run_hooks($pluginhost::HOOK_PREFS_TABS,