About This File
Этот аддон позволяет создавать сложные критерии для продвинутых достижений/повышений с помощью PHP кода.
Например, вы можете использовать в качестве критериев:
- Количество тем, которые пользователь создал в определенном форуме
- Подписи пользователей
- Количество лайков под одним сообщением
- Данные из других аддонов (например, Resource Manager или Question Threads)
- Количество изменений поста пользователем
- ...
Другими словами, этот аддон дает вам доступ к движку xenForo и базе данных при создании достижений/повышений.
Более того, можно комбинировать стандартные критерии xenForo и ваш PHP код.
Теперь ваши возможности ограничены только вашей фантазией!
Установка
- Скачайте аддон и разархивируйте его куда-нибудь
- Откройте папку upload и переместите находящуюся внутри папку src в корневую директорию вашего форума
- В админ-панели перейдите в секцию "Аддоны" и установите аддон "PHP Criteria"
Как использовать?
При создании достижения/повышения вы увидите новую вкладку "PHP-обработчик":
В этой вкладке вы можете указать путь до .php
класса и конкретный метод для выполнения:
Например, исходя из данных на картинке выше, нужно создать файл Criteria.php
по пути src/addons
со следующим содержимым:
<?php class Criteria { public static function trophy_AllForOne(\XF\App $app, \XF\Entity\User $user) { // // КОД ВАШИХ КРИТЕРИЕВ НИЖЕ // // Получаем базу данных $db = $app->db(); // Запрос к базе данных для получения максимального количества лайков на сообщении пользователя $query = "SELECT `likes` FROM `xf_post` WHERE `user_id` = ? ORDER BY `likes` DESC LIMIT 1"; // Получение максимального количества лайков из базы данных $likes = $db->fetchOne($query, [$user->user_id]); // Проверка корректности полученного значения (мы ожидаем число) if(is_int($likes)) { // Возвращаем ИСТИНУ, если у пользователя есть сообщение с 5 и более лайками и ЛОЖЬ, если такого нет return ($likes >= 5); } else { return false; } } }
Каждый метод должен принимать два параметра: \XF\App $app
и \XF\Entity\User $user
.
Не забывайте, что вы можете комбинировать свой код со стандартными критериями xenForo.
Не стоит реализовывать стандартные критерии в своем коде. Лучше выделите их галочками в соответствующей вкладке.
Примеры
После установки аддона вы увидите новый файл PHPCriteria.examples.php
по пути src/addons
.
В нем содержится три примера PHP критериев с детальными пояснениями!
Можете использовать эти примеры в качестве основы для создания своих собственных.
Вы также можете хранить свои PHP критерии в файле PHPCriteria.php
, который тоже создается автоматически после установки аддона.
Не поленись скажи спасибо одним кликом > like