PluginProbe ʕ •ᴥ•ʔ
Kirki – Freeform Page Builder, Website Builder & Customizer / 6.1.0
Kirki – Freeform Page Builder, Website Builder & Customizer v6.1.0
6.1.1 6.1.0 6.0.14 6.0.13 6.0.12 6.0.11 6.0.10 6.0.9 6.0.8 6.0.7 6.0.6 6.0.5 6.0.4 6.0.3 6.0.2 6.0.1 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 4.0.19 4.0.20 4.0.21 4.0.22 4.0.23 4.0.24 4.1 4.2.0 5.0.0 5.1.0 5.1.1 5.2.0 5.2.1 5.2.2 5.2.3 6.0.0 trunk 3.0.40 3.0.41 3.0.42 3.0.43 3.0.44 3.0.45 3.1.0 3.1.1 3.1.2
kirki / app / Http / Controllers / Api / AppsController.php
kirki / app / Http / Controllers / Api Last commit date
AppsController.php 3 weeks ago CollaborationCommentController.php 3 weeks ago CollectionController.php 3 weeks ago CollectionItemController.php 3 weeks ago EditorController.php 3 weeks ago GlobalDataController.php 4 days ago MediaController.php 3 weeks ago PageController.php 4 days ago PageSettingsController.php 3 weeks ago UserController.php 3 weeks ago
AppsController.php
103 lines
1 <?php
2
3 namespace Kirki\App\Http\Controllers\Api;
4
5 defined('ABSPATH') || exit;
6
7 use Exception;
8 use Kirki\App\DTO\Apps\AppDTO;
9 use Kirki\App\Http\Requests\Apps\AppsRequest;
10 use Kirki\App\Http\Requests\Apps\AppSettingsRequest;
11 use Kirki\App\Services\AppsService;
12 use Kirki\Framework\Http\Request;
13 use Kirki\Framework\Http\Response;
14
15 use function Kirki\Framework\response;
16
17 class AppsController
18 {
19 /** @var AppsService */
20 protected $service;
21
22 public function __construct(AppsService $service)
23 {
24 $this->service = $service;
25 }
26
27 public function install_app(AppsRequest $request)
28 {
29 $payload = AppDTO::from_array($request->sanitized());
30
31 $this->service->install_app($payload);
32
33 return response()->json([
34 'data' => __('App installed successfully!', 'kirki'),
35 'message' => __('App installed successfully!', 'kirki')
36 ]);
37 }
38
39 public function get_all_apps(Request $request)
40 {
41 return response()->json([
42 'data' => $this->service->get_all_apps()
43 ]);
44 }
45
46 public function get_installed_apps(Request $request)
47 {
48 return response()->json([
49 'data' => $this->service->get_installed_apps()
50 ]);
51 }
52
53 public function get_app_settings_using_slug(Request $request)
54 {
55 $app_slug = $request->string('slug');
56
57 if (empty($app_slug)) {
58 throw new Exception(esc_html__('App slug is required.', 'kirki'), Response::UNPROCESSABLE_ENTITY);
59 }
60
61 return response()->json([
62 'data' => $this->service->get_app_settings($app_slug)
63 ]);
64 }
65
66 public function save_app_settings(AppSettingsRequest $request)
67 {
68 $this->service->save_app_settings($request->string('slug'), $request->array('settings'));
69
70 return response()->json([
71 'data' => true,
72 'message' => __('App settings updated successfully!', 'kirki')
73 ]);
74 }
75
76 public function update_app(AppsRequest $request)
77 {
78 $payload = AppDTO::from_array($request->sanitized());
79
80 $this->service->update_app($payload);
81
82 return response()->json([
83 'data' => __('App updated successfully!', 'kirki'),
84 'message' => __('App updated successfully!', 'kirki')
85 ]);
86 }
87
88 public function remove_app(Request $request)
89 {
90 $app_slug = $request->string('slug');
91
92 if (empty($app_slug)) {
93 throw new Exception(esc_html__('App slug is required.', 'kirki'), Response::UNPROCESSABLE_ENTITY);
94 }
95
96 $this->service->delete_app($app_slug);
97
98 return response()->json([
99 'data' => 'success',
100 'message' => __('App removed successfully!', 'kirki')
101 ]);
102 }
103 }