PHP Criteria

XF2 PHP Criteria 1.0.0

Нет прав для скачивания
123logo.png



Этот аддон позволяет создавать сложные критерии для продвинутых достижений/повышений с помощью PHP кода.

Например, вы можете использовать в качестве критериев:
  • Количество тем, которые пользователь создал в определенном форуме
  • Подписи пользователей
  • Количество лайков под одним сообщением
  • Данные из других аддонов (например, Resource Manager или Question Threads)
  • Количество изменений поста пользователем
  • ...
Другими словами, этот аддон дает вам доступ к движку xenForo и базе данных при создании достижений/повышений.

Более того, можно комбинировать стандартные критерии xenForo и ваш PHP код.

Теперь ваши возможности ограничены только вашей фантазией!

Установка
  1. Скачайте аддон и разархивируйте его куда-нибудь
  2. Откройте папку upload и переместите находящуюся внутри папку src в корневую директорию вашего форума
  3. В админ-панели перейдите в секцию "Аддоны" и установите аддон "PHP Criteria"
Как использовать?
При создании достижения/повышения вы увидите новую вкладку "PHP-обработчик":

php_callback_tab.png


В этой вкладке вы можете указать путь до .php класса и конкретный метод для выполнения:

php_callback_pane.png


Например, исходя из данных на картинке выше, нужно создать файл Criteria.php по пути src/addons со следующим содержимым:

PHP:
<?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, который тоже создается автоматически после установки аддона.
Автор
CMTV
Системные требования
Xenforo 2
Автор
akhomlyuk
Скачиваний
0
Первый выпуск
Обновление
Рейтинг
0.00 звезд Оценок: 0

Поделиться этим ресурсом