phpBBex — расширенная версия phpBB 3 / Хабр

phpBB 3 — популярный бесплатный форум. Первая версия вышла в свет в 2000 году, и с тех пор вокруг этого движка сформировалось огромное сообщество. Не глядя на серьёзные архитектурные недостатки третьей ветки, которые остались в наследие от предыдущих версий, данный движок по праву считается одним из самых мощных решений среди бесплатных форумов. Огромное количество модов, написанных сообществом, только способствуют этому.
Как правило, мало кого устраивает стандартная функциональность phpBB 3, и каждый владелец форума устанавливает несколько модов, либо использует готовые сборки, которые включают наиболее популярные модификации. Однако, не все моды реализованы достаточно хорошо. Что-то было написано для старых версий форума, и не было обновлено, из-за чего в новых версиях форума возникают какие-то проблемы.
Несколько лет назад для форума родного города я создал форк с именем phpBBex, где постарался сделать phpBB 3 таким, каким вижу его я.

Большинство проделанных изменений не существует в виде модов. Практически все установленные моды были сильно переработаны: исправлены ошибки, код адаптирован под последние версии phpBB. Недавно проект был переведён на Mercurial, в результате чего поддержка форка значительно упростилась. Надеюсь, что кто-то найдёт этот проект полезным.

Что изменилось?

Изменений очень много. В большинстве своём это просто приятные мелочи. Остановимся на этом немного подробнее. В качестве демо я буду использовать сайт города Слуцка (логин: tester, пароль: tester), который отличается от phpBBex только добавленной галереей и чатом. Посмотреть для сравнения на работу оригинального phpBB 3 можно на сайте try-phpbb.com.

Главная страница


  • В phpBBex используется модифицированный prosilver в новой цветовой схеме
  • Верхний ряд ссылок можно редактировать из админки. На приведённом сайте добавлены ссылки на галерею и чат, которых нет в самом phpBBex (поскольку phpBBex — это только форум)
  • Новая компактная шапка с выпадающим меню для быстрого доступа ко всем страницам, включая панели управления для администраторов и модераторов
  • Осталось свободное место для баннера 🙂
  • Отображаются важные объявления
  • Отображается название темы с последним сообщением
  • Текст copyright notice можно редактировать из админки
  • В рунете чаще всего используется счётчик liveinternet. ru, поэтому он встроен в шаблон. Можно удалить. Поскольку сервер liveinternet.ru не всегда быстро отвечает, код счётчика вставляется с небольшой задержкой, чтобы браузер не беспокоил пользователя индикатором «загрузка»

Просмотр темы


  • Путь по сайту отображается под заголовком только тогда, когда это нужно (на страницах просмотра форумов и тем)
  • Заметные кнопки действий над темой, размещённые рядом с заголовком (в phpBB 3 разработчики почему-то ограничились неприметными ссылками внизу страницы)
  • Отдельная кнопка для закрытия и открытия темы
  • Кнопки социальных сетей (можно убрать)
  • Обновлён минипрофиль: отображается возраст и пол, спрятано количество сообщений и дата регистрации
  • Название форума, его описание и правила перед формой быстрого ответа
  • Мощный быстрый ответ (переработанный мод от rxu)
  • Доступны все опции отправки ответа (настраивается)
  • Для цитирования достаточно выделить кусочек сообщения и нажать кнопку «Цитата» — выделенный текст автоматически будет помещён в форму быстрого ответа

Создание темы


  • Полностью переработан интерфейс формы, теперь дополнительные возможности более понятны неподготовленному пользователю
  • Отображается название форума, его описание и правила, чтобы пользователь знал где создаёт тему
  • При вводе вопроса для опроса автоматически появляются элементы управления опросом
  • Поддерживается обновление загруженных файлов
  • Можно закрепить первое сообщение на всех страницах темы

Просмотр профиля


  • Изменён порядок блоков, чтобы более полно использовать пространство на странице
  • Если у пользователя хватает прав, контактные данные отображаются в явном виде, чтобы их можно было скопировать
  • Администратору отображается User-Agent и последний IP адрес пользователя
  • Добавлено поле Skype, по клику открывается диалог в Skype
  • Поля AIM, YIM и MSN были спрятаны, поскольку в СНГ не пользуются большой популярностью
  • Добавлено поле пол, которое отображается рядом с именем пользователя в виде значка

Уведомления

Уведомление о личном сообщении открывается теперь не в отдельном всплывающем окне (которое обычно блокируется браузером), а на той же странице, где находится пользователь.

Обработка BBCode

Встраиваемые в сообщения файлы не переносят строку, что что положительно сказывается на удобстве форматирования сообщения.


