HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: /var/www/html/appointmentbook.me/wp-content/plugins/booknetic/app/Providers/Core/LicenseService.php
<?php

namespace BookneticApp\Providers\Core;

use BookneticApp\Providers\Helpers\Helper;

class LicenseService
{

    public static function syncLicenseStatus ()
    {
        if ( ! Helper::processRuntimeController( 'license_check', 10 * 60 * 60 ) )
            return;

        $result = DotComApi::safeGet( 'get_notifications' );

        if ( empty( $result['action'] ) )
            return;

        if ( $result['action'] === 'empty' )
        {
            Helper::setOption( 'plugin_alert', '', false );
            Helper::setOption( 'plugin_disabled', '0', false );
        }
        else if ( $result['action'] === 'warning' && ! empty( $result['message'] ) )
        {
            Helper::setOption( 'plugin_alert', $result['message'], false );
            Helper::setOption( 'plugin_disabled', '0', false );
        }
        else if ( $result['action'] === 'disable' )
        {
            if ( ! empty( $result['message'] ) )
                Helper::setOption( 'plugin_alert', $result['message'], false );

            Helper::setOption( 'plugin_disabled', '1', false );
        }
        else if ( $result['action'] === 'error' )
        {
            if ( ! empty( $result['message'] ) )
                Helper::setOption( 'plugin_alert', $result['message'], false );

            Helper::setOption( 'plugin_disabled', '2', false );
        }

        if ( ! empty( $result['remove_license'] ) )
            Helper::deleteOption( 'purchase_code', false );

        Helper::setOption( 'license_last_checked_time', time(), false );
    }

    public static function checkLicense ()
    {
        $alert    = Helper::getOption( 'plugin_alert', '', false );
        $disabled = Helper::getOption( 'plugin_disabled', '0', false );

        if ( $disabled === '1' )
        {
            return false;
        }
        else if ( $disabled === '2' )
        {
            if ( ! empty( $alert ) )
                echo $alert;

            exit();
        }

        if ( ! empty( $alert ) )
        {
            add_action( 'admin_notices', function () use ( $alert )
            {
                echo '<div class="notice notice-error"><p>'.$alert.'</p></div>';
            });
        }

        return true;
    }

}