Gazelle/sections/forums/delete_poll_option.php

47 lines
1007 B
PHP
Raw Permalink Normal View History

<?
authorize();
2013-05-05 08:00:31 +00:00
if (!check_perms('site_moderate_forums')) {
error(404);
}
$ThreadID = $_GET['threadid'];
$PollOption = $_GET['vote'];
2013-05-05 08:00:31 +00:00
if (is_number($ThreadID) && is_number($PollOption)) {
2013-07-10 00:08:53 +00:00
$DB->query("
SELECT ForumID
FROM forums_topics
WHERE ID = $ThreadID");
list($ForumID) = $DB->next_record();
2013-05-05 08:00:31 +00:00
if (!in_array($ForumID, $ForumsRevealVoters)) {
error(403);
}
2013-07-10 00:08:53 +00:00
$DB->query("
SELECT Answers
FROM forums_polls
WHERE TopicID = $ThreadID");
if (!$DB->has_results()) {
error(404);
}
list($Answers) = $DB->next_record(MYSQLI_NUM, false);
$Answers = unserialize($Answers);
unset($Answers[$PollOption]);
$Answers = serialize($Answers);
2013-05-05 08:00:31 +00:00
$DB->query("
UPDATE forums_polls
SET Answers = '".db_string($Answers)."'
WHERE TopicID = $ThreadID");
$DB->query("
DELETE FROM forums_polls_votes
WHERE Vote = $PollOption
AND TopicID = $ThreadID");
2013-07-10 00:08:53 +00:00
$Cache->delete_value("polls_$ThreadID");
header("Location: forums.php?action=viewthread&threadid=$ThreadID");
} else {
error(404);
}