index of
/
home
/
thefkyzp
/
easyloanly.com
/
wp-content
/
plugins
/
google-site-kit
/
includes
/
Core
/
Nonces
/
File: /home/thefkyzp/easyloanly.com/wp-content/plugins/google-site-kit/includes/Core/Nonces/Nonces.php
<?php /** * Class Google\Site_Kit\Core\Nonces\Nonces * * @package Google\Site_Kit\Core\Nonces * @copyright 2022 Google LLC * @license https://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0 * @link https://sitekit.withgoogle.com */ namespace Google\Site_Kit\Core\Nonces; use Google\Site_Kit\Context; use Google\Site_Kit\Core\Authentication\Authentication; use Google\Site_Kit\Core\Permissions\Permissions; use Google\Site_Kit\Core\REST_API\REST_Route; use Google\Site_Kit\Core\REST_API\REST_Routes; use Google\Site_Kit\Core\Util\Feature_Flags; use WP_REST_Response; use WP_REST_Server; /** * Class managing nonces used by Site Kit. * * @since 1.93.0 * @access private * @ignore */ final class Nonces { /* * Nonce actions. * * @since 1.93.0 */ const NONCE_UPDATES = 'updates'; /** * Plugin context. * * @since 1.93.0 * @var Context */ private $context; /** * Array of nonce actions. * * @since 1.93.0 * @var array */ private $nonce_actions; /** * Constructor. * * Sets up the capability mappings. * * @since 1.93.0 * * @param Context $context Plugin context. */ public function __construct( Context $context ) { $this->context = $context; $this->nonce_actions = array( self::NONCE_UPDATES, ); } /** * Registers functionality through WordPress hooks. * * @since 1.93.0 */ public function register() { add_filter( 'googlesitekit_rest_routes', function( $routes ) { return array_merge( $routes, $this->get_rest_routes() ); } ); add_filter( 'googlesitekit_apifetch_preload_paths', function ( $paths ) { return array_merge( $paths, array( '/' . REST_Routes::REST_ROOT . '/core/user/data/nonces', ) ); } ); } /** * Generate nonces for the current user. * * @since 1.93.0 * * @return array List of nonces. */ public function get_nonces() { $nonces = array(); foreach ( $this->nonce_actions as $nonce_action ) { $nonces[ $nonce_action ] = wp_create_nonce( $nonce_action ); } return $nonces; } /** * Gets related REST routes. * * @since 1.93.0 * * @return array List of REST_Route objects. */ private function get_rest_routes() { $can_access_nonces = function() { return is_user_logged_in(); }; return array( new REST_Route( 'core/user/data/nonces', array( array( 'methods' => WP_REST_Server::READABLE, 'callback' => function() { return new WP_REST_Response( $this->get_nonces() ); }, 'permission_callback' => $can_access_nonces, ), ) ), ); } }