function admin_display_watchdog
Search API
6.x admin.module | admin_display_watchdog() |
4.x admin.module | admin_display_watchdog() |
5.x admin.module | admin_display_watchdog() |
File
- modules/
admin/ admin.module, line 1676 - The administrative configurations for FlightPath.
Code
function admin_display_watchdog() {
fp_add_css(fp_get_module_path("admin") . '/css/admin.css');
$rtn = "";
$rtn .= "<p>View recent watchdog entries</p>";
$severity_array = array(
5 => "notice",
1 => "alert",
3 => "error",
7 => "debug",
);
$results_per_page = 50;
$type_line = $severity_line = $limit_start = "";
@$sev_filter = $_GET ["sev_filter"];
@$type_filter = $_GET ["type_filter"];
@$page = intval($_GET ["page"]);
$limit_start = 0;
if ($page > 0) {
$limit_start = $results_per_page * ($page - 1);
}
// Filters:
$rtn .= "<form method='GET' action='" . fp_url("admin/config/watchdog") . "' class='watchdog-filters'>
";
$rtn .= "Filter by:
<span class='type-filter'>
Type:
<select name='type_filter'>
<option value=''>-Any-</option>";
$res = db_query("SELECT distinct(type) as type
FROM watchdog
ORDER BY type");
while ($cur = db_fetch_object($res)) {
$sel = ($type_filter == $cur->type) ? "selected" : "";
$rtn .= "<option value='$cur->type' $sel>$cur->type</option>";
}
$rtn .= "</select>
</span>";
$rtn .= "
<span class='severity-filter'>
Severity:
<select name='sev_filter'>
<option value=''>-Any-</option>";
foreach ($severity_array as $key => $value) {
$sel = "";
if ($sev_filter == $key) {
$sel = "selected";
}
$rtn .= "<option value='$key' $sel>$value</option>";
}
$rtn .= "</select>
</span>";
$rtn .= "<input type='submit' value='>'>";
// Hack if clean URLs are not enabled:
$rtn .= "<input type='hidden' name='q' value='admin/config/watchdog'>";
$rtn .= "</form>";
$params = array();
if (@$_GET ["type_filter"] != "") {
//$type_line = " AND type = '" . mysql_real_escape_string($_GET["type_filter"]) . "' ";
$type_line = " AND `type` = :type ";
$params [":type"] = $_GET ["type_filter"];
}
if (@$_GET ["sev_filter"] != "") {
//$severity_line = " AND severity = '" . mysql_real_escape_string($_GET["sev_filter"]) . "' ";
$severity_line = " AND severity = :sev ";
$params [":sev"] = $_GET ["sev_filter"];
}
$pol = "even";
$table_headers = array();
$table_headers [] = array("label" => "ID", "field" => "wid");
$table_headers [] = array("label" => "When", "field" => "a.timestamp");
$table_headers [] = array("label" => "Type", "field" => "a.type");
$table_headers [] = array("label" => "Msg");
$table_headers [] = array("label" => "Severity", "field" => "a.severity");
$table_headers [] = array("label" => "User", "field" => "user_name");
// Set our initial sort, if none is already set.
theme_table_header_sortable_set_initial_sort("wid", 'DESC');
$rtn .= "<table class='watchdog-table' cellspacing='0' cellpadding='4'>";
// Draw our our table headers, with links....
$rtn .= theme_table_header_sortable($table_headers);
// Get our order by clause based on selected table header, if any.
$order_by = theme_table_header_sortable_order_by($table_headers);
$res = pager_query("SELECT * FROM watchdog a
WHERE 1
$type_line
$severity_line
$order_by", $params, 50, 0, "SELECT COUNT(wid) FROM watchdog a
WHERE 1
$type_line
$severity_line
$order_by", $params);
while ($cur = db_fetch_object($res)) {
$pol = ($pol == "even") ? "odd" : "even";
$o_msg = t($cur->message, unserialize($cur->variables));
$o_type = $cur->type;
// shorten msg if necessary
$msg = substr(strip_tags($o_msg), 0, 130);
if ($msg != $o_msg) {
$msg = trim($msg) . "...";
}
$type = substr($o_type, 0, 20);
if ($type != $o_type) {
$type = trim($type) . "...";
}
$severity = $severity_array [$cur->severity];
$when = format_date(convert_time($cur->timestamp), "short");
$rtn .= "
<tr class='row-$pol row-$severity'>
<td valign='top'>" . l($cur->wid, "admin/config/watchdog/$cur->wid", "sev_filter=$sev_filter&type_filter=$type_filter&page=$page") . "</td>
<td valign='top'>$when</td>
<td valign='top'>$type</td>
<td valign='top'>$msg</td>
<td valign='top'>$severity</td>
<td valign='top'>$cur->user_name</td>
</tr>
";
}
$rtn .= "</table>";
// Display the pager that was generated by the pager_query above!
$rtn .= theme_pager();
return $rtn;
}