PHP Criteria 1.0.0
Аддон больше не поддерживается! Используйте Criteria Builder !
Этот аддон позволяет создавать сложные критерии для продвинутых достижений/повышений с помощью PHP кода.
Например, вы можете использовать в качестве критериев:
Количество тем, которые пользователь создал в определенном форуме
Подписи пользователей
Количество лайков под одним сообщением
Данные из других аддонов (например, Resource Manager или Question Threads )
Количество изменений поста пользователем
...
Другими словами, этот аддон дает вам доступ к движку xenForo и базе данных при создании достижений/повышений.
Более того, можно комбинировать стандартные критерии xenForo и ваш PHP код.
Теперь ваши возможности ограничены только вашей фантазией!
Все мои аддоны бесплатные...
Но если вы хотите
Быть в курсе всех новостей о разработке новых аддонов
Предлагать и голосовать за создание будущих аддонов
Получать бета-версии
Использовать новые аддоны еще до их официального выхода
То вы можете поддержать меня на Patreon.
Установка
Скачайте аддон и разархивируйте его куда-нибудь
Откройте папку upload и переместите находящуюся внутри папку src в корневую директорию вашего форума
В админ-панели перейдите в секцию "Аддоны" и установите аддон "PHP Criteria"
Как использовать?
При создании достижения/повышения вы увидите новую вкладку "PHP-обработчик":
В этой вкладке вы можете указать путь до .php класса и конкретный метод для выполнения:
Например, исходя из данных на картинке выше, нужно создать файл Criteria.php по пути src/addons со следующим содержимым:
PHP: Скопировать
class Criteria
{
public static function trophy_AllForOne(XFApp $app, XFEntityUser $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;
}
}
}
Каждый метод должен принимать два параметра: XFApp $app и XFEntityUser $user .
Не забывайте, что вы можете комбинировать свой код со стандартными критериями xenForo.
Не стоит реализовывать стандартные критерии в своем коде. Лучше выделите их галочками в соответствующей вкладке.
Примеры
После установки аддона вы увидите новый файл PHPCriteria.examples.php по пути src/addons .
В нем содержится три примера PHP критериев с детальными пояснениями!
Можете использовать эти примеры в качестве основы для создания своих собственных.
Вы также можете хранить свои PHP критерии в файле PHPCriteria.php , который тоже создается автоматически после установки аддона.
Все мои аддоны бесплатные...
Но если вы хотите
Быть в курсе всех новостей о разработке новых аддонов
Предлагать и голосовать за создание будущих аддонов
Получать бета-версии
Использовать новые аддоны еще до их официального выхода
То вы можете поддержать меня на Patreon.