add a separate tab for the logger
This commit is contained in:
parent
77be1217e5
commit
2cbdc95bb0
4 changed files with 92 additions and 45 deletions
|
@ -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>";
|
||||
|
|
78
classes/pref/system.php
Normal file
78
classes/pref/system.php
Normal file
|
@ -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
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
11
js/prefs.js
11
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,
|
||||
|
|
Loading…
Reference in a new issue