Установка MOD'ов на phpBB 2.0.x

Написано для размещения на сайте Русскоязычной поддержки phpBB.

Скачиваете архив с модом.

Распаковываете архив.

Находите в корневом каталоге распакованного архива файл install.txt, или readme.txt, или имя_мода_возможно_номер_версии.txt_возможно_mod, так же загляните в каталог /docs в архиве мода. Не трогайте файл в имени которых содержиться части слов update или upgrade - это обновления с предыдущей версии мода. Каталог /contrib обычно содержит дополнения к моду.

Открываете найденный файл в нормальном текстовом редакторе (в таком который не ломает кодировку и не ломает переносы строк и табуляцию), я лично предпочитаю Bred3 с включенной синтаксической подсветкой (мне так удобней). Если файл содержит шапку вида представленную в статье Шаблон оформления мода для phpBB - это то что вам нужно.

Теперь смотрим строчку "MOD Author:", находим там ссылку на сайт автора, идем по ней и проверяем наличие новой версии. При обнаружении оной скачиваем её и повторяем то, что написано выше.
Теперь начинается собственно установка.

0) Первое что вы должны сделать перед любыми предпринятыми вами действиями - это создание резервной копии файлов и БД.

1) Действие "COPY"

Если в файле установки вы видите что то похожее на это:
#
#-----[ COPY ]------------------------------------------
#
copy file.php to file.php
copy file.tpl to templates/subSilver/file.tpl

То вы должны загрузить file.php в корень вашего phpBB2, а file.tpl в каталог стиля, не производя с этими файлами никаких действий. Путь указываеться от корня Вашего phpBB2.

2) Действие "OPEN"

Это первое базовое действие
#
#-----[ OPEN ];------------------------------------------
#
common.php

Легким движением руки вы должны открыть указанный файл в текстовом редакторе. Путь указываеться от корня Вашего phpBB.

3) Действие "FIND"

#
#-----[ FIND ]------------------------------------------
#
$lang['General'] = 'General Admin';

Указывает на строку, которую необходимо найти для проведения дальнейших действий.
Указываться для поиска может как строка целиком, так и любая часть этой строки (начало строки, конец строки или середина):
#
#-----[ FIND ]------------------------------------------
#
$lang['General'] =

#
#-----[ FIND ]------------------------------------------
#
Admin';

#
#-----[ FIND ]------------------------------------------
#
'General Admin'

А для послеющих действий вы должны работать целиком со строкой.
Несколько действий [ FIND ] в одном файле должны выполняться последовательно от начала файла. То есть выполнив первое действие [ FIND ] второе Вы будете выполнять не от начала файла, а ниже первого действия [ FIND ], которое вы уже выполнили.

4) Действие "REPLACE WITH"

#
#-----[ REPLACE WITH ]----------------------------------
#
$lang['General'] = 'New string';

Действие [ REPLACE WITH ] указывает чем необходимо заменить найденную строку/ки. Этому действию обычно предшеcтвует действие [ FIND ]. Действие [ REPLACE WITH ] проводится целиком над строкой/ками.

5) Действие "AFTER, ADD"

#
#-----[ AFTER, ADD ]-----------------------------------
#
if ( $userdata['user_level'] == ADMIN )
{
edit_user();
}

Указывает что необходимо добавить после найденной строки/к. Этому действию обычно предшеcтвует действие [ FIND ]. Действие [ AFTER, ADD ] проводится целиком над строкой/ками.

6) Действие "BEFORE, ADD"

#
#-----[ BEFORE, ADD ]-----------------------------------
#
if ( $userdata['user_level'] == USER )
{
redirect('index.'.$phpEx);
}

Указывает что необходимо добавить перед найденной строкой/ками. Этому действию обычно предшеcтвует действие [ FIND ]. Действие [ BEFORE, ADD ] проводится целиком над строкой/ками. Это действие очень похоже на [ AFTER, ADD ], поэтому будьте внимательны и не путайте их.

7) Действие "IN-LINE FIND"

#
#-----[ IN-LINE FIND ]----------------------------------
#
General

Действие [ IN-LINE FIND ] служит для поиска определенной части строки для последующего редактирования. Действию [ IN-LINE FIND ] обычно предшествует действие [ FIND ].

Действие "IN-LINE AFTER, ADD"

#
#-----[ IN-LINE AFTER, ADD ]---------------------------
#
 phpBB

Действие [ IN-LINE AFTER, ADD ] указывает что нужно добавить после найденного в действии [ IN-LINE FIND ] в пределах этой строки.

9) Действие "IN-LINE BEFORE, ADD"

#
#-----[ IN-LINE BEFORE, ADD ]------------------------------------------
#
phpBB

