PluginProbe ʕ •ᴥ•ʔ
Kirki – Freeform Page Builder, Website Builder & Customizer / 6.2.1
Kirki – Freeform Page Builder, Website Builder & Customizer v6.2.1
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 week ago CollectionController.php 1 week ago CollectionItemController.php 1 month ago EditorController.php 1 week ago FormController.php 1 week ago GlobalDataController.php 2 weeks ago MediaController.php 1 month ago PageController.php 1 week ago PageSettingsController.php 1 week ago PostController.php 1 week ago UserController.php 1 week 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 }