Файл: modules/forum/newtema.php
Строк: 323
<?php
########################################
## WAP-ENGINE ##
########################################
## ##
## Автор : CHUMA (Токарев Владимир) ##
## e-mail : crazychuma@gmail.com ##
## WAP : http://wap-engine.ru ##
## ##
########################################
## ВЫ НЕ ИМЕЕТЕ ПРАВО ##
## ИЗМЕНЯТЬ КОД СКРИПТА ##
## ДЛЯ ДАЛЬНЕЙШЕГО РАСПРОСТРАНЕНИЯ! ##
########################################
include ('../../config.php');
include ('../../templates/run.php');
include ('../../templates/func.php');
$title_page = '| Создание новой темы';
$m_polozhenie = 'На форуме создает тему';
####################
$id = filter($_GET['id']);
$str = filter($_GET['str']);
$str_r = filter($_GET['str_r']);
$razdel_data = '../../data/forum/razdel.php';
$razdel_f = file($razdel_data);
$podrazdel_data = '../../data/forum/podrazdel.php';
$podrazdel_f = file($podrazdel_data);
$podrazdel_count = count($podrazdel_f);
$razdel_arr = explode("|","$razdel_f[$str_r]");
$podrazdel_arr = explode("|","$podrazdel_f[$str]");
$temy_data = '../../data/forum/podrazdel/'.$id.'.php';
$temy_f = @file($temy_data);
$temy_count = count($temy_f);
####################
if(empty($_GET['act']))
{
include ("../../themes/$themes.php");
echo'<p class="modul_name"><a href="index.php?'.session_name().'='.session_id().'">Форум</a> » <a href="index.php?act=showrazdel&str_r='.$str_r.'&'.session_name().'='.session_id().'">'.$razdel_arr[1].'</a> » <a href="index.php?act=showforum&id='.$podrazdel_arr[0].'&str='.$str.'&str_r='.$str_r.'&'.session_name().'='.session_id().'">'.$podrazdel_arr[2].'</a></p>';
if(isset($_SESSION['pass']) && isset($passw) && $_SESSION['pass'] == $passw)
{
if($_GET['err'] == 1)
{
echo'<p class="err">Ошибка!!! Вы не ввели название темы.</p>';
}
if($_GET['err'] == 2)
{
echo'<p class="err">Ошибка!!! Вы не ввели текст сообщения.</p>';
}
if($_GET['err'] == 3)
{
echo'<p class="err">Ошибка!!! Название темы более 150 символов или содержит недопустимые символы.</p>';
}
if($_GET['err'] == 4)
{
echo'<p class="err">Ошибка!!! Текст сообщения более 3000.</p>';
}
if($_GET['err'] == 5)
{
echo"<p class="err">Ошибка!!! Вас забанил $banwho за $bantxt! Окончание бана: $bantime[6]$bantime[7].$bantime[4]$bantime[5].$bantime[0]$bantime[1]$bantime[2]$bantime[3] в $bantime[8]$bantime[9]:$bantime[10]$bantime[11] по времени сервера.</p>";
}
echo"<p align="center">Создание новой темы</p>";
if($_GET['help'] == 'podpis')
{
echo'<p class="b">Помощь. Если вы подпишетесь на тему, то при каждом ответе в теме вам в личные сообщения будут приходить уведомления, о новых ответах. Вы также сможете в любой момент отписаться от темы.</p>';
}
echo"<form method="post" action="newtema.php?act=add&id=$id&str=$str&str_r=$str_r&".session_name()."=".session_id()."">";
echo"<p class="b">Название темы:<br /><input name="tema" maxlength="150" value="" /><br />
<input type="checkbox" name="tematrans" value="1" /> Транслит названия<br />";
echo"Сообщение:<br /><textarea rows="4" cols="15" name="msg"></textarea><br /><input type="checkbox" name="msgtrans" value="1" /> Транслит сообщения<br />";
echo"<input type="checkbox" name="podpis" value="1" /> Подписаться на тему <a href="newtema.php?id=$id&str=$str&str_r=$str_r&help=podpis&".session_name()."=".session_id()."">[?]</a><br />";
echo"<input value="Создать" name="do" type="submit" /></p></form>";
echo "<p><a href="newtema.php?id=$id&str=$str&str_r=$str_r&act=smile&".session_name()."=".session_id()."">Смайлы</a><br />
<a href="newtema.php?id=$id&str=$str&str_r=$str_r&act=trans&".session_name()."=".session_id()."">Транслит</a><br />
<a href="newtema.php?id=$id&str=$str&str_r=$str_r&act=bbcodes&".session_name()."=".session_id()."">BB коды</a></p>";
echo'<p><br /><a href="index.php?'.session_name().'='.session_id().'">В форум</a></p>';
}
else
{
echo"<p class="err">Вы не авторизованы!!! Войдите в личный кабинет.<br /></p>";
echo"<p><a href="../kabinet/index.php?".session_name()."=".session_id()."">В кабинет</a><br /></p>";
}
include ("../../templates/foot.php");
}
####################
if($_GET['act'] == "add")
{
if (isset($_SESSION['pass']) && isset($passw) && $_SESSION['pass'] == $passw)
{
$tema = filter($_POST['tema']);
$msg = filter($_POST['msg']);
$msg = str_replace('|', '', $msg);
if($_POST['tematrans']==1)
{
$tema = tr_to_win($tema);
}
if($_POST['msgtrans']==1)
{
$msg = tr_to_win($msg);
}
$time = date("H:i:s", time() + $sdvigclock*3600);
$date = date("d.m.Y", time() + $sdvigclock*3600);
$date_now = date ("YmdHis", time() + $sdvigclock*3600);
if($bantime > $date_now)
{
$errb = "2";
}
if(!empty($podrazdel_arr[3]) && $_SESSION['passrazd'] != trim($podrazdel_arr[3]))
{
include ("../../themes/$themes.php");
echo'<p class="err">Внимание!!! Данный раздел под паролем.<br /></p>';
echo'<form method="post" action="vhod.php?id='.$id.'&str='.$str.'&str_r='.$str_r.'&'.session_name().'='.session_id().'">';
echo'<p class="b">Пароль:<br /><input name="passrazd" maxlength="10" value="" /><br />';
echo'<input value="Войти" name="do" type="submit" /></p></form>';
echo'<p><a href="index.php?'.session_name().'='.session_id().'">В форум</a><br /></p>';
include ('../../templates/foot.php');
exit;
}
if(empty($tema))
{
header ('location: newtema.php?id='.$id.'&str='.$str.'&str_r='.$str_r.'&err=1&'.session_name().'='.session_id().'');
exit;
}
elseif(empty($msg))
{
header ('location: newtema.php?id='.$id.'&str='.$str.'&str_r='.$str_r.'&err=2&'.session_name().'='.session_id().'');
exit;
}
elseif(!preg_match("/^[-a-zA-Zа-яА-ЯЁё0-9_.,:;!?"'{}[]+=&%$#@*<> ()]{0,150}$/u", $tema))
{
header ('location: newtema.php?id='.$id.'&str='.$str.'&str_r='.$str_r.'&err=3&'.session_name().'='.session_id().'');
exit;
}
elseif(strlen($msg) > 3000 && $status > 3)
{
header ('location: newtema.php?id='.$id.'&str='.$str.'&str_r='.$str_r.'&err=4&'.session_name().'='.session_id().'');
exit;
}
elseif($errb == "2")
{
header ('location: newtema.php?id='.$id.'&str='.$str.'&str_r='.$str_r.'&err=5&'.session_name().'='.session_id().'');
exit;
}
$msg = smiles($msg);
$msg = antimat($msg);
$msg = bbcodes($msg);
$msg = stripslashes($msg);
$msg = str_replace('
', '<br />', $msg);
for($i=2; $i < $temy_count - 2; $i++)
{
$temy_n = explode('|', $temy_f[$i]);
$n[] = $temy_n[0];
}
$max_num = @max($n);
$temy_n_str = @implode('|', $n);
$temy_n_str = '|'.$temy_n_str.'|';
if($temy_count - 4 < $max_num)
{
for($i=1; $i <= $max_num; $i++)
{
if(!strstr($temy_n_str, "|$i|"))
{
$num = $i;
}
}
}
else
{
$num = $max_num + 1;
}
$back = @file_get_contents("$temy_data");
$back = str_replace('<?php
/*', '', $back);
$back = str_replace('*/
?>', '', $back);
$back = trim($back);
if(!empty($back))
{
$str_put = "<?phprn/*rn$num|$login|$date|$time|$tema|||$login|1rn".$back."rn*/rn?>";
}
else
{
$str_put = "<?phprn/*rn$num|$login|$date|$time|$tema|||$login|1rn*/rn?>";
}
write_to_file($temy_data, $str_put);
$last_tem_f = @file("../../data/forum/last_temy.php");
@array_splice($last_tem_f, 0, 2);
@array_splice($last_tem_f, -2, 2);
$last_tem_arr[] = "$num|$str|$str_r|$login|$date|$time|$tema";
for($l=0; $l < 19; $l++)
{
if(!empty($last_tem_f[$l]))
{
$last_tem_arr[] = trim($last_tem_f[$l]);
}
}
if(!empty($last_tem_arr))
{ $last_temy_str = trim(implode("rn", $last_tem_arr)); } else
{ $last_temy_str = ''; }
$str_put = "<?phprn/*rn$last_temy_strrn*/rn?>";
write_to_file('../../data/forum/last_temy.php', $str_put);
$tem_data = '../../data/forum/temy/'.$id.'_'.$num.'.php';
write_to_file($tem_data, "<?phprn/*rn$login|$date|$time|$msgrn*/rn?>");
for($i=2; $i < $podrazdel_count - 2; $i++)
{
$pod_str = explode('|', $podrazdel_f[$i]);
if($pod_str[0] == $podrazdel_arr[0])
{
$tem_all = $pod_str[4] + 1;
$mes_all = $pod_str[5] + 1;
$pod_arr[] = trim($pod_str[0]).'|'.trim($pod_str[1]).'|'.trim($pod_str[2]).'|'.trim($pod_str[3]).'|'.$tem_all.'|'.$mes_all;
}
else
{
$pod_arr[] = trim($podrazdel_f[$i]);
}
}
$pod_n_str = trim(implode("rn", $pod_arr));
$pod_put = "<?phprn/*rn$pod_n_strrn*/rn?>";
write_to_file($podrazdel_data, $pod_put);
###
$last_mes_f = @file('../../data/forum/last_mes.php');
@array_splice($last_mes_f, 0, 2);
@array_splice($last_mes_f, -2, 2);
$last_mes_arr[] = $num.'|'.$str.'|'.$str_r.'|'.$login.'|'.$date.'|'.$time.'|'.$tema.'|1';
for($l=0; $l < 100; $l++)
{
$last_mes_arr2 = explode('|', $last_mes_f[$l]);
if(!empty($last_mes_f[$l]) && $last_mes_arr2[0] != $id || $last_mes_arr2[1] != $str || $last_mes_arr2[2] != $str_r)
{
$last_mes_arr[] = trim($last_mes_f[$l]);
}
}
if(!empty($last_mes_arr))
{ $last_mes_str = trim(implode("rn", $last_mes_arr)); } else
{ $last_mes_str = ''; }
$str_put = "<?phprn/*rn$last_mes_strrn*/rn?>";
write_to_file('../../data/forum/last_mes.php', $str_put);
###
if($_POST['podpis']==1)
{
write_to_file('../../data/forum/temy/'.$id.'_'.$num.'_podpiska.php', "<?phprn/*rn$loginrn*/rn?>");
}
$mes_forum = $mes_forum + 1;
$rating = $rating + 1;
$all_temes = $all_temes + 1;
if($rating == 10 && $status == '5')
{
$status = '4';
}
$str_to_user_file = str_user_data(); # Строка данных пользователя находится в файле templates/func.php
write_to_file('../../data/users/'.$login.'.php', "<?phprn/*rn$str_to_user_filern*/rn?>");
header ("Location: showtema.php?id=$num&str=$str&str_r=$str_r&".session_name()."=".session_id()."");
}
else
{
include ("../../themes/$themes.php");
echo"<p class="err">Вы не авторизованы!!! Войдите в личный кабинет.<br /></p>";
echo"<p><a href="../kabinet/index.php?".session_name()."=".session_id()."">В кабинет</a><br /></p>";
include ("../../templates/foot.php");
}
}
####################
if ($_GET['act'] == 'smile')
{
include ("../../themes/$themes.php");
$sm_dir = opendir("../../sm");
while ($file = readdir($sm_dir))
{
if($file != "Thumbs.db" && $file != ".." && $file != ".")
{
$smiles[] = "$file";
}
}
closedir ($sm_dir);
sort($smiles);
$count = count($smiles);
$kolsm = 10;
$stranic = ceil($count/$kolsm);
if(empty($_GET["page"]))
{
$page_get = 1;
}
else
{
$page_get = filter($_GET['page']);
}
if($page_get < 0)
{
$page_get = 1;
}
if($page_get > $stranic)
{
$page_get = $stranic;
}
$do = $kolsm * ($page_get - 1);
$end = $kolsm * $page_get;
$page_nazad = $page_get - 1;
$page_dalee = $page_get + 1;
echo '<p class="modul_name">Доступные смайлы<br /></p>';
echo "<p class="b">";
for ($i = $do; $i < $end; $i++)
{
if(!empty($smiles[$i]))
{
$smile = explode(".", $smiles[$i]);
echo "<img src="../../sm/$smile[0].$smile[1]" alt=":$smile[0]" /> - :$smile[0]<br />";
}
}
echo "</p>";
echo "<p align="center" class="d">";
echo "Страницы:";
echo "<br />";
if($page_get > 4)
{
echo "<a href="newtema.php?act=smile&id=$num&str=$str&str_r=$str_r&page=1&".session_name()."=".session_id()."">1</a>...";
}
$start_1 = $page_get - 3;
$end_1 = $page_get - 1;
if($start_1 < 1)
{
$start_1 = 1;
}
for($i = $start_1; $i <= $end_1; $i++)
{
echo"<a href="newtema.php?act=smile&id=$num&str=$str&str_r=$str_r&page=$i&".session_name()."=".session_id()."">$i</a> ";
}
echo"$page_get";
$start_2 = $page_get + 1;
$end_2 = $page_get + 3;
if($start_2 < 1)
{
$start_2 = 1;
}
if($end_2 > $stranic)
{
$end_2 = $stranic;
}
for($i = $start_2; $i <= $end_2; $i++)
{
echo" <a href="newtema.php?act=smile&id=$num&str=$str&str_r=$str_r&page=$i&".session_name()."=".session_id()."">$i</a>";
}
if($stranic > $page_get && $page_get < ($stranic-3))
{
echo "...<a href="newtema.php?act=smile&id=$num&str=$str&str_r=$str_r&page=$stranic&".session_name()."=".session_id()."">$stranic</a>";
}
echo "<br />";
if($page_get > 1)
{
echo "<a href="newtema.php?act=smile&id=$num&str=$str&str_r=$str_r&page=$page_nazad&".session_name()."=".session_id()."">Назад</a>";
}
echo " | ";
if($stranic > $page_get)
{
echo "<a href="newtema.php?act=smile&id=$num&str=$str&str_r=$str_r&page=$page_dalee&".session_name()."=".session_id()."">Дальше</a>";
}
echo "<br />";
echo "</p>";
echo "<p>Всего $count смайлов<br /><br /></p>";
echo "<p><a href="newtema.php?id=$num&str=$str&str_r=$str_r&".session_name()."=".session_id()."">К созданию темы</a></p>";
echo "<p><a href="index.php?".session_name()."=".session_id()."">В форум</a></p>";
include ("../../templates/foot.php");
}
####################
if ($_GET[act]=="trans")
{
include ("../../themes/$themes.php");
echo '<p class="modul_name">Правила транслита<br /></p>';
echo "<p class="b">";
echo "
а - a<br />
б - b<br />
в - v<br />
г - g<br />
д - d<br />
е - e<br />
ё - yo<br />
ж - zh<br />
з - z<br />
и - i<br />
й - j<br />
к - k<br />
л - l<br />
м - m<br />
н - n<br />
о - o<br />
п - p<br />
р - r<br />
с - s<br />
т - t<br />
у - u<br />
ф - f<br />
х - h<br />
ц - c<br />
ч - ch<br />
ш - sh<br />
щ - sch<br />
ъ - q<br />
ы - x<br />
ь - '<br />
э - ye<br />
ю - yu<br />
я - ya<br /><br />
А - A<br />
Б - B<br />
В - V<br />
Г - G<br />
Д - D<br />
Е - E<br />
Ё - YO<br />
Ж - ZH<br />
З - Z<br />
И - I<br />
Й - J<br />
К - K<br />
Л - L<br />
М - M<br />
Н - N<br />
О - O<br />
П - P<br />
Р - R<br />
С - S<br />
Т - T<br />
У - U<br />
Ф - F<br />
Х - H<br />
Ц - C<br />
Ч - CH<br />
Ш - SH<br />
Щ - SCH<br />
Ъ - Q<br />
Ы - X<br />
Э - YE<br />
Ю - YU<br />
Я - YA<br />
</p>";
echo "<p><a href="newtema.php?id=$num&str=$str&str_r=$str_r&".session_name()."=".session_id()."">К созданию темы</a></p>";
echo "<p><a href="index.php?".session_name()."=".session_id()."">В форум</a></p>";
include ("../../templates/foot.php");
}
####################
if($_GET[act] == "bbcodes")
{
include ("../../themes/$themes.php");
echo '<p class="modul_name">BB коды<br /></p>';
bbcodes('show_list_bbcodes');
echo "<p><a href="newtema.php?id=$num&str=$str&str_r=$str_r&".session_name()."=".session_id()."">К созданию темы</a></p>";
echo "<p><a href="index.php?".session_name()."=".session_id()."">В форум</a></p>";
include ("../../templates/foot.php");
}
####################
?>