Файл: modules/forum/action/edit_vote.php
Строк: 184
<?php
/* DCMS Special
* Дата последнего редактирования 12.12.2015
* Модифицировал densnet
* Автор yadalay
*/
if (isset($_POST['save'])) {
$name = mysql_real_escape_string(trim($_POST['name']));
if ($_POST['time_end'] == 1 || ($_POST['time_end'] != 1 && $_POST['time_end'] != 2 && $_POST['time_end'] != 3 && $_POST['time_end'] != 4 && $_POST['time_end'] != 5 && $_POST['time_end'] != 6)) {
$time_end = 0;
} elseif ($_POST['time_end'] == 1) {
$time_end = 0;
} elseif ($_POST['time_end'] == 2) {
$time_end = ($vote->time_end < time()) ? $vote->time_end + time() + 60 * 60 * 24 : time() + 60 * 60 * 24;
} elseif ($_POST['time_end'] == 3) {
$time_end = ($vote->time_end < time()) ? $vote->time_end + time() + 60 * 60 * 72 : time() + 60 * 60 * 72;
} elseif ($_POST['time_end'] == 4) {
$time_end = ($vote->time_end < time()) ? $vote->time_end + time() + 60 * 60 * 24 * 7 : time() + 60 * 60 * 24 * 7;
} elseif ($_POST['time_end'] == 5) {
$time_end = ($vote->time_end < time()) ? $vote->time_end + time() + 60 * 60 * 24 * 30 : time() + 60 * 60 * 24 * 30;
} elseif ($_POST['time_end'] == 6) {
$time_end = ($vote->time_end < time()) ? $vote->time_end + time() + 60 * 60 * 24 * 90 : time() + 60 * 60 * 24 * 90;
}
if (mb_strlen($name) < 5) {
echo "<div class='alert alert-danger'>Слишком короткое содержание опроса.</div>";
} else {
unset($_SESSION['name']);
unset($_SESSION['time_end']);
$var = $_POST['var'];
$count_var = count($var);
for ($i = 0; $i < $count_var; $i++) {
unset($_SESSION['var'][$i]);
$var[$i] = mysql_real_escape_string(trim($var[$i]));
$id = mysql_fetch_object(mysql_query('SELECT `id` FROM `forum_votes_var` WHERE `id_vote` = ' . $vote->id . ' AND `variant` = "' . $var[$i] . '"'));
if (!$id) {
mysql_query('INSERT INTO `forum_votes_var` SET `variant` = "' . mysql_real_escape_string($var[$i]) . '", `id_vote` = ' . $vote->id . ', `id_theme` = ' . $theme->id);
} else {
mysql_query('UPDATE `forum_votes_var` SET `variant` = "' . mysql_real_escape_string($var[$i]) . '" WHERE `id` = ' . $id->id);
}
mysql_query('DELETE FROM `forum_votes_var` WHERE `id_theme` = ' . $theme->id . ' AND `variant` = ""');
}
$_SESSION['success'] = '<div class="alert alert-success">Опрос успешно изменён.</div>';
mysql_query('UPDATE `forum_votes` SET `name` = "' . $name . '", `time_end` = ' . $time_end . ' WHERE `id_theme` = ' . $theme->id);
header('Location: ' . DIR_FORUM . $forum->id . '/' . $razdel->id . '/' . $theme->id . '.html');
exit;
}
} elseif (isset($_POST['add_var']) && $vars < 9) {
$_SESSION['name'] = $_POST['name'];
$_SESSION['time_end'] = $_POST['time_end'];
$var = $_POST['var'];
$count_var = count($var);
for ($i = 0; $i < $count_var; $i++) {
$_SESSION['var'][$i] = mysql_real_escape_string(trim($var[$i]));
}
mysql_query('INSERT INTO `forum_votes_var` SET `id_theme` = ' . $theme->id . ', `id_vote` = ' . $vote->id . ', `variant` = ""');
header('Location: ' . DIR_FORUM . $forum->id . '/' . $razdel->id . '/' . $theme->id . '/edit_vote.html');
exit;
} elseif (isset($_POST['delete_var']) && $vars > 2) {
$_SESSION['name'] = $_POST['name'];
$_SESSION['time_end'] = $_POST['time_end'];
$var = $_POST['var'];
$count_var = count($var) - 1;
unset($_SESSION['var'][$count_var]);
$variant = mysql_result(mysql_query('SELECT MAX(`id`) FROM `forum_votes_var` WHERE `id_theme` = ' . $theme->id), 0);
mysql_query('DELETE FROM `forum_votes_var` WHERE `id_theme` = ' . $theme->id . ' AND `id` = ' . $variant);
mysql_query('DELETE FROM `forum_vote_voices` WHERE `id_variant` = ' . $variant);
header('Location: ' . DIR_FORUM . $forum->id . '/' . $razdel->id . '/' . $theme->id . '/edit_vote.html');
exit;
} elseif (isset($_POST['cancel']) && ($theme->type == 0 || ($theme->type == 1 && access('forum_post_close')))) {
$_SESSION['success'] = '<div class="alert alert-success">Редактирование успешно отменено.</div>';
$var = $_POST['var'];
$count_var = count($var);
for ($i = 0; $i < $count_var; $i++) {
unset($_SESSION['var'][$i]);
}
unset($_SESSION['name']);
unset($_SESSION['time_end']);
mysql_query('DELETE FROM `forum_votes_var` WHERE `id_theme` = ' . $theme->id . ' AND `variant` = ""');
header('Location: ' . DIR_FORUM . $forum->id . '/' . $razdel->id . '/' . $theme->id . '.html');
exit;
} elseif (isset($_POST['delete'])) {
$_SESSION['success'] = '<div class="alert alert-success">Голосование успешно удалено.</div>';
$var = $_POST['var'];
$count_var = count($var);
for ($i = 0; $i < $count_var; $i++) {
unset($_SESSION['var'][$i]);
}
unset($_SESSION['name']);
unset($_SESSION['time_end']);
mysql_query('DELETE FROM `forum_vote_voices` WHERE `id_vote` = ' . $vote->id);
mysql_query('DELETE FROM `forum_votes_var` WHERE `id_theme` = ' . $theme->id);
mysql_query('DELETE FROM `forum_votes` WHERE `id_theme` = ' . $theme->id);
header('Location: ' . DIR_FORUM . $forum->id . '/' . $razdel->id . '/' . $theme->id . '.html');
exit;
}
#Навигация
echo "<ol class='breadcrumb'>";
echo "<li><a href='/'><span class='fa fa-home fa-fw'></span></a></li>";
echo "<li><a href='" . DIR_FORUM . "'>Форум</a></li>";
echo "<li><a href='" . DIR_FORUM . "$forum->id/'>" . toOutput($forum->name, 1, 1, 0, 0, 0) . "</a></li>";
echo "<li><a href='" . DIR_FORUM . "$forum->id/$razdel->id/'>" . toOutput($razdel->name, 1, 1, 0, 0, 0) . "</a></li>";
echo "<li><a href='" . DIR_FORUM . "$forum->id/$razdel->id/$theme->id.html'>" . toOutput($theme->name, 1, 0, 0, 0, 0) . "</a></li>";
echo "<li class='active'>Редактирование опроса</li>";
echo "</ol>";
echo "<form action='" . DIR_FORUM . "$forum->id/$razdel->id/$theme->id/edit_vote.html' class='list-group-item' method='post'>";
echo "Содержание опроса:<br />";
echo "<textarea name='name' class='form-control'>" . ((isset($_SESSION['name'])) ? toOutput($_SESSION['name']) : toOutput($vote->name)) . "</textarea>";
echo "Варианты ответов:<br />";
$i = 0;
$all_vars = mysql_query('SELECT `variant` FROM `forum_votes_var` WHERE `id_vote` = ' . $vote->id . ' ORDER BY `id` ASC');
while ($var = mysql_fetch_object($all_vars)) {
echo "<input type='text' class='form-control' name='var[]' value='" . ((isset($_SESSION['var'][$i])) ? toOutput($_SESSION['var'][$i]) : toOutput($var->variant)) . "' style='width: 70%' /><br />";
$i++;
}
echo "<button class='btn btn-success' type='submit' name='add_var' " . (($vars > 7) ? 'disabled="disabled"' : NULL) . ">Ещё вариант</button> ";
echo "<button class='btn btn-success' type='submit' name='delete_var' " . (($vars < 3) ? 'disabled="disabled"' : NULL) . ">Убрать вариант</button><br />";
echo "" . (($vote->time_end < time()) ? 'Продлить на:' : 'Дата окончания через:') . "<br />";
echo "<select name='time_end' class='form-control' style='width: 50%'>";
if ($vote->time_end < time()) {
echo "<option value='0'>Без изменений</option>";
}
?>
<option value="1" <?= (isset($_SESSION['time_end']) && $_SESSION['time_end'] == 1) ? 'selected="selected"' : NULL ?>>Бессрочно</option>
<option value="2" <?= (isset($_SESSION['time_end']) && $_SESSION['time_end'] == 2) ? 'selected="selected"' : NULL ?>>1 День</option>
<option value="3" <?= (isset($_SESSION['time_end']) && $_SESSION['time_end'] == 3) ? 'selected="selected"' : NULL ?>>3 Дня</option>
<option value="4" <?= (isset($_SESSION['time_end']) && $_SESSION['time_end'] == 4) ? 'selected="selected"' : NULL ?>>1 Неделю</option>
<option value="5" <?= (isset($_SESSION['time_end']) && $_SESSION['time_end'] == 5) ? 'selected="selected"' : NULL ?>>1 месяц</option>
<option value="6" <?= (isset($_SESSION['time_end']) && $_SESSION['time_end'] == 6) ? 'selected="selected"' : NULL ?>>3 месяца</option>
<?php
echo "</select>";
echo "<div class='hr'></div>";
echo "<button name='save' class='btn btn-success'><span class='fa fa-save fa-fw'></span> Сохранить</button> ";
echo "<button name='delete' class='btn btn-danger'><span class='fa fa-trash-o fa-fw'></span> Удалить</button> ";
echo "<button name='cancel' class='btn btn-secondary'>Отменить</button>";
echo "</form>";
require_once H . 'sys/inc/tfoot.php';
exit;