PluginProbe
Elementor Website Builder – more than just a page builder / 3.11.1
Elementor Website Builder – more than just a page builder v3.11.1
4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 All 452 releases
elementor / modules / system-info / reporters / network-plugins.php

network-plugins.php in Elementor Website Builder – more than just a page builder 3.11.1, at modules/system-info/reporters/network-plugins.php

117 lines 2.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace Elementor\Modules\System_Info\Reporters;
3
4 if ( ! defined( 'ABSPATH' ) ) {
5 exit; // Exit if accessed directly.
6 }
7
8 /**
9 * Elementor network plugins report.
10 *
11 * Elementor system report handler class responsible for generating a report for
12 * network plugins.
13 *
14 * @since 1.0.0
15 */
16 class Network_Plugins extends Base_Plugin {
17
18 /**
19 * Network plugins.
20 *
21 * Holds the sites network plugins list.
22 *
23 * @since 1.0.0
24 * @access private
25 *
26 * @var array
27 */
28 private $plugins;
29
30 /**
31 * Get network plugins reporter title.
32 *
33 * Retrieve network plugins reporter title.
34 *
35 * @since 1.0.0
36 * @access public
37 *
38 * @return string Reporter title.
39 */
40 public function get_title() {
41 return 'Network Plugins';
42 }
43
44 /**
45 * Get active network plugins.
46 *
47 * Retrieve the active network plugins from the list of active site-wide plugins.
48 *
49 * @since 2.0.0
50 * @access private
51 *
52 * @return array Active network plugins.
53 */
54 private function get_network_plugins() {
55 if ( ! $this->plugins ) {
56 $active_plugins = get_site_option( 'active_sitewide_plugins' );
57 $this->plugins = array_intersect_key( get_plugins(), $active_plugins );
58 }
59
60 return $this->plugins;
61 }
62
63 /**
64 * Is enabled.
65 *
66 * Whether there are active network plugins or not.
67 *
68 * @since 1.0.0
69 * @access public
70 *
71 * @return bool True if the site has active network plugins, False otherwise.
72 */
73 public function is_enabled() {
74 if ( ! is_multisite() ) {
75 return false;
76 };
77
78 return ! ! $this->get_network_plugins();
79 }
80
81 /**
82 * Get network plugins report fields.
83 *
84 * Retrieve the required fields for the network plugins report.
85 *
86 * @since 1.0.0
87 * @access public
88 *
89 * @return array Required report fields with field ID and field label.
90 */
91 public function get_fields() {
92 return [
93 'network_active_plugins' => 'Network Plugins',
94 ];
95 }
96
97 /**
98 * Get active network plugins.
99 *
100 * Retrieve the sites active network plugins.
101 *
102 * @since 1.0.0
103 * @access public
104 *
105 * @return array {
106 * Report data.
107 *
108 * @type string $value The active network plugins list.
109 * }
110 */
111 public function get_network_active_plugins() {
112 return [
113 'value' => $this->get_network_plugins(),
114 ];
115 }
116 }
117