PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 4.5.0
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v4.5.0
4.5.1 4.5.0 4.4.2 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.11.1 1.11.2 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.9.0 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 2.0.0 2.0.1 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.10.0 2.10.1 2.11.0 2.11.1 2.11.2 2.11.3 2.11.4 2.12.0 2.13.0 2.14.0 2.14.1 2.15.0 2.15.1 2.16.0 2.16.1 2.16.2 2.16.3 2.17.0 2.17.1 2.17.2 2.18.0 2.19.0 2.19.2 2.19.3 2.19.4 2.2.0 2.2.1 2.20.0 2.20.1 2.20.2 2.20.3 2.20.4 2.20.5 2.20.6 2.21.0 2.22.0 2.22.1 2.23.0 2.24.0 2.25.0 2.25.1 2.25.2 2.26.0 2.27.0 2.27.1 2.28.0 2.29.0 2.29.1 2.29.2 2.29.3 2.29.4 2.3.0 2.3.1 2.30.0 2.31.0 2.31.1 2.31.2 2.31.3 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.40.0 2.40.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.9.0 3.0.0 3.0.0-RC1 3.0.0-RC2 3.0.0-beta1 3.0.0-beta2 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.10.0 3.10.1 3.11.0 3.12.0 3.13.0 3.13.1 3.13.2 3.13.3 3.13.4 3.14.0 3.15.0 3.15.1 3.15.2 3.15.3 3.15.4 3.15.5 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.16.6 3.16.7 3.16.8 3.17.0 3.17.1 3.17.2 3.17.3 3.17.4 3.17.5 3.17.6 3.18.0 3.19.0 3.19.1 3.19.2 3.2.0 3.2.1 3.2.2 3.20.0 3.20.1 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 trunk 4.1.0 0.2.19.1 4.1.1 1.0.0 4.2.0 1.0.1 1.0.2
surecart / app / src / WordPress / Admin / PluginCache / AdminPluginCacheService.php
surecart / app / src / WordPress / Admin / PluginCache Last commit date
AdminPluginCacheService.php 4 months ago
AdminPluginCacheService.php
126 lines
1 <?php
2
3 namespace SureCart\WordPress\Admin\PluginCache;
4
5 /**
6 * Admin plugin cache service.
7 */
8 class AdminPluginCacheService {
9 /**
10 * Default documentation URL for cache plugins.
11 */
12 private const DEFAULT_DOCS_URL = 'https://surecart.com/docs/caching/';
13
14 /**
15 * Plugin-specific documentation URLs.
16 */
17 private const PLUGIN_DOCS_URLS = [
18 // 'litespeed-cache/litespeed-cache.php' => 'https://surecart.com/docs/lsp-config/', // we added support for this in the plugin
19 ];
20
21 /**
22 * Bootstrap related hooks.
23 *
24 * @return void
25 */
26 public function bootstrap() {
27 add_action( 'admin_notices', [ $this, 'showNotice' ] );
28 }
29
30 /**
31 * Get list of cache plugins.
32 *
33 * @return array
34 */
35 public function getCachePlugins(): array {
36 return apply_filters(
37 'surecart_cache_plugins',
38 [
39 // 'w3-total-cache/w3-total-cache.php', // we added support for this in the plugin
40 // 'litespeed-cache/litespeed-cache.php', // we added support for this in the plugin
41 // 'sg-cachepress/sg-cachepress.php', // we added support for this in the plugin
42 // 'wp-fastest-cache/wpFastestCache.php', // we added support for this in the plugin
43 'wp-rocket/wp-rocket.php',
44 'wp-super-cache/wp-cache.php',
45 'autoptimize/autoptimize.php',
46 'cache-enabler/cache-enabler.php',
47 'swift-performance-lite/performance.php',
48 'hummingbird-performance/wp-hummingbird.php',
49 'wp-optimize/wp-optimize.php',
50 'nitropack/main.php',
51 'perfmatters/perfmatters.php',
52 'wp-asset-clean-up/wpacu.php',
53 'flying-pages/flying-pages.php',
54 'fast-velocity-minify/fvm.php',
55 'breeze/breeze.php',
56 'wp-performance-score-booster/wp-performance-score-booster.php',
57 'clearfy/clearfy.php',
58 'psn-pagespeed-ninja/pagespeedninja.php',
59 ]
60 );
61 }
62
63 /**
64 * Get documentation URL for a specific cache plugin.
65 *
66 * @param string $plugin Plugin path/slug.
67 * @return string Documentation URL.
68 */
69 public function getDocumentationUrl( string $plugin ): string {
70 $plugin_docs = apply_filters( 'surecart_cache_plugin_documentation_urls', self::PLUGIN_DOCS_URLS );
71
72 return $plugin_docs[ $plugin ] ?? self::DEFAULT_DOCS_URL;
73 }
74
75 /**
76 * Show the plugin cache notice.
77 *
78 * @return void
79 */
80 public function showNotice(): void {
81 $cache_plugins = $this->getCachePlugins();
82
83 // Loop through each cache plugin.
84 foreach ( $cache_plugins as $plugin ) {
85 // If the plugin is not active, skip it.
86 if ( ! is_plugin_active( $plugin ) ) {
87 continue;
88 }
89
90 // Get the plugin data.
91 $plugin_data = get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin );
92
93 // If the plugin data is not found, skip it.
94 if ( empty( $plugin_data['Name'] ) ) {
95 continue;
96 }
97
98 // Get the documentation URL for this plugin.
99 $docs_url = $this->getDocumentationUrl( $plugin );
100
101 // Render the notice.
102 echo wp_kses_post(
103 \SureCart::notices()->render(
104 [
105 'name' => 'sc_plugin_cache_notice_' . sanitize_title( $plugin ),
106 'type' => 'warning',
107 'title' => sprintf(
108 /* translators: 1: plugin name, 2: plugin version */
109 esc_html__( 'Action Required: Configure %s for SureCart', 'surecart' ),
110 $plugin_data['Name']
111 ),
112 'text' => sprintf(
113 /* translators: 1: plugin name, 2: plugin version */
114 '<p>' . esc_html__( '%1$s (%2$s) detected. To ensure optimal performance with SureCart, configure the plugin properly.', 'surecart' ) . '</p>',
115 $plugin_data['Name'],
116 $plugin_data['Version']
117 )
118 .
119 '<p><a href="' . esc_url( $docs_url ) . '" target="_blank">' . esc_html__( 'Review Configuration Guide', 'surecart' ) . '</a></p>',
120 ]
121 )
122 );
123 }
124 }
125 }
126