Модуль phpbb3
Установка модуля постинга в форумный движок phpBB3
Процесс установки:
- Скачать архив с модулем и инструкцию по установке: http://zebroid.ru/forum/viewtopic.php?f=13&t=758&start=0
- Закидываем содержимое архива в корень сайта
- Открыть файл "/includes/acp/acp_board.php"
[Ищем:]
switch ($mode) {[Далее добавляем:]
/* Start Zebroid import */ case 'zebroid_import': $display_vars = array( 'title' => 'ACP_ZEBROID', 'vars' => array( 'legend1' => 'ZEBROID_SETTINGS', 'zeb_filename' => array('lang' => 'ZEBROID_FILENAME', 'validate' => 'string', 'type' => 'select', 'method' => 'get_zebroid_files', 'explain' => true), 'forum_perm_from' => array('lang' => 'ZEBROID_PERMISSIONS', 'validate' => 'string', 'type' => 'select', 'method' => 'select_all_forums', 'explain' => true), 'usr_pass' => array('lang' => 'ZEBROID_USR_PASS', 'validate' => 'string', 'type' => 'text:20:50', 'explain' => true), 'usr_group' => array('lang' => 'ZEBROID_USR_GROUP', 'validate' => 'int', 'type' => 'select', 'method' => 'select_groups_list', 'explain' => true), 'views_count' => array('lang' => 'ZEBROID_VIEWS_COUNT', 'validate' => 'string', 'type' => 'text:20:50', 'explain' => true), 'use_avatars' => array('lang' => 'ZEBROID_AVATAR', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'uniq_check' => array('lang' => 'ZEBROID_UNIQ_CHECK', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), ), ); break; /* End Zebroid import */ - В этом же файле
[Ищем:]
function quick_reply($value, $key) { global $user; $radio_ary = array(1 => 'YES', 0 => 'NO'); return h_radio('config[allow_quick_reply]', $radio_ary, $value) . ' <input class="button2" type="submit" id="' . $key . '_enable" name="' . $key . '_enable" value="' . $user->lang['ALLOW_QUICK_REPLY_BUTTON'] . '" />'; }[Далее добавляем:]
/* Start Zebroid import */ function get_zebroid_files() { global $phpbb_root_path; $file_list = glob($phpbb_root_path . "/zeb_import/*.xml"); $result = ''; if($file_list) foreach ($file_list as $value) { $filename = substr($value, (strlen ($value)) - (strlen (strrchr($value, '/'))) + 1, (strlen ($value))); $result .= "<option value='$filename'>$filename</option>"; } return $result; } function select_all_forums($value, $key) { global $user, $config; $forum_list = make_forum_select(false, false, true, true, true, false, true); foreach ($forum_list as $f_id => $f_row) { $f_row['selected'] = phpbb_optionget(FORUM_OPTION_FEED_NEWS, $f_row['forum_options']); $s_forum_options .= '<option value="' . $f_id . '"' . (($f_row['selected']) ? ' selected="selected"' : '') . (($f_row['disabled']) ? ' disabled="disabled" class="disabled-option"' : '') . '>' . $f_row['padding'] . $f_row['forum_name'] . '</option>'; } return $s_forum_options; } function select_groups_list(){ return group_select_options(2, array(4,5,6), false); } /* End Zebroid import */ - В этом же файле
[Ищем:]
// 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" в зависимости от языка в настройках (можно и оба править)
[Ищем:]
?>
[Перед этим добавляем:]
/* Start Zebroid import */ $lang = array_merge($lang, array( 'ACP_ZEBROID' => 'Зеброид импорт', 'LOG_CONFIG_ZEBROID' => '<strong>Импорт Зеброид</strong>', )); /* End Zebroid import */
- Открыть файл "includes/acp/info/acp_board.php"
[Ищем:]
'registration' => array('title' => 'ACP_REGISTER_SETTINGS', 'auth' => 'acl_a_board', 'cat' => array('ACP_BOARD_CONFIGURATION')),[Далее добавляем:]
'zebroid_import' => array('title' => 'Zebroid Import', 'auth' => 'acl_a_board', 'cat' => array('ACP_BOARD_CONFIGURATION')), - Открыть файл "includes/functions_posting.php"
[Ищем:]
function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $update_message = true, $update_search_index = true)
[Заменять на:]
function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $update_message = true, $update_search_index = true, $custom_time = '')
- В этом же файле
[Ищем:]
$current_time = time();
[Заменять на:]
if(!$custom_time) $current_time = time(); else $current_time = $custom_time;
- После установки заходим в админку, вкладка "Система" -> "Управление модулями" -> "Центр администрирования". В списке по середине выбираем "Общее", потом "Конфигурация" и внизу страницы из выпадающего списка выбираем "Zebroid import" и нажимаем кнопку добавить. Далее в списке возле Zebroid import нажимаем "включить". После всего чистим кеш (вкладка "Общие") Теперь настройка мода будет доступна "Общие" -> "Конфигурация" -> "Zebroid import".
- Если вы собираетесь использовать аватары, тогда обязательным пунктом есть их включение в настройках форума и увеличение допустимого размера загружаемых аватаров до уровня, который не будет меньше добавляемых вами в папку "zeb_avatar". Скрипт автоматически уменьшает загруженные вами картинки до 90 пикселей по большей стороне.
