Server : Apache System : Linux pod-100823:apache2_74:v0.5.7 5.4.0-1138-gcp #147~18.04.1-Ubuntu SMP Mon Oct 7 21:46:26 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33.7 Disable Function : apache_child_terminate,apache_get_modules,apache_get_version,apache_getenv,apache_note,apache_setenv,disk_free_space,disk_total_space,diskfreespace,dl,exec,fastcgi_finish_request,link,opcache_compile_file,opcache_get_configuration,opcache_invalidate,opcache_is_script_cached,opcache_reset,passthru,pclose,pcntl_exec,popen,posix_getpid,posix_getppid,posix_getpwuid,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_uname,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,realpath_cache_get,shell_exec,show_source,symlink,system Directory : /nas/content/live/attorneyexperi/wp-content/plugins/diva/src/Admin/ |
<?php /** * Class RESTPreloader. * * @package AmpProject\AmpWP */ namespace AmpProject\AmpWP\Admin; use AmpProject\AmpWP\Infrastructure\Service; /** * Preloads REST responses for client-side applications to prevent having to call fetch on page load. * * @package AmpProject\AmpWP * @since 2.0 * @internal */ final class RESTPreloader implements Service { /** * Paths to preload. * * @var array */ private $paths = []; /** * Adds a REST path to be preloaded. * * @param string $path A REST path to cache for apiFetch middleware. */ public function add_preloaded_path( $path ) { // Delay adding the preload_data action hook until after a path is added. if ( empty( $this->paths ) ) { add_action( 'admin_enqueue_scripts', [ $this, 'preload_data' ], 99 ); } if ( ! in_array( $path, $this->paths, true ) ) { $this->paths[] = $path; } } /** * Preloads data using apiFetch preloading middleware. */ public function preload_data() { if ( ! function_exists( 'rest_preload_api_request' ) ) { // Not available pre-5.0. return; } $preload_data = array_reduce( $this->paths, 'rest_preload_api_request', [] ); wp_add_inline_script( 'wp-api-fetch', sprintf( 'wp.apiFetch.use( wp.apiFetch.createPreloadingMiddleware( %s ) );', wp_json_encode( $preload_data ) ), 'after' ); } }