Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Мод для выравнивания текста.

Форум для авторов модов для phpBB 2.0.x.
Аватара пользователя
[R: R@m$e$ :U]
phpBB Maniac
Сообщения: 1464
Стаж: 19 лет 3 месяца
Откуда: Novosibirsk,RU

Сообщение [R: R@m$e$ :U] »

Exploder
хык =) честно говоря нормальный шаблон тобой был сильно из коверкан...

вот это ближе к нормальному шаблону...

Код: Выделить всё

########################################################################################## 
## MOD Title: BBcode [align=xxx]..[/align] 
## MOD Author: Exploder < exploder@land.ru > (Roman) http://www.scienceinfo.de/ 
## MOD Description: Adds new set BBcode for various alignment of the text. 
## MOD Version: 1.0.0
## 
## Installation Level: Easy 
## Installation Time: ~10 Minutes 
## 
## Files to edit:
##      posting.php 
##      privmsg.php 
##      includes/bbcode.php 
##      languages/lang_russian/lang_main.php 
##      templates/xxx/bbcode.tpl 
##      templates/xxx/posting_body.tpl 
## 
## Included Files: 
##          N/A
 ## License: http://opensource.org/licenses/gpl-license.php GNU Public License v2 
########################################################################################## 
## For security purposes, please check: http://www.phpbb.com/mods/ 
## for the latest version of this MOD. Although MODs are checked 
## before being allowed in the MODs Database there is no guarantee 
## that there are no security problems within the MOD. No support 
## will be given for MODs not found within the MODs Database which 
## can be found at http://www.phpbb.com/mods/ 
########################################################################################## 
## MOD History: 
## 
##   2005-07-23 - Version 1.0.0 RC1 { MMP }
##      - Initial Release...  
## 
########################################################################################## 
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD 
########################################################################################## 

# 
#-----[ OPEN ]--------------------------------------------- 
# 

posting.php

# 
#-----[ FIND ]--------------------------------------------- 
# 

	'L_BBCODE_F_HELP' => $lang['bbcode_f_help'], 

# 
#-----[ ADD, AFTER ]---------------------------------------- 
# 

	'L_BBCODE_AL_HELP' => $lang['bbcode_al_help'], 

# 
#-----[ FIND ]--------------------------------------------- 
# 

	'L_FONT_HUGE' => $lang['font_huge'], 

# 
#-----[ ADD, AFTER ]---------------------------------------- 
# 

	'L_ALIGN' => $lang['Align'], 
	'L_ALIGN_DEFAULT' => $lang['ALIGN_DEFAULT'], 
	'L_WIDTH' => $lang['Width'], 
	'L_LEFT' => $lang['left'], 
	'L_CENTER' => $lang['center'], 
	'L_RIGHT' => $lang['right'], 

# 
#-----[ OPEN ]--------------------------------------------- 
# 

privmsg.php

# 
#-----[ FIND ]--------------------------------------------- 
# 

	'L_BBCODE_F_HELP' => $lang['bbcode_f_help'], 

# 
#-----[ ADD, AFTER ]---------------------------------------- 
# 

	'L_BBCODE_AL_HELP' => $lang['bbcode_al_help'], 

# 
#-----[ FIND ]--------------------------------------------- 
# 

	'L_FONT_HUGE' => $lang['font_huge'], 

# 
#-----[ ADD, AFTER ]---------------------------------------- 
#  

	'L_ALIGN' => $lang['Align'], 
	'L_ALIGN_DEFAULT' => $lang['ALIGN_DEFAULT'], 
	'L_WIDTH' => $lang['Width'], 
	'L_LEFT' => $lang['left'], 
	'L_CENTER' => $lang['center'], 
	'L_RIGHT' => $lang['right'], 

# 
#-----[ OPEN ]--------------------------------------------- 
# 

includes/bbcode.php 

# 
#-----[ FIND ]--------------------------------------------- 
# 

	// [i] and [/i] for italicizing text. 
	$text = str_replace("[i:$uid]", $bbcode_tpl['i_open'], $text); 
	$text = str_replace("[/i:$uid]", $bbcode_tpl['i_close'], $text); 

