HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux mail.btech-izolacje.pl 5.15.0-140-generic #150-Ubuntu SMP Sat Apr 12 06:00:09 UTC 2025 x86_64
User: pewna6876 (1017)
PHP: 8.2.28
Disabled: NONE
Upload Files
File: /home/pewnabryka.pl/public_html/wp-content/plugins/vehica-core/app/Managers/UserPackagesManager.php
<?php


namespace Vehica\Managers;


use Vehica\Core\Manager;
use Vehica\Model\User\User;
use Vehica\Panel\Package;

/**
 * Class UserPackagesManager
 *
 * @package Vehica\Managers
 */
class UserPackagesManager extends Manager
{

    public function boot()
    {
        add_action('admin_post_vehica_user_packages', [$this, 'get']);

        add_action('admin_post_vehica_check_user_packages_changes', [$this, 'checkChanges']);

        add_action('admin_post_vehica_user_add_free', [$this, 'addFree']);

        add_action('vehica/user/created', [$this, 'addFreeToNewUser']);
    }

    /**
     * @param User $user
     */
    public function addFreeToNewUser(User $user)
    {
        if (!vehicaApp('settings_config')->isAddPackageWhenRegisterEnabled()) {
            return;
        }

        $user->addPackage(Package::getFreeWhenRegister());
    }

    public function checkChanges()
    {
        echo json_encode(['reload' => !empty(get_option('vehica_reload_packages'))]);
    }

    public function get()
    {
        $user = new User(_wp_get_current_user());

        update_option('vehica_reload_packages', '0');

        echo json_encode($user->getPackages());
    }

    public function addFree()
    {
        if (!vehicaApp('settings_config')->isFreeListingEnabled()) {
            return;
        }

        $user = new User(_wp_get_current_user());
        $user->addPackage(Package::getFree());
    }

}