После bb-кодов [code], [quote] и [list] не вставляется пустая строка. Визуально темы будут казаться несколько короче 🙂

Открытые голосования

Опционально пользователи могут создавать открытые голосования, в которых видно кто и как проголосовал.

Выполнение нескольких операций с подтверждениями

phpBB 3 не позволяет вызывать несколько страниц подтверждения за один раз. Если вы, например, захотите удалить несколько сообщений в какой-то теме, и откроете для этого соответствующие ссылки «Удалить» в новых окнах, а затем по очереди подтвердите ваши действия, корректно выполнится только последнее вызванное действие, а остальные вызовут ошибку. Согласитесь, очень неприятное явление.


В целях безопасности phpBB 3 для каждого действия с подтверждением требует обязательного вызова страницы подтверждения. То есть удалить сообщение, передав все неободимые скрипту параметры, не вызывая при этом страницу подтверждения, уже не получится. Для каждого подтверждения генерируется уникальный ключ подтверждения confirm_key, который проверяется при выполнении самого действия. Если confirm_key отсутсвует или не совпадает — действие отклоняется. Вся проблема заключается в том, что сохраняется только одно значение confirm_key для каждого пользователя. То есть при открытии новой страницы подтверждения, старый ключ подтверждения просто заменяется новым.
Время от времени разные пользователи писали об этой проблеме в багтрекер phpBB 3, однако разработчики последнего считают, что это полезная фича. Где-то я уже это слышал 🙂 В phpBBex проблема решена просто — система сохраняет сколько угодно confirm_key и хранит их 15 минут.

Система предупреждений

Администрация может выдавать три типа предупреждений: замечание, предупреждение и бан. Каждое предупреждение привязано к конкретному сообщению и имеет какой-то срок (кроме замечаний). Предупреждения и баны отображаются в минипрофиле в виде жёлтых и красных карточек. На данный момент все эти карточки носят лишь информационный характер. То есть, если выдать красную карточку (бан), само наказание для пользователя необходимо отдельно применить стандартными средствами форума. В следующих версиях будут созданы специальные группы, в которые система будет помещать пользователя при определённом количестве предупреждений или при бане, а для этих групп будут заданы ограниченные права.

Пользовательские настройки
  • Отключение обзора темы на странице полного ответа
  • Задание количества тем и количества сообщений на страницу (от 10 до 100)
  • Новые форматы даты, характерные для СНГ
  • Включение и выключение быстрого ответа и быстрых тем

Настройки администратора
  • Автоматическое ограничение на количество строк, картинок и ссылок в подписи
  • Право игнорировать ограничение времени редактирования сообщений
  • Задание ключевых слов сайта (meta keywords)
  • Редактирование блока внешних ссылок и уведомления об авторских правах
  • Запрет изменения пользователем стиля, часового пояса, языка
  • Автоматическая склейка подряд идущих сообщений от одного пользователя

Другое
  • В RSS при отсутствии темы у комментария подставляется тема всей ветки
  • Отображение русских URL в декодированном виде (например, «%D0%9D%D0%BE%D0%B3%D0%B0» будет отображаться как «Нога»)
  • Добавлены русские боты
  • Добавлена страница «правила форума» (пока что только русская версия), облегчён FAQ
  • При регистрации можно указать имя пользователя, содержащее только буквы, цифры, пробел, точку, дефис или знак подчёркивания
  • В комментариях по умолчанию не подставляется тема
  • В . htaccess настроено кэширование изображений, стилей и т.д.
  • Глобальные объявления отображаются на главной и привязаны к конкретному форуму, как и обычные объявления (решает массу проблем, например, с путём по сайту)
  • Фильтры списка пользователей (активные, не активные, все, без сообщений)
  • Подсчет количества тем, созданных пользователями
  • Вход по имени пользователя либо по email
  • Ведётся подсчёт количества созданных пользователем тем
  • Включён официальный Support Toolkit (доступен по адресу /stk/)
  • Обновлён набор смайликов в стиле phpBB 2, добавлены картинки для званий

Ограничения

Поскольку ресурсы на разработку и тестирование сильно ограничены, phpBBex ограничивается поддержкой русского и английского языков, базы данных MySQL и обновлённого стиля prosilver.

Установка и конвертация

Процесс установки не отличается от phpBB 3. Также поддерживается конвертация уже установленного phpBB 3 в phpBBex. Для этого необходимо на обновлённой до phpBB 3.0.9 базе выполнить скрипт install/phpbbex.sql.

Последнюю версию проекта вы можете скачать на страничке phpbbex.googlecode.com.

Присоединяйтесь к проекту!