# 
#-----[ ADD, AFTER ]---------------------------------------- 
#  

	// [width] and [/width] Alignment on width. 
	$text = str_replace("[align=width:$uid]", $bbcode_tpl['width_open'], $text); 
	$text = str_replace("[/align:$uid]", $bbcode_tpl['width_close'], $text); 

	// [center] and [/center] for centered text. 
	$text = str_replace("[align=center:$uid]", $bbcode_tpl['center_open'], $text); 
	$text = str_replace("[/align:$uid]", $bbcode_tpl['center_close'], $text); 

	// [left] and [/left] For the text with it is left. 
	$text = str_replace("[align=left:$uid]", $bbcode_tpl['left_open'], $text); 
	$text = str_replace("[/align:$uid]", $bbcode_tpl['left_close'], $text); 

	// [right] and [/right] For the text with it is right. 
	$text = str_replace("[align=right:$uid]", $bbcode_tpl['right_open'], $text); 
	$text = str_replace("[/align:$uid]", $bbcode_tpl['right_close'], $text); 

# 
#-----[ FIND ]--------------------------------------------- 
# 

	// [i] and [/i] for italicizing text. 
	$text = preg_replace("#\[i\](.*?)\[/i\]#si", "[i:$uid]\\1[/i:$uid]", $text); 

# 
#-----[ ADD, AFTER ]---------------------------------------- 
# 

	// [center] and [/center] for centered text. 
	$text = preg_replace("#\[align=center\](.*?)\[/align\]#si", "[align=center:$uid]\\1[/align:$uid]", $text); 

	// [left] and [/left] For the text with it is left 
	$text = preg_replace("#\[align=left\](.*?)\[/align\]#si", "[align=left:$uid]\\1[/align:$uid]", $text); 

	// [right] and [/right] For the text with it is right 
	$text = preg_replace("#\[align=right\](.*?)\[/align\]#si", "[align=right:$uid]\\1[/align:$uid]", $text); 

	// [width] and [/width] Alignment on width 
	$text = preg_replace("#\[align=width\](.*?)\[/align\]#si", "[align=width:$uid]\\1[/align:$uid]", $text); 

#
#-----[ OPEN ]--------------------------------------------- 
# 

languages/lang_russian/lang_main.php 

# 
#-----[ FIND ]--------------------------------------------- 
# 

$lang['bbcode_f_help'] = 'Размер шрифта: [size=x-small]маленький тест[/size]'; 

# 
#-----[ ADD, AFTER ]---------------------------------------- 
# 

$lang['bbcode_al_help'] = 'Выравнивание текста: [align=xxx]текст[/align] xxx - width, left, center, right'; 

# 
#-----[ FIND ]--------------------------------------------- 
# 

$lang['font_huge'] = 'Огромный'; 

# 
#-----[ ADD, AFTER ]---------------------------------------- 
# 

$lang['Align'] = 'Выравнивание текста'; 
$lang['ALIGN_DEFAULT'] = 'По умолчанию'; 
$lang['Width'] = 'По ширине'; 
$lang['left'] = 'Слева'; 
$lang['center'] = 'По центру'; 
$lang['right'] = 'Справа'; 

# 
#-----[ OPEN ]--------------------------------------------- 
# 

templates/subSilver/bbcode.tpl 

# 
#-----[ FIND ]--------------------------------------------- 
# 

<!-- BEGIN i_open --><span style="font-style: italic"><!-- END i_open --> 
<!-- BEGIN i_close --></span><!-- END i_close --> 

# 
#-----[ ADD, AFTER ]---------------------------------------- 
# 

<!-- BEGIN width_open --><div align="justify"><!-- END width_open --> 
<!-- BEGIN width_close --></div><!-- END width_close --> 
<!-- BEGIN center_open --><div align="center"><!-- END center_open --> 
<!-- BEGIN center_close --></div><!-- END center_close --> 
<!-- BEGIN left_open --><div align="left"><!-- END left_open --> 
<!-- BEGIN left_close --></div><!-- END left_close --> 
<!-- BEGIN right_open --><div align="right"><!-- END right_open --> 
<!-- BEGIN right_close --></div><!-- END right_close --> 

