searchable event log
This commit is contained in:
parent
3b2941a5bc
commit
5e4f387983
@ -44,7 +44,31 @@ class LogDatabase extends SimpleExtension {
|
|||||||
global $database, $user;
|
global $database, $user;
|
||||||
if($event->page_matches("log/view")) {
|
if($event->page_matches("log/view")) {
|
||||||
if($user->is_admin()) {
|
if($user->is_admin()) {
|
||||||
$events = $database->get_all("SELECT * FROM score_log ORDER BY id DESC LIMIT 50");
|
$wheres = array();
|
||||||
|
$args = array();
|
||||||
|
if(!empty($_GET["time"])) {
|
||||||
|
$wheres[] = "date_sent LIKE ?";
|
||||||
|
$args[] = $_GET["time"]."%";
|
||||||
|
}
|
||||||
|
if(!empty($_GET["module"])) {
|
||||||
|
$wheres[] = "section = ?";
|
||||||
|
$args[] = $_GET["module"];
|
||||||
|
}
|
||||||
|
if(!empty($_GET["user"])) {
|
||||||
|
$wheres[] = "(username = ? OR address = ?)";
|
||||||
|
$args[] = $_GET["user"];
|
||||||
|
$args[] = $_GET["user"];
|
||||||
|
}
|
||||||
|
if(!empty($_GET["priority"])) {
|
||||||
|
$wheres[] = "priority >= ?";
|
||||||
|
$args[] = int_escape($_GET["priority"]);
|
||||||
|
}
|
||||||
|
$where = "";
|
||||||
|
if(count($wheres) > 0) {
|
||||||
|
$where = "WHERE ";
|
||||||
|
$where .= join(" AND ", $wheres);
|
||||||
|
}
|
||||||
|
$events = $database->get_all("SELECT * FROM score_log $where ORDER BY id DESC LIMIT 50", $args);
|
||||||
$this->theme->display_events($events);
|
$this->theme->display_events($events);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,39 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
class LogDatabaseTheme extends Themelet {
|
class LogDatabaseTheme extends Themelet {
|
||||||
|
protected function heie($var) {
|
||||||
|
if(isset($_GET[$var])) return html_escape($_GET[$var]);
|
||||||
|
else return "";
|
||||||
|
}
|
||||||
public function display_events($events) {
|
public function display_events($events) {
|
||||||
$table = "<table class='zebra'>";
|
$table = "
|
||||||
$table .= "<thead><th>Time</th><th>Module</th><th>User</th><th>Message</th></thead>";
|
<style>
|
||||||
$table .= "<tbody>\n";
|
.sizedinputs TD INPUT {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<table class='zebra'>
|
||||||
|
<thead>
|
||||||
|
<tr><th>Time</th><th>Module</th><th>User</th><th>Message</th></tr>
|
||||||
|
<form action='".make_link("log/view")."' method='GET'>
|
||||||
|
<tr class='sizedinputs'>
|
||||||
|
<td><input type='text' name='time' value='".$this->heie("time")."'></td>
|
||||||
|
<td><input type='text' name='module' value='".$this->heie("module")."'></td>
|
||||||
|
<td><input type='text' name='user' value='".$this->heie("user")."'></td>
|
||||||
|
<td>
|
||||||
|
<select name='priority'>
|
||||||
|
<option value='".SCORE_LOG_DEBUG."'>Debug</option>
|
||||||
|
<option value='".SCORE_LOG_INFO."' selected>Info</option>
|
||||||
|
<option value='".SCORE_LOG_WARNING."'>Warning</option>
|
||||||
|
<option value='".SCORE_LOG_ERROR."'>Error</option>
|
||||||
|
<option value='".SCORE_LOG_CRITICAL."'>Critical</option>
|
||||||
|
</select>
|
||||||
|
<input type='submit' value='Search' style='width: 20%'>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</form>
|
||||||
|
</thead>
|
||||||
|
<tbody>\n";
|
||||||
$n = 0;
|
$n = 0;
|
||||||
foreach($events as $event) {
|
foreach($events as $event) {
|
||||||
$oe = ($n++ % 2 == 0) ? "even" : "odd";
|
$oe = ($n++ % 2 == 0) ? "even" : "odd";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user