PluginProbe ʕ •ᴥ•ʔ
Kirki – Freeform Page Builder, Website Builder & Customizer / trunk
Kirki – Freeform Page Builder, Website Builder & Customizer vtrunk
6.3.0 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 2 months ago CollaborationCommentController.php 2 days ago CollaborationController.php 1 month ago CollectionController.php 1 month ago CollectionItemController.php 2 days ago EditorController.php 1 month ago FormController.php 3 weeks ago GlobalDataController.php 1 month ago MediaController.php 2 months 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 }