Если вам нравится направление проделанной работы, вы можете создать клон репозитория Mercurial, и начать делать какие-то свои изменения. Если вы никогда не работали с Mercurial, рекомендую прочитать статью «Hg Init». Скорее всего, когда вы начнёте пользоваться Mercurial, вы как и я не будете понимать, как вы жили без него раньше 🙂

ToDo


  • Автоматическая смена основной группы для пользователя по заданным правилам с учётом количества предупреждений, наличия «бана» (красная карточка), количества тем и сообщений
  • Право использовать HTML в комментариях (для администратора и, например, для робота, который создаёт темы на форуме для каждой записи в блоге)
  • Вместо оставшихся всплывающих окон использовать splash
  • Сократить тексты уведомлений, чтобы при уведомлении по Jabber не приходили очень длинные сообщения
  • Автоматический пересчёт счётчиков сообщений и тем
  • Автоматическое удаление пользователей с 0 сообщениями, не посещавших форум определённое время (опционально)
  • Сокрытие некоторых разделов из RSS
  • Больше актуальной информации в логах (тексты удаляемых сообщений и т. д.)
  • Отложенные действия (тема будет удалена через сутки, тема будет перемещена через 2 часа и т.д.)
  • Активно использовать AJAX там, где это повысит удобство для пользователя

Спасибо за внимание. Буду рад прочитать ваши замечания и предложения!

Как установить phpBB с помощью Softaculous

Содержание

Softaculous поможет вам установить программное обеспечение для создания веб-сайтов и поддерживать актуальность установленного программного обеспечения. Среди вещей, которые можно установить таким образом, есть phpBB.

Обратите внимание, что для установки phpBB через Softaculous необходима лицензия Premium для Softaculous. Если у вас еще нет лицензии Premium на Softaculous, вы можете приобрести ее в нашем отделе выставления счетов.

Шаг 1: Убедитесь, что phpBB доступен для установки

Сначала войдите в WHM и убедитесь, что phpBB является одним из скриптов, доступных для установки пользователям cPanel. Для этого войдите в WHM и перейдите в «Плагины» → «Мгновенные установки Softaculous».

Затем на левой боковой панели рамки Softaculous перейдите в «Программное обеспечение → Общие сценарии».

Затем убедитесь, что там включен phpBB. Чтобы сэкономить время позже, вы также можете установить флажок в столбце «Предварительная загрузка».

Убедившись, что флажки установлены, прокрутите список вверх и нажмите кнопку «Обновить настройки».

Затем вы должны увидеть сообщение об успешном завершении:

Шаг 2: Создайте учетную запись cPanel

Если вы еще этого не сделали, вам необходимо создать учетную запись cPanel для сайта. Это делается в WHM в разделе «Создать новую учетную запись». Если вы еще не знаете, как это сделать, подробнее о первых шагах по настройке учетной записи cPanel можно прочитать здесь.

Шаг 3. Установите phpBB

После входа в cPanel прокрутите вниз до раздела «Установщик приложений Softaculous». В подразделе «Скрипты» одним из вариантов должен быть phpBB.

Затем нажмите кнопку «Установить сейчас».

Заполните информацию в форме. Первые три поля предназначены для определения URL главной страницы сайта. В первом раскрывающемся списке укажите, хотите ли вы использовать HTTPS или обычный HTTP, и хотите ли вы использовать «www». как часть URL или нет. Во втором раскрывающемся списке можно выбрать, какие из доменов или поддоменов в учетной записи cPanel использовать для сайта (в случае, если в учетной записи cPanel их несколько). В третьем поле введите имя папки сайта, если вы не хотите, чтобы оно находилось непосредственно в корневом каталоге домена. Далее вы можете выбрать название и описание доски, а также адрес электронной почты доски.

Вам также потребуется указать имя пользователя и пароль, которые вы хотите использовать для учетной записи администратора на новом сайте phpBB. Обязательно выберите надежный пароль! Здесь же вы можете указать контактный адрес электронной почты администратора сайта и язык интерфейса форума. Существует также расширяемый список дополнительных параметров.

В разделе «Дополнительно» вы можете выбрать имя базы данных и/или префикс таблицы, если хотите. Если в WHM включено «Требовать префикс имени пользователя для имен новых баз данных и пользователей базы данных» в «Настройках настройки», вам не нужно добавлять префикс самостоятельно. Настоятельно рекомендуется включить автоматическое обновление, чтобы на сайте как можно быстрее применялись исправления безопасности после их выпуска. При необходимости вы также можете включить резервное копирование сайта на уровне softaculous, но вместо этого рекомендуется использовать автоматическое резервное копирование, встроенное в WHM. Если вы включили резервное копирование на уровне Softaculous, обязательно включите резервное копирование  ротация  для конечного числа сохраненных резервных копий. Не выбирайте здесь безлимит! Выбрав нужные параметры, нажмите кнопку «Установить» внизу страницы. При желании вы можете сначала ввести свой адрес электронной почты в поле под кнопкой, чтобы Softaculous отправил вам электронное письмо с подробной информацией об установке.

