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") {
 | 
			
		||||
			global $user;
 | 
			
		||||
			global $database;
 | 
			
		||||
			if($user->is_admin()) {
 | 
			
		||||
				global $database;
 | 
			
		||||
				$events = $database->db->GetAll("SELECT * FROM event_log WHERE date > date_sub(now(), interval 1 day) ORDER BY date DESC");
 | 
			
		||||
				if(isset($_POST['action'])) {
 | 
			
		||||
					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);
 | 
			
		||||
			}
 | 
			
		||||
			else {
 | 
			
		||||
 | 
			
		||||
@ -6,32 +6,77 @@ class EventLogTheme extends Themelet {
 | 
			
		||||
		$page->set_heading("Event Log");
 | 
			
		||||
		$page->add_block(new NavBlock());
 | 
			
		||||
		
 | 
			
		||||
		$this->display_table($page, $events);
 | 
			
		||||
		$this->display_controls($page);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	protected function display_table($page, $events) {
 | 
			
		||||
		$table = "
 | 
			
		||||
			<style>
 | 
			
		||||
			.event_log_table TD {
 | 
			
		||||
				font-size: 0.5em;
 | 
			
		||||
				font-size: 0.75em;
 | 
			
		||||
			}
 | 
			
		||||
			.event_log_table TD.entry {
 | 
			
		||||
				text-align: left;
 | 
			
		||||
				vertical-align: middle;
 | 
			
		||||
			}
 | 
			
		||||
			</style>
 | 
			
		||||
			<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) {
 | 
			
		||||
			$table .= "
 | 
			
		||||
				<tr>
 | 
			
		||||
					<td>{$event['id']}</td>
 | 
			
		||||
					<td>{$event['owner_id']}</td>
 | 
			
		||||
					<td>{$event['owner_ip']}</td>
 | 
			
		||||
					<td>{$event['date']}</td>
 | 
			
		||||
					<td>{$event['event']}</td>
 | 
			
		||||
					<td class='entry'>{$event['entry']}</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>
 | 
			
		||||
						{$event['date']}
 | 
			
		||||
					</td>
 | 
			
		||||
					<td>
 | 
			
		||||
						<a href='".make_link("event_log", "filter=event&where={$event['event']}")."'>{$event['event']}</a>
 | 
			
		||||
					</td>
 | 
			
		||||
				</tr>
 | 
			
		||||
			";
 | 
			
		||||
		}
 | 
			
		||||
		$table .= "</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