HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //home/govancoz/www/wp-content/plugins/pro-elements/core/integrations/actions/action-base.php
<?php

namespace ElementorPro\Core\Integrations\Actions;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly
}

abstract class Action_Base {

	/**
	 * Validate a payload.
	 *
	 * @param mixed $payload - Payload object instance.
	 *
	 * @throws \ElementorPro\Core\Integrations\Exceptions\Action_Validation_Failed_Exception
	 *
	 * @return mixed
	 */
	abstract public function validate( $payload );

	/**
	 * Apply the action.
	 *
	 * @param mixed $payload - Payload object instance.
	 *
	 * @throws \ElementorPro\Core\Integrations\Exceptions\Action_Failed_Exception
	 *
	 * @return void
	 */
	abstract public function apply( $payload );

	/**
	 * Run the action.
	 *
	 * @param mixed $payload - Payload object instance.
	 *
	 * @throws \ElementorPro\Core\Integrations\Exceptions\Action_Validation_Failed_Exception
	 * @throws \ElementorPro\Core\Integrations\Exceptions\Action_Failed_Exception
	 *
	 * @return void
	 */
	public function run( $payload ) {
		$this->validate( $payload );
		$this->apply( $payload );
	}
}