- Все для CMS | Joomla, Drupal, phpBB, Wordpress, DLE, IPB - http://cmsart.ru -

Первое знакомство с phpBBex

Posted By VEG On 08.11.2012 @ 8:08 пп In phpBBex | No Comments

Что не так с phpBB?

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

Сам phpBB 3 развивается, к сожалению, крайне медленно. С момента выхода phpBB 3.0 в 2007 году видимые изменения можно пересчитать по пальцам — разработчики в основном ограничиваются исправлениями найденных багов, а новые возможности предлагается ждать в phpBB 3.1, который ещё неизвестно когда выйдет.

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

Чем опасна самостоятельная модификация phpBB?

В сети хватает «вредных» советов по модификации и настройке phpBB. Если у вас недостаточно знаний в PHP, SQL и т.д., чтобы разобраться в том, что именно вам предлагается сделать, вы можете воспользоваться откровенно глупым и небезопасным советом или модификацией. В качестве простейшего примера можно привести реальную рекомендацию вставлять видео с ВКонтакте при помощи BBCode [vkontakte]{TEXT}[/vkontakte] с заменой HTML:

<iframe src="{TEXT}" width="607" height="360" frameborder="0"></iframe>

Подобная рекомендация встречается на нескольких сайтах о phpBB, причём от людей с неплохой репутацией. Данный код отлично выполняет свою задачу, но человек с небольшим опытом в HTML должен сразу заметить, что этот код опасен и уязвим. По сути он позволяет встроить в сообщение фрейм с абсолютно любой ссылкой. Многим злоумышленникам только это и нужно. Обычно после взлома сайта первым делом они встраивают скрытые фреймы, в которые загружается код, пытающийся заразить машины всех ваших пользователей через известные уязвимости. То есть установив такой BBCode вы избавите хакеров от необходимости взламывать ваш сайт — всё и так уже готово. Для примера можно задействовать свежую уязвимость в Android [1], позволяющую запустить процедуру полной очистки памяти в телефоне читающего пользователя. Для этого достаточно вставить в сообщение конструкцию: [vkontakte]tel:*2767*3855%23[/vkontakte]. Стоит только попытаться прочесть это сообщение с уязвимого устройства — и все ваши данные будут уничтожены.

Что такое phpBBex?

phpBBex [2] (phpBB extended) — это продвинутый вариант phpBB, в который уже встроены наиболее востребованные возможности и даже больше. Большинство нововведений уникально и не существует в виде модов, а тот код, что был взят из существующих модификаций, был сильно переработан: исправлены ошибки, код оптимизирован и адаптирован под последние версии phpBB. При этом новые возможности совершенно не навязываются — этому способствует большое количество новых опций в панели администратора, где всё лишнее вы можете просто отключить.

Важно заметить, что phpBBex — это форк phpBB со своим независимым циклом разработки. Это означает, что phpBBex — это не сборка, в которых как правило просто предустановлено несколько модов. Цель ответвления заключается в создании максимально гибкого движка форумов без превращения его в комбайн на все случаи жизни. Это означает, что в стандартной поставке никогда не появится галерей, блогов и других вещей, напрямую не относящихся к форумам.

Проект был начат 16 февраля 2011 года. В основу легли наработки 2008-2010 годов, которые изначально были созданы для форума города Слуцка [3]. Первая стабильная версия phpBBex вышла 9 октября 2011 года. С тех пор было выпущено 4 крупных обновления. С каждым релизом в phpBBex появляются новые возможности и опции, которые невозможно не заметить. Анонсы новых версий phpBBex достаточно красноречивы: 1.0.0 и 1.1.0 [4], 1.2.0 [5], 1.3.0 [6], 1.4.0 [7].

Что характерно, phpBBex быстро перенимает все обновления из основной ветки phpBB. Разработка была начата на базе phpBB 3.0.8, и переход phpBBex на новую версию базового кода осуществлялся в среднем за день-два после очередного релиза phpBB. Например, phpBBex 1.4.0 был приурочен к выходу phpBB 3.0.11, при этом кроме обновления базового кода в новом релизе нашлось место и массе других приятных мелочей.

Разработка phpBBex ведётся на профессиональном уровне. Исходные коды находятся под контролем системы управления версиями Mercurial [8]. Все самые последние новшества [9], которые ещё не вошли в очередной релиз, вы всегда сможете найти репозитории проекта. Все изменения тестируются сразу же на нескольких форумах, поэтому свежайшая ревизия обычно достаточно стабильна. Однако, недостаточно опытным пользователям всё же рекомендуется использовать последнюю релизную версию.