# 
#-----[ OPEN ]--------------------------------------------- 
# 

templates/subSilver/posting_body.tpl 

# 
#-----[ FIND ]--------------------------------------------- 
# 

f_help = "{L_BBCODE_F_HELP}"; 

# 
#-----[ ADD, AFTER ]---------------------------------------- 
# 

al_help = "{L_BBCODE_AL_HELP}"; 

# 
#-----[ FIND ]--------------------------------------------- 
# 

         <option  value="24">{L_FONT_HUGE}</option> 

# 
#-----[ ADD, AFTER ]---------------------------------------- 
# 
# 

         </select>&nbsp;{L_ALIGN}:<select name="addbbcode22" onChange="bbfontstyle('[align=' + this.form.addbbcode22.options[this.form.addbbcode22.selectedIndex].value + ']', '[/align]')" onMouseOver="helpline('al')"> 

<option value="">{L_ALIGN_DEFAULT}</option> 
<option value="width">{L_WIDTH}</option> 
<option value="left">{L_LEFT}</option> 
<option value="center">{L_CENTER}</option> 
<option value="right">{L_RIGHT}</option> 

# 
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------ 
# 
# EoM
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)

Оставь благодарность, подтверди работоспособность совета.

ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
Exploder
phpBB 1.4.2
Сообщения: 56
Стаж: 18 лет 8 месяцев
Откуда: Германия

Сообщение Exploder »

[R: R@m$e$ :U]

Ну просто не натренерован еще :)
Аватара пользователя
[R: R@m$e$ :U]
phpBB Maniac
Сообщения: 1464
Стаж: 19 лет 3 месяца
Откуда: Novosibirsk,RU

Сообщение [R: R@m$e$ :U] »

Exploder
да ладно... я кстати тоже промахнулся...
исправь

Код: Выделить всё

2005-07-23 - Version 1.0.0 RC1 { MMP }
на

Код: Выделить всё

2005-07-23 - Version 1.0.0
это от одного из моих совместных модов.. =)
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)

Оставь благодарность, подтверди работоспособность совета.

ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
quazi
phpBB 2.0.2
Сообщения: 306
Стаж: 19 лет 1 месяц

Сообщение quazi »

Exploder, это пробовали? помогло?
Exploder
phpBB 1.4.2
Сообщения: 56
Стаж: 18 лет 8 месяцев
Откуда: Германия

Сообщение Exploder »

quazi
Ошибку которую описывал я уже исправил.

А преминяя вот это

Код: Выделить всё

$text = preg_replace("\[align=(center|left|right|width)\]((?:(?!\[\/?align\]).)+)\[\/align\]/si", "[align=\\1:$uid]\\2[/align:$uid]", $text);
вылазит ошибка

Код: Выделить всё

Warning: preg_replace(): Delimiter must not be alphanumeric or backslash in /var/www/web69/html/includes/bbcode.php on line 321
Вы бы не могли расписать, что выполнят "$text".
quazi
phpBB 2.0.2
Сообщения: 306
Стаж: 19 лет 1 месяц

Сообщение quazi »

корректный код представлен в посте
http://phpbbguru.net/community/viewtopi ... 4215#44215
Последний раз редактировалось quazi 04.10.2005 10:41, всего редактировалось 2 раза.
Exploder
phpBB 1.4.2
Сообщения: 56
Стаж: 18 лет 8 месяцев
Откуда: Германия

Сообщение Exploder »

quazi
Все, теперь работает.

Исправил первый пост.
Заменил:

Код: Выделить всё

