phpBB — популярный скрипт форума. phpBB создан в 2000 году и на сегодняшний день является самым используемым в мире форумом с открытым исходным кодом. Zebroid имеет максимальную поддержку этой CMS (импорт контента из сайта в программу, экспорт с программы на сайт, а так же поддержку комментариев).
Экспорт
Экспорт в phpBB3 реализован в виде файловый экспорт. Программа генерирует XML файл, который необходимо импортировать в специальный модуль на сайте.
// We validate the complete config if whished
validate_config_vars($display_vars['vars'], $cfg_array, $error);
if ($submit && !check_form_key($form_key))
{
$error[] = $user->lang['FORM_INVALID'];
}
Далее добавляем:
/* Start Zebroid import */
if ($mode == 'zebroid_import' && $submit) {
include($phpbb_root_path . 'includes/functions_zebroid.php');
$zeb_err = zebroid_import_file($phpbb_root_path . 'zeb_import/' . $cfg_array['zeb_filename'], //Путь к файлу
$cfg_array['forum_perm_from'], //Форумные права
$cfg_array['usr_pass'], //Пароль для пользователей
$cfg_array['usr_group'], //Группа пользователей
$cfg_array['views_count'], //Просмотров
$cfg_array['use_avatars'], //Использовать аватары
$cfg_array['uniq_check'], //Проверять на наличие дубликатов
$this->u_action); //Ссылка назад
if ($zeb_err != '') $error[] = $zeb_err;
}
//Значения по умолчанияю
$cfg_array['usr_pass'] = '123456';
$cfg_array['use_avatars'] = '1';
$cfg_array['uniq_check'] = '1';
$cfg_array['views_count'] = '30-300';
/* End Zebroid import */
Открыть файл "/language/en/acp/board.php" или "/language/ru/acp/board.php" в зависимости от языка в настройках (можно и оба править)
Ищем:
?>
Перед этим добавляем:
/* Start Zebroid import */
$lang = array_merge($lang, array(
'ACP_ZEBROID_EXPLAIN' => 'Импорт контента подготовленого программой Зеброид',
'ZEBROID_SETTINGS' => 'Настройки',
'ZEBROID_FILENAME' => 'Имя файла',
'ZEBROID_FILENAME_EXPLAIN' => 'Для того, чтобы можно было выбрать файл для импорта, его сначала нужно загрузить в папку "zeb_import", которая находится в корне сайта. Имя файла обязательно должно быть на латинице.',
'ZEBROID_PERMISSIONS' => 'Копировать форумные права',
'ZEBROID_PERMISSIONS_EXPLAIN' => 'Устанавливает такие же права доступа на созданные форумы, что и у выделеного',
'ZEBROID_USR_PASS' => 'Пароль для пользователей',
'ZEBROID_USR_PASS_EXPLAIN' => 'Всем новым пользователям, которых создаёт данный скрипт будет установлен указанный здесь пароль',
'ZEBROID_USR_GROUP' => 'Группа для пользователей',
'ZEBROID_USR_GROUP_EXPLAIN' => 'Группа, в которую попадут созданные скриптом пользователи',
'ZEBROID_VIEWS_COUNT' => 'Количество просмотров темы',
'ZEBROID_VIEWS_COUNT_EXPLAIN' => 'Можна указать точное значение, тогда скрипт новым темам будет присваивать его ±20, или же указать диапазон, например, "50-80"',
'ZEBROID_AVATAR' => 'Загружать аватары',
'ZEBROID_AVATAR_EXPLAIN' => 'Если эта опция включена - тогда пользователям, что создаются скриптом, будут загружаться аватары из папки "zeb_avatar" (каждый аватар используется только 1 раз и удаляется из папка)',
'ZEBROID_UNIQ_CHECK' => 'Отсеивать дубликаты',
'ZEBROID_UNIQ_CHECK_EXPLAIN' => 'Перед созданием тем, скрипт будет проверять нет ли темы с таким названием в базе данных и только в случае отсутствия создавать новую',
));
/* End Zebroid import */
Открыть файл «language/en/acp/common.php» или «language/ru/acp/common.php» в зависимости от языка в настройках (можно и оба править)
Ищем:
После установки заходим в админку, вкладка «Система» -> «Управление модулями» -> «Центр администрирования». В списке по середине выбираем «Общее», потом «Конфигурация» и внизу страницы из выпадающего списка выбираем «Zebroid import» (скриншот) и нажимаем кнопку добавить. Далее в списке возле Zebroid import нажимаем «включить». После всего чистим кеш (вкладка «Общие») Теперь настройка мода будет доступна «Общие» → «Конфигурация» → «Zebroid import» (скриншот).
Если вы собираетесь использовать аватары, тогда обязательным пунктом есть их включение в настройках форума и увеличение допустимого размера загружаемых аватаров до уровня, который не будет меньше добавляемых вами в папку «zeb_avatar». Скрипт автоматически уменьшает загруженные вами картинки до 90 пикселей по большей стороне.
Модуль умеет постить комментарии, но phpBB3 не следит за тем, чтобы комментарии и темы были опубликованы в нужно время, а отображает сразу все. Если вы хотите иметь отложенную публикацию для этой CMS — воспользуйтесь модифицированной сборкой phpBB3 Zebroid Edititon.
Импорт
Для phpBB3 был создан специальный модуль экспорта форума, который потом можно без проблем импортировать, используя профиль XML импорта сгенерированого модулем файла. Установка модуля:
Качаем модуль и распаковываем архив
Открываем файл с помощью редактора и устанавливаем логин и пароль в 6 и 7 строках
Вводим логи и пароль, указываем какую ветку форума экспортировать и запускаем процесс.
После экспорта скачиваем сгенерированный файл и импортируем его с использованием правильного профиля импорта XML. Если полученный проект вы не планируете в будущем экспортировать в phpBB3, тогда с помощью снипета поиска и замены, который называется phpBB3, проект можно почистить от BB-кодов (точнее перевести их в HTML-коды).
Сборка phpBB3 Zebroid Edititon
Основная особенность и достоинство этой модификации есть то, что скрипт форума строго контролирует вывод тем и сообщений в зависимости от текущей даты. Таким образом, если мы с помощью Зеброида наполнили форум в котором есть посты и темы с не наступившей датой, то такие темы и посты появятся именно тогда, когда дата их публикации наступит. Что это дает? — теперь очень просто создать псевдо-активные форумы, которые будут жить своей жизнью и не завесить от вас.
При внесении модификаций было уделено внимание малейшим деталям:
Количество тем, сообщений и пользователей соответствует данным для текущего момента времени
Пользователей с не наступившей датой регистрации в списках пользователей нету
Количество сообщений у пользователя всегда показывается верное на данный момент времени
В поиске нельзя найти постов и тем из будущего
Последняя активность пользователя никогда не бывает больше текущего времени
Посты всегда отображаются в хронологическом порядке
Последний, кстати, очень важен. Вот к примеру: Есть тема, в которой 7 сообщений, но в данный момент отображается только 3 (дата публикации остальных еще не наступила). Пользователь читает тему и решает оставить свой ответ, которой в результате попадает на место четвертого в теме и никуда не сдвигается. Все ответы, имеющие более позднюю дату публикации — отображаются в теме после этого поста.
Внимание: Обновляться с официальных источников категорически запрещено
Скрипт импорта контента Зеброид в движок уже установлен.