PluginProbe
Defender Security – Malware Scanner, Login Security & Firewall / 3.1.0
Defender Security – Malware Scanner, Login Security & Firewall v3.1.0
6.3.0 6.2.3 6.2.4 6.2.0 6.2.1 6.2.2 6.1.0 5.3.1 5.4.0 5.4.1 5.5.0 5.5.1 5.6.0 5.6.1 5.6.2 5.7.0 5.7.1 5.7.2 5.8.0 5.8.1 5.9.0 6.0.0 6.0.1 3.0.1 3.1.0 All 141 releases
defender-security / framework / helper / route.php

route.php in Defender Security – Malware Scanner, Login Security & Firewall 3.1.0, at framework/helper/route.php

61 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Calotes\Helper;
4
5 /**
6 * This is the helper to enqueue ajax route, also generate the nonces.
7 *
8 * Class Route
9 *
10 * @package Calotes\Helper
11 */
12 class Route {
13 /**
14 * @var array
15 */
16 protected static $routes = array();
17
18 /**
19 * @var array
20 */
21 protected static $nonces = array();
22
23 /**
24 * @param $name
25 * @param $category
26 * @param $route
27 * @param $callback
28 * @param $nopriv
29 */
30 public static function register_route( $name, $category, $route, $callback, $nopriv = false ) {
31 $namespace = self::get_namespace( $category );
32 $route = $namespace . '/' . $route;
33 add_action( 'wp_ajax_' . $route, $callback );
34 if ( true === $nopriv ) {
35 add_action( 'wp_ajax_nopriv_' . $route, $callback );
36 }
37 if ( ! isset( self::$routes[ $category ] ) ) {
38 self::$routes[ $category ] = array();
39 self::$nonces[ $category ] = array();
40 }
41 self::$routes[ $category ][ $name ] = $route;
42 self::$nonces[ $category ][ $name ] = wp_create_nonce( $name . $category );
43 }
44
45 /**
46 * @param $categories
47 *
48 * @return array
49 */
50 public static function export_routes( $categories ) {
51 $routes = isset( self::$routes[ $categories ] ) ? self::$routes[ $categories ] : array();
52 $nonces = isset( self::$nonces[ $categories ] ) ? self::$nonces[ $categories ] : array();
53
54 return array( $routes, $nonces );
55 }
56
57 public static function get_namespace( $module ) {
58 return 'wp-defender/v1/' . $module;
59 }
60 }
61