table reorganised, larger font, sorting

git-svn-id: file:///home/shish/svn/shimmie2/trunk@471 7f39781d-f577-437e-ae19-be835c7a54ca
This commit is contained in:
shish 2007-08-24 13:35:48 +00:00
parent 2834a7bb48
commit 2240262205
2 changed files with 45 additions and 7 deletions

View File

@ -19,13 +19,25 @@ 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'])) {
switch($_POST['action']) {
case 'clear':
$database->execute("DELETE FROM event_log");
break;
}
}
$sort = "date";
if(isset($_GET['sort']) && in_array($_GET['sort'], array("name", "date", "ip", "event"))) {
$sort = $_GET['sort'];
}
$events = $database->db->GetAll(" $events = $database->db->GetAll("
SELECT event_log.*,users.name FROM event_log SELECT event_log.*,users.name FROM event_log
JOIN users ON event_log.owner_id = users.id JOIN users ON event_log.owner_id = users.id
WHERE date > date_sub(now(), interval 1 day) WHERE date > date_sub(now(), interval 1 day)
ORDER BY date DESC ORDER BY $sort DESC
"); ");
$this->theme->display_page($event->page, $events); $this->theme->display_page($event->page, $events);
} }

View File

@ -6,32 +6,58 @@ 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><a href='".make_link("event_log", "sort=name")."'>User</a></th>
<th style='width: 10em;'><a href='".make_link("event_log", "sort=ip")."'>IP</a></th>
<th rowspan='2' class='entry'>Entry</th>
</tr>
<tr>
<th style='width: 10em;'><a href='".make_link("event_log", "sort=date")."'>Date</a></th>
<th><a href='".make_link("event_log", "sort=event")."'>Event</a></th>
</tr>
"; ";
foreach($events as $event) { foreach($events as $event) {
$nobrdate = str_replace(" ", "&nbsp;", $event['date']);
$table .= " $table .= "
<tr> <tr>
<td>{$event['id']}</td>
<td>{$event['name']}</td> <td>{$event['name']}</td>
<td>{$event['owner_ip']}</td> <td>{$event['owner_ip']}</td>
<td>{$event['date']}</td> <td rowspan='2' class='entry'>{$event['entry']}</td>
</tr>
<tr>
<td>{$nobrdate}</td>
<td>{$event['event']}</td> <td>{$event['event']}</td>
<td class='entry'>{$event['entry']}</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));
}
} }
?> ?>