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