GRAYBYTE WORDPRESS FILE MANAGER5991

Server IP : 68.65.123.43 / Your IP : 216.73.216.162
System : Linux server266.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
PHP Version : 8.0.30
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /home/inteuuod/public_html/wp-content/plugins/suretriggers/src/Integrations/
Upload Files :
Current_dir [ Writeable ] Document_root [ Writeable ]

Command :


Current File : /home/inteuuod/public_html/wp-content/plugins/suretriggers/src/Integrations//AutomateAction.php
<?php
/**
 * AutomateAction.
 * php version 5.6
 *
 * @category AutomateAction
 * @package  SureTriggers
 * @author   BSF <username@example.com>
 * @license  https://www.gnu.org/licenses/gpl-3.0.html GPLv3
 * @link     https://www.brainstormforce.com/
 * @since    1.0.0
 */

namespace SureTriggers\Integrations;

use Exception;
use Throwable;

/**
 * AutomateAction
 *
 * @category AutomateAction
 * @package  SureTriggers
 * @author   BSF <username@example.com>
 * @license  https://www.gnu.org/licenses/gpl-3.0.html GPLv3
 * @link     https://www.brainstormforce.com/
 * @since    1.0.0
 */
abstract class AutomateAction {

	/**
	 * Error data.
	 *
	 * @var null
	 */
	public $data = null;

	/**
	 * Action name.
	 *
	 * @var null|string
	 */
	public $action = null;

	/**
	 * Constructor
	 *
	 * @since 1.0.0
	 */
	public function __construct() {

		add_filter( 'sure_trigger_register_action', [ $this, 'register' ] );
		add_action( 'sure_trigger_action_' . $this->action, [ $this, 'action_listener' ], 10, 4 );

	}

	/**
	 * Register action.
	 *
	 * @param array $actions action data.
	 * @return array
	 */
	abstract public function register( $actions ); //phpcs:ignore WordPressVIPMinimum.Hooks.AlwaysReturnInFilter.AbstractMethod

	/**
	 * Action listener.
	 *
	 * @param int   $user_id user_id.
	 * @param int   $automation_id automation_id.
	 * @param array $fields fields.
	 * @param array $selected_options selectedOptions.
	 *
	 * @return void 
	 */
	abstract public function _action_listener( $user_id, $automation_id, $fields, $selected_options);

	/**
	 * Failed function callback.
	 *
	 * @param string $method method name.
	 * @param array  $args method arguments.
	 * @return false|void
	 * @throws Exception Excepotion.
	 */
	public function __call( $method, $args ) {
		// Allow support for only action_listener callback.
		if ( 'action_listener' !== $method ) {
			return;
		}

		// Copy and remove the context from function parameters.
		$context = isset( $args[4] ) ? $args[4] : '';
		unset( $args[4] );
			// Convert select field array values in to single value array.
			$temp_arr = [];
		if ( is_array( $args[3] ) ) {
			foreach ( $args[3] as $key => $val ) {
				if ( is_array( $val ) ) {
					$temp_arr[ $key ] = isset( $val['value'] ) ? $val['value'] : $val;
				} else {
					$temp_arr[ $key ] = $val;
				}
			}

			$args[3] = $temp_arr;
		}

		if ( isset( $args[3]['wp_user_email'] ) ) {
			$args[0] = ap_get_user_id_from_email( $args[3]['wp_user_email'] );

			if ( empty( $args[0] ) ) {
				$args[0] = 0;
			}
		}

			$method = '_' . $method;
		try {
			$status = $this->$method( ...$args );
			if ( is_null( $status ) && ! is_null( $this->data ) ) {
				// If status is null but we have error data, throw an exception with the error message.
				$error_msg = is_array( $this->data ) && isset( $this->data['msg'] ) ? $this->data['msg'] : 'Action failed';
				throw new Exception( $error_msg );
			}
			return $status;
		} catch ( Exception $e ) {
			throw new Exception( $e->getMessage() );
		} catch ( \Throwable $php_error ) {
			throw new Exception( 'PHP Error: ' . $php_error->getMessage() );
		}
	}

