PluginProbe
The Innovative Form Builder – IvyForms / 1.5
The Innovative Form Builder – IvyForms v1.5
1.5.1 1.5 1.4.1 1.4 trunk 0.1.2 0.2 0.2.1 0.3 0.3.1 0.4 0.5 0.6 0.6.1 0.6.1-backup 0.6.1.1 0.7 0.8 0.8.1 0.8.2 0.9 0.9.1 1.0 1.1 1.1.1 All 27 releases
← All changes | backend/src/Services/Integrations/PluginInstaller.php +20 -6 0.6 → 1.5 View file →
@@ -18,9 +18,10 @@
18 18 *
19 19 * @var array<string, string>
20 20 */
21 21 private array $allowedPlugins = [
22 - 'wpdatatables' => 'wpdatatables/wpdatatables.php',
22 + 'wpdatatables' => 'wpdatatables/wpdatatables.php',
23 + 'ameliabooking' => 'ameliabooking/ameliabooking.php',
23 24 ];
24 25
25 26 /**
26 27 * Check if plugin is allowed to be installed
@@ -58,8 +59,26 @@
58 59 return file_exists(WP_PLUGIN_DIR . '/' . $pluginFile);
59 60 }
60 61
61 62 /**
63 + * Check if plugin is active
64 + *
65 + * @param string $pluginSlug
66 + *
67 + * @return bool
68 + */
69 + public function isPluginActive(string $pluginSlug): bool
70 + {
71 + if (!function_exists('is_plugin_active')) {
72 + require_once ABSPATH . 'wp-admin/includes/plugin.php';
73 + }
74 +
75 + $pluginFile = self::getPluginFile($pluginSlug);
76 +
77 + return $pluginFile !== null && is_plugin_active($pluginFile);
78 + }
79 +
80 + /**
62 81 * Activate a plugin
63 82 *
64 83 * @param string $pluginFile
65 84 *
@@ -79,9 +98,8 @@
79 98 */
80 99 public function getPluginInfo(string $pluginSlug)
81 100 {
82 101 if (!function_exists('plugins_api')) {
83 - // @phpstan-ignore-next-line
84 102 require_once ABSPATH . 'wp-admin/includes/plugin-install.php';
85 103 }
86 104
87 105 return plugins_api('plugin_information', [
@@ -127,21 +145,17 @@
127 145 private function loadRequiredFiles(): void
128 146 {
129 147 // phpcs:disable
130 148 if (file_exists(ABSPATH . 'wp-admin/includes/file.php')) {
131 - /** @phpstan-ignore-next-line */
132 149 require_once ABSPATH . 'wp-admin/includes/file.php';
133 150 }
134 151 if (file_exists(ABSPATH . 'wp-admin/includes/misc.php')) {
135 - /** @phpstan-ignore-next-line */
136 152 require_once ABSPATH . 'wp-admin/includes/misc.php';
137 153 }
138 154 if (file_exists(ABSPATH . 'wp-admin/includes/class-wp-upgrader.php')) {
139 - /** @phpstan-ignore-next-line */
140 155 require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
141 156 }
142 157 if (file_exists(ABSPATH . 'wp-admin/includes/plugin-install.php')) {
143 - /** @phpstan-ignore-next-line */
144 158 require_once ABSPATH . 'wp-admin/includes/plugin-install.php';
145 159 }
146 160 // phpcs:enable
147 161 }