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

namespace WPForms\Tasks\Actions;

use 
WPForms\Tasks\Task;
use 
WPForms\Tasks\Meta;

/**
 * Class AsyncRequestTask is responsible to send information in the background.
 *
 * @since 1.7.5
 */
class AsyncRequestTask extends Task {

    
/**
     * Action name for this task.
     *
     * @since 1.7.5
     */
    
const ACTION 'wpforms_process_async_request';

    
/**
     * Class constructor.
     *
     * @since 1.7.5
     */
    
public function __construct() {

        
// Task functionality is needed on cron request only.
        
if ( ! ( defined'DOING_CRON' ) && DOING_CRON ) ) {
            return;
        }

        
parent::__constructself::ACTION );

        
$this->hooks();
    }

    
/**
     * Add hooks.
     *
     * @since 1.7.5
     */
    
private function hooks() {

        
// Register the migrate action.
        
add_actionself::ACTION, [ $this'process' ] );
    }


    
/**
     * Send usage tracking to the server.
     *
     * @since 1.7.5
     *
     * @param int $meta_id Action meta id.
     */
    
public static function process$meta_id ) {

        
$params = ( new Meta() )->get$meta_id );

        if ( ! 
$params ) {
            return;
        }

        list( 
$url$args ) = $params->data;

        
wp_remote_get$url$args );
    }
}