PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 4.4.1
Admin Columns v4.4.1
7.0.19 2.3.5 2.4 2.4.1 2.4.10 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.6.1 2.5.6.2 2.5.6.3 2.5.6.4 3.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.7 3.1 3.1.1 3.1.10 3.1.2 3.1.3 3.1.5 3.2.3 3.2.7 3.3.1 3.4.1 3.4.6 3.4.8 4.0.1 4.0.3 4.1.6 4.2.2 4.2.5 4.3 4.3.2 4.4.1 4.4.4 4.4.5 4.5.5 4.6.1 4.7.18 4.7.19 4.7.20 4.7.7 7.0.13 7.0.14 7.0.16 trunk 1.0 1.1 1.1.3 1.2 1.2.1 1.3 1.3.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.5.1 1.4.6 1.4.6.1 1.4.6.2 1.4.6.3 1.4.6.4 1.4.7 1.4.8 1.4.9 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.1.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.5.1 2.2.6 2.2.6.1 2.2.6.2 2.2.6.3 2.2.6.4 2.2.7 2.2.8 2.2.8.1 2.2.9 2.3.1 2.3.2 2.3.3
codepress-admin-columns / classes / Integration / Filter / IsActive.php
codepress-admin-columns / classes / Integration / Filter Last commit date
IsActive.php 4 years ago IsInstalled.php 4 years ago IsNotActive.php 4 years ago IsPluginActive.php 4 years ago IsPluginNotActive.php 4 years ago
IsActive.php
43 lines
1 <?php
2
3 namespace AC\Integration\Filter;
4
5 use AC\Integration;
6 use AC\Integration\Filter;
7 use AC\Integrations;
8 use AC\PluginInformation;
9
10 class IsActive implements Filter {
11
12 /**
13 * @var bool
14 */
15 private $is_multisite;
16
17 /**
18 * @var bool
19 */
20 private $is_network_admin;
21
22 public function __construct( $is_multisite, $is_network_admin ) {
23 $this->is_multisite = (bool) $is_multisite;
24 $this->is_network_admin = (bool) $is_network_admin;
25 }
26
27 public function filter( Integrations $integrations ) {
28 return new Integrations( array_filter( $integrations->all(), [ $this, 'is_active' ] ) );
29 }
30
31 public function is_active( Integration $integration ) {
32 $plugin = new PluginInformation( $integration->get_basename() );
33
34 $is_active = $plugin->is_network_active()
35 || ( ! $this->is_multisite && $plugin->is_active() )
36 || ( $this->is_multisite && ! $this->is_network_admin && $plugin->is_active() );
37
38 // The installed check is required, because it is possible for a plugin to be active without being installed.
39 // For example, when a plugin is removed from the file system without visiting the plugin's page.
40 return $plugin->is_installed() && $is_active;
41 }
42
43 }