![]() Server : Apache System : Linux pod-100823:apache2_74:v0.5.9 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.9 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/wp-rocket/inc/ThirdParty/Hostings/ |
<?php namespace WP_Rocket\ThirdParty\Hostings; use WP_Rocket\Event_Management\Subscriber_Interface; use WP_Rocket\ThirdParty\NullSubscriber; /** * Compatibility class for Cloudways Varnish * * @since 3.5.5 */ class Cloudways extends NullSubscriber implements Subscriber_Interface { /** * Array of events this subscriber wants to listen to. * * @since 3.5.5 * * @return array */ public static function get_subscribed_events() { return [ 'rocket_display_input_varnish_auto_purge' => 'return_false', 'do_rocket_varnish_http_purge' => 'should_purge', 'rocket_varnish_field_settings' => 'varnish_addon_title', 'rocket_varnish_ip' => 'varnish_ip', ]; } /** * Determine if the Varnish server is up and running. * * @since 3.6.1 */ private static function is_varnish_running() { if ( ! isset( $_SERVER['HTTP_X_VARNISH'] ) ) { return false; } if ( ! isset( $_SERVER['HTTP_X_APPLICATION'] ) ) { return false; } return ( 'varnishpass' !== trim( strtolower( $_SERVER['HTTP_X_APPLICATION'] ) ) ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.ValidatedSanitizedInput.MissingUnslash } /** * Returns false * * @since 3.5.5 * * @return bool */ public function return_false() { return false; } /** * Returns should purge Varnish. * * @since 3.5.5 * * @return true */ public function should_purge() { return self::is_varnish_running(); } /** * Displays custom title for the Varnish add-on * * @since 3.5.5 * * @param array $settings Array of settings for Varnish. * @return array */ public function varnish_addon_title( array $settings ) { if ( ! self::is_varnish_running() ) { $settings['varnish_auto_purge']['title'] = sprintf( // Translators: %s = Hosting name. __( 'Varnish auto-purge will be automatically enabled once Varnish is enabled on your %s server.', 'rocket' ), 'Cloudways' ); return $settings; } $settings['varnish_auto_purge']['title'] = sprintf( // Translators: %s = Hosting name. __( 'Your site is hosted on %s, we have enabled Varnish auto-purge for compatibility.', 'rocket' ), 'Cloudways' ); return $settings; } /** * Adds Cloudways Varnish IP to varnish IPs array * * @since 3.5.5 * * @param array $varnish_ip Varnish IP. * @return array */ public function varnish_ip( $varnish_ip ) { if ( ! self::is_varnish_running() ) { return $varnish_ip; } if ( ! is_array( $varnish_ip ) ) { $varnish_ip = (array) $varnish_ip; } $varnish_ip[] = '127.0.0.1:8080'; return $varnish_ip; } }