Стандартный набор правок для создание этой опции от автора
Sheer -
Файлы для редактирования:
posting.php, language/ru/common.php, includes/function_posting.php, styles/стиль/templates/posting_body.html
posting.php
Найти
- Код: выделить все
case 'popup':
Перед вставить:
- Код: выделить все
case 'pattern':
$sql = '';
generate_pattern();
break;
Найти
- Код: выделить все
// Start assigning vars for main posting page ...
Перед вставить:
- Код: выделить все
$pattern_enable = 0;
$forum_pattern = array(13, 14, 15, 24, 16, 17, 23); // список id форумов, где шаблон будет работать
if (in_array($forum_id, $forum_pattern)) // в этом форуме шаблон будет работать?
{
$pattern_enable = 1;
}
Тут
array(13, 14, 15, 24, 16, 17, 23);
ваш собственный список, если шаблон нужен везде, просто закомментруйте условие
if
Найти
- Код: выделить все
'S_POST_ACTION' => $s_action,
Перед вставить:
- Код: выделить все
'S_PATTERN' => ($pattern_enable) ? true : false,
ncludes/function_posting.php
Найти
- Код: выделить все
/**
* Fill smiley templates (or just the variables) with smilies, either in a window or inline
*/
Перед вставить:
- Код: выделить все
function generate_pattern()
{
global $user, $template;
$user->setup('mods/pattern');
page_header($user->lang['PATTERN']);
$template->set_filenames(array(
'body' => 'posting_pattern.html')
);
page_footer();
}
language/ru/common.php
Найти:
- Код: выделить все
$lang = array_merge($lang, array(
После вставить
- Код: выделить все
'PATTERN' => ' Шаблон запроса ',
styles/стиль/templates/posting_body.html
(тут для
subsilver2
, но для
prosilver
разница невелика, сами справитесь
)
Найти
- Код: выделить все
<td class="row2" width="78%"><input class="post" style="width:450px" type="text" name="subject" size="45" maxlength="<!-- IF S_NEW_MESSAGE -->60<!-- ELSE -->64<!-- ENDIF -->" tabindex="2" value="{SUBJECT}" />
После вставить
- Код: выделить все
<!-- IF S_PATTERN -->
<input type="button" class="btnbbcode" value="{L_PATTERN}" onclick="window.open('posting.php?mode=pattern', '_pattern', 'HEIGHT=600,resizable=yes,scrollbars=yes,WIDTH=540'); return false;">
<!-- ENDIF -->
Далее в папке
language/ru
создать папку
mods
(если ее еще нет), туда записать файл
pattern.php
примерно следующего содержания
- Код: выделить все
<?php
if (!defined('IN_PHPBB'))
{
exit;
}
if (empty($lang) || !is_array($lang))
{
$lang = array();
}
$lang = array_merge($lang, array(
'PATTERN' => 'Шаблон запроса',
'QUEST_1' => 'Вопрос 1: ',
'QUEST_2' => 'Вопрос 2: ',
// и так далее...
));
?>
В папку
styles/стиль/templates/
записать файл
posting_pattern.html
- Код: выделить все
<!-- INCLUDE simple_header.html -->
<script type="text/javascript">
<!--
var form_name = 'postform';
var text_name = 'message';
var optionsNumber = 2;
var optionsList = new Array(2);
var optionsKeys = new Array(2);
optionsList[0] = '{L_QUEST_1}';
optionsKeys[0] = 'q_1';
optionsList[1] = '{L_QUEST_2}';
optionsKeys[1] = 'q_2';
function put_pattern()
{
var r = 0, text = '';
for (r = 0; r < optionsNumber; r++)
{
text += '[b]'+optionsList[r]+'[/b] '+document.forms['pattern'].elements[optionsKeys[r]].value+'\r\n';
}
insert_text(text, false, true);
}
//-->
</script>
<script type="text/javascript" src="{T_TEMPLATE_PATH}/editor.js"></script>
<form id="pattern" method="post" action="" onsubmit="return checkForm(this);" name="pattern">
<div class="panel" id="patternbox">
<table class="tablebg" width="95%" cellspacing="1" cellpadding="4" border="0">
<tr>
<th colspan="2">{L_PATTERN}</th>
</tr>
<tr>
<td><div align="right"><b>{L_QUEST_1}</b></div></td>
<td><input type="text" tabindex="1" name="q_1" id="0" size="25" value="" class="inputbox" /></td>
</tr>
<tr>
<td><div align="right"><b>{L_QUEST_2}</b></div></td>
<td><input type="text" tabindex="1" name="q_2" id="1" size="25" value="" class="inputbox" /></td>
</tr>
<tr>
<td colspan="2" align="center" valign="middle" class="row1">
<input type="submit" name="post" value="{L_SUBMIT}" class="btnmain" onclick="put_pattern();window.close();return false;" /><br />
<br /><a class="nav" href="#" onclick="window.close(); return false;">{L_CLOSE_WINDOW}</a></td>
</tr>
</table>
</div>
</form>
<!-- INCLUDE simple_footer.html -->
Обратите внимание!
var optionsNumber = 2;
Значение должно точно соответствовать количеству вопросов
optionsList
и
optionsKeys,
иначе работать не будет.
Почистить кеш. Не ставить на рабочий форум, сначала потестить на локалке!