remove all reports from user
This commit is contained in:
		
							parent
							
								
									610b144fb2
								
							
						
					
					
						commit
						f92f286fa0
					
				| @ -76,6 +76,13 @@ class ReportImage extends Extension { | |||||||
| 					$this->theme->display_error(500, "Missing input", "Missing image ID"); | 					$this->theme->display_error(500, "Missing input", "Missing image ID"); | ||||||
| 				} | 				} | ||||||
| 			} | 			} | ||||||
|  | 			else if($event->get_arg(0) == "remove_reports_by" && $user->check_auth_token()) { | ||||||
|  | 				if($user->can("view_image_report")) { | ||||||
|  | 					$this->delete_reports_by(int_escape($_POST['user_id'])); | ||||||
|  | 					$page->set_mode("redirect"); | ||||||
|  | 					$page->set_redirect(make_link()); | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
| 			else if($event->get_arg(0) == "list") { | 			else if($event->get_arg(0) == "list") { | ||||||
| 				if($user->can("view_image_report")) { | 				if($user->can("view_image_report")) { | ||||||
| 					$this->theme->display_reported_images($page, $this->get_reported_images()); | 					$this->theme->display_reported_images($page, $this->get_reported_images()); | ||||||
| @ -100,6 +107,13 @@ class ReportImage extends Extension { | |||||||
| 		$database->cache->delete("image-report-count"); | 		$database->cache->delete("image-report-count"); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	public function onUserPageBuilding(UserPageBuildingEvent $event) { | ||||||
|  | 		global $page, $user; | ||||||
|  | 		if($user->can("view_image_report")) { | ||||||
|  | 			$this->theme->get_nuller($event->display_user); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| 	public function onDisplayingImage(DisplayingImageEvent $event) { | 	public function onDisplayingImage(DisplayingImageEvent $event) { | ||||||
| 		global $user, $page; | 		global $user, $page; | ||||||
| 		if($user->can('create_image_report')) { | 		if($user->can('create_image_report')) { | ||||||
| @ -123,6 +137,16 @@ class ReportImage extends Extension { | |||||||
| 		$database->cache->delete("image-report-count"); | 		$database->cache->delete("image-report-count"); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	public function onUserDeletion(UserDeletionEvent $event) { | ||||||
|  | 		$this->delete_reports_by($event->id); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	public function delete_reports_by(/*int*/ $user_id) { | ||||||
|  | 		global $database; | ||||||
|  | 		$database->execute("DELETE FROM image_reports WHERE reporter_id=?", array($user_id)); | ||||||
|  | 		$database->cache->delete("image-report-count"); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| 	protected function install() { | 	protected function install() { | ||||||
| 		global $database, $config; | 		global $database, $config; | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -84,5 +84,17 @@ class ReportImageTheme extends Themelet { | |||||||
| 		";
 | 		";
 | ||||||
| 		$page->add_block(new Block("Report Image", $html, "left")); | 		$page->add_block(new Block("Report Image", $html, "left")); | ||||||
| 	} | 	} | ||||||
|  | 
 | ||||||
|  | 	public function get_nuller(User $duser) { | ||||||
|  | 		global $user, $page; | ||||||
|  | 		$html = " | ||||||
|  | 			<form action='".make_link("image_report/remove_reports_by")."' method='POST'> | ||||||
|  | 			".$user->get_auth_html()." | ||||||
|  | 			<input type='hidden' name='user_id' value='{$duser->id}'> | ||||||
|  | 			<input type='submit' value='Delete all reports by this user'> | ||||||
|  | 			</form> | ||||||
|  | 		";
 | ||||||
|  | 		$page->add_block(new Block("Reports", $html, "main", 80)); | ||||||
|  | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user