Вроде получилось...
Пользователю будут видны поля для редактирования названия темы лишь до момента появления в теме новых постов.
Админы будут видеть эти поля всегда.
Что бы это сделать открываем файл post_edit.tpl ищем строку
CODE:if ($forumcodes === TRUE) {
перед которой вставляем
CODE:if ($editname) {
echo <<<DATA
<tr>
<td class="pformleft"><b>{$fm->LANG['TopicName']}</b></td>
<td class="pformright"><input type="text" name="topictitle" style="width:450px" tabindex="1" size="40" maxlength="255" value="{$topic[$post_id]['name']}"></td>
</tr>
<tr>
<td class="pformleft"><b>{$fm->LANG['TopicDesc']}</b></td>
<td class="pformright"><input type=text name="description" tabindex="2" style="width:450px" size="40" maxlength="160" value="{$topic[$post_id]['desc']}"></td>
</tr>\n
<tr>
<td class="pformleft"><b>{$fm->LANG['TopicKeywords']}</b></td>
<td class="pformright"><input type="text" name="keywords" size="45" maxlength="255" style="width: 450px" value="{$topic[$post_id]['keywords']}" /></td>
</tr>
DATA;
}
Далее открываем файл postings.php и ищем строку
CODE:$attach_options = '';
перед которой вставляем
CODE:$editname = (isset($topic[$post_id]['name']) && (count($topic) == "1" || $moderform === TRUE)) ? TRUE : FALSE;
затем ниже в функции processedit() ищем строку
CODE:$allforums = $fm->_Read(FM_ALLFORUMS);
которую меняем на
CODE:$allforums = $fm->_Read2Write($fp_allforums,FM_ALLFORUMS);
затем ещё ниже в функции processedit() ищем строку
CODE:$list = $fm->_Read('forum'.$forum_id.'/list.php', FALSE);
которую меняем на
CODE:$list = $fm->_Read2Write($fp_list, 'forum'.$forum_id.'/list.php');
затем ещё ниже в функции processedit() ищем строку
CODE:$topic[$post_id]['post'] = $fm->bads_filter(preg_replace( "#(\?|&|;|&)PHPSESSID=([0-9a-zA-Z]){32}#i", "", $fm->input['inpost']));
перед которой вставляем
CODE:if (isset($fm->input['topictitle']))
{
if ($fm->input['topictitle'] == '') {$fm->_Message($fm->LANG['EditTopic'],$fm->LANG['EmptyTitle']);}
$fm->input['topictitle'] = $fm->bads_filter(substr($fm->input['topictitle'],0,255));
$fm->input['description'] = $fm->bads_filter(substr($fm->input['description'],0,160));
$fm->input['keywords'] = $fm->bads_filter(keywordsProcessor(substr($fm->_String('keywords'), 0, 255)));
$pcatid = $allforums[$forum_id]['catid'];
if (stristr($pcatid, 'f'))
{
$pforum = substr($pcatid, 1, strlen($pcatid) - 1);
if ($allforums[$pforum]['last_post_id'] == $topic_id && @$allforums[$pforum]['last_sub'] == $forum_id)
{$allforums[$pforum]['last_post'] = $fm->input['topictitle'];}
}
if ($allforums[$forum_id]['last_post_id'] == $topic_id)
{
$allforums[$forum_id]['last_post'] = $fm->input['topictitle'];
$fm->_Write($fp_allforums,$allforums);
}
$list[$topic_id]['name'] = $fm->input['topictitle'];
$list[$topic_id]['desc'] = $fm->input['description'];
$fm->_Write($fp_list,$list);
$topic[$list[$topic_id]['date']]['name'] = $fm->input['topictitle'];
$topic[$list[$topic_id]['date']]['desc'] = $fm->input['description'];
$topic[$list[$topic_id]['date']]['keywords'] = $fm->input['keywords'];
}
и наконец ещё ниже в функции processedit() ищем строку
которую заменяем строкой
CODE:unset($topic, $list, $allforums);
Вроде всё! |