filtering

git-svn-id: file:///home/shish/svn/shimmie2/trunk@473 7f39781d-f577-437e-ae19-be835c7a54ca
This commit is contained in:
shish 2007-08-24 13:54:51 +00:00
parent e98e4e31d5
commit d90004469f
2 changed files with 27 additions and 10 deletions

View File

@ -29,20 +29,30 @@ class EventLog extends Extension {
}
}
$columns = array("name", "date", "owner_ip", "event");
$orders = array("ASC", "DESC");
$sort = "date";
if(isset($_GET['sort']) && in_array($_GET['sort'], array("name", "date", "ip", "event"))) {
if(isset($_GET['sort']) && in_array($_GET['sort'], $columns)) {
$sort = $_GET['sort'];
}
$order = "DESC";
if(isset($_GET['order']) && in_array($_GET['order'], array("ASC", "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
WHERE date > date_sub(now(), interval 1 day)
$filter_sql
ORDER BY $sort $order
");
$this->theme->display_page($event->page, $events);

View File

@ -28,8 +28,8 @@ class EventLogTheme extends Themelet {
<a href='".make_link("event_log", "sort=name&order=DESC")."'>-</a>
</th>
<th style='width: 10em;'>IP
<a href='".make_link("event_log", "sort=ip&order=ASC")."'>+</a>
<a href='".make_link("event_log", "sort=ip&order=DESC")."'>-</a>
<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>
@ -45,16 +45,23 @@ class EventLogTheme extends Themelet {
</tr>
";
foreach($events as $event) {
$nobrdate = str_replace(" ", "&nbsp;", $event['date']);
$table .= "
<tr>
<td>{$event['name']}</td>
<td>{$event['owner_ip']}</td>
<td>
<a href='".make_link("event_log", "filter=name&where={$event['name']}")."'>{$event['name']}</a>
</td>
<td>
<a href='".make_link("event_log", "filter=owner_ip&where={$event['owner_ip']}")."'>{$event['owner_ip']}</a>
</td>
<td rowspan='2' class='entry'>{$event['entry']}</td>
</tr>
<tr>
<td>{$nobrdate}</td>
<td>{$event['event']}</td>
<td>
{$event['date']}
</td>
<td>
<a href='".make_link("event_log", "filter=event&where={$event['event']}")."'>{$event['event']}</a>
</td>
</tr>
";
}