diff options
author | Andrew Dolgov <[email protected]> | 2013-04-17 08:42:39 +0400 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2013-04-17 08:42:39 +0400 |
commit | 2cbdc95bb00faad46df8976cf9b33e1bc188ec91 (patch) | |
tree | b1360010f1477f41a126d911757535342cfc16dd /classes/pref/system.php | |
parent | 77be1217e5e559b6f972afc4d5506426692d50fe (diff) |
add a separate tab for the logger
Diffstat (limited to 'classes/pref/system.php')
-rw-r--r-- | classes/pref/system.php | 78 |
1 files changed, 78 insertions, 0 deletions
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 + } + +} +?> |