После нажатия «Установить» на короткое время появится индикатор выполнения, поскольку Softaculous проверяет достоверность информации, которую вы ввели в форму. Если это сработало, вскоре после этого вы должны увидеть страницу успеха.

Если вы решите, чтобы Softaculous отправил вам электронное письмо с информацией об установке, оно должно выглядеть примерно так:

 Путь возврата: 
  Получено: с phpbb через host.XXXXX.net с локальным (Exim 4.87)
          (конверт от )
          идентификатор 1c4u0O-0005xs-6F
          для [email protected]; Чт, 10 нояб. 2016 13:23:20 -05:00
  Кому: [email protected]
  Тема: Новая установка phpBB
  Исходный скрипт X-PHP: 0:mail_functions.php
  MIME-версия: 1.0
  Content-Type: текстовый/обычный; кодировка = UTF-8
  От: Softaculous 
  Ответить на: [email protected]
  X-Mailer: PHP/5.6.20
  Идентификатор сообщения: 
  Дата: Чт, 10 ноября 2016 г. , 13:23:20 -05:00
  Новая установка phpBB 3.1.10 завершена. Детали установки показаны ниже:
  Путь: /home/phpbb/public_html/phpbb
  URL-адрес: http://phpbbtest.XXXXX.net/phpbb
  URL-адрес администратора: http://phpbbtest.XXXXX.net/phpbb/index.php
  Имя администратора: надеюсь, что-то не очевидное
  Пароль администратора : ********
  Электронная почта администратора: [email protected]
  База данных MySQL: phpbb_phpb180
  Пользователь БД MySQL: phpbb_phpb180
  Хост БД MySQL: локальный
  Пароль БД MySQL: ********
  Уведомление об обновлении: включено
  Автоматическое обновление: включено
  Автоматическое резервное копирование: отключено
  Время установки: 10 ноября 2016 г., 18:23.
  Если вы хотите отписаться от таких писем, перейдите в Панель управления -> Softaculous -> Настройки электронной почты 9.0043  

Шаг 4: Первый вход в систему

После установки сайта вы можете войти на вновь установленный сайт.

После входа в систему нажмите ссылку «Панель управления администрированием» внизу страницы:

Затем вам нужно будет войти во второй раз:

Здесь вы можете проверить некоторые из начальных настроек на уровне сайта или начните добавлять пользователей!

Купи мою книгу! » Услуги phpBB

Отличное и четко написанное руководство для всех, кому необходимо администрировать доску объявлений phpBB. Наняв Марка в прошлом в качестве консультанта для помощи с моей доской, я знаю, что он является экспертом в настройке, устранении неполадок и обслуживании phpBB. Настоятельно рекомендуется.

Обозреватель Amazon

Если вы управляете доской phpBB, моя книга Mastering phpBB Administration необходима как для общего чтения, так и в качестве справочника. Моя книга доступна на Amazon в виде электронной книги Kindle (9,99 долларов США) или в бумажном виде (367 страниц, 19,99 долларов США). Книга актуальна до версии phpBB 3.3.7 и последний раз была опубликована в апреле 2022 года.

С 2006 года я помог более 475 клиентам создавать, обслуживать, обновлять, обновлять и устранять неполадки их досок phpBB, в результате чего было получено более 1400 различных запросов. за мои услуги. Эта книга является кратким изложением наиболее важных идей, уроков и методов, которые я освоил, и с которыми администраторы советов чаще всего сталкиваются с трудностями. Он предоставляет руководство и пошаговые инструкции по мере необходимости.

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

Глава 1 | Что такое phpBB?
Почему я написал эту книгу
Условные обозначения навигации, используемые в этой книге
Терминология
Насколько актуальна эта книга?

Глава 2 | Почему phpBB?
Что такое программа для досок объявлений?
В чем сильные стороны phpBB?
Каковы недостатки phpBB?

Глава 3 | Использование phpBB: основы
Индекс доски объявлений
Вход и выход из системы
Просмотр страницы форума
Просмотр страницы темы
Опубликовать ответ
Панель управления пользователя

Глава 4 | Установка phpBB
Избегайте использования центра сценариев для установки phpBB
Обзор установки
Шаг 1.