Из-за значительного количества изменений серьёзные моды для phpBB перед установкой на phpBBex скорее всего придётся обрабатывать напильником, а пакеты локализации и стили от phpBB и вовсе не заработают без соответствующей переработки. Однако, вокруг phpBBex уже собралось небольшое сообщество, которое помогает развитию проекта: KDit выпустил пакет локализации phpBBex на украинский язык [10]; Bricklayer и KDit выпустили адаптацию некоторых тяжёлых модов от phpBB для phpBBex. Вы также при желании можете присоединиться.

Если в phpBBex есть возможности, которых вам не хватает в стандартном phpBB 3 — без сомнений, phpBBex будет для вас верным выбором.

Каким бывает phpBBex?

[11]

На данный момент новый движок уже используется многими форумами, причём некоторые владельцы владельцы изменяют стандартный стиль до неузнаваемости. Предлагаем заглянуть в галерею скриншотов форумов на phpBBex [11].

Что нового в phpBBex?

В phpBBex уже так много нововведений, что их непросто перечислить одним общим списком. Здесь мы ограничимся наиболее интересными из всех. Более подробную информацию об изменениях в каждой версии phpBBex вы найдёте в соответствующих анонсах.

Общий вид и главная страница

[12]

  • В phpBBex используется модифицированный prosilver в новой цветовой схеме
  • Верхний ряд ссылок можно редактировать из админки
  • Если не создать верхние ссылки, поиск будет отображаться в синем блоке, как и в phpBB 3
  • Новая компактная шапка с выпадающим меню для быстрого доступа ко всем страницам
  • В декабре, январе и феврале отображается новогодняя версия градиента в шапке (опционально)
  • Текст об авторских правах внизу страницы редактируется из админки
  • Счётчики добавляются через админку
  • На главной отображаются важные объявления и/или последние активные темы (опционально)

Просмотр темы, минипрофиль и быстрый ответ

[13]

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

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

[14]

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

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

[15]

  • Появилась опциональная нумерация строк
  • Настройки отображения колонок: «Номер строки», «Звание», «Репутация» (подробная и/или общая), «Лояльность» (подробная и/или общая), «Сообщения», «Темы», «Сайт», «Откуда», «Зарегистрирован» и «Последнее посещение»
  • Сортировка по колонкам «Звание», «Сообщения», «Темы», «Зарегистрирован» и «Последнее посещение» по умолчанию в обратном порядке

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

[16]

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

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

[17]

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

Оценка сообщений

Совершенно новая система оценки сообщений. Призвана заменить всевозможные модификации «спасибо» и другие подобные. Работает полностью на AJAX, позволяет ставить как положительные оценки, так и отрицательные.

[18]

При этом путём настройки вы можете запретить отрицательные оценки. Также есть возможность оставить только возможность оценки тем, а не всех сообщений. У вас есть возможность ограничить время оценки сообщений, и сообщения старше указанного срока нельзя будет оценивать. При этом можно выставить разное время оценки для тем и сообщений. Также можно ограничить время изменения оценки.

[19]

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

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

[20]

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

Уведомления

[21]

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

Обработка BBCode

[22]

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

[23]

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

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

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

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

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

Пользовательские настройки

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

Настройки администратора

  • Отдельная страница с большим количеством новых настроек шаблона
  • Автоматическое ограничение на количество строк, картинок и ссылок в подписи
  • Право игнорировать ограничение времени редактирования для первых сообщений в теме (или для всех сообщений)
  • Задание ключевых слов сайта (meta keywords)
  • Автоматическое определение языка для гостей (опционально)
  • Запрет изменения пользователем стиля, часового пояса, языка
  • Принудительное отключение SID (опционально)
  • Автоматическая склейка подряд идущих сообщений от одного пользователя (с поддержкой гостей, привязка к кукам!)
  • Опция «Тема активна x дней»: на странице «Активные темы» будут отображаться темы с последней активностью за заданное количество дней
  • Опция «Пользователь активен x дней»: при последнем посещении в заданное количество дней пользователь считается активным
  • Возможность указывать имя отправителя для почтовых уведомлений (чтобы ваши уведомления были не от абстрактного admin)
  • Глобальный поиск и поиск в конкретном форуме по темам или по сообщениям

Новые роли

Добавлены новые пользовательские роли: «Возможности для гостей» и «Возможности для ботов». Теперь вы можете удобно их редактировать из редактора ролей.

