• File: RefreshAccessTokenTask.php
  • Full Path: /home/matthif/www/wp-content/plugins/wpforms-lite/src/Integrations/LiteConnect/RefreshAccessTokenTask.php
  • Date Modified: 02/16/2024 11:45 AM
  • File size: 1.26 KB
  • MIME-type: text/x-php
  • Charset: utf-8
<?php

namespace WPForms\Integrations\LiteConnect;

/**
 * Class RefreshAccessTokenTask.
 *
 * @since 1.7.4
 */
class RefreshAccessTokenTask extends Integration {

    
/**
     * Task name.
     *
     * @since 1.7.4
     *
     * @var string
     */
    
const LITE_CONNECT_TASK 'wpforms_lite_connect_refresh_access_token';

    
/**
     * RefreshAccessTokenTask constructor.
     *
     * @since 1.7.4
     */
    
public function __construct() {

        
parent::__construct();

        
$this->hooks();
    }

    
/**
     * Initialize the hooks.
     *
     * @since 1.7.4
     */
    
private function hooks() {

        
// Process the tasks as needed.
        
add_actionself::LITE_CONNECT_TASK, [ $this'process' ] );
    }

    
/**
     * Creates a task to refresh the Lite Connect access token via Action Scheduler.
     *
     * @since 1.7.4
     */
    
public function create() {

        
$action_id wpforms()->get'tasks' )
            ->
createself::LITE_CONNECT_TASK )
            ->
oncetime() + DAY_IN_SECONDS )
            ->
register();

        if ( 
$action_id === null ) {
            
wpforms_log(
                
'Lite Connect: error creating the AS task',
                [
                    
'task' => self::LITE_CONNECT_TASK,
                ],
                [ 
'type' => [ 'error' ] ]
            );
        }
    }

    
/**
     * Process the task to regenerate the access token.
     *
     * @since 1.7.4
     */
    
public function process() {

        
$this->get_access_token$this->get_site_key(), true );
    }
}