Расширение для phpBB 3.3+, которое автоматически преобразует заданные ключевые слова в ссылки в сообщениях пользователей.
Описание
Расширение "Автоматические ссылки" позволяет администраторам форума настроить автоматическое преобразование определенных слов или фраз в ссылки. Это полезно для создания ссылок на важные разделы сайта, партнерские ресурсы или часто упоминаемые термины.
Возможности
-
-
-
-
-
-
-
-
Системные требования
- phpBB 3.3.0 или выше
- PHP 7.1.3 или выше
Установка
1. Скачайте расширение и распакуйте в папку `ext/roma30/autolinks/`
2. Перейдите в Панель администратора → Настройки → Управление расширениями
3. Найдите "Автоматические ссылки" и нажмите "Включить"
4. Расширение автоматически создаст необходимые таблицы в базе данных
Настройка
Основные настройки
Перейдите в Панель администратора → Автоматические ссылки → Настройки:
1. **Включить автоматические ссылки** - основной переключатель функциональности
2. **Метод обработки**:
- **При отправке сообщения (постоянно)** - ссылки добавляются один раз при сохранении сообщения
- **При отображении сообщения (динамически)** - ссылки добавляются каждый раз при показе сообщения
3. **Применять к форумам** - выберите конкретные форумы или оставьте пустым для всех
4. **Применять к группам пользователей** - выберите группы или оставьте пустым для всех пользователей
Управление ключевыми словами
Перейдите в Панель администратора → Автоматические ссылки → Ключевые слова:
1. **Ключевое слово** - слово или фраза для замены
2. **URL** - адрес ссылки
3. **Учитывать регистр** - должно ли совпадение быть точным по регистру
Принцип работы
Методы обработки
**Постоянный метод (при отправке)**:
- Ссылки добавляются в момент создания/редактирования сообщения
- Сохраняются в базе данных как часть текста
- Изменения в ключевых словах не влияют на старые сообщения
- Меньше нагрузка на сервер при просмотре
**Динамический метод (при отображении)**:
- Ссылки добавляются каждый раз при показе сообщения
- Оригинальный текст остается неизменным в базе данных
- Изменения в ключевых словах сразу отражаются на всех сообщениях
- Больше нагрузка на сервер при просмотре
Правила обработки
- Обрабатывается только первое вхождение каждого ключевого слова в сообщении
- Ключевые слова ищутся как отдельные слова (не внутри других слов)
- Поддерживается Unicode для работы с различными языками
- Ссылки не добавляются внутри существующих BBCode тегов
Примеры использования
1. **Внутренние ссылки**: "правила" → ссылка на правила форума
2. **Партнерские ссылки**: "хостинг" → ссылка на партнерский хостинг
3. **Документация**: "API" → ссылка на документацию API
4. **Продукты**: "phpBB" → ссылка на официальный сайт
Безопасность
- Все входные данные проходят валидацию
- Используются подготовленные SQL запросы
- Проверка прав доступа для всех административных функций
- Защита от CSRF атак через токены форм
Поддержка
- **Автор**: roma30
- **Версия**: 1.0.0
- **Лицензия**: GPL-2.0
- **Совместимость**: phpBB 3.3+
Журнал изменений
Версия 1.0.0
- Первый релиз
- Базовая функциональность автоматических ссылок
- Панель администратора
- Поддержка двух языков (русский, английский)
- Настройки по форумам и группам пользователей
Техническая информация
Структура файлов
```
ext/roma30/autolinks/
├── acp/ # Модули панели администратора
├── adm/style/ # Шаблоны для ACP
├── config/ # Конфигурация сервисов
├── controller/ # Контроллеры
├── event/ # Обработчики событий
├── language/ # Языковые файлы
├── migrations/ # Миграции базы данных
├── composer.json # Метаданные расширения
└── ext.php # Основной класс расширения
```
База данных
Расширение создает таблицу `phpbb_autolinks` со следующими полями:
- `keyword_id` - уникальный идентификатор
- `keyword` - ключевое слово
- `url` - URL ссылки
- `case_sensitive` - флаг чувствительности к регистру
События phpBB
Расширение использует следующие события:
- `core.user_setup` - загрузка языковых файлов
- `core.text_formatter_s9e_parse_before` - обработка текста сообщений
Удаление
1. Перейдите в Панель администратора → Настройки → Управление расширениями
2. Найдите "Автоматические ссылки" и нажмите "Отключить"
3. После отключения нажмите "Удалить данные"
4. Удалите папку `ext/roma30/autolinks/`
**Внимание**: При удалении все настройки и ключевые слова будут безвозвратно удалены.