Возможности дополнительных полей: однострочные либо многострочные поля, поля с выпадающим списком с возможностью вставки в поле значения из списка, отделение полей новой строкой либо произвольным символом/текстом/картинкой, отображение подсказки (примера заполнения) для полей, создание нескольких одинаковых (одноимённых) полей, заключение поля и/или группы одинаковых (одноимённых) полей в бб-коды, вставка значений дополнительных полей до или после текста сообщения.
Подробное описание и примеры: viewtopic.php?f=26&t=1083, Re: Вывод дополнительных полей в названии торрента. (Post by PPK #2186)
Скачать архив, распаковать, заменить файлы форума файлами из директории /root/
В phpmyadmin выполнить:
если mysql версии 4.1.3 или выше
Код: Выделить всё
ALTER TABLE `phpbb_forums` ADD `forum_addfields` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '';
Код: Выделить всё
ALTER TABLE `phpbb_forums` ADD `forum_addfields` varchar(255) binary NOT NULL DEFAULT '';
Код: Выделить всё
if (!$post_data)
{
if (!($mode == 'post' || $mode == 'bump' || $mode == 'reply'))
{
Код: Выделить всё
$user->add_lang('mods/ppkbb3cker_addfields');
$array_addfields=get_forum_addfields(@$post_data['forum_addfields']);
Код: Выделить всё
if ($submit || $preview || $refresh)
{
Код: Выделить всё
if($array_addfields && ($mode == 'post' || ($mode == 'edit' && $post_id == $post_data['topic_first_post_id'])))
{
include_once($phpbb_root_path.'tracker/include/posting_addfields_add1.'.$phpEx);
include_once($phpbb_root_path.'tracker/include/posting_addfields_add2.'.$phpEx);
}
Код: Выделить всё
// Build custom bbcodes array
display_custom_bbcodes();
Код: Выделить всё
if($array_addfields && ($mode == 'post' || ($mode == 'edit' && $post_id == $post_data['topic_first_post_id'])))
{
include_once($phpbb_root_path.'tracker/include/posting_addfields_add2.'.$phpEx);
}
Код: Выделить всё
// Common global functions
Код: Выделить всё
function get_forum_addfields($line)
{
$lines=array();
if($line)
{
$lines=explode(' ', $line);
$lines=array_map('trim', $lines);
}
return $lines;
}
Код: Выделить всё
'forum_password_confirm'=> request_var('forum_password_confirm', '', true),
'forum_password_unset' => request_var('forum_password_unset', false),
Код: Выделить всё
'forum_addfields' => request_var('forum_addfields', ''),
Код: Выделить всё
$forum_perm_from = request_var('forum_perm_from', 0);
$cache->destroy('sql', FORUMS_TABLE);
Код: Выделить всё
$forum_addfields_from = request_var('forum_addfields_from', 0);
// Copy addfields?
if ($forum_addfields_from && !empty($forum_addfields_from) && $forum_addfields_from != $forum_data['forum_id'])
{
$sql = 'SELECT forum_addfields
FROM ' . FORUMS_TABLE . '
WHERE forum_id = ' . $forum_addfields_from;
$result = $db->sql_query($sql);
$cp_addfields=$db->sql_fetchrow($result);
$db->sql_freeresult($result);
$sql = 'UPDATE ' . FORUMS_TABLE . "
SET forum_addfields='{$cp_addfields['forum_addfields']}'
WHERE forum_id = " . $forum_data['forum_id'];
$result = $db->sql_query($sql);
}
Код: Выделить всё
'forum_password' => '',
'forum_password_confirm'=> '',
Код: Выделить всё
'forum_addfields' => '',
Код: Выделить всё
$template->assign_vars(array(
'S_EDIT_FORUM' => true,
'S_ERROR' => (sizeof($errors)) ? true : false,
Код: Выделить всё
$user->add_lang('mods/ppkbb3cker_addfields');
$forum_addfields_help='';
foreach($user->lang['TRACKER_FORUM_ADDFIELDS'] as $k=>$v)
{
$forum_addfields_help.="<b>$v</b> - $k ";
}
Код: Выделить всё
'S_ENABLE_QUICK_REPLY' => ($forum_data['forum_flags'] & FORUM_FLAG_QUICK_REPLY) ? true : false,
'S_CAN_COPY_PERMISSIONS' => ($action != 'edit' || empty($forum_id) || ($auth->acl_get('a_fauth') && $auth->acl_get('a_authusers') && $auth->acl_get('a_authgroups') && $auth->acl_get('a_mauth'))) ? true : false,
Код: Выделить всё
'FORUM_ADDFIELDS_HELP'=>$forum_addfields_help,
'FORUM_ADDFIELDS_PLAIN'=> $forum_data['forum_addfields'],
Код: Выделить всё
));
?>
Код: Выделить всё
'TRACKER_ADDFIELDS' => 'Дополнительные поля',
'TRACKER_ADDFIELDS_EXAMPLE' => 'Пример',
Код: Выделить всё
));
?>
Код: Выделить всё
'FORUM_ADDFIELDS' => 'Дополнительные поля для форума',
'FORUM_ADDFIELDS_EXPLAIN' => 'Отображаются при добавлении нового торрента, указываются через пробел, допустимые поля:',
'COPY_ADDFIELDS'=> 'Копировать дополнительные поля форума из',
'COPY_ADDFIELDS_EXPLAIN'=> 'Если вы выбрали копирование дополнительных полей, форуму будут присвоены те же дополнительные поля, что и выбранному здесь. Все ранее установленные дополнительные поля к этому форуму будут при этом заменены. Если форум не выбран, будут сохранены текущие дополнительные поля.',
'NO_ADDFIELDS'=> 'Не копировать дополнительные поля',
Код: Выделить всё
<!-- IF S_CAN_COPY_PERMISSIONS -->
<dl>
Код: Выделить всё
<dl>
<dt><label for="forum_addfields">{L_FORUM_ADDFIELDS}:</label><br /><span>{L_FORUM_ADDFIELDS_EXPLAIN}<br />{FORUM_ADDFIELDS_HELP}</span></dt>
<dd><textarea id="forum_addfields" name="forum_addfields" rows="4" cols="30">{FORUM_ADDFIELDS_PLAIN}</textarea></dd>
</dl>
<dl>
<dt><label for="forum_addfields_from">{L_COPY_ADDFIELDS}:</label><br /><span>{L_COPY_ADDFIELDS_EXPLAIN}</span></dt>
<dd><select id="forum_addfields_from" name="forum_addfields_from"><option value="0">{L_NO_ADDFIELDS}</option>{S_FORUM_OPTIONS}</select></dd>
</dl>
Код: Выделить всё
<!-- IF S_SHOW_POLL_BOX || S_POLL_DELETE --><li id="poll-panel-tab"><a href="#tabs" onclick="subPanels('poll-panel'); return false;"><span>{L_ADD_POLL}</span></a></li><!-- ENDIF -->
Код: Выделить всё
<!-- IF FORUM_ADDFIELDS --><li id="addfields-panel-tab"><a href="#tabs" onclick="subPanels('addfields-panel'); return false;"><span>{L_TRACKER_ADDFIELDS}</span></a></li><!-- ENDIF -->
Код: Выделить всё
var panels = new Array('options-panel', 'attach-panel', 'poll-panel'
Код: Выделить всё
<!-- IF FORUM_ADDFIELDS -->, 'addfields-panel'<!-- ENDIF -->
Код: Выделить всё
<!-- IF S_SHOW_ATTACH_BOX --><!-- INCLUDE posting_attach_body.html --><!-- ENDIF -->
Код: Выделить всё
<!-- IF FORUM_ADDFIELDS -->
<div class="panel bg3" id="addfields-panel">
<div class="inner"><span class="corners-top"><span></span></span>
<fieldset class="fields2">
<dl style="clear: left;">
<dt><b>{L_TRACKER_ADDFIELDS}</b>:</dt>
<dd> </dd>
</dl>
<!-- BEGIN addfields_option -->
<dl>
<dt><b>{addfields_option.ADDFIELDS_NAME}</b>:</dt>
<dd>{addfields_option.ADDFIELDS_VALUE}</dd>
</dl>
<!-- END addfields_option -->
</fieldset>
<span class="corners-bottom"><span></span></span></div>
</div>
<!-- ENDIF -->
Код: Выделить всё
<tr>
<td class="cat" colspan="2" align="center">{S_HIDDEN_FIELDS}
Код: Выделить всё
<!-- IF FORUM_ADDFIELDS -->
<tr>
<th colspan="2" class="row1"><span>{L_TRACKER_ADDFIELDS}</span></th>
</tr>
<tr>
<td class="row1"><b>{L_TRACKER_ADDFIELDS}</b>:</td>
<td class="row2"> </td>
</tr>
<!-- BEGIN addfields_option -->
<tr>
<td class="row1"><b>{addfields_option.ADDFIELDS_NAME}</b>:</td>
<td class="row2">{addfields_option.ADDFIELDS_VALUE}</td>
</tr>
<!-- END addfields_option -->
<!-- ENDIF -->
создание новой темы
предпросмотр сообщения:
отображение сообщения:
редактирование темы:
--
Для пользователей ppkBB3cker - НЕ нужно устанавливать данный мод в трекер, он уже там установлен.