PluginProbe ʕ •ᴥ•ʔ
Kirki – Freeform Page Builder, Website Builder & Customizer / 6.2.4
Kirki – Freeform Page Builder, Website Builder & Customizer v6.2.4
6.2.5 6.2.4 6.2.3 6.2.2 6.2.1 6.2.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 1 month ago CollaborationCommentController.php 1 month ago CollaborationController.php 1 month ago CollectionController.php 1 month ago CollectionItemController.php 1 month ago EditorController.php 1 month ago FormController.php 3 weeks ago GlobalDataController.php 1 month ago MediaController.php 1 month ago PageController.php 1 month ago PageSettingsController.php 1 month ago PostController.php 1 month ago UserController.php 1 month 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 }