]> git.wh0rd.org - tt-rss.git/blobdiff - classes/pref/system.php
hide purge options when config.php has forced things
[tt-rss.git] / classes / pref / system.php
index 2957b7b96ed62681bed6ec352cfefd66d07204db..2099ebb9c0ce965fa14223bc83f1991578550c36 100644 (file)
@@ -2,10 +2,6 @@
 
 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) {
@@ -23,56 +19,71 @@ class Pref_System extends Handler_Protected {
                return array_search($method, $csrf_ignored) !== false;
        }
 
+       function clearLog() {
+               $this->pdo->query("DELETE FROM ttrss_error_log");
+       }
+
        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");
+               if (LOG_DESTINATION == "sql") {
+
+                       $res = $this->pdo->query("SELECT errno, errstr, filename, lineno,
+                               created_at, login, context FROM ttrss_error_log
+                               LEFT JOIN ttrss_users ON (owner_uid = ttrss_users.id)
+                               ORDER BY ttrss_error_log.id DESC
+                               LIMIT 100");
+
+                       print "<button dojoType=\"dijit.form.Button\"
+                               onclick=\"updateSystemList()\">".__('Refresh')."</button> ";
 
-               print "<p><table width=\"100%\" cellspacing=\"10\" class=\"prefErrorLog\">";
+                       print "&nbsp;<button dojoType=\"dijit.form.Button\"
+                               onclick=\"clearSqlLog()\">".__('Clear log')."</button> ";
 
-               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>";
+                       print "<p><table width=\"100%\" cellspacing=\"10\" class=\"prefErrorLog\">";
 
-               while ($line = db_fetch_assoc($result)) {
-                       print "<tr class=\"errrow\">";
+                       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>";
 
-                       foreach ($line as $k => $v) {
-                               $line[$k] = htmlspecialchars($v);
+                       while ($line = $res->fetch()) {
+                               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"] . "<hr/>" . nl2br($line["context"]) . "</td>";
+                               print "<td class='login'>" . $line["login"] . "</td>";
+
+                               print "<td class='timestamp'>" .
+                                       make_local_datetime(
+                                       $line["created_at"], false) . "</td>";
+
+                               print "</tr>";
                        }
 
-                       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 "</table>";
+               } else {
 
-                       print "<td class='timestamp'>" .
-                               make_local_datetime($this->link,
-                               $line["created_at"], false) . "</td>";
+                       print_notice("Please set LOG_DESTINATION to 'sql' in config.php to enable database logging.");
 
-                       print "</tr>";
                }
 
-               print "</table>";
-
                print "</div>";
 
-               global $pluginhost;
-               $pluginhost->run_hooks($pluginhost::HOOK_PREFS_TAB,
+               PluginHost::getInstance()->run_hooks(PluginHost::HOOK_PREFS_TAB,
                        "hook_prefs_tab", "prefSystem");
 
                print "</div>"; #container
        }
 
 }
-?>