Файл: vsime.com/diary/inc/act_create.php
Строк: 259
<?
if_user('is_reg');
if ($user['diary_time'] > $time)
{
$title .= ' - Ошибка'; //заголовок
ex_head();
$error[] = "Можно создавать только одну запись в минуту.";
show_errors();
ex_foot();
}
$links_hist['name'] = "$user[nick] / Дневник / Новая запись";
$title .= ' - Новая запись'; //заголовок
ex_head();
if(!isset($_SESSION['diary_new']))
{
$_SESSION['diary_new']=array();
$_SESSION['diary_new']['name']=NULL;
$_SESSION['diary_new']['text']=NULL;
$_SESSION['diary_new']['adult']=0;
$_SESSION['diary_new']['access']='all';
$_SESSION['diary_new']['komm']='all';
$_SESSION['diary_new']['tags']=NULL;
}
$diary_new=$_SESSION['diary_new'];
$array_access = array('all' => 'всем', 'only_me' => 'только мне', 'friends' => 'моим друзьям', 'pass' => 'только по паролю', 'auth' => 'только авторизированным');
if (isset($_GET['access']) && isset($_SESSION['diary_new']['access']))
{
if(isset($_POST['submited']))
{
if($_POST['access']=='pass')
{
if(strlen($_POST['password']) < $min_size_pass)$error[] = 'Введите пароль!';
if(strlen($_POST['password']) > $max_size_pass)$error[] = 'Пароль слишком длинный!';
}
if (!isset($error))
{
if (in_array($_POST['access'], array('all','only_me','friends','pass','auth')))$_SESSION['diary_new']['access'] = $_POST['access'];
$_SESSION['diary_new']['password'] = my_esc($_POST['password']);
header("Location: ?act=create");
exit;
}
}
show_errors();
echo "<form method='post' action=''>n";
echo "Запись доступна:<br />n";
foreach ($array_access AS $key => $value)
{
echo "<input type='radio' name='access' id='$key' value='$key'".($diary_new['access']==$key?" CHECKED":null)."/> <label for='$key'>".$config["code_status_$key"]." $array_access[$key]</label>".($key == 'pass'?": <input name='password' size='16' maxlength='$max_size_pass' type='text' value='".($diary_new['access']=='pass'?$diary_new['password']:null)."'/>":NULL)."<br />n";
}
echo "<input type='submit' name='submited' value='OK'/>n";
echo "</form>n";
ex_foot();
}
if (isset($_GET['komm']) && isset($_SESSION['diary_new']['komm']))
{
if (isset($_POST['submited']))
{
if(in_array($_POST['komm'],array('all','only_me','friends')))$_SESSION['diary_new']['komm']=$_POST['komm'];
header("Location: ?act=create");
exit;
}
echo "<form method='post' action=''>n";
echo "Комментирование разрешено:<br />n";
foreach ($array_access AS $key => $value)
{
if ($key != 'pass' && $key != 'auth')echo "<input type='radio' name='komm' id='$key' value='$key'".($diary_new['komm']==$key?" CHECKED":null)."/><label for='$key'>".$config["code_status_$key"]." $array_access[$key]</label><br />n";
}
echo "<input type='submit' name='submited' value='OK'/>n";
echo "</form>n";
ex_foot();
}
//-------CREATE DIARY-------\
if (isset($_POST['submited']) && isset($_POST['text']) && isset($_POST['name']) && isset($_POST['tags']))
{
if (hsc(@$_POST['mdp'])==$mdp)
{
$name = $_POST['name'];
$text = $_POST['text'];
$tags = $_POST['tags'];
if (strlen($name) > $max_size_name)$error[] = 'Тема слишком длинная.';
if (strlen(trim($text)) < $min_size_text)$error[] = 'Введит етекст записи.';
if (strlen($text) > $max_size_text)$error[] = 'Текст записи слишком длинный.';
$count_tags = 0;
$array_tags = explode(",", $tags);
foreach ($array_tags as $key => $tag) {
if ($tag)$count_tags++;
}
if ($count_tags > $max_size_tags)$error[] = 'Слишком много меток.';
$count_t = 0;
$array_tags = explode(",", $tags);
$tags = NULL;
foreach ($array_tags as $key => $tag)
{
if ($tag) {
$count_t++;
if (!$tags)$tags=$tag; else $tags = "$tags, $tag";
}
}
if (isset($_POST['adult']) && $_POST['adult']==1)$adult=1;else $adult=0;
if (isset($_SESSION['diary_new']['access']) && in_array($_SESSION['diary_new']['access'],array('all','only_me','friends','pass','auth')))$access=$_SESSION['diary_new']['access'];else $access='all';
if ($access=='pass')$password=$_SESSION['diary_new']['password'];else $password=NULL;
if (isset($_SESSION['diary_new']['komm']) && in_array($_SESSION['diary_new']['komm'],array('all','only_me','friends')))$komm = $_SESSION['diary_new']['komm'];else $komm='all';
if (isset($_SESSION['poll_diary_new']['oki'])) {
$poll=1;
$poll_text = $_SESSION['poll_diary_new']['text'];
$poll_timee = $_SESSION['poll_diary_new']['polltime'];
$poll_check = $_SESSION['poll_diary_new']['multi'];
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;
}
if (!isset($error))
{
mysqli_query($dbi, "UPDATE `user` SET `diary_time` = '".(time()+60)."' WHERE `id` = '$user[id]'");
mysqli_query($dbi, "INSERT INTO `diary` (`id_user`, `name`, `text`, `time`, `tags`, `access`, `adult`, `komm`, `password`".(isset($poll)?", `poll`, `poll_text`, `poll_time`, `poll_time_start`, `poll_timee`, `poll_check`":null).") values ('$user[id]', '".my_esc($name)."', '".my_esc($text)."', '$time', '".my_esc($tags)."', '$access', '$adult', '$komm', '".my_esc($password)."'".(isset($poll)?", '1', '".my_esc($poll_text)."', '$poll_time', '$time', '$poll_timee', '$poll_check'":null).")");
$diary_id=mysqli_insert_id($dbi);
if(isset($poll))
{
$var_num = 0;
foreach($_SESSION['poll_diary_new']['vars'] as $key => $value)
{
$var_num++;
mysqli_query($dbi, "INSERT INTO `diary_poll` (`id_diary`, `var`, `num`) VALUES ('$diary_id', '".my_esc($value)."', '$var_num')");
}
}
$query = mysqli_query($dbi, "SELECT * FROM `readers` WHERE `id_ank` = '$user[id]' AND `diary` = '1'");
while ($reader = mysqli_fetch_array($query))
{
$ank_reader = profile($reader['id_user']);
mysqli_query($dbi, "INSERT INTO `lenta` (`id_user`, `id_object`, `type`, `id_ank`, `time`) VALUES ('$ank_reader[id]', '$diary_id', 'diary', '$user[id]', '".($time)."')");
}
unset($_SESSION['diary_new']);
if(isset($_SESSION['poll_diary_new']))unset($_SESSION['poll_diary_new']);
header("Location: /diary/?act=diary&id=$diary_id");
exit;
}
} else hacked_by_Killer();
}
if(isset($_SESSION['poll_diary_new']['oki']))
{
echo "<div class='list_dr'>Опрос прикреплён. Теперь убедитесь, что вы заполнили остальные поля.</div>n";
}
if(isset($_POST['poll']))
{
if(isset($_POST['adult']) && $_POST['adult']==1)$_SESSION['diary_new']['adult']=1;else $_SESSION['diary_new']['adult']=0;
$_SESSION['diary_new']['name']=$_POST['name'];
$_SESSION['diary_new']['text']=$_POST['text'];
$_SESSION['diary_new']['tags']=$_POST['tags'];
header("Location: /polls/?act=new&case=diary");
exit;
} // Redirect to Create New Poll
if(isset($_POST['access']))
{
if(isset($_POST['adult']) && $_POST['adult']==1)$_SESSION['diary_new']['adult']=1;else $_SESSION['diary_new']['adult']=0;
$_SESSION['diary_new']['name']=$_POST['name'];
$_SESSION['diary_new']['text']=$_POST['text'];
$_SESSION['diary_new']['tags']=$_POST['tags'];
header("Location: ?act=create&access");
exit;
} // Redirect to edit Access
if(isset($_POST['komm']))
{
if(isset($_POST['adult']) && $_POST['adult']==1)$_SESSION['diary_new']['adult']=1;else $_SESSION['diary_new']['adult']=0;
$_SESSION['diary_new']['name']=$_POST['name'];
$_SESSION['diary_new']['text']=$_POST['text'];
$_SESSION['diary_new']['tags']=$_POST['tags'];
header("Location: ?act=create&komm");
exit;
} // Redirect to edit type of Komming
$diary_new=$_SESSION['diary_new'];
if(isset($_POST['name']))$dn=$_POST['name'];
else $dn=$diary_new['name'];
echo "<form method='post' action='' class='multi'>n";
echo "<div class='list'>n";
echo "Тема (".sklon_text($max_size_name,array('знак','знака','знаков')).")<br />n";
echo "<input style='width: 95%' type='text' name='name' size='18' maxlength='50' value='".input_value($dn)."' /><br/>n";
echo "</div>n";
input_bbs();
echo "<div class='list'>n";
echo "Запись (".sklon_text($max_size_text,array('знак','знака','знаков')).")<br/>n";
if(isset($_POST['text']))$dt=$_POST['text'];
else $dt=$diary_new['text'];
echo "<textarea id='textarea' name='text' rows='5' cols='17' style='width: 95%'>".input_value($dt)."</textarea><br/>n";
echo "</div>n";
echo "<div class='list'>n";
echo "Прикрепить к записи: n";
echo "<input class='trapar' type='submit' name='poll' value='Опрос'".(isset($_SESSION['poll_diary_new']['oki'])?" disabled='disabled'":NULL)."/>n";
echo "</div>n";
echo "<div class='list'>n";
if(isset($_POST['adult']) && $_POST['adult']==1 || $diary_new['adult']==1)$adult=1;
echo "<input type='checkbox' name='adult' id='adult_1' value='1'".(isset($adult)?" checked='checked'":null)."/> <label for='adult_1'>Только для взрослых</label><br />n";
echo "</div>n";
echo "<div class='list'>n";
if($diary_new['access']=='all')$access='всем';
elseif($diary_new['access']=='only_me')$access='только мне';
elseif($diary_new['access']=='friends')$access='моим друзьям';
elseif($diary_new['access']=='pass')$access="только по паролю";
elseif($diary_new['access']=='auth')$access='только авторизированным';
echo "<label for='access'>Запись доступна:</label> n";
echo "<input type='submit' name='access' value='$access' id='access' class='trapar'/><br/>n";
echo "</div>n";
echo "<div class='list'>n";
if($diary_new['komm']=='all')$komm='всем';
elseif($diary_new['komm']=='only_me')$komm='только мне';
elseif($diary_new['komm']=='friends')$komm='моим друзьям';
echo "<label for='komm'>Комментирование разрешено:</label> n";
echo "<input type='submit' name='komm' id='komm' value='$komm' class='trapar'/>n";
echo "</div>n";
echo "<div class='list'>n";
if(isset($_POST['tags']))$dt=$_POST['tags'];
else $dt=$diary_new['tags'];
echo "Добавить метки (через запятую):</span><br/>n";
echo "<input name='tags' value='".input_value($dt)."' style='width:80%'/><br/>n";
echo "<span class='alert'>Всего можно добавить не более ".sklon_text($max_size_tags,array('метки','метки','меток'))."</span><br/>n";
echo "</div>n";
echo "<div class='list'>n";
echo "<input type='submit' name='submited' value='Создать запись'/>n";
echo "<input type='submit' name='previewbtn' value='Предпросмотр'/>n";
echo "</div>n";
if(isset($_POST['previewbtn']) && isset($_POST['text']) && $_POST['text']!=NULL)
{
if(isset($_POST['adult']) && $_POST['adult']==1)$_SESSION['diary_new']['adult']=1;else $_SESSION['diary_new']['adult']=0;
$_SESSION['diary_new']['name']=$_POST['name'];
$_SESSION['diary_new']['text']=$_POST['text'];
$_SESSION['diary_new']['tags']=$_POST['tags'];
echo "<div class='quote' style='padding: 8px;margin: 0; border-radius: 0;'>n";
echo "<b>Предпросмотр:</b><br/>n";
echo output_text($_POST['text'], $user['id'])."</div>n";
echo "</div>n";
}
echo "<input type='hidden' name='mdp' value='".$mdp."'/>n";
echo "</form>n";
echo "<div class='foot'>n";
echo image_back()."<a href='/diary/?act=user&id=$user[id]'>Назад</a>n";
echo "</div>";
ex_foot();
?>