diff options
-rw-r--r-- | classes/pref/prefs.php | 45 | ||||
-rw-r--r-- | classes/pref/system.php | 78 | ||||
-rw-r--r-- | js/prefs.js | 11 | ||||
-rw-r--r-- | prefs.php | 3 |
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"); @@ -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, |