PluginProbe ʕ •ᴥ•ʔ
WPML Multilingual & Multicurrency for WooCommerce / 5.5.7
WPML Multilingual & Multicurrency for WooCommerce v5.5.7
5.5.7 5.3.8 5.3.9 5.4.3 5.4.4 5.4.5 5.5.1 5.5.1.1 5.5.2.2 5.5.2.3 5.5.3 5.5.3.1 5.5.4 5.5.5 5.5.6 trunk 0.9 1.0 1.1 1.2 1.3 1.4 1.5 2.0 2.2 2.3 2.3.1 2.3.2 3.0 3.0.1 3.1 3.2 3.2.1 3.2.2 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.4 3.4.1 3.4.2 3.4.3 3.5 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.6 3.6.1 3.6.10 3.6.11 3.6.2 3.6.3 3.6.4 3.6.5 3.6.5.1 3.6.6 3.6.7 3.6.8 3.6.9 3.7 3.7.1 3.7.10 3.7.11 3.7.12 3.7.13 3.7.14 3.7.15 3.7.16 3.7.2 3.7.3 3.7.4 3.7.5 3.7.6 3.7.7 3.7.8 3.7.9 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.9.0 3.9.1 3.9.1.1 3.9.2 3.9.3 3.9.4 3.9.5 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.10.4 4.11.2 4.11.3.2 4.11.5 4.11.6 4.12.1 4.12.4 4.12.5 4.12.6 4.2.0 4.2.0.1 4.2.1 4.2.1.1 4.2.10 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.7.1 4.2.8 4.2.8.1 4.2.9 4.3.0 4.3.1 4.3.2 4.3.2.1 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.4.0 4.4.1 4.4.2 4.4.2.1 4.5.0 4.6.0 4.6.1 4.6.2 4.6.2.1 4.6.3 4.6.5 4.6.6 4.6.7 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.7.5 4.7.6 4.7.7 4.7.8 4.7.9 4.8.0 4.9.0 4.9.1 5.0.1 5.0.2 5.1.1 5.1.2 5.1.3 5.2.0 5.2.1 5.3.2 5.3.3.1 5.3.4 5.3.5 5.3.6 5.3.7
woocommerce-multilingual / vendor / otgs / installer / includes / class-otgs-installer-wp-components-storage.php
woocommerce-multilingual / vendor / otgs / installer / includes Last commit date
CDTClient 1 month ago admin-notices 1 month ago buy-url 1 month ago debug 1 month ago exceptions 5 years ago instances 1 month ago loader 5 years ago products 1 month ago repository 1 month ago rest 1 month ago site-key 1 month ago support 1 month ago template-service 1 month ago upgrade 1 month ago utilities 1 month ago wpml-content-stats 1 month ago class-installer-dependencies.php 1 month ago class-installer-theme.php 1 month ago class-installer-upgrader-skins.php 1 month ago class-otgs-installer-autoloader.php 5 years ago class-otgs-installer-cloned-sites-handler.php 1 month ago class-otgs-installer-debug-info.php 1 month ago class-otgs-installer-factory.php 1 month ago class-otgs-installer-filename-hooks.php 1 month ago class-otgs-installer-icons.php 1 month ago class-otgs-installer-loader.php 10 months ago class-otgs-installer-package-product-finder.php 1 month ago class-otgs-installer-package-product.php 1 month ago class-otgs-installer-package.php 5 years ago class-otgs-installer-php-functions.php 1 month ago class-otgs-installer-plugin-factory.php 1 month ago class-otgs-installer-plugin-finder.php 1 month ago class-otgs-installer-plugin.php 1 month ago class-otgs-installer-plugins-page-notice.php 1 month ago class-otgs-installer-plugins-update-cache-cleaner.php 5 years ago class-otgs-installer-settings.php 1 month ago class-otgs-installer-source-factory.php 5 years ago class-otgs-installer-source.php 1 month ago class-otgs-installer-subscription-factory.php 5 years ago class-otgs-installer-subscription-warning-message.php 1 month ago class-otgs-installer-subscription.php 1 month ago class-otgs-installer-wp-components-hooks.php 1 month ago class-otgs-installer-wp-components-sender.php 1 month ago class-otgs-installer-wp-components-setting-ajax.php 1 month ago class-otgs-installer-wp-components-setting-resources.php 1 month ago class-otgs-installer-wp-components-storage.php 1 month ago class-otgs-installer-wp-share-local-components-setting-hooks.php 1 month ago class-otgs-installer-wp-share-local-components-setting.php 1 month ago class-translation-service-info.php 1 month ago class-wp-installer-api.php 1 month ago class-wp-installer-channels.php 1 month ago class-wp-installer.php 1 month ago functions-core.php 1 month ago functions-templates.php 1 month ago otgs-installer-autoload-classmap.php 10 months ago
class-otgs-installer-wp-components-storage.php
87 lines
1 <?php
2
3 class OTGS_Installer_WP_Components_Storage {
4
5 const COMPONENTS_CACHE_OPTION_KEY = 'otgs_active_components';
6
7 public function refresh_cache() {
8 $active_theme = wp_get_theme();
9 $installed_plugins = $this->get_plugins();
10 $components = array();
11
12 foreach ( $installed_plugins as $file => $plugin ) {
13 if ( is_plugin_active( $file ) ) {
14 $components['plugin'][] = array(
15 'File' => $file,
16 'Name' => $plugin['Name'],
17 'Version' => $plugin['Version'],
18 );
19 }
20 }
21
22 $components['theme'][] = array(
23 'Template' => $active_theme->get_template(),
24 'Name' => $active_theme->get( 'Name' ),
25 'Version' => $active_theme->get( 'Version' ),
26 );
27
28 update_option( self::COMPONENTS_CACHE_OPTION_KEY, $components );
29 }
30
31 public function is_outdated() {
32 $components = $this->get();
33
34 if ( ! $components ) {
35 return true;
36 }
37
38 $current_theme = wp_get_theme();
39 $active_plugins = get_option( 'active_plugins' );
40
41 if ( ! function_exists( 'get_plugins' ) ) {
42 require_once ABSPATH . 'wp-admin/includes/plugin.php';
43 }
44
45 $installed_plugins = $this->get_plugins();
46
47 if ( isset( $components['theme'] ) ) {
48 if ( $components['theme'][0]['Template'] !== $current_theme->get_template() ||
49 $components['theme'][0]['Version'] !== $current_theme->get( 'Version' )
50 ) {
51 return true;
52 }
53 }
54
55 if ( array_key_exists( 'plugin', $components ) ) {
56 $cached_activated_plugins = wp_list_pluck( $components['plugin'], 'File' );
57 sort( $cached_activated_plugins );
58 sort( $active_plugins );
59
60 if ( $cached_activated_plugins !== $active_plugins ) {
61 return true;
62 }
63
64 foreach ( $components['plugin'] as $plugin ) {
65 if ( $plugin['Version'] !== $installed_plugins[ $plugin['File'] ]['Version'] ||
66 ! is_plugin_active( $plugin['File'] )
67 ) {
68 return true;
69 }
70 }
71 }
72
73 return false;
74 }
75
76 public function get() {
77 return get_option( self::COMPONENTS_CACHE_OPTION_KEY );
78 }
79
80 public function get_plugins() {
81 if ( ! function_exists( 'get_plugins' ) ) {
82 require_once ABSPATH . 'wp-admin/includes/plugin.php';
83 }
84
85 return get_plugins();
86 }
87 }