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