Начел сам переписывать релиз-визард для трешки.
Вот код
Код: Выделить всё
<?php
#
# Release wizard for PHPBB Bittorent Tracker (TorrentPier)
# Copyright (c) by pservit
# Support forum: http://www.torrentpier.info/viewtopic.php?t=15
#
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('');
####
# include release-wizard config
$VERSION = '2.0';
include($phpbb_root_path .'release_cfg.php');
####
if ( ! function_exists('array_map_recursive') ) {
function array_map_recursive($function, $data)
{
foreach ( $data as $i => $item ) {
$data[$i] = is_array($item) ? array_map_recursive($function, $item) : $function($item) ;
}
return $data ;
}
}
if ( get_magic_quotes_gpc() ) {
$_GET = array_map_recursive('stripslashes', $_GET) ;
$_POST = array_map_recursive('stripslashes', $_POST) ;
$_COOKIE = array_map_recursive('stripslashes', $_COOKIE) ;
$_REQUEST = array_map_recursive('stripslashes', $_REQUEST) ;
}
$user_id = $user->data['user_id'];
$what = isset($_REQUEST['what']) ? $_REQUEST['what'] : '';
$fid = (isset($_REQUEST['fid'])) ? intval($_REQUEST['fid']) : '';
$step = (isset($_REQUEST['step'])) ? intval($_REQUEST['step']) : 0;
$page_title = "Новый релиз";
if($user_id > 0)
{
if($what == '') {
?>
<table width="100%" cellspacing="2" cellpadding="2" border="0">
<tr>
<td align="left" class="nav"><a href="index.php" class="nav">Список форумов tt.u-l.ru</a></td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="3" class="forumline">
<tr>
<th class="thHead" height="14"><b>Общие правила и положения</b></th>
</tr>
<tr bgcolor="white">
<td class="row1">
<br/>
<ul><span class="post_body"><div style="text-align: center; margin-top: 14px;"><b>Правила оформления раздач на трекере <a href="index.php">tt.u-l.ru</a></b></div><br />
<div style="width: 95%; text-align: left; margin-top: 14px;">
<ul>
<li>
Все создающие раздачу (выкладывающие файл для общедоступного скачивания) обязаны контролировать содержимое этой раздачи по качеству (к примеру, отсутствие звука в фильмах, неснятая защита в программах, неработоспособность программы и т.п.).
</li>
<li>
Данная конференция ведется на русском языке. Для не имеющих возможности писать кириллицей в форум встроена виртуальная русская клавиатура и транслит, кроме того в интернете существует целый ряд <a href="http://www.translit.ru">подобных сервисов</a>. Модераторы и администрация оставляют за собой право редактировать или удалять сообщения, написанные латиницей, без предупреждения.
</li>
<li>
Перед тем, как создавать раздачу, воспользуйтесь <a href="search.php">поиском</a> - возможно такая раздача уже существует.
</li>
<li>Если при оформлении раздачи фильма Вы указываете русское название, оно должно соответствовать названию под которым фильм выходил на территории Российской Федерации. Буквальный перевод оригинального названия не приветствуется. В названии темы должно быть название фильма на русском языке / на английском или на языке оригинала.</li>
<li>В раздаче должен обязательно присутствовать постер (как найти постер <a href="viewtopic.php?t=4674">можно прочитать здесь</a>).</li>
<li>Также Вы должны заполнить все графы в бланке по оформлению раздачи - продолжительность, перевод, страна, год создания фильма, режиссёр, актёры (в ролях), для чего Вы можете воспользоваться авторитетными сайтами о кинематографии, такими как - <a href="http://us.imdb.com">IMdB</a> либо <a href="http://www.videoguide.ru">VideoGuide</a>.</li>
<li>Обязательно должно присутствовать краткое описание того, что Вы выкладываете.</li>
<li>В одной раздаче разрешено выкладывать один фильм, альбом, программу, игру и т.д. Исключением являются: многосерийные фильмы, мультфильмы и сериалы, официальные сборники* и коллекционные издания*, и т.д.</li>
<br /><br />
* Окончательное решение по размещению принимает <font color="red">Модератор</font> или <font color="red">Администратор</font>.
</ul>
</div>
<div style="text-align: center; margin-top: 14px;"><b>Всем участникам раздач на данном трекере запрещается:</b></div><br />
<div style="width: 95%; text-align: left; margin-top: 13px;">
<ul>
<li>Выкладывать торренты с других ресурсов. Для каждой раздачи нужно создавать новый торрент, <b>приватный</b>, и с размером кусков не менее <b>2Мб</b>.</li>
<li>Создавать раздачу, дублирующую то, что уже существует на трекере. Дублирующей считается не отличающаяся ни по содержанию, ни по качеству информация.</li>
<li>Создавать раздачу, содержание которой нарушает общественные нормы морали, различные Базы Данных, отсутствующие в свободном законном доступе и т.п.</li>
<li>Создавать раздачу на общедоступных разделах трекера, которая содержит 18+ (порно, хентай и т.п.).</li>
<li>Выкладывать для общедоступного скачивания более пятиста раздач одновременно или по совокупности (исключение делается для пользователей с очень широким каналом, по личному разрешению Администрации). Пользователи, раздающие больше 500 раздач, будут предупреждаться. Если предупреждения не приведут к должному результату, то часть Ваших раздач будет приостановлена (а возможно, и удалена).</li>
<li>Использовать ссылки на постеры в интернет. Воспользуйтесь <a href="/forum/gallery.php">загрузкой картинок</a>.</li>
<li>В одной раздаче выкладывать несколько фильмов, альбомов разных исполнителей, программ, игр и и.д.
</ul>
<br />
<ul>
<li><b>Если Вы по каким-либо причинам не смогли сделать что-либо из вышеперечисленного - оформлять раздачу напрямую в тематических разделах запрещено, для этого существует <a href="viewforum.php?f=113">Тестовый форум</a>.</b></li>
</ul>
<br />
<ul>
<li>На оформление раздачи отводится 2 часа, если Вы неправильно оформили раздачу, то она переносятся Модераторами в Тестовый форум. Правильно оформленные раздачи, при появлении качающих или скачавших, автоматически блокируются для удаления. В течение 24 часов с момента оформления раздачи, у Вас есть возможность отредактировать текст сообщения, после чего тема полностью блокируется. Возможность редактирования и удаления темы остаётся лишь за Модераторами.</li>
</ul>
</ul>
</div>
<ul>
<div style="width: 95%; text-align: center; margin-top: 14px;">Решение по соответствию раздачи данным требованиям принимает <b><font color="red">Модератор</font></b> или <b><font color="red">Администратор</font></b>. В их полномочиях редактировать, перемещать, закрывать или удалять раздачу.</div>
</ul>
</span></ul>
<br />
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="1" cellpadding="3" class="forumline">
<tr>
<th class="thHead" height="25"><b>Что будете релизить ?</b></th>
</tr>
<tr bgcolor="white">
<td class="row2">
<br/>
<ul style="font-size: 14px">
<?php
foreach($config as $code => $cfg ) {
$gid = isset($cfg['only_for_group']) ? intval($cfg['only_for_group']) : 0;
if( $gid ) {
$gdata = "SELECT username, user_id
FROM ". USERS_TABLE ."";
if( !isset($gdata['user_id']) ) continue;
}
echo('<li><a href="?what='.($code).'">'.($cfg['title']).'</a></li>');
}
?>
</ul>
</td>
</tr>
</table>
<br/>
<small>Release-wizard v.<?php echo($VERSION); ?> for tt.u-l.ru <a href="/forum/profile.php?mode=viewprofile&u=2">Boec</a></small>
<br/>
<br/>
<?php
} else {
$cfg = $config[$what];
if(!$cfg) {
message_die(GENERAL_ERROR, 'Can\'t get config for this release type', '', __LINE__, __FILE__);
} else {
$cfg['db'] = $db;
$cfg['url'] = $url;
$cfg['user_id'] = $user_id;
$allow = 1;
$gid = isset($cfg['only_for_group']) ? intval($cfg['only_for_group']) : 0;
if( $gid ) {
$gdata = $db->fetch_row("SELECT user_id FROM " . USER_GROUP_TABLE . " WHERE user_id = $user_id AND group_id = $gid AND user_pending = 0");
if( !isset($gdata['user_id']) ) $allow = 0;
}
if($allow) {
if(!$step || !is_form_valid($cfg)) {
echo(get_release_form($cfg, $step));
} else {
echo(get_phpbb_code_form($cfg));
}
} else {
echo("Hello, world!");
}
}
}
} else {
?>
<br />
<table width="100%" border="0" cellspacing="1" cellpadding="3" class="forumline">
<tr>
<th class="thHead" height="25"><b>Ошибка</b></th>
</tr>
<tr>
<td class="row1" align="center"><br /><font color="#CC3333">Для создание релиза необходимо войти на сайт под своим именем.</font><br /><br /></td>
</tr>
</table>
<br />
<?php
}
function get_release_form($cfg, $step)
{
$forum_id = $cfg["forum_id"];
$title = $cfg["title"];
$fields = $cfg["fields"];
$subject_after = $cfg["subject_after"];
$subject_example = $cfg["subject_example"];
$what = isset($_REQUEST['what']) ? $_REQUEST['what'] : '';
$subject = isset($_REQUEST['subject']) ? $_REQUEST["subject"] : '';
$subject = str_replace("\"", "\\\"", $subject);
if( $subject == "" ) $subject = $subject_after;
$res = $cfg['db']->sql_query("select forum_id, forum_name from " . FORUMS_TABLE . " as u where forum_id=$forum_id ");
if (!$res) {
message_die(GENERAL_ERROR, 'Could not get forums list', '', __LINE__, __FILE__);
} else {
$forums = @$cfg['db']->sql_fetchrowset($res);
}
?>
<style type="text/css">
.rw_drop_btn, .rw_add_btn {
width: 24px;
font-weight: bold;
color: white;
background-color: #CC3333;
}
.rw_add_btn {
background-color: #33CC33;
}
</style>
<script language="JavaScript" src="release.js"></script>
<form method="post" name="post" enctype="multipart/form-data">
<input type="hidden" name="step" value="1">
<input type="hidden" name="what" value="<?php echo($what); ?>">
<table width="100%" border="0" cellspacing="1" cellpadding="3" class="forumline">
<SPAN style="FONT-WEIGHT: bold">
<BR><BR>
<table width="100%" border="0" cellspacing="1" cellpadding="3" class="forumline">
<tr>
<th class="thHead" colspan="2" height="25"><b><?php echo($title); ?></b></th>
</tr>
<tr bgcolor="white">
<td class="row1" align="right" width="15%"><b>Раздел:</b></td>
<td class="row2">
<?php
if( count($forums) == 1 ) {
echo("<input type=\"hidden\" name=\"f\" value=\"".($forums[0]['forum_id'])."\" />");
echo("<b>".($forums[0]['forum_name'])."</b>");
} else {
echo("<select name=\"f\">\n");
for($i = 0; $i < count($forums); ++$i) {
echo("<option value=\"".($forums[$i]['forum_id'])."\">".($forums[$i]['forum_name'])."</option>");
}
echo("</select>\n");
echo("<font color=\"#CC3333\"><b>«-- выберите правильный подфорум !!!</b></font>\n");
}
?>
</select>
</td>
</tr>
<tr bgcolor="white">
<td class="row1" align="right"><b>Название:</b></td>
<td class="row2">
<input type="text" name="subject" size="60" maxlength="120" value="" />
<?php
if($subject_after != '') {
echo("<small> $subject_after</small>");
}
if($subject_example != '') {
echo("<br /><font color=\"gray\"><small>Пример: $subject_example</small></font>");
}
?>
</td>
</tr>
<?php
$in_group = false;
$multiple_group = false;
$html = '';
$js = '';
for($i = 0; $i < count($fields); ++$i ) {
$name = isset($fields[$i]["name"]) ? $fields[$i]["name"] : '';
$type = isset($fields[$i]["type"]) ? $fields[$i]["type"] : '';
$multiple = isset($fields[$i]["multiple"]) ? $fields[$i]["multiple"] : 0;
$default = isset($fields[$i]["default"]) ? $fields[$i]["default"] : '';
$example = isset($fields[$i]["example"]) ? $fields[$i]["example"] : '';
$values = isset($fields[$i]["values"]) ? $fields[$i]["values"] : '';
$comment = isset($fields[$i]["comment"]) ? $fields[$i]["comment"] : '';
$value = ( isset($_REQUEST["f$i"]) && $_REQUEST["f$i"] != '') ? $_REQUEST["f$i"] : $default;
$group = isset($fields[$i]["group"]) ? ($fields[$i]["group"] ? 1 : -1) : '';
$size = isset($fields[$i]["size"]) ? $fields[$i]["size"] : 60;
$columns = isset($fields[$i]["columns"]) ? $fields[$i]["columns"] : 4;
// $validate = isset($fields[$i]["validate"]) ? $fields[$i]["validate"] : 0;
$field_name = "f$i";
if( $group == 1 ) {
$html .= ("<tr bgcolor=\"white\">\n");
$html .= ("<td class=\"row1\" align=\"right\">");
$html .= ("$name: ");
if($comment) $html .= ("<br /><small>".$comment."</small>");
$html .= ("</td><td class=\"row2\" style=\"font-size: 11px;\">");
$html .= ("<table cellpadding=\"0\" cellspacing=\"3\" border=\"0\"><tr>");
for($j = $i + 1; $i < count($fields) && !isset($fields[$j]["group"]); ++$j ) {
$html .= ("<td><small>");
$html .= ($fields[$j]["name"]);
$html .= ("</small></td>");
}
if( $multiple ) {
$multiple_group = true;
$html .= (" <td> </td>");
} else {
$multiple_group = false;
}
$html .= ("</tr><tr>");
$in_group = true;
} else if( $group == -1 ) {
$key = 'f'.($i - 1);
$html .= ("</td>");
if($multiple_group) {
$html .= ('<td><input class="rw_add_btn" name="insert_'.$key.'" type="button" onclick="mlAddVal(this);" value="+" /> <input class="rw_drop_btn" name="drop_'.$key.'" type="button" onclick="mlDropVal(this);" value="-" />');
$html .= ("<script>ml_vals['$key'] = new Array(); mlCheckForLast('$key');</script>");
$html .= "</td>";
}
$html .= "</tr></table>";
$html .= ("</td></tr>");
$in_group = false;
} else {
if(!$in_group) {
$html .= ("<tr bgcolor=\"white\">");
$html .= ("<td class=\"row1\" align=\"right\">");
$html .= ("<b>$name:</b> ");
if($comment) $html .= ("<br /><small>".$comment."</small>");
$html .= ("</td>\n\t<td class=\"row2\">\n\t\t");
} else {
$html .= ("<td>");
$field_name .= '[]';
}
if( $type == "text" ) {
$value = str_replace("\"", "\\\"", $value);
$html .= ("<input type=\"text\" name=\"$field_name\" size=\"".($size)."\" value=\"$value\">");
} if( $type == "variant" ) {
$value = str_replace("\"", "\\\"", $value);
$html .= ("<input type=\"text\" name=\"$field_name\" id=\"$field_name\" size=\"60\" value=\"$value\"> <input type=\"button\" onclick=\"showhide('v$field_name')\" value=\"показать/спрятать список\" />");
if( $values != '' ) {
$html .= ("<div id=\"v$field_name\" style=\"display: none\"><table class=\"row3\" cellpadding=\"3\" cellspacing=\"0\" border=\"0\">");
for($j = 0; $j < count($values); ++$j ) {
$v = $values[$j];
if($j % $columns == 0) $html .= ("<tr>");
$html .= ("<td width=\"".intval(100 / $columns)."%\"><input onchange=\"ch_var(this, $i)\" type=\"checkbox\" value=\"$v\" id=\"v$field_name-$j\"><label for=\"v$field_name-$j\">$v<label></td>");
if($j % $columns == ($columns - 1)) $html .= ("</tr>\n");
}
$html .= ("</table></div>");
}
} else if( $type == "textarea" ) {
$html .= ("<textarea rows=\"12\" cols=\"80\" style=\"width: 99%\" name=\"$field_name\">$value</textarea>");
} else if( $type == "textarea2" ) {
$html .= ("<textarea rows=\"2\" cols=\"80\" style=\"width: 99%\" name=\"$field_name\">$value</textarea>");
} else if( $type == "textarea3" ) {
$html .= ("<textarea rows=\"4\" cols=\"80\" style=\"width: 99%\" name=\"$field_name\">$value</textarea>");
} else if( $type == "image" ) {
$html .= ("<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\">");
$key = $field_name;
$n = $multiple ? $multiple : 1;
for($j = 0; $j < $n; ++$j) {
$html .= ("<tr><td><input type=\"file\" name=\"f".$i."[]\" size=\"70\" />");
if( $multiple ) {
$html .= ("</td><td>");
$html .= ('<input class="rw_add_btn" name="insert_'.$key.'" type="button" onclick="mlAddVal(this);" value="+" /> <input class="rw_drop_btn" name="drop_'.$key.'" type="button" onclick="mlDropVal(this);" value="-" />');
$html .= ("<script>ml_vals['$key'] = new Array( new Array(0, 'input', '') ); mlCheckForLast('$key');</script>");
}
$html .= ("</td></tr>");
}
$html .= ("</table>");
} else if( $type == "select" ) {
$html .= ("<select name=\"$field_name\">");
$html .= ("<option value=\"0\">--- Выберите ---</option>");
for($j = 1; $j <= count($values); ++$j) {
$html .= ("<option value=\"$j\"");
if($j == $value) { $html .= (" selected=\"selected\""); }
$html .= (">".$values[$j-1]."</option>");
}
$html .= ("</select>");
}
if($example && !$in_group) {
$html .= ("<br /><font color=\"gray\"><small>Например, \"$example\"</small></font>");
}
if(!$in_group) {
$html .= ("\n\t</td>\n");
$html .= ("</tr>\n");
} else {
$html .= ("</td>");
}
}
}
echo($html);
?>
<tr bgcolor="white">
<td class="row1" align="right"><b>Торрент</b>:</td>
<td class="row2">
<input type="file" name="torrent" size="65"><br>
Выберите торрент-файл, который будете использовать для релиза
</td>
</tr>
<tr><td class="row2" colspan="2" align="center"><input name="add_attachment" value="Отправить" type="submit" /></td></tr>
</table>
</form>
<br />
<?php
}
function get_phpbb_code_field($config, $field_name, $value, $in_group, $number)
{
global $cfg;
$name = isset($config["name"]) ? $config["name"] : '';
$type = isset($config["type"]) ? $config["type"] : '';
$multiple = isset($config["multiple"]) ? $config["multiple"] : '';
$example = isset($config["example"]) ? $config["example"] : '';
$values = isset($config["values"]) ? $config["values"] : '';
$comment = isset($config["comment"]) ? $config["comment"] : '';
$group = isset($config["group"]) ? ($config["group"] ? 1 : -1) : '';
$before_name = isset($config["before_name"]) ? $config["before_name"] : 0;
if( !$before_name ) {
if($in_group == 1 && $group != 1) {
if( isset($config["group_before_name"]) ) $before_name = $config["group_before_name"]; else $before_name = "";
} else {
$before_name = "[b]";
}
}
$after_name = isset($config["after_name"]) ? $config["after_name"] : 0;
if( !$after_name ) {
if($in_group == 1 && $group != 1) {
if( isset($config["group_after_name"]) ) $after_name = $config["group_after_name"]; else $after_name = ": ";
} else {
$after_name = ": [/b]";
}
}
$before_value = isset($config["before_value"]) ? $config["before_value"] : "[br]";
$after_value = isset($config["after_value"]) ? $config["after_value"] : ($in_group ? ($group == -1 ? "\n" : "") : "\n");
$right = isset($config["right"]) ? $config["right"] : 0;
$hide_name = isset($config["hide_name"]) ? $config["hide_name"] : 0;
$as_url = isset($config["as_url"]) ? $config["as_url"] : 0;
$bbcode = '';
if( $group == 1 ) {
if(!$hide_name) $bbcode .= ($before_name.($name).($number ? ' #'.$number : '').$after_name);
$bbcode .= ($before_value);
} else if( $group == -1 ) {
$bbcode .= ($after_value);
} else {
if( ($type == "text" || $type == 'variant') && $value != '' ) {
if(!$hide_name) $bbcode .= ($before_name.($name).$after_name);
$bbcode .= ($before_value.$value.$after_value);
} else if( $type == "textarea" && $value != '' ) {
if(!$hide_name) $bbcode .= ($before_name.($name).$after_name);
$bbcode .= ($before_value.$value.$after_value);
} else if( $type == "textarea2" && $value != '' ) {
if(!$hide_name) $bbcode .= ($before_name.($name).$after_name);
$bbcode .= ($before_value.$value.$after_value);
} else if( $type == "textarea3" && $value != '' ) {
if(!$hide_name) $bbcode .= ($before_name.($name).$after_name);
$bbcode .= ($before_value.$value.$after_value);
} else if( $type == "select" && $value > 0 ) {
if(!$hide_name) $bbcode .= ($before_name.($name).$after_name);
$bbcode .= $before_value.$values[$value - 1].$after_value;
} else if( $type == "image" ) {
$img_bbcode = "";
if(!$hide_name) $img_bbcode .= $before_name.($name).$after_name;
$img_bbcode .= $before_value;
$cnt = count($_FILES[$field_name]['name']);
if(!$multiple && $cnt > 1) $cnt = 1;
$has_images = 0;
for($j = 0; $j < $cnt; ++$j) {
if(is_uploaded_file($_FILES[$field_name]['tmp_name'][$j])) {
$im_type = $_FILES[$field_name]['type'][$j];
if($im_type == "image/gif") {
$ext = "gif";
} else if($im_type == "image/jpg" || $im_type == "image/jpeg" || $im_type == "image/pjpeg") {
$ext = "jpg";
} else if($im_type == "image/png") {
$ext = "png";
//torrent posting
} else if($im_type == "application/x-bittorrent") {
$ext = "torrent";
}
if($ext != "" && $ext != "torrent") {
$imageInfo = getimagesize($_FILES[$field_name]['tmp_name'][$j]);
$w = $imageInfo[0];
$h = $imageInfo[1];
$fname = "picture/".strftime("%y%m%d%H%M%S").$cfg["user_id"].'_'.$field_name.'_'.$j.".$ext";
if( is_callable('imagick_readimage') && $cfg['max_w'] && $cfg['max_h'] ) {
if($w > $cfg['max_w'] || $h > $cfg['max_h']) {
$v = $cfg['max_w'];
$h = $cfg['max_h'];
}
$handle = imagick_readimage($_FILES[$field_name]['tmp_name'][$j]);
if ( !imagick_iserror( $handle ) ) {
if ( imagick_resize( $handle, $w, $h, IMAGICK_FILTER_UNKNOWN, 0.8 ) ) {
if ( !imagick_writeimage( $handle, $fname ) ) {
$fname = "";
}
}
}
} else {
move_uploaded_file($_FILES[$field_name]['tmp_name'][$j], $fname);
}
$img_bbcode .= ($as_url?'':'[img'.($right ? '=right' : '').']').($cfg['url'].$fname).($as_url?'':'[/img]')."\n\n";
$has_images = 1;
}
}
}
$img_bbcode .= $after_value;
if($has_images) $bbcode .= ($img_bbcode);
}
}
return $bbcode;
}
function get_tor_html()
{
$code = '';
if($_FILES['torrent']['name'])
{
$six = 'torrent';
$has_torrent = 0;
$name = trim(stripslashes($_FILES[$six]['name']));
$new_name =str_replace('php','fuck',strftime("%y%m%d%H%M%S").'_'.$name);
$fsize = $_FILES[$six]["size"];
$fname = "files/".$new_name;
move_uploaded_file($_FILES[$six]['tmp_name'], $fname);
$has_torrent = 1;
$tor_html =
'<input type="hidden" name="add_attachment_body" value="0" />
<input type="hidden" name="posted_attachments_body" value="0" /><input type="hidden" name="attachment_list[]" value="'.$new_name.'" />
<input type="hidden" name="filename_list[]" value="'.$name.'" /><input type="hidden" name="extension_list[]" value="torrent" />
<input type="hidden" name="mimetype_list[]" value="application/x-bittorrent" />
<input type="hidden" name="filesize_list[]" value="'.$fsize.'" />
<input type="hidden" name="filetime_list[]" value="'.time().'" />';
$code = ($tor_html);
}
// }
return $code;
}
function get_phpbb_code_form($cfg)
{
$forum_id = $cfg["forum_id"];
$title = $cfg["title"];
$fields = $cfg["fields"];
$subject = isset($_REQUEST['subject']) ? $_REQUEST["subject"] : '';
$subject = str_replace("\"", """, $subject);
$f = isset($_REQUEST['f']) ? intval($_REQUEST["f"]) : 0;
$before_value = isset($cfg["before_value"]) ? $cfg["before_value"] : "[font=\"Tahoma\"][size=20][b]";
$after_value = isset($cfg["after_value"]) ? $cfg["after_value"] : "[/b][/size][/font]\n\n";
?>
<div style="height: 1px; overflow: hidden;">
<form action="posting.php" method="post" name="post">
<input type="hidden" name="mode" value="newtopic" />
<input type="hidden" name="f" value="<?php echo($f); ?>" />
<input type="hidden" name="preview" value="Предв. просмотр" />
<?php echo get_tor_html(); ?>
<table width="100%" border="0" cellspacing="1" cellpadding="3" class="forumline">
<tr>
<th class="thHead" colspan="2" height="25"><b><?php echo($title); ?></b></th>
</tr>
<tr bgcolor="white">
<td class="row1" align="right">Тема:</td>
<td class="row2"><input type="text" name="subject" size="60" maxlength="120" value="<?php echo($subject); ?>" /></td>
</tr>
<tr bgcolor="white">
<td class="row1" align="right">Сообщение:</td><td class="row2"><textarea name="message" cols="80" rows="15">
<?php
echo($before_value.$subject.$after_value);
$in_group = false;
$multiple_group = false;
$bbcode = "";
for($i = 0; $i < count($fields); ++$i) {
$field_name = "f$i";
$config = $fields[$i];
$group = isset($config["group"]) ? ($config["group"] ? 1 : -1) : '';
$multiple = isset($config["multiple"]) ? $config["multiple"] : '';
$default = isset($config["default"]) ? $config["default"] : '';
$fields_separator = isset($config["fields_separator"]) ? $config["fields_separator"] : ', ';
if( $group == 1 ) {
$cnt = 1;
if( $multiple ) {
$multiple_group = true;
$cnt = count( $_REQUEST[ 'f'.($i + 1) ] );
} else {
$multiple_group = false;
}
for($k = 0; $k < $cnt; ++$k) {
$config = $fields[$i];
$bbcode .= get_phpbb_code_field($config, $field_name, $value, 1, ($cnt > 1 ? ($k + 1) : 0));
for($j = $i + 1; $j < count($fields) && !isset($fields[$j]['group']); ++$j) {
if( $j != $i + 1 ) $bbcode .= $fields_separator;
$config = $fields[$j];
$field_name = "f$j";
$value = ( isset($_REQUEST[$field_name][$k]) && $_REQUEST[$field_name][$k] != '') ? $_REQUEST[$field_name][$k] : '';
$bbcode .= get_phpbb_code_field($config, $field_name, $value, 1, 0);
}
if($k != $cnt - 1) $bbcode .= "\n";
}
$i = $j-1;
$in_group = true;
} else if( $group == -1 ) {
$bbcode .= get_phpbb_code_field($config, $field_name, $value, 1, 0);
$in_group = false;
} else {
$value = ( isset($_REQUEST[$field_name]) && $_REQUEST[$field_name] != '') ? $_REQUEST[$field_name] : $default;
$bbcode .= get_phpbb_code_field($config, $field_name, $value, 0, 0);
}
}
echo($bbcode);
?>
</textarea>
</td></tr>
<tr><td class="row2" colspan="2" align="center">
</td></tr>
</table>
</td></tr></table>
</form>
</div>
<?php echo get_tor_html() ?>
<script>
document.forms['post'].submit();
</script>
<br />
<?php
}
function is_form_valid($cfg)
{
return 1;
}
page_header($l_title);
$template->set_filenames(array(
'body' => 'release.html')
);
page_footer();
?>
Проблема состоит только в этом
Можно показать только пример по переносу.

