]> git.wh0rd.org - tt-rss.git/commitdiff
add a separate tab for the logger
authorAndrew Dolgov <fox@madoka.volgo-balt.ru>
Wed, 17 Apr 2013 04:42:39 +0000 (08:42 +0400)
committerAndrew Dolgov <fox@madoka.volgo-balt.ru>
Wed, 17 Apr 2013 04:42:39 +0000 (08:42 +0400)
classes/pref/prefs.php
classes/pref/system.php [new file with mode: 0644]
js/prefs.js
prefs.php

index dcd83ae26a75dc90889bff8d8c24af8937514999..2f316b48b6e1ade6413f66d7f6050baf8f4b5324 100644 (file)
@@ -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 (file)
index 0000000..2957b7b
--- /dev/null
@@ -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
+       }
+
+}
+?>
index b1decede5aa9feae225e9d826f8530005c96ebd3..8612b70fba2590640cebabe17d3f2f155c65890f 100644 (file)
@@ -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");
index 476ad25782fb4448cb576015f1976ecfa861bcce..a047931c63c3187bf80aa846139831c44bfdc462 100644 (file)
--- a/prefs.php
+++ b/prefs.php
        <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,