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");
|
||||
}
|
||||
}
|
||||
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") {
|
||||
if($user->can("view_image_report")) {
|
||||
$this->theme->display_reported_images($page, $this->get_reported_images());
|
||||
@ -100,6 +107,13 @@ class ReportImage extends Extension {
|
||||
$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) {
|
||||
global $user, $page;
|
||||
if($user->can('create_image_report')) {
|
||||
@ -123,6 +137,16 @@ class ReportImage extends Extension {
|
||||
$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() {
|
||||
global $database, $config;
|
||||
|
||||
|
@ -84,5 +84,17 @@ class ReportImageTheme extends Themelet {
|
||||
";
|
||||
$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