Добавлены новые форумные роли: «Стандартный доступ без создания тем» (для форума новостей), «Стандартный доступ с опросами и закрытием тем» (для форума вопрос-ответ), «Гостевой доступ» (позволяет гостям оставлять комментарии), «Гостевой доступ с предварительным одобрением» (то же, с предварительным одобрением).

Вместо того, чтобы назначить конкретные права пользователю, группе или разделу, лучше укажите подходящую роль — этот механизм на порядок лучше и удобнее. Если вам не хватает каких-то ролей, вы всегда их можете создать через раздел администратора.

К сожалению, новые роли доступны только при чистой установке (потому что по сути это относится не к скриптам, а к настройкам по умолчанию). При желании их можно создать вручную. Установите чистую копию phpBBex 1.4.0, зайдите в Админку » Права доступа » Роли. Посмотрите какие роли есть в чистом phpBBex, а какие есть на вашем форуме. Те роли, которых не хватает на вашем форуме, вы можете добавить. Но это только при реальной необходимости в этих ролях, иначе смысла не много.

Другое

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

Ограничения

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

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

Последнюю версию проекта вы можете скачать на страничке phpbbex.googlecode.com [24]. Процесс установки не отличается от phpBB 3. Также поддерживается конвертация уже установленного phpBB 3 в phpBBex [25].

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

Если вам нравится направление проделанной работы, вы можете создать клон репозитория Mercurial, и начать делать какие-то свои изменения. Если вы никогда не работали с Mercurial, мы вам поможем [8].


Article printed from Все для CMS | Joomla, Drupal, phpBB, Wordpress, DLE, IPB: http://cmsart.ru

URL to article: http://cmsart.ru/phpbb/phpbbex/intro

URLs in this post:

[1] свежую уязвимость в Android: http://cmsart.ru/goto/http://habrahabr.ru/post/152209/

[2] phpBBex: http://cmsart.ru/goto/http://phpbbex.com/

[3] города Слуцка: http://cmsart.ru/goto/http://slutsk.net/

[4] 1.0.0 и 1.1.0: http://cmsart.ru/goto/http://phpbbex.com/forum/viewtopic.php?t=8

[5] 1.2.0: http://cmsart.ru/goto/http://phpbbex.com/forum/viewtopic.php?t=9

[6] 1.3.0: http://cmsart.ru/goto/http://phpbbex.com/forum/viewtopic.php?t=38

[7] 1.4.0: http://cmsart.ru/goto/http://phpbbex.com/forum/viewtopic.php?t=54

[8] Mercurial: http://cmsart.ru/goto/http://phpbbex.com/forum/viewtopic.php?t=14

[9] самые последние новшества: http://cmsart.ru/goto/http://phpbbex.com/forum/viewtopic.php?t=11

[10] пакет локализации phpBBex на украинский язык: http://cmsart.ru/goto/http://phpbbex.com/forum/viewtopic.php?t=66

[11] Image: http://cmsart.ru/goto/http://phpbbex.com/forum/viewtopic.php?t=96

[12] Image: http://cmsart.ru/goto/http://bb3x.ru/design/blog/main.png

[13] Image: http://cmsart.ru/goto/http://bb3x.ru/design/blog/viewtopic.png

[14] Image: http://cmsart.ru/goto/http://bb3x.ru/design/blog/posting.png

[15] Image: http://cmsart.ru/goto/http://bb3x.ru/design/blog/memberlist.png

[16] Image: http://cmsart.ru/goto/http://bb3x.ru/design/blog/viewprofile.png

[17] Image: http://cmsart.ru/goto/http://bb3x.ru/design/blog/warning.png

[18] Image: http://cmsart.ru/goto/http://bb3x.ru/design/blog/rate.png

[19] Image: http://cmsart.ru/goto/http://bb3x.ru/design/blog/rateoptions.png

[20] Image: http://cmsart.ru/goto/http://bb3x.ru/design/blog/voting.png

[21] Image: http://cmsart.ru/goto/http://bb3x.ru/design/blog/pmsplash.png

[22] Image: http://cmsart.ru/goto/http://bb3x.ru/design/blog/inlinefiles.png

[23] Image: http://cmsart.ru/goto/http://bb3x.ru/design/blog/nobr.png

[24] phpbbex.googlecode.com: http://cmsart.ru/goto/http://code.google.com/p/phpbbex/

[25] конвертация уже установленного phpBB 3 в phpBBex: http://cmsart.ru/goto/http://phpbbex.com/forum/viewtopic.php?t=7

Copyright © 2012 Поддержка CMS | Документация, статьи по Joomla, Drupal, phpBB. All rights reserved.