Файл: include/anss.php
Строк: 418
<?
if(!$authorize AND $AuthorAnonim)
{
$f = intval($_GET['f']);
$ip = empty($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['REMOTE_ADDR'] : $_SERVER['HTTP_X_FORWARDED_FOR'] ;
$ip = htmlspecialchars(sql($ip));
$user = htmlspecialchars(sql($_SERVER['HTTP_USER_AGENT']));
$query = mysql_query("SELECT themes.*, forums.name AS fname
FROM themes, forums
WHERE themes.id=".$f."
AND themes.id_forum=forums.id");
$data = mysql_fetch_assoc($query);
if(mysql_num_rows($query) < 1)
{
if($version == "wml")
{
header('Content-type: text/vnd.wap.wml; charset=utf-8');
header("Cache-Control: no-cache");
echo(doctype("Ошибка").$tag.'
Темы не существует! <br />
-
<a href="./?p=0&v=wml">Форумы</a> '.$tagC.'
</p></card></wml>');
} elseif($version == "xhtml")
{
header("Content-type: text/html; charset=utf-8");
header("Last-Modified:".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-cache, must-relative");
echo('<html>
<head>
<title>Ошибка</title>
</head>
<body bgcolor="'.$style['background'].'" link="'.$style['link'].'" vlink="'.$style['link'].'" text="#000000">
<table align="center" border="0" cellspacing="1" cellpadding="5" width="350">
<tr><td align="center" bgcolor="'.$style['title'].'">
<font color="#FFFFFF"><b>Ошибка</b></font>
</td></tr>
<tr><td bgcolor="'.$style['text'].'">'.$tag.'
Темы не существует!
'.$tagC.'</td></tr>
<tr><td bgcolor="'.$style['bottom'].'">'.$tag.'
<a href="./?p=0&v=xhtml">Форумы</a>
'.$tagC.'</td></tr></table>
</body></html>');
}
} elseif($data['close'] == "on")
{
if($version == "wml")
{
header('Content-type: text/vnd.wap.wml; charset=utf-8');
header("Cache-Control: no-cache");
echo(doctype("Ошибка").$tag.'
Темы закрыта! <br />
<anchor>Назад<prev /></anchor><br />
<a href="./?p=0&v=wml">Форумы</a>
'.$tagC.'
</p></card></wml>');
} elseif($version == "xhtml")
{
header("Content-type: text/html; charset=utf-8");
header("Last-Modified:".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-cache, must-relative");
echo('<html>
<head>
<title>Ошибка</title>
</head>
<body bgcolor="'.$style['background'].'" link="'.$style['link'].'" vlink="'.$style['link'].'" text="#000000">
<table align="center" border="0" cellspacing="1" cellpadding="5" width="350">
<tr><td align="center" bgcolor="'.$style['title'].'">
<font color="#FFFFFF"><b>Ошибка</b></font>
</td></tr>
<tr><td bgcolor="'.$style['text'].'">'.$tag.'
Тема закрыта!
'.$tagC.'</td></tr>
<tr><td bgcolor="'.$style['bottom'].'">'.$tag.'
<a href="./?p=0&v=xhtml">Форумы</a>
'.$tagC.'</td></tr></table>
</body></html>');
}
}
elseif(ban($user, $ip))
{
if($version == "wml")
{
header('Content-type: text/vnd.wap.wml; charset=utf-8');
header("Cache-Control: no-cache");
echo(doctype("Ошибка").$tag.'
Ошибка! Вы заблокированы модератором '.$modername.'. <br />
Причина: '.$banmess.'! <br />
-
<a href="'.$_SERVER['HTTP_REFERER'].'">Назад</a><br />
<a href="./?p=0&v=wml">Форумы</a>
'.$tagC.'</p></card></wml>');
} elseif($version == "xhtml")
{
header("Content-type: text/html; charset=utf-8");
header("Last-Modified:".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-cache, must-relative");
echo('<html>
<head>
<title>Ошибка</title>
</head>
<body bgcolor="'.$style['background'].'" link="'.$style['link'].'" vlink="'.$style['link'].'" text="#000000">
<table align="center" border="0" cellspacing="1" cellpadding="5" width="350">
<tr align="center" bgcolor="'.$style['title'].'"><td colspan="2">
<font color="#FFFFFF"><b>Ошибка</b></font>
<tr bgcolor="'.$style['text'].'"><td colspan="2">'.$tag.'Вы заблокированы модератором '.$modername.'</td></tr>
<tr bgcolor="'.$style['text'].'"><td>'.$tag.'Причина:'.$tagC.'</td><td>'.$tag.$banmess.$tagC.'</td></tr>
<tr bgcolor="'.$style['bottom'].'"><td colspan="2">'.$tag.'
<a href="./?p=0&v=xhtml">Форумы</a>
'.$tagC.'</td></tr></table>
</body></html>');
}
}
else
{
if(empty($_POST['ans']))
{
if($version == "wml")
{
header('Content-type: text/vnd.wap.wml; charset=utf-8');
header("Cache-Control: no-cache");
echo(doctype("Ответ на тему").$tag.'
<b>Ответить на тему в "'.$data['fname'].'" </b><br /> <br />
Имя: <input type="text" name="author" maxlength="10" />
<br />
Тема: ['.$data['tname'].'] <br />
Сообщение: <br />'.$tagC.'
<input type="text" name="mess'.$ref.'" maxlength="500" /><br /><anchor>[Ответить]
<go href="./?p=30&v=wml&f='.$f.'" method="post">
<postfield name="mess" value="$(mess'.$ref.')" />');
echo('Транслит:<br />
<select name="transl">
<option value="0">Нет</option>
<option value="1">Да</option>
</select>');
echo('
<postfield name="mess" value="$(mess'.$ref.')" />
<postfield name="transl" value="$(transl'.$ref.')" />
<postfield name="ans" value="true" />
</go></anchor><br />'.$tag.'
<a href="./?p=14&v=wml&f=4">Смайлы</a><br />
<a href="./?p=4&v=wml&t='.$f.'">В тему</a><br />
<a href="./?p=2&v=wml&f='.$data['id_forum'].'">В «'.$data['fname'].'»</a><br />
<a href="./?p=0&v=wml">Форумы</a>
'.$tagC.'</p></card></wml>');
} elseif($version == "xhtml")
{
header("Content-type: text/html; charset=utf-8");
header("Last-Modified:".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-cache, must-relative");
echo('<html>
<head>
<title>Ответ на тему</title>
</head>
<body bgcolor="'.$style['background'].'" link="'.$style['link'].'" vlink="'.$style['link'].'" text="#000000">
<form action="./?p=30&v=xhtml&sid='.$sid.'&f='.$f.'" method="post">
<table align="center" border="0" cellspacing="1" cellpadding="5" width="350">
<tr><td align="center" bgcolor="'.$style['title'].'" colspan="2">
<font color="#FFFFFF"><b>Ответ на тему</b></font>
</td></tr>
<tr bgcolor="'.$style['bottom'].'"><td colspan="2"><b>Ответить на тему в "'.$data['fname'].'"</b></td></tr>
<tr bgcolor="#deebf1"><td colspan="2"></td></tr>
<tr bgcolor="'.$style['text'].'"><td>'.$tag.'Имя:'.$tagC.'</td><td><input type="text" name="author" maxlength="10" /></td></tr>
<tr bgcolor="'.$style['text'].'"><td>'.$tag.'Тема:'.$tagC.'</td><td>'.$tag.'[Re: '.$data['tname'].']'.$tagC.'</td></tr>
<tr bgcolor="'.$style['text'].'"><td>'.$tag.'Сообщение:'.$tagC.'</td><td><textarea name="mess" cols="30" rows="5"></textarea></td></tr>');
echo('<tr bgcolor="'.$style['text'].'"><td nowrap>'.$tag.'Транслит:'.$tagC.'</td>
<td><select name="transl">
<option value="0">Нет</option>
<option value="1">Да</option>
</select></td></tr>');
echo('
<tr bgcolor="'.$style['text'].'"><td align="center" colspan="2">
<input type="hidden" name="ans" value="true">
<input type="submit" value="Ответить" /></td></tr>
<tr bgcolor="'.$style['bottom'].'"><td colspan="2">'.$tag.'
<a href="./?p=14&v=xhtml&f=4">Смайлы</a><br />
<a href="./?p=4&v=xhtml&t='.$f.'">В тему</a><br />
<a href="./?p=2&v=xhtml&f='.$data['id_forum'].'">В «'.$data['fname'].'»</a><br />
<a href="./?p=0&v=xhtml">Форумы</a>
'.$tagC.'</td></tr></table>
</form>
</body></html>');
}
} else
{
$message = $_POST['mess'];
$transl=sql(htmlspecialchars(trim(chop($_POST['transl']))));
$username=sql(htmlspecialchars(trim(chop($_POST['author']))));
$username=translatenick($username);
if($transl == "1")
{
$message = translate($message);
}
$message = preg_replace("|[rn]+|", " rn", $message);
$message = preg_replace("|[n]+|", "n", $message);
$message = sql(htmlspecialchars(trim(chop(cutString($message, 1024)))));
$message = preg_replace_callback("|<(d{1,20})>|", "smile", $message);
if(strpos($message, "http://") !== false)
{
$message = preg_replace("|(http://[^s]+)|i", "<a href="go/?\1">\1</a>", $message);
}
else if(strpos($message, "HTTP://") !== false)
{
$message = preg_replace("|(HTTP://[^s]+)|i", "<a href="go/?\1">\1</a>", $message);
}
$R = mysql_query("SELECT * FROM `posts`
WHERE `name`='".$username."'
AND `id_theme`=".$f);
$aR = mysql_fetch_array($R);
$postR=$aR['post'];
if(!preg_match("|^[-a-z0-9а-яё_!?№#;:%^&*()+=~|\/ @.,[]{}"'<>s]*$|iu", $message) or empty($message))
{
if($version == "wml")
{
header('Content-type: text/vnd.wap.wml; charset=utf-8');
header("Cache-Control: no-cache");
echo(doctype("Ответ на тему").$tag.'
<b>Ответить в тему в "'.$data['fname'].'"</b><br /> <br />
<b>Поле "Сообщение" пустое или содержит плохие символы! </b><br />
Имя: <input type="text" name="author" maxlength="10" /> <br />
Тема: ['.$data['tname'].'] <br />
Сообщение: '.$tagC.'<br />
<input type="text" name="mess'.$ref.'" maxlength="600" /><br />');
echo($tag.'Транслит:'.$tagC.'<br />
<select name="transl'.$ref.'" value="0">
<option value="0">Нет</option>
<option value="1">Да</option>
</select><br />');
echo('
<anchor>[Ответить]
<go href="./?p=30&v=wml&f='.$f.'" method="post">
<postfield name="mess" value="$(mess'.$ref.')" />');
echo('<postfield name="transl" value="$(transl'.$ref.')" />');
echo('
<postfield name="ans" value="true" />
</go></anchor><br />
'.$tag.'
<a href="./?p=14&v=wml&f=4">Смайлы</a><br />
<a href="./?p=4&v=wml&t='.$f.'">В тему</a><br />
<a href="./?p=2&v=wml&f='.$data['id_forum'].'">В «'.$data['fname'].'»</a><br />
<a href="./?p=0&v=wml">Форумы</a>
'.$tagC.'</p></card></wml>');
} elseif($version == "xhtml")
{
header("Content-type: text/html; charset=utf-8");
header("Last-Modified:".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-cache, must-relative");
echo('<html>
<head>
<title>Ответ на тему</title>
</head>
<body bgcolor="'.$style['background'].'" link="'.$style['link'].'" vlink="'.$style['link'].'" text="#000000">
<form action="./?p=30&v=xhtml&f='.$f.'" method="post">
<table align="center" border="0" cellspacing="1" cellpadding="5" width="350">
<tr><td align="center" bgcolor="'.$style['title'].'" colspan="2">
<font color="#FFFFFF"><b>Ответ на тему</b></font>
</td></tr>
<tr bgcolor="'.$style['bottom'].'"><td colspan="2">
<b>Ответить на тему в "'.$data['fname'].'"</b>
</td></tr>
<tr bgcolor="#deebf1"><td colspan="2">'.$tag.'<b>Ошибка!!! Поле "Сообщение" пустое или содержит плохие символы!</b>'.$tagC.'</td></tr>
<tr bgcolor="'.$style['text'].'"><td>'.$tag.'Имя:'.$tagC.'</td><td><input type="text" name="author" maxlength="10" /></td></tr>
<tr bgcolor="'.$style['text'].'"><td>'.$tag.'Тема:'.$tagC.'</td><td>'.$tag.'[Re: '.$data['tname'].']'.$tagC.'</td></tr>
<tr bgcolor="'.$style['text'].'"><td>'.$tag.'Сообщение:'.$tagC.'</td><td><textarea name="mess" cols="30" rows="5"></textarea></td></tr>');
echo('<tr bgcolor="'.$style['text'].'"><td nowrap>Транслит:</td>
<td><select name="transl">
<option value="0">Нет</option>
<option value="1">Да</option>
</select></td></tr>');
echo('
<tr bgcolor="'.$style['text'].'"><td align="center" colspan="2">
<input type="hidden" name="ans" value="true">
<input type="submit" value="Ответить" /></td></tr>
<tr bgcolor="'.$style['bottom'].'"><td colspan="2">'.$tag.'
<a href="./?p=14&v=xhtml&f=4">Смайлы</a><br />
<a href="./?p=4&v=xhtml&t='.$f.'">В тему</a><br />
<a href="./?p=2&v=xhtml&f='.$data['id_forum'].'">В «'.$data['fname'].'»</a><br />
<a href="./?p=0&v=xhtml">Форумы</a>
'.$tagC.'</td></tr></table>
</form>
</body></html>');
}
}
elseif(mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE username='".$username."'"), 0) > 0)
{
if($version == "wml")
{
header('Content-type: text/vnd.wap.wml; charset=utf-8');
header("Cache-Control: no-cache");
echo(doctype("Ответ на тему").$tag.'
<b>Ответить в тему в "'.$data['fname'].'"</b><br /> <br />
<b>Ошибка!!! Для использования этого имени необходима авторизация! </b><br />
Имя: <input type="text" name="author" maxlength="10" /> <br />
Тема: ['.$data['tname'].'] <br />
Сообщение: '.$tagC.'<br />
<input type="text" name="mess'.$ref.'" maxlength="600" /><br />');
echo($tag.'Транслит:'.$tagC.'<br />
<select name="transl'.$ref.'" value="0">
<option value="0">Нет</option>
<option value="1">Да</option>
</select><br />');
echo('
<anchor>[Ответить]
<go href="./?p=30&v=wml&f='.$f.'" method="post">
<postfield name="mess" value="$(mess'.$ref.')" />');
echo('<postfield name="transl" value="$(transl'.$ref.')" />');
echo('
<postfield name="ans" value="true" />
</go></anchor><br />
'.$tag.'
<a href="./?p=14&v=wml&f=4">Смайлы</a><br />
<a href="./?p=4&v=wml&t='.$f.'">В тему</a><br />
<a href="./?p=2&v=wml&f='.$data['id_forum'].'">В «'.$data['fname'].'»</a><br />
<a href="./?p=0&v=wml">Форумы</a>
'.$tagC.'</p></card></wml>');
} elseif($version == "xhtml")
{
header("Content-type: text/html; charset=utf-8");
header("Last-Modified:".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-cache, must-relative");
echo('<html>
<head>
<title>Ответ на тему</title>
</head>
<body bgcolor="'.$style['background'].'" link="'.$style['link'].'" vlink="'.$style['link'].'" text="#000000">
<form action="./?p=30&v=xhtml&f='.$f.'" method="post">
<table align="center" border="0" cellspacing="1" cellpadding="5" width="350">
<tr><td align="center" bgcolor="'.$style['title'].'" colspan="2">
<font color="#FFFFFF"><b>Ответ на тему</b></font>
</td></tr>
<tr bgcolor="'.$style['bottom'].'"><td colspan="2">
<b>Ответить на тему в "'.$data['fname'].'"</b>
</td></tr>
<tr bgcolor="#deebf1"><td colspan="2">'.$tag.'<b>Ошибка!!! Для использования этого имени необходима авторизация</b>'.$tagC.'</td></tr>
<tr bgcolor="'.$style['text'].'"><td>'.$tag.'Имя:'.$tagC.'</td><td><input type="text" name="author" maxlength="10" /></td></tr>
<tr bgcolor="'.$style['text'].'"><td>'.$tag.'Тема:'.$tagC.'</td><td>'.$tag.'[Re: '.$data['tname'].']'.$tagC.'</td></tr>
<tr bgcolor="'.$style['text'].'"><td>'.$tag.'Сообщение:'.$tagC.'</td><td><textarea name="mess" cols="30" rows="5"></textarea></td></tr>');
echo('<tr bgcolor="'.$style['text'].'"><td nowrap>Транслит:</td>
<td><select name="transl">
<option value="0">Нет</option>
<option value="1">Да</option>
</select></td></tr>');
echo('
<tr bgcolor="'.$style['text'].'"><td align="center" colspan="2">
<input type="hidden" name="ans" value="true">
<input type="submit" value="Ответить" /></td></tr>
<tr bgcolor="'.$style['bottom'].'"><td colspan="2">'.$tag.'
<a href="./?p=14&v=xhtml&f=4">Смайлы</a><br />
<a href="./?p=4&v=xhtml&t='.$f.'">В тему</a><br />
<a href="./?p=2&v=xhtml&f='.$data['id_forum'].'">В «'.$data['fname'].'»</a><br />
<a href="./?p=0&v=xhtml">Форумы</a>
'.$tagC.'</td></tr></table>
</form>
</body></html>');
}
}
elseif(!preg_match("|^[<>@[] -._0-9a-zA-Zа-яА-Я]+$|u", $username) or strlen($username) > 20)
{
if($version == "wml")
{
header('Content-type: text/vnd.wap.wml; charset=utf-8');
header("Cache-Control: no-cache");
echo(doctype("Ответ на тему").$tag.'
<b>Ответить в тему в "'.$data['fname'].'"</b><br /> <br />
<b>Поле "Имя" пустое или содержит плохие символы! </b><br />
Имя: <input type="text" name="author" maxlength="10" /> <br />
Тема: ['.$data['tname'].'] <br />
Сообщение: '.$tagC.'<br />
<input type="text" name="mess'.$ref.'" maxlength="600" /><br />');
echo($tag.'Транслит:'.$tagC.'<br />
<select name="transl'.$ref.'" value="0">
<option value="0">Нет</option>
<option value="1">Да</option>
</select><br />');
echo('
<anchor>[Ответить]
<go href="./?p=30&v=wml&f='.$f.'" method="post">
<postfield name="mess" value="$(mess'.$ref.')" />');
echo('<postfield name="transl" value="$(transl'.$ref.')" />');
echo('
<postfield name="ans" value="true" />
</go></anchor><br />
'.$tag.'
<a href="./?p=14&v=wml&f=4">Смайлы</a><br />
<a href="./?p=4&v=wml&t='.$f.'">В тему</a><br />
<a href="./?p=2&v=wml&f='.$data['id_forum'].'">В «'.$data['fname'].'»</a><br />
<a href="./?p=0&v=wml">Форумы</a>
'.$tagC.'</p></card></wml>');
} elseif($version == "xhtml")
{
header("Content-type: text/html; charset=utf-8");
header("Last-Modified:".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-cache, must-relative");
echo('<html>
<head>
<title>Ответ на тему</title>
</head>
<body bgcolor="'.$style['background'].'" link="'.$style['link'].'" vlink="'.$style['link'].'" text="#000000">
<form action="./?p=30&v=xhtml&f='.$f.'" method="post">
<table align="center" border="0" cellspacing="1" cellpadding="5" width="350">
<tr><td align="center" bgcolor="'.$style['title'].'" colspan="2">
<font color="#FFFFFF"><b>Ответ на тему</b></font>
</td></tr>
<tr bgcolor="'.$style['bottom'].'"><td colspan="2">
<b>Ответить на тему в "'.$data['fname'].'"</b>
</td></tr>
<tr bgcolor="#deebf1"><td colspan="2">'.$tag.'<b>Ошибка!!! Поле "Имя" пустое или содержит плохие символы!</b>'.$tagC.'</td></tr>
<tr bgcolor="'.$style['text'].'"><td>'.$tag.'Имя:'.$tagC.'</td><td><input type="text" name="author" maxlength="10" /></td></tr>
<tr bgcolor="'.$style['text'].'"><td>'.$tag.'Тема:'.$tagC.'</td><td>'.$tag.'[Re: '.$data['tname'].']'.$tagC.'</td></tr>
<tr bgcolor="'.$style['text'].'"><td>'.$tag.'Сообщение:'.$tagC.'</td><td><textarea name="mess" cols="30" rows="5"></textarea></td></tr>');
echo('<tr bgcolor="'.$style['text'].'"><td nowrap>Транслит:</td>
<td><select name="transl">
<option value="0">Нет</option>
<option value="1">Да</option>
</select></td></tr>');
echo('
<tr bgcolor="'.$style['text'].'"><td align="center" colspan="2">
<input type="hidden" name="ans" value="true">
<input type="submit" value="Ответить" /></td></tr>
<tr bgcolor="'.$style['bottom'].'"><td colspan="2">'.$tag.'
<a href="./?p=14&v=xhtml&f=4">Смайлы</a><br />
<a href="./?p=4&v=xhtml&t='.$f.'">В тему</a><br />
<a href="./?p=2&v=xhtml&f='.$data['id_forum'].'">В «'.$data['fname'].'»</a><br />
<a href="./?p=0&v=xhtml">Форумы</a>
'.$tagC.'</td></tr></table>
</form>
</body></html>');
}
}
elseif(strtolower($postR) == strtolower($message))
{
header("Location: ".$forumdir."p=2&f=".$data['id_forum']."&v=".$version);
}
else
{
if(mysql_result(
mysql_query("SELECT COUNT(*)
FROM `posts`
WHERE `name` = '$username'
AND `id_theme` = ".$f."
AND `crc32` = ".crc32($message)), 0))
{
header("Location: ".$forumdir."p=2&f=".$data['id_forum']."&v=".$version);
exit();
}
mysql_query("UPDATE `themes`
SET `time`=".time()." WHERE `id`=".$f);
mysql_query("INSERT INTO `posts` VALUES(0, '".$username."', '".$message."', ".crc32($message).", ".$f.", ".time().", '".$user."', '".$ip."')");
header("Location: ".$forumdir."p=2&f=".$data['id_forum']."&v=".$version);
}
}
}
}
?>