Действие [ IN-LINE BEFORE, ADD ] указывает что нужно добавить перед найденным в действии [ IN-LINE FIND ] в пределах этой строки. Это действие очень похоже на [ IN-LINE AFTER, ADD ], поэтому будьте внимательны и не путайте их.

10) Действие "IN-LINE REPLACE WITH"

#
#-----[ IN-LINE REPLACE WITH ]------------------------------------------
#
Common

Действие [ IN-LINE REPLACE WITH ] указывает чем нужно заменить найденное в действии [ IN-LINE FIND ] в пределах этой строки.

11) Действие "INCREMENT"

#
#-----[ FIND ]--------------------------------------- #
Powered by <a href="http://www.phpbb.com/" target="_phpbb" class="copyright">phpBB</a> &copy; 2001, {%:1} phpBB Group<br />{TRANSLATION_INFO}</span></div>
#
#-----[ INCREMENT ]----------------------------------
#
%:1 +10

Действие [ INCREMENT ] используется для изменения значений чисел. Это действие является наиболее удобным (и чаще всего применяется) для изменения атрибутов colspans или rowspans в шаблонах стилей (файлы *.tpl).
Действию [ INCREMENT ] обязательно предшестует действие [ FIND ] или [ IN-LINE FIND ]. В этом предшествующем действие изменяемое число будет заменено структурой {%:1}. Если в пределах одной строки используется несколько изменений чисел, то последующий числа будут заменены на {%:2}, {%:3} и т.д.
В действии [ INCREMENT ] указывается какое число нужно изменить и насколько его изменить. Для увеличения значения используется +, для уменьшения -. Если изменение не задано, то это соответствует изменению +1. Например:
#
#-----[ INCREMENT ]-------------------------------------
#
%:1

Это равносильно
#
#-----[ INCREMENT ]-------------------------------------
#
%:1 +1

Вот ещё несколько примеров:
#
#-----[ INCREMENT ]-------------------------------------
#
%:2 -3

#
#-----[ INCREMENT ]-------------------------------------
#
%:3 +5

Действие [ IN-LINE INCREMENT ] является точно таким же как и просто действие [ INCREMENT ].

12) Действие "SQL"

#
#-----[ SQL ]------------------------------------------
#
INSERT INTO phpbb_config ( config_name, config_value ) VALUES ('foo', 'bar');

Действие [ SQL ] описыватся запросы к БД, котрорые необходимо выполнить при установке МОДа.
Если Вы указали при установке phpBB префикс отличный от используемого по умолчанию (phpbb_), вы должны заменить этот префикс на свой.
Для выполнения SQL-запросов Вы можете воспользоваться любым менеджером работы с БД (например, phpMyAdmin).
Часто в архиве с модом идет php-файл, который сам внесет необходимые изменения в БД (ещё такой файл можно сгенерировать самому). Обычно его необходимо поместить в корневой каталог вашего форума и обратиться к нему через браузер.
В одном действии [ SQL ] может описываться несколько запросов к БД:
#
#-----[ SQL ]------------------------------------------
#
INSERT INTO phpbb_config ( config_name, config_value ) VALUES ('foo', 'bar');
INSERT INTO phpbb_config ( config_name, config_value ) VALUES ('foo2', 'bar2');

13) Действие "DIY INSTRUCTIONS"

#
#-----[ DIY INSTRUCTIONS ]----------------------------------
#
CHMOD foo.php and bar.php to 777
Open in your web browser and follow the instructions in db_install.php

Действие [ DIY INSTRUCTIONS ] описывает нестандартизированые действия необходимые для установки МОДа. Например, расстановку прав доступа на файлы и каталоги (CHMOD) или запуск скрипта обновления БД вместо ручного выполнения действия [ SQL ].

14) Действие "SAVE/CLOSE ALL FILES"

##-----[ SAVE/CLOSE ALL FILES ]-------------------------
Сохраните изменения во всех файлах, закройте их и закачайте на сервер обновленную копию phpBB2.

Разное.

# EoM
End of Mod - просто конец мода.

#
#-----[ ДЕЙСТВИЕ ]------------------------------------------
#Здесь может быть комментарий к выполняемому действию
#

Таким образом оформляется комментарий к действию. Комментарий может нести как просто благодарность кому-либо за помощь в разработке этого участка кода, так и пояснения для более безпроблемного выполнения этого действия.

Запомните два адреса: www.translate.ru и www.rambler.ru/dict/ - это онлайн переводчик и онлайн словарь соответственно - не стесняйтесь ими пользоваться.

Не забудьте перед установкой мода сделать резервную копию БД и файлов вашего phpBB2.