PluginProbe ʕ •ᴥ•ʔ
Superb Addons: Blocks, Patterns, Pre-built Pages, Sliders, Popups, Free Forms, Animations & More / 3.0.7
Superb Addons: Blocks, Patterns, Pre-built Pages, Sliders, Popups, Free Forms, Animations & More v3.0.7
4.0.6 4.0.5 4.0.4 4.0.3 4.0.2 4.0.1 4.0.0 trunk 1.0.0 2.0.0 2.0.1 2.0.2 2.0.3 3.0 3.0.1 3.0.2 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.2 3.1.3 3.2.0 3.2.1 3.2.2 3.2.4 3.2.5 3.2.7 3.2.8 3.2.9 3.3.0 3.3.1 3.3.2 3.4.0 3.4.1 3.4.2 3.4.5 3.4.6 3.5.0 3.5.1 3.5.2 3.5.3 3.5.4 3.5.6 3.5.7 3.5.8 3.5.9 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1
superb-blocks / src / data / utils / class-plugin-installer.php
superb-blocks / src / data / utils Last commit date
class-base-exception.php 2 years ago class-cache-constants.php 2 years ago class-cache-exception.php 2 years ago class-key-exception.php 2 years ago class-keytypes.php 2 years ago class-option-exception.php 2 years ago class-plugin-installer.php 2 years ago class-quiet-skin.php 2 years ago class-settings-exception.php 2 years ago
class-plugin-installer.php
71 lines
1 <?php
2
3 namespace SuperbAddons\Data\Utils;
4
5 defined('ABSPATH') || exit();
6
7 use SuperbAddons\Data\Utils\QuietSkin;
8
9 require_once(ABSPATH . 'wp-admin/includes/plugin-install.php');
10 require_once(ABSPATH . 'wp-admin/includes/file.php');
11 require_once(ABSPATH . 'wp-admin/includes/misc.php');
12 require_once(ABSPATH . 'wp-admin/includes/plugin.php');
13 require_once(ABSPATH . 'wp-admin/includes/class-wp-upgrader.php');
14
15 class PluginInstaller
16 {
17 public static function Install($plugin)
18 {
19 $plugin_path = $plugin . '/' . $plugin . '.php';
20
21 self::ActivatePlugin($plugin_path);
22 if (\is_plugin_active($plugin_path)) {
23 return true;
24 }
25
26 $plugins_api = \plugins_api(
27 'plugin_information',
28 array(
29 'slug' => $plugin,
30 'fields' => array(
31 'short_description' => false,
32 'sections' => false,
33 'requires' => false,
34 'rating' => false,
35 'ratings' => false,
36 'downloaded' => false,
37 'last_updated' => false,
38 'added' => false,
39 'tags' => false,
40 'compatibility' => false,
41 'homepage' => false,
42 'donate_link' => false,
43 ),
44 )
45 );
46
47 if (is_wp_error($plugins_api)) {
48 return false;
49 }
50
51 $upgrader = new \Plugin_Upgrader(new QuietSkin());
52
53 $installation_result = $upgrader->install($plugins_api->download_link);
54
55 if (!$installation_result || is_wp_error($installation_result)) {
56 return false;
57 }
58
59 self::ActivatePlugin($plugin_path);
60
61 return true;
62 }
63
64 private static function ActivatePlugin($plugin_path)
65 {
66 if (file_exists(WP_PLUGIN_DIR . '/' . $plugin_path)) {
67 \activate_plugin($plugin_path, '', false, true);
68 }
69 }
70 }
71