From 0539df80a9e2db1fddaf689216d6c0b7e9fedb9e Mon Sep 17 00:00:00 2001 From: Shish Date: Wed, 23 Mar 2011 11:04:22 +0000 Subject: [PATCH] remove votes on image --- contrib/numeric_score/main.php | 28 ++++++++++++++++++++++++++++ contrib/numeric_score/theme.php | 9 +++++++++ 2 files changed, 37 insertions(+) diff --git a/contrib/numeric_score/main.php b/contrib/numeric_score/main.php index f36625ed..1acdb116 100644 --- a/contrib/numeric_score/main.php +++ b/contrib/numeric_score/main.php @@ -74,6 +74,34 @@ class NumericScore implements Extension { $page->set_redirect(make_link("post/view/$image_id")); } } + if($event->page_matches("numeric_score/remove_votes_on") && $user->check_auth_token()) { + if($user->is_admin()) { + $image_id = int_escape($_POST['image_id']); + $database->execute( + "DELETE FROM numeric_score_votes WHERE image_id=?", + array($image_id)); + $database->execute( + "UPDATE images SET numeric_score=0 WHERE id=?", + array($image_id)); + $page->set_mode("redirect"); + $page->set_redirect(make_link("post/view/$image_id")); + } + } + if($event->page_matches("numeric_score/remove_votes_by") && $user->check_auth_token()) { + if($user->is_admin()) { + $user_id = int_escape($_POST['user_id']); + $image_ids = $database->get_col("SELECT image_id FROM numeric_score_votes WHERE user_id=?", array($user_id)); + + $database->execute( + "DELETE FROM numeric_score_votes WHERE user_id=? AND image_id IN ?", + array($user_id, $image_ids)); + $database->execute( + "UPDATE images SET numeric_score=(SELECT SUM(score) FROM numeric_score_votes WHERE image_id=images.id) WHERE images.id IN ?", + array($image_ids)); + $page->set_mode("redirect"); + $page->set_redirect(make_link("post/view/$image_id")); + } + } } if($event instanceof NumericScoreSetEvent) { diff --git a/contrib/numeric_score/theme.php b/contrib/numeric_score/theme.php index 94f0f4c6..ade6ccb9 100644 --- a/contrib/numeric_score/theme.php +++ b/contrib/numeric_score/theme.php @@ -30,6 +30,15 @@ class NumericScoreTheme extends Themelet { "; + if($user->is_admin()) { + $html .= " +
+ ".$user->get_auth_html()." + + +
+ "; + } return $html; } }