HEX
Server: Apache/2
System: Linux server-80-13-140-150.da.direct 5.14.0-362.24.1.el9_3.0.1.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Apr 4 22:31:43 UTC 2024 x86_64
User: cpt (1004)
PHP: 8.1.24
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/cpt/public_html/wp-content/plugins/events-manager/classes/em-utils.php
<?php
namespace EM;

/**
 * Namespaced class for howsing EM utilities, rather than functions
 */
class Utils {
	
	/**
	 * Gets a key from $_REQUEST, but mapped to a specific path in $_request_path, allowing for handling forms stored in arrays.
	 *
	 * For example, $_REQUEST['tickets'][ticket_id][0] = ['some_value' => 123, ...] can be accessed with $_request_path = ['tickets', ticket_id, 0] and then using this method with $key = 'some_value' to access 123.
	 *
	 * @param array $request_path
	 * @param string $key
	 *
	 * @return mixed|null
	 */
	public static function _request( $request_path = [], $key = null ) {
		$REQUEST = $_REQUEST;
		
		// Traverse the request map to get to the correct nested array
		foreach ( $request_path as $mapKey) {
			if (isset($REQUEST[$mapKey])) {
				$REQUEST = $REQUEST[$mapKey];
			} else {
				// If the key is missing in the structure, return null or handle the error
				return [];
			}
		}
		
		// Now check for the final key in the nested array
		if ( $key ) {
			return isset( $REQUEST[ $key ] ) ? $REQUEST[ $key ] : null;
		}
		return $REQUEST;
	}
}