betterness
git-svn-id: file:///home/shish/svn/shimmie2/branches/branch_2.1@480 7f39781d-f577-437e-ae19-be835c7a54ca
This commit is contained in:
parent
5bec0b6ba8
commit
7846a94575
@ -19,9 +19,42 @@ class EventLog extends Extension {
|
|||||||
|
|
||||||
if(is_a($event, 'PageRequestEvent') && $event->page_name == "event_log") {
|
if(is_a($event, 'PageRequestEvent') && $event->page_name == "event_log") {
|
||||||
global $user;
|
global $user;
|
||||||
|
global $database;
|
||||||
if($user->is_admin()) {
|
if($user->is_admin()) {
|
||||||
global $database;
|
if(isset($_POST['action'])) {
|
||||||
$events = $database->db->GetAll("SELECT * FROM event_log WHERE date > date_sub(now(), interval 1 day) ORDER BY date DESC");
|
switch($_POST['action']) {
|
||||||
|
case 'clear':
|
||||||
|
$database->execute("DELETE FROM event_log");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$columns = array("name", "date", "owner_ip", "event");
|
||||||
|
$orders = array("ASC", "DESC");
|
||||||
|
|
||||||
|
$sort = "date";
|
||||||
|
if(isset($_GET['sort']) && in_array($_GET['sort'], $columns)) {
|
||||||
|
$sort = $_GET['sort'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$order = "DESC";
|
||||||
|
if(isset($_GET['order']) && in_array($_GET['order'], $orders)) {
|
||||||
|
$order = $_GET['order'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$filter_sql = "";
|
||||||
|
if(isset($_GET['filter']) && isset($_GET['where']) && in_array($_GET['filter'], $columns)) {
|
||||||
|
$filter = $_GET['filter'];
|
||||||
|
$where = $database->db->Quote($_GET['where']);
|
||||||
|
$filter_sql = "WHERE $filter = $where";
|
||||||
|
}
|
||||||
|
|
||||||
|
$events = $database->db->GetAll("
|
||||||
|
SELECT event_log.*,users.name FROM event_log
|
||||||
|
JOIN users ON event_log.owner_id = users.id
|
||||||
|
$filter_sql
|
||||||
|
ORDER BY $sort $order
|
||||||
|
");
|
||||||
$this->theme->display_page($event->page, $events);
|
$this->theme->display_page($event->page, $events);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -6,32 +6,77 @@ class EventLogTheme extends Themelet {
|
|||||||
$page->set_heading("Event Log");
|
$page->set_heading("Event Log");
|
||||||
$page->add_block(new NavBlock());
|
$page->add_block(new NavBlock());
|
||||||
|
|
||||||
|
$this->display_table($page, $events);
|
||||||
|
$this->display_controls($page);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function display_table($page, $events) {
|
||||||
$table = "
|
$table = "
|
||||||
<style>
|
<style>
|
||||||
.event_log_table TD {
|
.event_log_table TD {
|
||||||
font-size: 0.5em;
|
font-size: 0.75em;
|
||||||
}
|
}
|
||||||
.event_log_table TD.entry {
|
.event_log_table TD.entry {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<table border='1' class='event_log_table'>
|
<table border='1' class='event_log_table'>
|
||||||
<tr><th>ID</th><th>User</th><th>IP</th><th>Date</th><th>Event</th><th>Entry</th></tr>
|
<tr>
|
||||||
|
<th>User
|
||||||
|
<a href='".make_link("event_log", "sort=name&order=ASC")."'>+</a>
|
||||||
|
<a href='".make_link("event_log", "sort=name&order=DESC")."'>-</a>
|
||||||
|
</th>
|
||||||
|
<th style='width: 10em;'>IP
|
||||||
|
<a href='".make_link("event_log", "sort=owner_ip&order=ASC")."'>+</a>
|
||||||
|
<a href='".make_link("event_log", "sort=owner_ip&order=DESC")."'>-</a>
|
||||||
|
</th>
|
||||||
|
<th rowspan='2' class='entry'>Entry</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th style='width: 10em;'>Date
|
||||||
|
<a href='".make_link("event_log", "sort=date&order=ASC")."'>+</a>
|
||||||
|
<a href='".make_link("event_log", "sort=date&order=DESC")."'>-</a>
|
||||||
|
</th>
|
||||||
|
<th>Event
|
||||||
|
<a href='".make_link("event_log", "sort=event&order=ASC")."'>+</a>
|
||||||
|
<a href='".make_link("event_log", "sort=event&order=DESC")."'>-</a>
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
";
|
";
|
||||||
foreach($events as $event) {
|
foreach($events as $event) {
|
||||||
$table .= "
|
$table .= "
|
||||||
<tr>
|
<tr>
|
||||||
<td>{$event['id']}</td>
|
<td>
|
||||||
<td>{$event['owner_id']}</td>
|
<a href='".make_link("event_log", "filter=name&where={$event['name']}")."'>{$event['name']}</a>
|
||||||
<td>{$event['owner_ip']}</td>
|
</td>
|
||||||
<td>{$event['date']}</td>
|
<td>
|
||||||
<td>{$event['event']}</td>
|
<a href='".make_link("event_log", "filter=owner_ip&where={$event['owner_ip']}")."'>{$event['owner_ip']}</a>
|
||||||
<td class='entry'>{$event['entry']}</td>
|
</td>
|
||||||
|
<td rowspan='2' class='entry'>{$event['entry']}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{$event['date']}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href='".make_link("event_log", "filter=event&where={$event['event']}")."'>{$event['event']}</a>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
";
|
";
|
||||||
}
|
}
|
||||||
$table .= "</table>";
|
$table .= "</table>";
|
||||||
$page->add_block(new Block("Log Contents", $table));
|
$page->add_block(new Block("Log Contents", $table));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function display_controls($page) {
|
||||||
|
$html = "
|
||||||
|
<form action='".make_link("event_log")."' method='POST'>
|
||||||
|
<input type='hidden' name='action' value='clear'>
|
||||||
|
<input type='submit' value='Clear Log'>
|
||||||
|
</form>
|
||||||
|
";
|
||||||
|
$page->add_block(new Block(null, $html, "main", 60));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user