Быстрый лёгкий надёжный форумный движок
Вы не вошли.
Flames
в том же файле есть функция
function insert_text(open, close)
попробуй поубирать оттуда
msgfield.focus();
может поможет, не проверял
Slavik
1, чёт не совсем врубаюсь, что делать с этой функцией (open, close)
2, Убрал все такие строчки (msgfield.focus();), но нечего не происходит.
Я взял в Easy BBCode удалил кнопки и вставил их из Modern BBCode (правда без наворотов со всплывающими меню).
Смайлы оставил от Easy.
Т.ч. получилась у меня Easy BBCode выглядящая как Modern BBCode
Можно алгоритм подробнее или пример.
Мне нужно заменить кнопки на картинке в панельке и все. Сносить Easy BBCode не хочу.
Редактировался coordinator (2008-01-18 19:42:04)
Если не ошибаюсь , ставим сначала Easy BBCode.
Вот такой mod_easy_bbcode.php сделал:
<?php
// Make sure no one attempts to run this script "directly"
if (!defined('PUN'))
exit;
if (!isset($bbcode_form))
$bbcode_form = 'post';
if (!isset($bbcode_field))
$bbcode_field = 'req_message';
require PUN_ROOT.'lang/'.$pun_user['language'].'/easy_bbcode.php';
?>
<script type="text/javascript"><!--
function insert_text(open, close) {
msgfield = (document.all) ? document.all.req_message : document.forms['<?php echo $bbcode_form ?>']['<?php echo $bbcode_field ?>'];
// IE support
if (document.selection && document.selection.createRange) {
msgfield.focus();
sel = document.selection.createRange();
sel.text = open + sel.text + close;
msgfield.focus();
}
// Moz support
else if (msgfield.selectionStart || msgfield.selectionStart == '0') {
var startPos = msgfield.selectionStart;
var endPos = msgfield.selectionEnd;
msgfield.value = msgfield.value.substring(0, startPos) + open + msgfield.value.substring(startPos, endPos) + close + msgfield.value.substring(endPos, msgfield.value.length);
msgfield.selectionStart = msgfield.selectionEnd = endPos + open.length + close.length;
msgfield.focus();
}
// Fallback support for other browsers
else {
msgfield.value += open + close;
msgfield.focus();
}
return;
}
--></script>
<div class="easybar">
<a class="btn" title=<?php echo '"'.$lang_easy_bbcode['Bold title'].'"' ?> href="javascript:insert_text('[b]','[/b]')"><b><?php echo $lang_easy_bbcode['Bold'] ?></b></a>
<a class="btn" title=<?php echo '"'.$lang_easy_bbcode['Italic title'].'"' ?> href="javascript:insert_text('[i]','[/i]')"><em><?php echo $lang_easy_bbcode['Italic'] ?></em></a>
<a class="btn" title=<?php echo '"'.$lang_easy_bbcode['Underline title'].'"' ?> href="javascript:insert_text('[u]','[/u]')"><u><?php echo $lang_easy_bbcode['Underline'] ?></u></a>
<a class="btn" title=<?php echo '"'.$lang_easy_bbcode['Strikeout title'].'"' ?> href="javascript:insert_text('[s]','[/s]')"><del><?php echo $lang_easy_bbcode['Strikeout'] ?></del></a>
<a class="btn" title=<?php echo '"'.$lang_easy_bbcode['URL title'].'"' ?> href="javascript:insert_text('[url]','[/url]')"><?php echo $lang_easy_bbcode['URL'] ?></a>
<a class="btn" title=<?php echo '"'.$lang_easy_bbcode['Mail title'].'"' ?> href="javascript:insert_text('[email]','[/email]')"><?php echo $lang_easy_bbcode['Mail'] ?></a>
<a class="btn" title=<?php echo '"'.$lang_easy_bbcode['Code title'].'"' ?> href="javascript:insert_text('[code ]','[ /code]
')"><?php echo $lang_easy_bbcode['Code'] ?></a>
<a class="btn" title=<?php echo '"'.$lang_easy_bbcode['Quote title'].'"' ?> href="javascript:insert_text('[quote]','[/quote]
')"><?php echo $lang_easy_bbcode['Quote'] ?></a>
<a class="btn" title=<?php echo '"'.$lang_easy_bbcode['Color title'].'"' ?> href="javascript:insert_text('[color=#RRGGBB]','[/color]')"><?php echo $lang_easy_bbcode['Color'] ?></a>
</div>
<div class="easybar">
<a class="btn" title=<?php echo '"'.$lang_easy_bbcode['Monospace text title'].'"' ?> href="javascript:insert_text('[mono]','[/mono]')"><?php echo $lang_easy_bbcode['Monospace text'] ?></a>
<a class="btn" title=<?php echo '"'.$lang_easy_bbcode['Center title'].'"' ?> href="javascript:insert_text('[center]','[/center]')"><?php echo $lang_easy_bbcode['Center'] ?></a>
<a class="btn" title=<?php echo '"'.$lang_easy_bbcode['Right title'].'"' ?> href="javascript:insert_text('[right]','[/right]')"><?php echo $lang_easy_bbcode['Right'] ?></a>
<a class="btn" title=<?php echo '"'.$lang_easy_bbcode['Fontsize title'].'"' ?> href="javascript:insert_text('[size=#SIZE]','[/size]')"><?php echo $lang_easy_bbcode['Fontsize'] ?></a>
<?php if ($pun_config['p_message_img_tag'] == '1')
{ ?>
<a class="btn" title=<?php echo '"'.$lang_easy_bbcode['Image title'].'"' ?> href="javascript:insert_text('[img]','[/img]')"><?php echo $lang_easy_bbcode['Image'] ?></a>
<?php
} ?>
<a class="btn" title=<?php echo '"'.$lang_easy_bbcode['Spoiler title'].'"' ?> href="javascript:insert_text('[spoiler]','[/spoiler]')"><?php echo $lang_easy_bbcode['Spoiler'] ?></a>
</div>
<div style="padding-top: 4px">
<?php
// Display the smiley set
require_once PUN_ROOT.'include/parser.php';
$smiley_dups = array();
$num_smilies = count($smiley_text);
for ($i = 0; $i < $num_smilies; ++$i)
{
// Is there a smiley at the current index?
if (!isset($smiley_text[$i]))
continue;
if (!in_array($smiley_img[$i], $smiley_dups))
echo "\t".'<a href="javascript:insert_text(\''.$smiley_text[$i].'\', \'\');"><img src="img/smilies/'.$smiley_img[$i].'" width="15" height="15" alt="'.$smiley_text[$i].'" /></a>'."\n";
$smiley_dups[] = $smiley_img[$i];
}
?>
</div>
Файл easy_bbcode.php в языковой папке кажется не менял или только малость сменил.
Тут точно остались не нужные переменные.
<?php
// Language definitions used in various scripts
$lang_easy_bbcode = array(
// Prompt message for list tag message box
'List tag prompt' => 'Введите текст элемента списка. Нажмите \"Отмена\" или оставьте поле ввода пустым, чтобы прекратить ввод элементов.',
// Buttons texts
'Bold' => 'Ж',
'Italic' => 'К',
'Underline' => 'Ч',
'Strikeout' => 'З',
'URL' => 'Ссылка',
'Mail' => '@',
'Code' => '#',
'Quote' => '»»',
'Color' => 'Цвет',
'Smiley' => 'Смайлы',
'Inc text field height' => '+',
'Dec text field height' => '-',
'Monospace text' => 'Моно',
'Center' => 'По центру',
'Right' => 'Справа',
'Fontsize' => 'Размер',
'Image' => 'Изображение',
'List' => 'Список',
'Spoiler' => 'Спойлер',
'Help' => '?',
// Buttons titles
'Bold title' => 'Жирный',
'Italic title' => 'Курсив',
'Underline title' => 'Подчеркнутый',
'Strikeout title' => 'Зачеркнутый',
'URL title' => 'Ссылка',
'Mail title' => 'Электронная почта',
'Code title' => 'Код',
'Quote title' => 'Цитата',
'Color title' => 'Цвет',
'Smiley title' => 'Смайлы',
'Inc text field height title' => 'Увеличить размер поля ввода',
'Dec text field height title' => 'Уменьшить размер поля ввода',
'Monospace text title' => 'Моноширинный текст (код)',
'Center title' => 'Выравнивание по центру',
'Right title' => 'Выравнивание справа',
'Fontsize title' => 'Размер шрифта',
'Image title' => 'Изображение',
'List title' => 'Список',
'Spoiler title' => 'Спойлер (скрытый текст)',
'Help title' => 'Помощь по bb-тэгам',
// Fontsizes
'Very small' => 'Мизерный',
'Small' => 'Маленький',
'Big' => 'Большой',
'Large' => 'Огромный',
// Image kinds
'No float' => 'Без обтекания',
'Float to left' => 'Обтекаемое справа',
'Float to right' => 'Обтекаемое слева',
// Image kind titles
'No float title' => 'Изображение, не обтекаемое текстом',
'Float to left title' => 'Изображение, обтекаемое текстом справа',
'Float to right title' => 'Изображение, обтекаемое текстом слева',
// List kinds
'Unordered' => 'Ненумерованный',
'Ordered' => 'Нумерованный',
// List kind titles
'Unordered title' => 'Создать ненумерованный список',
'Ordered title' => 'Создать нумерованный список',
'More text' => 'Больше...',
// Smilies popup window string constants
'Smilies table' => 'Таблица смайлов',
'Smiley text' => 'Текст',
'Smiley image' => 'Смайл'
);
в parser.php оставил обработку этих кодов:
$pattern = array('#\[b\](.*?)\[/b\]#s',
'#\[i\](.*?)\[/i\]#s',
'#\[u\](.*?)\[/u\]#s',
'#\[mono\](.*?)\[/mono\]#s',
'#\[url\]([^\[]*?)\[/url\]#e',
'#\[url=([^\[]*?)\](.*?)\[/url\]#e',
'#\[email\]([^\[]*?)\[/email\]#',
'#\[email=([^\[]*?)\](.*?)\[/email\]#',
'#\[color=([a-zA-Z]*|\#?[0-9a-fA-F]{6})](.*?)\[/color\]#s',
'#\[font=(.*?)](.*?)\[/font\]#',
'#\[align=(.*?)\](.*?)\[/align\]#',
'#\[style="(.*?)"\](.*?)\[/style\]#',
'#\[hr /\]#',
'#\[hr\]#',
'#\[s\](.*?)\[/s\]#',
'#\[center\](.*?)\[/center\]#s',
'#\[right\](.*?)\[/right\]#s',
'#\[size=([0-9]*)](.*?)\[/size\]#s');
$replace = array('<strong>$1</strong>',
'<em>$1</em>',
'<span class="bbu">$1</span>',
'<code>$1</code>',
'handle_url_tag(\'$1\')',
'handle_url_tag(\'$1\', \'$2\')',
'<a href="mailto:$1">$1</a>',
'<a href="mailto:$1">$2</a>',
'<span style="color: $1">$2</span>',
'<span style="font-family: $1">$2</span>',
'<div align="$1">$2</span>',
'<span style="$1">$2</span>',
'<hr />',
'<hr />',
'<del>$1</del>',
'</p><p class="center">$1</p><p>',
'</p><p class="right">$1</p><p>',
'<span style="font-size: $1px">$2</span>');
Некоторые по кнопкам не вводятся, только на память, вручную
P.S. Возможно написал не все, так как записей о изменениях не веду, все на память.
Добавлено спустя 3 минуты 22 секунды:
Тут '[code ]','[ /code]' в квадратных скобках пробелов нет!
Спасибо за оперативность и участие.
Мне нужно заменить кнопку на картинку и все.
Мне нужно заменить кнопку на картинку и все.
Можно все кнопки переделать по принципу
<a class="btn" title=<?php echo '"'.$lang_easy_bbcode['Bold title'].'"' ?> href="javascript:insert_text('[b]','[/b]')"><b><?php echo $lang_easy_bbcode['Bold'] ?></b></a>
но вместо
<b><?php echo $lang_easy_bbcode['Bold'] ?></b>
ставить
<img src="URL нужной картинки" alt="<?php echo $lang_easy_bbcode['Bold'] ?>" />
Добавлено спустя 1 минуту 56 секунд:
А может и просто
<img src="URL нужной картинки" />
ставить, а не
<img src="URL нужной картинки" alt="<?php echo $lang_easy_bbcode['Bold'] ?>" />
Пробуй
Добавлено спустя 7 минут 56 секунд:
Вот еще это добавлял в base.css кажется, когда переделывал.
DIV.spoilerbox p {
color: #353533;
background: #353533;
}
DIV.easybar {
height: 2em;
margin-right: 5px;
width: 100%;
padding: 3px 1px;
}
DIV.easybar A.btn {
float: left;
padding: 3px 7px;
margin: 0 2px 0 0;
text-decoration: none;
text-transform: uppercase;
display: block;
}
Visman
Спасибо, такой способ работает.
Вот еще один хитрый план от меня.
Заметил, что при выводе смайлов через smilies.php они выводятся полностью, хотя часть из них уже есть в форме ответа (у меня например их там штук 20).
Я считаю что показывать эти смайлы через smilies.php нет ни какого смысла.
Что я сделал (не забываем, что у меня моды easy bbcode и Modern BB Code скрещены и смайлы в форме ответа выводятся как в первом):
Это вывод смайлов в форме ответа (быстрого ответа) mod_easy_bbcode.php
$smiley_dups = array();
$num_smilies = count($smiley_text);
$j = 0; // добавлно мной
for ($i = 0; $i < $num_smilies; ++$i)
{
// Is there a smiley at the current index?
if (!isset($smiley_text[$i]))
continue;
if (!in_array($smiley_img[$i], $smiley_dups))
{
echo '<a href="javascript:insert_text(\''.$smiley_text[$i].'\', \'\');"><img src="img/smilies/'.$smiley_img[$i].'" alt="'.$smiley_text[$i].'" /></a>'."\n";
++$j; // добавлно мной
if ($j == 20) // добавлно мной
$i = $num_smilies; // добавлно мной
}
$smiley_dups[] = $smiley_img[$i];
}
выводятся только первые 20 различных смайлов в форму.
В smilies.php
$smiley_dups = array();
$num_smilies = count($smiley_text);
$j = 0; // добавлно мной
for ($i = 0; $i < $num_smilies; ++$i)
{
// Is there a smiley at the current index?
if (!isset($smiley_text[$i]))
continue;
if (!in_array($smiley_img[$i], $smiley_dups))
{
++$j; // добавлно мной
if ($j > 20) // добавлно мной
{ // добавлно мной
?>
<tr>
<td class="tcl"><a href="javascript:insert_text('<?php echo $smiley_text[$i] ?>', '');"><img src="img/smilies/<?php echo $smiley_img[$i] ?>" alt="<?php echo $smiley_text[$i] ?>" /></a></td>
<td class="tcr"><?php echo $smiley_text[$i] ?></td>
</tr>
<?php
} // добавлно мной
}
$smiley_dups[] = $smiley_img[$i];
}
выводятся смайлы начиная с 21 отличного от других.
В help.php ограничил вывод смайлов 20 различными штуками
$num_smilies = count($smiley_text);
$j = 0; // добавлно мной
for ($i = 0; $i < $num_smilies; ++$i)
{
// Is there a smiley at the current index?
if (!isset($smiley_text[$i]))
continue;
echo "\t\t".' '.$smiley_text[$i];
// Save the current text and image
$cur_img = $smiley_img[$i];
$cur_text = $smiley_text[$i];
// Loop through the rest of the array and see if there are any duplicate images
// (more than one text representation for one image)
for ($next = $i + 1; $next < $num_smilies; ++$next)
{
// Did we find a dupe?
if (isset($smiley_img[$next]) && $smiley_img[$i] == $smiley_img[$next])
{
echo ' '.$lang_common['and'].' '.$smiley_text[$next];
// Remove the dupe so we won't display it twice
unset($smiley_text[$next]);
unset($smiley_img[$next]);
}
}
echo ' '.$lang_help['produces'].' <img src="img/smilies/'.$cur_img.'" alt="'.$cur_text.'" /><br />'."\n";
++$j; // добавлно мной
if ($j == 20) // добавлно мной
$i = $num_smilies; // добавлно мной
}
Надеюсь, что написал более-менее понятно.
Странно , но вот у меня проблема...с установкой мода...
в post и edit нету строчки...
<?php endif; require PUN_ROOT.'mod_easy_bbcode.php'; ?> <label><strong><?php echo $lang_common['Message'] ?></strong><br />
что делать?
Где ты взял инструкцию? Вот кусок readme из мода:
#
#---------[ 6. FIND (line:493) ]---------------------------------------------------
#
<?php endif; ?> <label><strong><?php echo $lang_common['Message'] ?></strong><br />
#
#---------[ 7. REPLACE WITH ]---------------------------------------------------
#
<?php endif; require PUN_ROOT.'mod_modern_bbcode.php'; ?>
<label>
нету,такого у меня в post и edit.....
<?php endif; ?> <label><strong><?php echo $lang_common['Message'] ?></strong><br />
странно....
где его нужно добавлять тогда?
форум устанавливал с этого сайта,punbb 1.2.17
Так, хорошо, по порядку. Эту строку найди в post.php:
<label><strong><?php echo $lang_common['Message'] ?></strong><br />
По моему, без нее никак. Она должна там быть. Если найдешь, запости строчек десять, чтоб где-то в середине была найденная строка.
Если не найдешь, я пас. Возможно, кто-то другой сможет помочь.
Нету(((((
я пользуюсь поиском...в wordpad
Черт,очень хороший мод,очень нужный....
Установил все как надо, но почему-то выпадающие меню отказываются работать (размер, изображение, список и т.д)... Яваскрипт выдает ошибку.
В чем может быть причина?
Как ты думаешь, много ли людей обладает ясновидением и не видя ошибки могут определить причину?
Как ты думаешь, много ли людей обладает ясновидением и не видя ошибки могут определить причину?
ты же у нас пророк...все знаешь, а логи не мешало бы глянуть
В ридми есть неточность. В стиле для Oxygen (возможно и в других) неправильно указан путь к картинкам (стрелки).