File size: 14.34Kb
<?php
########################################
## WAP-ENGINE ##
########################################
## ##
## Автор : CHUMA (Токарев Владимир) ##
## e-mail : [email protected] ##
## WAP : http://wap-engine.ru ##
## ##
########################################
## ВЫ НЕ ИМЕЕТЕ ПРАВО ##
## ИЗМЕНЯТЬ КОД СКРИПТА ##
## ДЛЯ ДАЛЬНЕЙШЕГО РАСПРОСТРАНЕНИЯ! ##
########################################
include ('../../config.php');
include ('../../templates/run.php');
include ('../../templates/func.php');
$title_page = 'Отправка сообщения';
$m_polozhenie = 'Пишет сообщение';
####################
$pm_flood = '../../data/flood_pm.txt';
$pm_flood_list = file($pm_flood);
$flood_time = time();
$ip = filter($_SERVER['REMOTE_ADDR']);
if(isset($_SESSION['sespass']) && isset($passw) && $_SESSION['sespass'] == $passw)
{
$komu = filter($_GET['nick']);
if(empty($_GET['send']))
{
include '../../themes/'.$themes.'.php';
if ($portal=='off')
{
echo'<p align="center">'.$offmes.'</p>';
}
if ($portal=='on')
{
echo'<p class="modul_name" align="center">Отправка сообщения</p>';
# Ошибка! Антифлуд
if($_GET['err'] == 'flood')
{
$flood_sec = 0;
foreach ($pm_flood_list as $key => $string)
{
$flood_arr = explode('|', $string);
if(trim($flood_arr[0]) == $ip && trim($flood_arr[1]) + $antiflood_pm >= $flood_time)
{
$flood_sec = (trim($flood_arr[1]) + $antiflood_pm) - $flood_time;
break;
}
}
echo"<p class=\"err\">Флуд!!! Вы слишком часто пишите сообщения. Письма можно писать один раз в $antiflood_pm сек. Подождите еще $flood_sec сек.</p>";
}
# Ошибка! Антифлуд
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\">Ошибка!!! Пользователя, которому вы собираетесь отправить сообщение, нет в базе данных.</p>";
}
if($_GET['err'] == 8)
{
echo"<p class=\"err\">Ошибка!!! Вы занесены в список игнорируемых этого пользователя.</p>";
}
if($_GET['err'] == 4)
{
echo"<p class=\"err\">Ошибка!!! Нельзя отправлять сообщения самому себе.</p>";
}
if($_GET['err'] == 5)
{
echo"<p class=\"err\">Ошибка!!! У получателя переполнен ящик \"входящие\". Сообщение не отправленно!</p>";
}
if($_GET['err'] == 6)
{
echo"<p class=\"err\">Ошибка!!! У вас переполнен ящик \"исходящие\". Сообщение не отправленно!</p>";
}
if($_GET['err'] == 7)
{
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"<form method=\"post\" action=\"send_privat.php?send=1&".session_name()."=".session_id()."\"><p class=\"b\">";
if(!empty($_GET['nick']))
{
echo"Кому(логин):<br /><input name=\"komu\" maxlength=\"20\" value=\"$komu\" /><br />";
}
else
{
echo"Кому(логин):<br /><input name=\"komu\" maxlength=\"20\" value=\"\" /><br />";
}
echo"Сообщение:<br /><textarea rows=\"4\" cols=\"15\" name=\"msg\"></textarea><br />";
if($trans == '1')
{
echo"<input type=\"checkbox\" name=\"msgtrans\" value=\"1\" /> Транслит<br />";
}
echo"<input value=\"Отправить\" type=\"submit\" /></p></form>";
echo"<p><a href=\"send_privat.php?send=smile&nick=$komu&".session_name()."=".session_id()."\">Смайлы</a> |
<a href=\"send_privat.php?send=trans&nick=$komu&".session_name()."=".session_id()."\">Транслит</a> |
<a href=\"send_privat.php?send=bbcodes&nick=$komu&".session_name()."=".session_id()."\">Теги</a><br /><br />
<a href=\"index.php?".session_name()."=".session_id()."\">В кабинет</a><br /></p>";
}
include('../../templates/foot.php');
}
####################
if(@$_GET['send'] == 1)
{
$komu = filter($_POST['komu']);
$msg = filter($_POST['msg']);
$nicks = file('../../data/nicks.php');
$count_nicks = count($nicks);
$count_nicks = $count_nicks - 2;
$user_est = 0;
for($i=2; $i <= $count_nicks; $i++)
{
if($komu == trim($nicks[$i]))
{
$user_est = 1;
break;
}
}
$date_now = date ('YmdHis', time() + ($sdvigclock*3600));
if($bantime > $date_now)
{
$errb = 2;
}
$ignor_f = @file("../../data/users/$komu"."_ignor.php");
$ignor_count = count($ignor_f);
$ignored_est = 0;
for($i=2; $i < $ignor_count - 2; $i++)
{
if(strstr($ignor_f[$i], "$login"))
{
$ignored_est = 1;
break;
}
}
if(!empty($komu) and $user_est != 0)
{
$inbox_f = @file("../../data/inbox/$komu.php");
$outbox_f = @file("../../data/outbox/$login.php");
$inbox_count = count($inbox_f) - 2;
$outbox_count = count($outbox_f) - 2;
}
# Проверка на флуд
$flood = 0;
foreach ($pm_flood_list as $key => $string)
{
$flood_arr = explode('|', $string);
if(trim($flood_arr[0]) == $ip && trim($flood_arr[1]) + $antiflood_pm >= $flood_time)
{
$flood = 1;
break;
}
}
# Проверка на флуд
if(empty($komu))
{
header("Location: send_privat.php?err=1&".session_name()."=".session_id()."");
}
elseif(empty($msg))
{
header("Location: send_privat.php?err=2&".session_name()."=".session_id()."");
}
elseif($user_est == 0)
{
header("Location: send_privat.php?err=3&".session_name()."=".session_id()."");
}
elseif($ignored_est == 1)
{
header("Location: send_privat.php?err=8&".session_name()."=".session_id()."");
}
elseif($komu == $login)
{
header("Location: send_privat.php?err=4&".session_name()."=".session_id()."");
}
elseif($inbox_count >= $kolmesls + 2)
{
header("Location: send_privat.php?err=5&".session_name()."=".session_id()."");
}
elseif($outbox_count >= $kolmesls + 2)
{
header("Location: send_privat.php?err=6&".session_name()."=".session_id()."");
}
elseif($errb == 2)
{
header("Location: send_privat.php?err=7&".session_name()."=".session_id()."");
}
elseif($flood == 1)
{
header("Location: send_privat.php?nick=$komu&err=flood&".session_name()."=".session_id()."");
}
else
{
$date = date("d.m.Y / H:i:s", time() + ($sdvigclock*3600));
if ($_POST['msgtrans'] == 1)
{
$msg = tr_to_win($msg);
}
$msg = smiles($msg);
$msg = antimat($msg);
$msg = bbcodes($msg);
$msg = str_replace("\r\n", '<br />', $msg);
$mes_to_inbox_file = "$login|$date|$msg|1\r\n";
for($i=2; $i < $inbox_count; $i++)
{
$mes_to_inbox_file .= $inbox_f[$i];
}
$mes_to_inbox_file = trim($mes_to_inbox_file);
$mes_to_outbox_file = "$komu|$date|$msg|\r\n";
for($i=2; $i < $outbox_count; $i++)
{
$mes_to_outbox_file .= $outbox_f[$i];
}
$mes_to_outbox_file = trim($mes_to_outbox_file);
write_to_file('../../data/inbox/'.$komu.'.php', "<?php\r\n/*\r\n$mes_to_inbox_file\r\n*/\r\n?>");
write_to_file('../../data/outbox/'.$login.'.php', "<?php\r\n/*\r\n$mes_to_outbox_file\r\n*/\r\n?>");
user_data('../../data/users/'.$komu.'.php'); # Считывание данных пользователя находится в файле templates/func.php
$new_ls = $new_ls + 1;
$str_to_user_file = str_user_data(); # Строка данных пользователя находится в файле templates/func.php
write_to_file('../../data/users/'.$komu.'.php', "<?php\r\n/*\r\n$str_to_user_file\r\n*/\r\n?>");
# Запись в базу антифлуда
$flood_list_new = $ip.'|'.$flood_time."\r\n";
foreach ($pm_flood_list as $key => $string)
{
$flood_arr = explode('|', $string);
if(trim($flood_arr[0]) != $ip && trim($flood_arr[1]) + $antiflood_pm >= $flood_time)
{
$flood_list_new .= trim($flood_arr[0]).'|'.trim($flood_arr[1])."\r\n";
}
}
write_to_file($pm_flood, $flood_list_new);
# Запись в базу антифлуда
header ("Location: index.php?send=1&".session_name()."=".session_id()."");
}
}
}
else
{
include '../../themes/'.$themes.'.php';
if ($portal=='off')
{
echo'<p align="center">'.$offmes.'</p>';
}
if ($portal=='on')
{
echo"<p class=\"b\">Вы не авторизованы!!! Войдите в личный кабинет.<br /></p>";
}
include '../../templates/foot.php';
}
####################
if($_GET['send'] == 'smile')
{
include '../../themes/'.$themes.'.php';
if ($portal=='off')
{
echo'<p align="center">'.$offmes.'</p>';
}
if ($portal=='on')
{
$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 = 7;
$stranic = ceil($count/$kolsm);
if(empty($_GET['page']))
{
$page_get = 1;
}
else
{
$page_get = htmlspecialchars(stripslashes($_GET['page']));
}
$do = $kolsm * ($page_get - 1);
$end = $kolsm * $page_get;
$page_nazad = $page_get - 1;
$page_dalee = $page_get + 1;
echo '<p class="modul_name">Доступные смайлы</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=\"send_privat.php?send=smile&page=1&nick=$komu&".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=\"send_privat.php?send=smile&page=$i&nick=$komu&".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=\"send_privat.php?send=smile&page=$i&nick=$komu&".session_name()."=".session_id()."\">$i</a>";
}
if($stranic > $page_get && $page_get < ($stranic-3))
{
echo "...<a href=\"send_privat.php?send=smile&page=$stranic&nick=$komu&".session_name()."=".session_id()."\">$stranic</a>";
}
echo "<br />";
if($page_get > 1)
{
echo "<a href=\"send_privat.php?send=smile&page=$page_nazad&nick=$komu&".session_name()."=".session_id()."\">Назад</a>";
}
echo " | ";
if($stranic > $page_get)
{
echo "<a href=\"send_privat.php?send=smile&page=$page_dalee&nick=$komu&".session_name()."=".session_id()."\">Дальше</a>";
}
echo "<br />";
echo "</p>";
echo "<p>Всего $count смайлов<br /><br /></p>";
echo "<p><a href=\"send_privat.php?nick=$komu&".session_name()."=".session_id()."\">К отправке сообщения</a></p>";
echo "<p><a href=\"./index.php?".session_name()."=".session_id()."\">В кабинет</a></p>";
}
include'../../templates/foot.php';
}
####################
if($_GET['send'] == 'trans')
{
include '../../themes/'.$themes.'.php';
if ($portal=='off')
{
echo'<p align="center">'.$offmes.'</p>';
}
if ($portal=='on')
{
echo '<p class="modul_name">Правила транслита</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=\"send_privat.php?nick=$komu&".session_name()."=".session_id()."\">К отправке сообщения</a></p>";
echo "<p><a href=\"./index.php?".session_name()."=".session_id()."\">В кабинет</a></p>";
}
include'../../templates/foot.php';
}
####################
if($_GET['send'] == 'bbcodes')
{
include '../../themes/'.$themes.'.php';
if ($portal=='off')
{
echo'<p align="center">'.$offmes.'</p>';
}
if ($portal=='on')
{
echo '<p class="modul_name">BB коды</p>';
bbcodes('show_list_bbcodes');
echo "<p><a href=\"send_privat.php?nick=$komu&".session_name()."=".session_id()."\">К отправке сообщения</a></p>";
echo "<p><a href=\"./index.php?".session_name()."=".session_id()."\">В кабинет</a></p>";
}
include('../../templates/foot.php');
}
####################
?>