// [center] and [/center] for centered text.
	$text = preg_replace("#\[align=center\](.*?)\[/align\]#si", "[align=center:$uid]\\1[/align:$uid]", $text);

      // [left] and [/left] For the text with it is left
	$text = preg_replace("#\[align=left\](.*?)\[/align\]#si", "[align=left:$uid]\\1[/align:$uid]", $text);

      // [right] and [/right] For the text with it is right
	$text = preg_replace("#\[align=right\](.*?)\[/align\]#si", "[align=right:$uid]\\1[/align:$uid]", $text);

      // [width] and [/width] Alignment on width 
      $text = preg_replace("#\[align=width\](.*?)\[/align\]#si", "[align=width:$uid]\\1[/align:$uid]", $text);
на:

Код: Выделить всё

// [align=xxx] and [align]
$text = preg_replace("/\[align=(center|left|right|width)\]((?:(?!\[\/?align\]).)+)\[\/align\]/si","[align=\\1:$uid]\\2[/align:$uid]", $text);
quazi
phpBB 2.0.2
Сообщения: 306
Стаж: 19 лет 1 месяц

Сообщение quazi »

Exploder
не забудьте проверить такие варианты как

Код: Выделить всё

[align=left]123456[/align]
[align=right]abcdef[/align]

[align=left]
123456
[align=right]abcdef[/align]
qwertyuiop
[/align]
если мне не изменяет память
в 1 варианте
123456 - выравнивается влево
abcdef - выравнивается вправо

во 2 варианте
выравнивается только вправо и только текст
abcdef
остальной текст выводится как есть включая ВВ-коды

это нормальная и правильная вабота
Exploder
phpBB 1.4.2
Сообщения: 56
Стаж: 18 лет 8 месяцев
Откуда: Германия

Сообщение Exploder »

хм..
и вправду, такой вариант не работает :cry:

если использовать вот такой код:

Код: Выделить всё

[align=right] 
123456 

[align=left]abcdef[/align] 

qwertyuiop 
[/align]
то
123456 и abcdef выравниваются в правую сторону, причем abcdef с открытым кодом. Вообщем вот так получается

Код: Выделить всё

123456 

[align=left]abcdef
Это в правую уходит

а вот это

Код: Выделить всё

qwertyuiop 
[/align]
в левой остается
Exploder
phpBB 1.4.2
Сообщения: 56
Стаж: 18 лет 8 месяцев
Откуда: Германия

Сообщение Exploder »

А в чем проблема, ктонить может посказать.
quazi
phpBB 2.0.2
Сообщения: 306
Стаж: 19 лет 1 месяц

Сообщение quazi »

еще раз сюда http://phpbbguru.net/community/viewtopi ... 4215#44215

я там кое-что забыл
Exploder
phpBB 1.4.2
Сообщения: 56
Стаж: 18 лет 8 месяцев
Откуда: Германия

Сообщение Exploder »

quazi
Использую:

Код: Выделить всё

[align=right] 
123456 

[align=left]abcdef[/align] 

qwertyuiop 
[/align]
Получается :
в левой

Код: Выделить всё

[align=right] 
123456
Получается что тег вообще не окрывается

В левой, как и должно быть И опять в левой:

Код: Выделить всё

qwertyuiop 
[/align]
quazi
phpBB 2.0.2
Сообщения: 306
Стаж: 19 лет 1 месяц

Сообщение quazi »

это нормально!
так и должно быть. не рекомендуется вкладывать стили. если надо
выровнять влево
выровнять вправо
выровнять влево

то так и надо писать

Код: Выделить всё

[align=left]выровнять влево[/align]
[align=right]выровнять вправо[/align]
[align=left]выровнять влево[/align]
а не так

Код: Выделить всё

[align=left]выровнять влево
[align=right]выровнять вправо[/align]
выровнять влево[/align]
правило которое я написал работает именно так
Exploder
phpBB 1.4.2
Сообщения: 56
Стаж: 18 лет 8 месяцев
Откуда: Германия

Сообщение Exploder »

quazi
Все понятно!
Спасибо за оказанную помощь!!!
quazi
phpBB 2.0.2
Сообщения: 306
Стаж: 19 лет 1 месяц

Сообщение quazi »

Exploder
не за что :)

Вернуться в «Для авторов (phpBB 2.0.x)»