PluginProbe
Premmerce / 1.3.12
Premmerce v1.3.12
trunk 1.0 1.1 1.2 1.2.1 1.3 1.3.10 1.3.11 1.3.12 1.3.13 1.3.14 1.3.15 1.3.16 1.3.17 1.3.18 1.3.19 1.3.2 1.3.20 1.3.21 1.3.22 1.3.23 1.3.3 1.3.4 1.3.5 1.3.6 All 28 releases
premmerce / src / Admin / Handlers / PluginsHandler.php

PluginsHandler.php in Premmerce 1.3.12, at src/Admin/Handlers/PluginsHandler.php

75 lines 2.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php namespace Premmerce\Premmerce\Admin\Handlers;
2
3 use Premmerce\Premmerce\Api\PluginApi;
4 use Premmerce\SDK\V2\FileManager\FileManager;
5
6 class PluginsHandler
7 {
8 /**
9 * @var PluginApi
10 */
11 private $api;
12
13 /**
14 * @var FileManager
15 */
16 private $fileManager;
17
18 public function __construct(PluginApi $dep, FileManager $fileManager)
19 {
20 $this->api = $dep;
21 $this->fileManager = $fileManager;
22 }
23
24 /**
25 * Run bulk or single action
26 *
27 * @return void
28 */
29 public function runAction()
30 {
31 $option = isset($_REQUEST['option'])? $_REQUEST['option'] : null;
32 $plugin = isset($_REQUEST['value'])? $_REQUEST['value'] : null;
33
34
35 if ($option && $plugin) {
36 $plugin = urldecode($plugin);
37
38 switch ($option) {
39 case 'activate':
40 $callback = array($this->api, 'activatePlugin');
41 break;
42 case 'install':
43 $callback = array($this->api, 'installPlugin');
44 break;
45 case 'deactivate':
46 $callback = array($this->api, 'deactivatePlugin');
47 break;
48 case 'activate_theme':
49 $callback = array($this->api, 'activateTheme');
50 break;
51 default:
52 $callback = array();
53 }
54
55 if (is_callable($callback)) {
56 $result = call_user_func($callback, $plugin);
57
58 if (!$result) {
59 $response['success'] = false;
60 $response['errorMessage'] = __('Plugin installation failed.');
61 } elseif ($result instanceof \WP_Error) {
62 $response['success'] = false;
63 $response['errorMessage'] = $result->get_error_message();
64 } else {
65 $response['success'] = true;
66 }
67
68 echo json_encode($response);
69
70 wp_die();
71 }
72 }
73 }
74 }
75