- <?
- if(!$authorize AND $AuthorAnonim)
- {
- $f = intval($_GET['f']);
- @$back = mysql_fetch_assoc(mysql_query("SELECT name, id FROM `forums` WHERE id=".$f));
- $ip = empty($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['REMOTE_ADDR'] : $_SERVER['HTTP_X_FORWARDED_FOR'] ;
- $ip = htmlspecialchars(addslashes($ip));
- $user = htmlspecialchars(sql($_SERVER['HTTP_USER_AGENT']));
- if(!mysql_result(mysql_query("SELECT COUNT(*) FROM forums WHERE id=".$f), 0))
- {
- 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>
- <tr bgcolor="'.$style['text'].'"><td>'.$tag.'Ошибка! Подфорума не существует! '.$tagC.' </td></tr>
- <tr bgcolor="'.$style['bottom'].'"><td>'.$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['nt']))
- {
- $r = "";
- for($i=0; $i<strlen($username); $i++)
- {
- $r .= "_";
- }
- if($version == "wml")
- {
- header("Content-type: text/vnd.wap.wml; charset=utf-8");
- header("Cache-Control: no-cache");
- echo(doctype("Новая тема").$tag.'
- <b>Добавить тему в "'.$back['name'].'"</b><br /> <br />
- Имя: <input type="text" name="author" maxlength="10" /><br />
- Тема: '.$tagC.'<br />
- <input type="text" name="topic'.$ref.'" /><br />
- '.$tag.'Сообщение:'.$tagC.' <br />
- <input type="text" name="mess'.$ref.'" maxlength="600" /><br />');
- echo($tag.'Транслит: '.$tagC.'<br />
- <select name="transl'.$ref.'">
- <option value="0">Нет</option>
- <option value="1">Да</option>
- </select><br />
- <img src="./img.php?rnd='.$ref.'" alt="" /><br />
- <a href="./?p=31&v=wml&f='.$f.'&rnd='.$ref.'">[Обновить код]</a><br />
- Введите число на картинке сверху: <input type="text" name="code" value="" maxlength="5" size="5" /><br />');
- echo('<anchor>[Добавить]
- <go href="./?p=31&v=wml&f='.$f.'&rnd='.$ref.'" method="post">
- <postfield name="mess" value="$(mess'.$ref.')" />
- <postfield name="topic" value="$(topic'.$ref.')" />
- <postfield name="transl" value="$(transl'.$ref.')" />
- <postfield name="code" value="$(code'.$ref.')" />
- <postfield name="nt" value="1" />
- </go></anchor><br />
- '.$tag.'-
- <a href="./?p=14&v=wml&f=4">Смайлы</a><br />
- <a href="./?p=2&v=wml&f='.$f.'">Назад в «'.$back['name'].'»</a><br />
- '.$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=31&v=xhtml&f='.$f.'&rnd='.$ref.'" 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>'.$tag.'Добавить тему в "'.$back['name'].'"'.$tagC.'</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><input type="text" name="topic"></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>
- <tr bgcolor="'.$style['text'].'"><td></td><td><img src="./img.php?rnd='.$ref.'" alt="" /><br />
- <a href="./?p=31&v=xhtml&f='.$f.'&rnd='.$ref.'">[Обновить код]</a></td></tr>
- <tr bgcolor="'.$style['text'].'"><td>'.$tag.'Введите число на картинке сверху:'.$tagC.'</td><td><input type="text" name="code" value="" maxlength="5" size="5" /><br /></td></tr>
- <tr bgcolor="'.$style['text'].'"><td align="center" colspan="2">
- <input type="hidden" name="nt" value="1">
- <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=2&v=xhtml&f='.$back['id'].'">Назад в «'.$back['name'].'»</a><br />
- '.$tagC.'</td></tr></table>
- </form>
- </body></html>');
- }
- } else
- {
- $error = "";
- $topic = $_POST['topic'];
- $transl = sql(trim(htmlspecialchars(chop($_POST['transl']))));
- $username = sql(trim(htmlspecialchars(chop($_POST['author']))));
- $code = file_get_contents("./codes/".$_GET['rnd'].".txt");
- $_POST['code'] = htmlspecialchars($_POST['code']);
- if($transl == "1")
- {
- $topic = translate($topic);
- $message = translate($message);
- }
- $topic = cutString($topic, 256);
- $topic = sql(trim(htmlspecialchars(chop($topic))));
- $topic = preg_replace("|[\r\n]+|", "\r\n", $topic);
- $topic = preg_replace("|[\n]+|", "\n", $topic);
- $message = $_POST['mess'];
- $message = preg_replace("|[\r\n]+|", " \r\n", $message);
- $message = preg_replace("|[\n]+|", "\n", $message);
- $message = sql(htmlspecialchars(trim(chop(cutString($message, 1024)))));
- $message = preg_replace_callback("|<(\d{1,20})>|", "smile", $message);
- $sesss = mysql_query("SELECT * FROM `users` WHERE `username`='".$username."'");
- $sesRR = mysql_fetch_array($sesss);
- $upd = $sesRR['upd'];
- $rz = time() - $upd;
- if(!preg_match("|^[<>@\[\] -\.\_0-9a-zA-Zа-яА-Я]+$|u", $username) or strlen($username) > 20)
- {
- $error .= "Ошибка!!! Поле \"Имя\" пустое или содержит плохие символы <br />";
- }
- if(empty($topic))
- {
- $error .= "Ошибка!!! Поле \"Тема\" не заполнено <br />";
- } if(!preg_match("|^[-a-z0-9а-яё_!?№#;:%^&*()+=~\|\\\/ @.,\[\]\{\}\"'<>]*$|iu", $topic))
- {
- $error .= "Ошибка!!! Тема содержит плохие символы <br />";
- } if(empty($message))
- {
- $error .= "Ошибка!!! Поле \"Сообщение\" не заполнено <br />";
- } if(!preg_match("|^[-a-z0-9а-яё_!?№#;:%^&*()+=~\|\\\/ @.,\[\]\{\}\"'<>\s]*$|iu", $message))
- {
- $error .= "Ошибка!!! Сообщение содержит плохие символы <br />";
- } if(empty($_POST['code']) or $_POST['code'] != $code)
- {
- $error .= "Ошибка!!! Неверно введен код из 5ти цифр с картинки<br />";
- }
- 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);
- }
- if(mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE username='".$username."'"), 0) > 0)
- {
- $error .= "Ошибка!!! Для использования этого имени необходима авторизация <br />";
- }
- if ($rz <= 3600) {
- $error .= "Не стоит создавать столько тем! <br />";
- }
- if(!empty($error))
- {
- unlink('./codes/'.$_GET['rnd'].'.txt');
- $r = "";
- for($i=0; $i<strlen($username); $i++)
- {
- $r .= "_";
- }
- if($version == "wml")
- {
- header("Content-type: text/vnd.wap.wml; charset=utf-8");
- header("Cache-Control: no-cache");
- echo(doctype("Новая тема").$tag.$error.'
- <b>Добавить тему в "'.$back['name'].'"</b><br /> <br />
- Имя: <input type="text" name="author" maxlength="10" /><br />
- Тема:'.$tagC.' <br />
- <input type="text" name="topic'.$ref.'" /><br />
- '.$tag.'Сообщение:'.$tagC.' <br />
- <input type="text" name="mess'.$ref.'" maxlength="600" /><br />');
- echo($tag.'Транслит: '.$tagC.'<br />
- <select name="transl'.$ref.'">
- <option value="0">Нет</option>
- <option value="1">Да</option>
- </select><br />
- <img src="./img.php?rnd='.$ref.'" alt="" />
- <br />
- <a href="./?p=31&v=wml&f='.$f.'&rnd='.$ref.'">[Обновить код]</a><br />
- Введите число на картинке сверху: <input type="text" name="code" value="" maxlength="5" size="5" /><br />');
- echo('
- <anchor>[Добавить]
- <go href="./?p=31&v=wml&f='.$f.'&rnd='.$ref.'" method="post">
- <postfield name="mess" value="$(mess'.$ref.')" />
- <postfield name="transl" value="$(transl'.$ref.')" />
- <postfield name="topic" value="$(topic'.$ref.')" />
- <postfield name="code" value="$(code'.$ref.')" />
- <postfield name="nt" value="1" />
- </go></anchor><br />
- '.$tag.'-
- <a href="./?p=14&v=wml&f=4">Смайлы</a><br />
- <a href="./?p=2&v=wml&f='.$f.'">Назад в '.$back['name'].'</a><br />
- '.$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=31&v=xhtml&f='.$f.'&rnd='.$ref.'" 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>'.$tag.'Добавить тему в "'.$back['name'].'"'.$tagC.'</b></td></tr>
- <tr bgcolor="#deebf1"><td colspan="2">'.$tag.'<b>'.$error.'</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><input type="text" name="topic"></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></td><td><img src="./img.php?rnd='.$ref.'" alt="" /><br />
- <a href="./?p=31&v=xhtml&f='.$f.'&rnd='.$ref.'">[Обновить код]</a></td></tr>
- <tr bgcolor="'.$style['text'].'"><td>'.$tag.'Введите число на картинке сверху:'.$tagC.'</td><td><input type="text" name="code" value="" maxlength="5" size="5" /><br /></td></tr>
- <tr bgcolor="'.$style['text'].'"><td align="center" colspan="2">
- <input type="hidden" name="nt" value="1">
- <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=2&v=xhtml&f='.$back['id'].'">Назад в '.$back['name'].'</a><br />
- '.$tagC.'
- </td></tr>
- </table>
- </form>
- </body></html>');
- }
- } else
- {
- unlink('./codes/'.$_GET['rnd'].'.txt');
- if(mysql_result(
- mysql_query("SELECT COUNT(*)
- FROM `themes`
- WHERE `tname` = '".$topic."'
- AND `name` = '".$username."'"), 0))
- {
- header("Location: ".$forumdir."p=2&v=".$version."&f=".$f);
- exit();
- }
- {
- $SQL = "INSERT INTO `themes` VALUES(0, '".$topic."', '".$username."', 'off', ".$f.", ".time().", 1, 0, '')";
- }
- mysql_query($SQL);
- mysql_query("INSERT INTO `posts` VALUES (0, '".$username."', '".$message."', ".crc32($message).", '".mysql_insert_id()."', '".time()."', '".$user."', '".$ip."')");
- header("Location: ".$forumdir."p=2&v=".$version."&f=".$f);
- }
- }
- }
- }
- ?>