Файл: modules/diary/inc/edit.poll0.php
Строк: 157
<?php
/* Мод "Блоги"
* Версия v0.0.3
* Дата последнего редактирования 22.04.2015
* Двиг DCMS Special
* Модифицировал densnet
* Автор неизвестно
* Файл edit.poll0.php
* Описание:
*/
if (!isset($_SESSION["poll_new_$diary[id]"])) {
$_SESSION["poll_new_$diary[id]"] = array();
$_SESSION["poll_new_$diary[id]"]['text'] = NULL;
$_SESSION["poll_new_$diary[id]"]['vars'] = '|';
$_SESSION["poll_new_$diary[id]"]['multi'] = 0;
$_SESSION["poll_new_$diary[id]"]['polltime'] = 'infin';
}
$poll_new = $_SESSION["poll_new_$diary[id]"];
$count_vars = 0;
$array = explode("|", $_SESSION["poll_new_$diary[id]"]['vars']);
foreach ($array as $key => $value) {
$count_vars++;
}
if (isset($_POST['save']) && isset($_POST['poll_text']) && $_POST['mdp'] == md5($user['pass'])) {
$_SESSION["poll_new_$diary[id]"]['text'] = $_POST['poll_text'];
if (isset($_POST['multi']) && $_POST['multi'] == 1) {
$_SESSION["poll_new_$diary[id]"]['multi'] = 1;
} else {
$_SESSION["poll_new_$diary[id]"]['multi'] = 0;
}
if (in_array($_POST['polltime'], array('infin', 'day', '3days', 'week', 'month', '3months'))) {
$_SESSION["poll_new_$diary[id]"]['polltime'] = $_POST['polltime'];
}
$pros = 0;
foreach ($_POST as $key => $value) {
if (str_replace('vaRiant_', 'x', $key) != $key) {
$value = str_replace('|', 'I', $value);
$pros++;
if ($pros == 1) {
$_SESSION["poll_new_$diary[id]"]['vars'] = $value;
} else {
$_SESSION["poll_new_$diary[id]"]['vars'] = $_SESSION["poll_new_$diary[id]"]['vars'] . "|$value";
}
if ($pros == 100) {
break;
}
}
}
$cp = 0;
foreach ($_POST as $key => $value) {
if (str_replace('vaRiant_', 'x', $key) != $key) {
$value = str_replace('|', 'I', $value);
if ($value != NULL) {
$cp++;
}
}
}
if (text::utf8_strlen($_POST['poll_text']) < $min_size_poll) {
$err[] = 'Короткое описание опроса';
}
if (text::utf8_strlen($_POST['poll_text']) > $max_size_poll) {
$err[] = 'Слишком длинное описание опроса';
}
if ($cp < 2) {
$err[] = 'Вы не заполнили варианты ответов';
}
if (!isset($err)) {
$poll_text = $_POST['poll_text'];
$poll_timee = $_POST['polltime'];
if ($_POST['multi'] == 1) {
$poll_check = 1;
} else {
$poll_check = 0;
}
if ($poll_timee == 'day') {
$poll_time_add = 3600 * 24;
} // опрос на один день
elseif ($poll_timee == '3days') {
$poll_time_add = 3600 * 24 * 3;
} // опрос на три дня
elseif ($poll_timee == 'week') {
$poll_time_add = 3600 * 24 * 7;
} // опрос на одну неделю
elseif ($poll_timee == 'month') {
$poll_time_add = 3600 * 24 * 31;
} // опрос на месяц
elseif ($poll_timee == '3months') {
$poll_time_add = 3600 * 24 * 31 * 3;
} // опрос на три месяца
else {
$poll_time_add = 3600 * 24 * 31 * 12 * 3;
} // опрос поумолчанию (трех лет для "бесконечности" думаю хватит)
$poll_time = $time + $poll_time_add;
$array_vars = explode("|", $_SESSION["poll_new_$diary[id]"]['vars']);
$count_vars = 0;
$poll_vars = NULL;
foreach ($array_vars as $key => $var) {
if ($var != NULL) {
$count_vars++;
if ($count_vars == 1) {
$poll_vars = $var;
} else {
$poll_vars = $poll_vars . "|$var";
}
}
}
$array = explode("|", $poll_vars);
$var_num = 0;
foreach ($array as $key => $value):
$var_num++;
mysql_query("INSERT INTO `diary_poll` (`id_diary`, `var`, `num`) VALUES ('$diary[id]', '" . mysql_real_escape_string($value) . "', '$var_num')");
endforeach;
mysql_query("UPDATE `diary` SET `poll` = '1', `poll_text` = '" . mysql_real_escape_string($poll_text) . "', `poll_time` = '$poll_time', `poll_time_start` = '$time', `poll_timee` = '$poll_timee', `poll_check` = '$poll_check' WHERE `id` = '$diary[id]'");
unset($_SESSION["poll_new_$diary[id]"]);
header("Location:/modules/diary/$diary[id]/read");
exit;
}
}
if (isset($_POST['add_vaRiant']) && $count_vars <= 9 && $_POST['mdp'] == md5($user['pass'])) {
$_SESSION["poll_new_$diary[id]"]['text'] = $_POST['poll_text'];
if (isset($_POST['multi']) && $_POST['multi'] == 1) {
$_SESSION["poll_new_$diary[id]"]['multi'] = 1;
} else {
$_SESSION["poll_new_$diary[id]"]['multi'] = 0;
}
if (in_array($_POST['polltime'], array('infin', 'day', '3days', 'week', 'month', '3months'))) {
$_SESSION["poll_new_$diary[id]"]['polltime'] = $_POST['polltime'];
}
$pros = 0;
foreach ($_POST as $key => $value) {
if (str_replace('vaRiant_', 'x', $key) != $key) {
$value = str_replace('|', 'I', $value);
$pros++;
if ($pros == 1) {
$_SESSION["poll_new_$diary[id]"]['vars'] = $value;
} else {
$_SESSION["poll_new_$diary[id]"]['vars'] = $_SESSION["poll_new_$diary[id]"]['vars'] . "|$value";
}
}
}
$_SESSION["poll_new_$diary[id]"]['vars'] = $_SESSION["poll_new_$diary[id]"]['vars'] . "|";
}
if (isset($_POST['delete_vaRiant']) && $count_vars > 2 && $_POST['mdp'] == md5($user['pass'])) {
$_SESSION["poll_new_$diary[id]"]['text'] = $_POST['poll_text'];
if (isset($_POST['multi']) && $_POST['multi'] == 1) {
$_SESSION["poll_new_$diary[id]"]['multi'] = 1;
} else {
$_SESSION["poll_new_$diary[id]"]['multi'] = 0;
}
if (in_array($_POST['polltime'], array('infin', 'day', '3days', 'week', 'month', '3months'))) {
$_SESSION["poll_new_$diary[id]"]['polltime'] = $_POST['polltime'];
}
$pros = 0;
$array = explode("|", $_SESSION["poll_new_$diary[id]"]['vars']);
$ncountv = count($array);
foreach ($array as $key => $value) {
$pros++;
if ($pros != $ncountv) {
$_SESSION["poll_new_$diary[id]"]['vars'] = "" . ($pros == 1 ? $value : $_SESSION["poll_new_$diary[id]"]['vars'] . "|$value") . "";
}
}
}
err();
$poll_new = $_SESSION["poll_new_$diary[id]"];
echo "<div class = 'comm'><center><b>Создание нового опроса</b></center></div>";
echo "<form method = 'post' action = '' class = 'comm'>n";
echo "<input type = 'hidden' name = 'mdp' value = '" . md5($user['pass']) . "'>n";
if (isset($_POST['poll_text'])) {
$pt = $_POST['poll_text'];
} else {
$pt = $poll_new['text'];
}
echo "<b>Описание</b> (" . sklon_text($max_size_poll, array('знак', 'знака', 'знаков')) . ")<br />";
echo "<textarea name='poll_text'>" . output_title($pt) . "</textarea><br />";
$lp = 0;
$array = explode("|", $poll_new['vars']);
echo "<b>Варианты</b><br />";
foreach ($array as $key => $value) {
$lp++;
echo "<input type='text' name='vaRiant_$lp' value='" . output_title($value) . "'><br/>n";
}
echo "" . ($lp <= 9 ? "<button class = 'flat blue md' name = 'add_vaRiant'>+</button> " : null) . "" . ($lp > 2 ? "<button class = 'flat blue md' name = 'delete_vaRiant'>-</button>" : null) . "n";
echo "<br /><br /><b>Дата окончания через:</b><br />";
echo "<select name = 'polltime'>"
. "<option value = 'infin'" . ($poll_new['polltime'] == 'infin' ? " selected = 'selected'" : null) . ">Бессрочное</option>"
. "<option value = 'day'" . ($poll_new['polltime'] == 'day' ? " selected = 'selected'" : null) . ">1 День</option>"
. "<option value = '3days'" . ($poll_new['polltime'] == '3days' ? " selected = 'selected'" : null) . ">3 Дня</option>"
. "<option value = 'week'" . ($poll_new['polltime'] == 'week' ? " selected = 'selected'" : null) . ">1 Неделю</option>"
. "<option value = 'month'" . ($poll_new['polltime'] == 'month' ? " selected = 'selected'" : null) . ">1 Месяц</option>"
. "<option value = '3months'" . ($poll_new['polltime'] == '3months' ? " selected='selected'" : null) . ">3 Месяца</option>
</select><br />";
if (isset($_POST['multi']) && $_POST['multi'] == 1 || $poll_new['multi'] == 1) {
$multi = 1;
}
echo "<input id='multi' type='checkbox' name='multi' value='1'" . (isset($multi) ? " checked='checked'" : null) . "/>Выбор нескольких вариантов<br />";
echo "<button name='save' class = 'flat blue md'>Сохранить</button>";
echo "</form>";
echo "<div class = 'comm'><a href = '/modules/diary/$diary[id]/read'>" . img('left.png', '16') . " Назад</div>";
require_once H . 'sys/inc/tfoot.php';
exit;