PluginProbe ʕ •ᴥ•ʔ
MailPoet – Newsletters, Email Marketing, and Automation / 5.34.2
MailPoet – Newsletters, Email Marketing, and Automation v5.34.2
5.34.2 5.34.1 5.34.0 5.33.1 5.33.0 5.32.0 5.31.0 5.30.0 5.29.0 5.28.1 5.28.0 5.27.0 5.26.0 5.26.1 5.25.0 5.24.0 4.43.0 4.43.1 4.44.0 4.44.1 4.45.0 4.46.0 4.47.0 4.48.0 4.48.1 4.48.2 4.49.0 4.49.1 4.5.0 4.5.1 4.5.2 4.50.0 4.50.1 4.51.0 4.51.1 4.51.2 4.52.0 4.53.0 4.54.0 4.55.0 4.56.0 4.57.0 4.58.0 4.58.1 4.58.2 4.6.0 4.6.1 4.6.2 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 5.0.0 5.0.1 5.0.2 5.1.0 5.1.1 5.10.0 5.10.1 5.11.0 5.12.0 5.12.1 5.12.10 5.12.11 5.12.12 5.12.13 5.12.2 5.12.3 5.12.4 5.12.5 5.12.6 5.12.7 5.12.8 5.12.9 5.13.0 5.13.1 5.13.2 5.14.0 5.14.1 5.14.2 5.14.3 5.15.0 5.15.1 5.16.0 5.16.1 5.16.2 5.16.3 5.16.4 5.17.0 5.17.1 5.17.2 5.17.3 5.17.4 5.17.5 5.17.6 5.18.0 5.19.0 5.2.0 5.2.1 5.2.2 5.2.3 5.20.0 5.21.0 5.21.1 5.21.2 5.21.3 5.22.0 5.22.1 5.22.2 5.22.3 5.22.4 5.23.0 5.23.1 5.23.2 5.3.0 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 5.4.0 5.4.1 5.4.2 5.5.0 5.5.1 5.5.2 5.6.0 5.6.1 5.6.2 5.6.3 5.6.4 5.7.0 5.7.1 5.8.0 5.8.1 5.9.0 3.0.0-beta.15 3.7.1 3.0.0-beta.16 3.7.2 3.0.0-beta.17 3.7.3 3.0.0-beta.18 3.7.4 3.0.0-beta.19 3.7.5 3.0.0-beta.2 3.7.6 3.0.0-beta.20 3.7.8 3.0.0-beta.21 3.70.0 3.0.0-beta.22 3.71.0 3.0.0-beta.23 3.71.1 3.0.0-beta.23.1 3.71.2 3.0.0-beta.23.2 3.71.3 3.0.0-beta.24 3.72.0 3.0.0-beta.25 3.73.0 3.0.0-beta.26 3.73.1 3.0.0-beta.27 3.73.2 3.0.0-beta.28 3.74.0 3.0.0-beta.29 3.74.1 3.0.0-beta.3 3.74.2 3.0.0-beta.30 3.74.3 3.0.0-beta.31 3.75.0 3.0.0-beta.32 3.75.1 3.0.0-beta.33 3.76.0 3.0.0-beta.33.1 3.77.0 3.0.0-beta.34.0.0 3.77.1 3.0.0-beta.36.0.0 3.78.0 3.0.0-beta.36.0.1 3.79.0 3.0.0-beta.36.2.0 3.8 3.0.0-beta.36.3.0 3.8.1 3.0.0-beta.36.3.1 3.8.2 3.0.0-beta.37.0.0 3.8.3 3.0.0-beta.4 3.8.4 3.0.0-beta.5 3.8.5 3.0.0-beta.6 3.8.6 3.0.0-beta.7 3.80.0 3.0.0-beta.7.1 3.81.0 3.0.0-beta.8 3.82.0 3.0.0-beta.9 3.83.0 3.0.0-rc.1.0.0 3.84.0 3.0.0-rc.1.0.1 3.84.1 3.0.0-rc.1.0.2 3.85.0 3.0.0-rc.1.0.3 3.85.1 3.0.0-rc.1.0.4 3.86.0 3.0.0-rc.2.0.0 3.87.0 3.0.0-rc.2.0.1 3.87.1 3.0.0-rc.2.0.2 3.87.2 3.0.0-rc.2.0.3 3.88.0 3.0.1 3.88.1 3.0.2 3.88.2 3.0.3 3.89.0 3.0.4 3.89.1 3.0.5 3.89.2 3.0.6 3.89.3 3.0.7 3.89.4 3.0.8 3.9.0 3.0.9 3.9.1 3.1.0 3.90.0 3.10 3.90.1 3.10.1 3.90.2 3.100.0 3.91.0 3.100.1 3.91.1 3.100.2 3.92.0 3.101.0 3.92.1 3.101.1 3.93.0 3.102.0 3.93.1 3.102.1 3.94.0 3.103.0 3.95.0 3.103.1 3.95.1 3.11.0 3.96.0 3.11.1 3.96.1 3.11.2 3.97.0 3.11.3 3.98.0 3.11.4 3.98.1 3.11.5 3.99.0 3.12.0 3.99.1 3.12.1 4.0.0 3.13.0 4.0.1 3.14.0 4.1.0 3.14.1 4.1.1 3.15.0 4.10.0 3.16.0 4.11.0 3.16.1 4.11.1 3.16.2 4.12.0 3.16.3 4.12.1 3.17.0 4.12.2 3.17.1 4.13.0 3.17.2 4.14.0 3.18.0 4.15.0 3.18.1 4.16.0 3.18.2 4.17.0 3.19.0 4.17.1 3.19.1 4.18.0 3.19.2 4.18.1 3.19.3 4.19.0 3.2.0 4.2.0 3.2.1 4.20.0 3.2.2 4.20.1 3.2.3 4.20.2 3.2.4 4.21.0 3.2.5 4.22.0 3.20.0 4.22.1 3.21.0 4.22.2 3.21.1 4.23.0 3.22.0 4.24.0 3.23.0 4.25.0 3.23.1 4.26.0 3.23.2 4.26.1 3.24.0 4.27.0 3.25.0 4.28.0 3.25.1 4.29.0 3.26.0 4.3.0 3.26.1 4.3.1 3.27.0 4.30.0 3.28.0 4.31.0 3.29.0 4.31.1 3.3.0 4.32.0 3.3.1 4.33.0 3.3.2 4.34.0 3.3.3 4.35.0 3.3.4 4.35.1 3.3.5 4.36.0 3.3.6 4.37.0 3.30.0 4.38.0 3.31.0 4.39.0 3.31.1 4.4.0 3.32.0 4.40.0 3.32.1 4.41.0 3.32.2 4.41.1 3.33.0 4.41.2 3.34.0 4.41.3 3.34.1 4.42.0 3.34.2 4.42.1 3.34.3 3.34.4 3.35.0 3.35.1 3.35.3 3.35.4 3.36.0 3.37.0 3.37.1 3.37.2 3.37.3 3.38.0 3.38.1 3.39.0 3.39.1 3.39.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.40.0 3.40.1 3.41.0 3.41.1 3.41.2 3.42.0 3.42.1 3.42.2 3.42.3 3.43.0 3.43.1 3.44.0 3.45.0 3.45.1 3.46.0 3.46.1 3.46.10 3.46.11 3.46.12 3.46.13 3.46.14 3.46.2 3.46.3 3.46.4 3.46.5 3.46.6 3.46.7 3.46.8 3.46.9 3.47.0 3.47.1 3.47.10 3.47.11 3.47.2 3.47.3 3.47.5 3.47.6 3.47.7 3.47.9 3.48.0 3.48.1 3.49.0 3.49.1 3.5.0 3.5.1 3.50.0 3.51.0 3.51.1 3.51.2 3.52.0 3.53.0 3.54.0 3.54.1 3.54.2 3.54.3 3.55.0 3.55.1 3.56.0 3.56.1 3.56.2 3.57.0 3.57.1 3.58.0 3.59.0 3.59.1 3.59.2 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.60.0 3.60.1 3.60.10 3.60.11 3.60.12 3.60.2 3.60.3 3.60.4 3.60.6 3.60.7 3.60.8 3.60.9 3.61.0 3.62.0 3.62.1 3.63.0 3.64.0 3.64.1 3.64.2 3.64.3 3.65.0 trunk 3.65.1 3.0.0 3.66.0 3.0.0-beta.1 3.67.0 3.0.0-beta.10 3.67.1 3.0.0-beta.11 3.68.0 3.0.0-beta.12 3.69.0 3.0.0-beta.13 3.69.1 3.0.0-beta.14 3.7.0
mailpoet / vendor / jetpack-autoloader / class-plugins-handler.php
mailpoet / vendor / jetpack-autoloader Last commit date
class-autoloader-handler.php 4 days ago class-autoloader-locator.php 4 days ago class-autoloader.php 4 days ago class-container.php 4 days ago class-hook-manager.php 4 days ago class-latest-autoloader-guard.php 4 days ago class-manifest-reader.php 4 days ago class-path-processor.php 4 days ago class-php-autoloader.php 4 days ago class-plugin-locator.php 4 days ago class-plugins-handler.php 4 days ago class-shutdown-handler.php 4 days ago class-version-loader.php 4 days ago class-version-selector.php 4 days ago index.php 10 months ago
class-plugins-handler.php
90 lines
1 <?php
2 namespace Automattic\Jetpack\Autoloader\jp362475ab3000a6225facecf40e51a264\al5_0_8;
3 if (!defined('ABSPATH')) exit;
4 // phpcs:ignore
5 class Plugins_Handler {
6 const TRANSIENT_KEY = 'jetpack_autoloader_plugin_paths';
7 private $plugin_locator;
8 private $path_processor;
9 public function __construct( $plugin_locator, $path_processor ) {
10 $this->plugin_locator = $plugin_locator;
11 $this->path_processor = $path_processor;
12 }
13 public function get_active_plugins( $include_deactivating, $record_unknown ) {
14 global $jetpack_autoloader_activating_plugins_paths;
15 // We're going to build a unique list of plugins from a few different sources
16 // to find all of our "active" plugins. While we need to return an integer
17 // array, we're going to use an associative array internally to reduce
18 // the amount of time that we're going to spend checking uniqueness
19 // and merging different arrays together to form the output.
20 $active_plugins = array();
21 // Make sure that plugins which have activated this request are considered as "active" even though
22 // they probably won't be present in any option.
23 if ( is_array( $jetpack_autoloader_activating_plugins_paths ) ) {
24 foreach ( $jetpack_autoloader_activating_plugins_paths as $path ) {
25 $active_plugins[ $path ] = $path;
26 }
27 }
28 // This option contains all of the plugins that have been activated.
29 $plugins = $this->plugin_locator->find_using_option( 'active_plugins' );
30 foreach ( $plugins as $path ) {
31 $active_plugins[ $path ] = $path;
32 }
33 // This option contains all of the multisite plugins that have been activated.
34 if ( is_multisite() ) {
35 $plugins = $this->plugin_locator->find_using_option( 'active_sitewide_plugins', true );
36 foreach ( $plugins as $path ) {
37 $active_plugins[ $path ] = $path;
38 }
39 }
40 // These actions contain plugins that are being activated/deactivated during this request.
41 $plugins = $this->plugin_locator->find_using_request_action( array( 'activate', 'activate-selected', 'deactivate', 'deactivate-selected' ) );
42 foreach ( $plugins as $path ) {
43 $active_plugins[ $path ] = $path;
44 }
45 // When the current plugin isn't considered "active" there's a problem.
46 // Since we're here, the plugin is active and currently being loaded.
47 // We can support this case (mu-plugins and non-standard activation)
48 // by adding the current plugin to the active list and marking it
49 // as an unknown (activating) plugin. This also has the benefit
50 // of causing a reset because the active plugins list has
51 // been changed since it was saved in the global.
52 $current_plugin = $this->plugin_locator->find_current_plugin();
53 if ( $record_unknown && ! in_array( $current_plugin, $active_plugins, true ) ) {
54 $active_plugins[ $current_plugin ] = $current_plugin;
55 $jetpack_autoloader_activating_plugins_paths[] = $current_plugin;
56 }
57 // When deactivating plugins aren't desired we should entirely remove them from the active list.
58 if ( ! $include_deactivating ) {
59 // These actions contain plugins that are being deactivated during this request.
60 $plugins = $this->plugin_locator->find_using_request_action( array( 'deactivate', 'deactivate-selected' ) );
61 foreach ( $plugins as $path ) {
62 unset( $active_plugins[ $path ] );
63 }
64 }
65 // Transform the array so that we don't have to worry about the keys interacting with other array types later.
66 return array_values( $active_plugins );
67 }
68 public function get_cached_plugins() {
69 $cached = get_transient( self::TRANSIENT_KEY );
70 if ( ! is_array( $cached ) || empty( $cached ) ) {
71 return array();
72 }
73 // We need to expand the tokens to an absolute path for this webserver.
74 return array_map( array( $this->path_processor, 'untokenize_path_constants' ), $cached );
75 }
76 public function cache_plugins( $plugins ) {
77 // We store the paths in a tokenized form so that that webservers with different absolute paths don't break.
78 $plugins = array_map( array( $this->path_processor, 'tokenize_path_constants' ), $plugins );
79 set_transient( self::TRANSIENT_KEY, $plugins );
80 }
81 public function have_plugins_changed( $plugins ) {
82 global $jetpack_autoloader_cached_plugin_paths;
83 if ( $jetpack_autoloader_cached_plugin_paths !== $plugins ) {
84 $jetpack_autoloader_cached_plugin_paths = $plugins;
85 return true;
86 }
87 return false;
88 }
89 }
90