	/**
	 * Check required fields.
	 *
	 * @param array $fields template field array.
	 * @param array $selected_options admin selected option fields.
	 * @return bool
	 */
	public function check_required_fields( $fields, $selected_options ) {
		foreach ( $fields as $field ) {
			if ( 'test-action' === $field['type'] ) {
				continue;
			}

			$fieldname = isset( $selected_options[ $field['name'] ] ) ? $selected_options[ $field['name'] ] : false;

			if ( isset( $field['validationProps'] ) && ( empty( $fieldname ) && '0' !== $fieldname ) ) {
				$this->set_error(
					[
						'msg' => __( 'Required field is missing: ', 'suretriggers' ) . $field['name'],
					]
				);
				return false;
			}
		}
		return true;
	}

	/**
	 * Set the error before returning the false.
	 *
	 * @param array|object|null $data error data.
	 *
	 * @return void
	 */
	public function set_error( $data ) {
		$this->data = $data;
	}
}



[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
academylms
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
advanced-ads
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
advanced-coupons
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
advanced-custom-fields
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
affiliatewp
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
amelia
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
appointment-hour-booking
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
asgaros
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
badgeos
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
bbpress
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
beaver-builder
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
better-messages
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
bricks-builder
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
buddyboss
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
buddypress
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
cartflows
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
contact-form7
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
convertpro
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
divi-builder
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
easy-affiliate
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
edd
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
elementor-pro
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
event-calendar
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
events-manager
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
fluent-boards
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
fluent-booking
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
fluent-form
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
fluent-support
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
fluentcommunity
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
fluentcrm
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
fluentsmtp
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
formidable-forms
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
forminator
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
funnel-kit-automations
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
gamipress
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
geo-directory
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
givewp
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
gravity-form
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
gravity-kit
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
groundhogg
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
happyforms
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
jetengine
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
jetformbuilder
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
jetpack-crm
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
kadence-forms
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
late-point
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
learndash
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
learndash-achievements
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
learnpress
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
lifterlms
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
mail-mint
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
mailpoet
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
masteriyo
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
masterstudy-lms
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
memberpress
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
memberpress-course
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
metabox
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
metform
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
modern-events-calendar
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
mycred
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
newsletter
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
ninja-forms
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
ninja-tables
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
paid-memberships-pro
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
paymattic
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
peepso
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
pie-forms
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
powerful-docs
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
presto-player
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
profilegrid
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
projecthuddle
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
raffle-press
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
restrict-content
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
sensei-lms
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
services-for-surecart
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
simply-schedule-appointments
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
slice-wp
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
support-portal-for-surecart
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
sureforms
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
suremail
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
suremembers
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
thrive-leads
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
triggerbutton
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
tutorlms
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
ultimate-addons-for-gutenberg
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
ultimate-member
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
voxel
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
wishlistmember
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
woocommerce
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
woocommerce-bookings
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
woocommerce-memberships
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
woocommerce-shipstation
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
woocommerce-subscriptions
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
wordpress
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
wp-all-import
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
wp-courseware
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
wp-fusion
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
wp-job-manager
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
wp-polls
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
wp-simple-pay
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
wp-travel-engine
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
wp-user-manager
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
wpforms
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
wpforo
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
wplms
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
wployalty
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
ws-form
--
July 10 2025 04:32:23
inteuuod / inteuuod
0755
.htaccess
0.41 KB
July 10 2025 04:32:23
inteuuod / inteuuod
0644
AutomateAction.php
3.96 KB
July 04 2025 13:54:26
inteuuod / inteuuod
0644
Integrations.php
3.588 KB
July 04 2025 13:54:26
inteuuod / inteuuod
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF