time and message searching in the log
This commit is contained in:
		
							parent
							
								
									f31dabce20
								
							
						
					
					
						commit
						d48e34030d
					
				| @ -49,9 +49,13 @@ class LogDatabase extends Extension { | ||||
| 				$args = array(); | ||||
| 				$page_num = int_escape($event->get_arg(0)); | ||||
| 				if($page_num <= 0) $page_num = 1; | ||||
| 				if(!empty($_GET["time"])) { | ||||
| 					$wheres[] = "date_sent LIKE :time"; | ||||
| 					$args["time"] = $_GET["time"]."%"; | ||||
| 				if(!empty($_GET["time-start"])) { | ||||
| 					$wheres[] = "date_sent > :time_start"; | ||||
| 					$args["time_start"] = $_GET["time-start"]; | ||||
| 				} | ||||
| 				if(!empty($_GET["time-end"])) { | ||||
| 					$wheres[] = "date_sent < :time_end"; | ||||
| 					$args["time_end"] = $_GET["time-end"]; | ||||
| 				} | ||||
| 				if(!empty($_GET["module"])) { | ||||
| 					$wheres[] = "section = :module"; | ||||
| @ -83,6 +87,10 @@ class LogDatabase extends Extension { | ||||
| 					$wheres[] = "priority >= :priority"; | ||||
| 					$args["priority"] = 20; | ||||
| 				} | ||||
| 				if(!empty($_GET["message"])) { | ||||
| 					$wheres[] = $database->scoreql_to_sql("SCORE_STRNORM(message) LIKE SCORE_STRNORM(:message)"); | ||||
| 					$args["message"] = "%" . $_GET["message"] . "%"; | ||||
| 				} | ||||
| 				$where = ""; | ||||
| 				if(count($wheres) > 0) { | ||||
| 					$where = "WHERE "; | ||||
|  | ||||
| @ -20,12 +20,14 @@ class LogDatabaseTheme extends Themelet { | ||||
| </style> | ||||
| <table class='zebra'> | ||||
| 	<thead> | ||||
| 		<tr><th>Time</th><th>Module</th><th>User</th><th colspan='2'>Message</th></tr> | ||||
| 		<tr><th>Time</th><th>Module</th><th>User</th><th colspan='3'>Message</th></tr> | ||||
| 		<form action='".make_link("log/view")."' method='GET'> | ||||
| 			<tr class='sizedinputs'> | ||||
| 				<td><input type='time' name='time' value='".$this->heie("time")."'></td> | ||||
| 				<td><input type='date' name='time-start' value='".$this->heie("time-start")."'> | ||||
| 				<br><input type='date' name='time-end' value='".$this->heie("time-end")."'></td> | ||||
| 				<td><input type='text' name='module' value='".$this->heie("module")."'></td> | ||||
| 				<td><input type='text' name='user' value='".$this->heie("user")."'></td> | ||||
| 				<td><input type='text' name='message' value='".$this->heie("message")."'></td> | ||||
| 				<td> | ||||
| 					<select name='priority'> | ||||
| 						<option value='".SCORE_LOG_DEBUG."'>Debug</option> | ||||
| @ -55,7 +57,7 @@ class LogDatabaseTheme extends Themelet { | ||||
| 					"<a href='".make_link("user/".url_escape($event['username']))."'>".html_escape($event['username'])."</a>". | ||||
| 					"</span></td>"; | ||||
| 			} | ||||
| 			$table .= "<td colspan='2'>".$this->scan_entities(html_escape($event['message']))."</td>"; | ||||
| 			$table .= "<td colspan='3'>".$this->scan_entities(html_escape($event['message']))."</td>"; | ||||
| 			$table .= "</tr>\n"; | ||||
| 		} | ||||
| 		$table .= "</tbody></table>"; | ||||
| @ -65,21 +67,28 @@ class LogDatabaseTheme extends Themelet { | ||||
| 		$page->set_heading("Event Log"); | ||||
| 		$page->add_block(new NavBlock()); | ||||
| 		$page->add_block(new Block("Events", $table)); | ||||
| 		$this->display_paginator($page, "log/view", $this->get_args(), $page_num, $page_total); | ||||
| 	} | ||||
| 
 | ||||
| 	protected function get_args() { | ||||
| 		$args = ""; | ||||
| 		// Check if each arg is actually empty and skip it if so
 | ||||
| 		if(strlen($this->ueie("time"))) | ||||
| 	            $args .= $this->ueie("time")."&"; | ||||
| 	        if(strlen($this->ueie("module"))) | ||||
| 	                        $args .= $this->ueie("module")."&"; | ||||
| 	        if(strlen($this->ueie("user"))) | ||||
| 	                        $args .= $this->ueie("user")."&"; | ||||
| 	        if(strlen($this->ueie("priority"))) | ||||
| 	                        $args .= $this->ueie("priority"); | ||||
| 		if(strlen($this->ueie("time-start"))) | ||||
| 			$args .= $this->ueie("time-start")."&"; | ||||
| 		if(strlen($this->ueie("time-end"))) | ||||
| 			$args .= $this->ueie("time-end")."&"; | ||||
| 		if(strlen($this->ueie("module"))) | ||||
| 			$args .= $this->ueie("module")."&"; | ||||
| 		if(strlen($this->ueie("user"))) | ||||
| 			$args .= $this->ueie("user")."&"; | ||||
| 		if(strlen($this->ueie("message"))) | ||||
| 			$args .= $this->ueie("message")."&"; | ||||
| 		if(strlen($this->ueie("priority"))) | ||||
| 			$args .= $this->ueie("priority"); | ||||
| 		// If there are no args at all, set $args to null to prevent an unnecessary ? at the end of the paginator url
 | ||||
| 		if(strlen($args) == 0) | ||||
| 			$args = null; | ||||
| 		$this->display_paginator($page, "log/view", $args, $page_num, $page_total); | ||||
| 		return $args; | ||||
| 	} | ||||
| 
 | ||||
| 	protected function pri_to_col($pri) { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user