HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux WebLive 5.15.0-79-generic #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023 x86_64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/wpwatermates_err/wp-content/plugins/defender-security/framework/helper/route.php
<?php

namespace Calotes\Helper;

/**
 * This is the helper to enqueue ajax route, also generate the nonces.
 *
 * Class Route
 *
 * @package Calotes\Helper
 */
class Route {
	/**
	 * @var array
	 */
	protected static $routes = [];

	/**
	 * @var array
	 */
	protected static $nonces = [];

	/**
	 * @param $name
	 * @param $category
	 * @param $route
	 * @param $callback
	 * @param $nopriv
	 */
	public static function register_route( $name, $category, $route, $callback, $nopriv = false ) {
		$namespace = self::get_namespace( $category );
		$route = $namespace . '/' . $route;
		add_action( 'wp_ajax_' . $route, $callback );
		if ( true === $nopriv ) {
			add_action( 'wp_ajax_nopriv_' . $route, $callback );
		}
		if ( ! isset( self::$routes[ $category ] ) ) {
			self::$routes[ $category ] = [];
			self::$nonces[ $category ] = [];
		}
		self::$routes[ $category ][ $name ] = $route;
		self::$nonces[ $category ][ $name ] = wp_create_nonce( $name . $category );
	}

	/**
	 * @param $categories
	 *
	 * @return array
	 */
	public static function export_routes( $categories ) {
		$routes = self::$routes[ $categories ] ?? [];
		$nonces = self::$nonces[ $categories ] ?? [];

		return [ $routes, $nonces ];
	}

	/**
	 * @return string
	 */
	public static function get_namespace( $module ) {
		return 'wp-defender/v1/' . $module;
	}
}