PluginProbe ʕ •ᴥ•ʔ
Kirki – Freeform Page Builder, Website Builder & Customizer / 6.0.13
Kirki – Freeform Page Builder, Website Builder & Customizer v6.0.13
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 / routes / api.php
kirki / routes Last commit date
api.php 2 weeks ago
api.php
144 lines
1 <?php
2
3 defined('ABSPATH') || exit;
4
5 use Kirki\App\Supports\Role;
6 use Kirki\App\Http\Controllers\Api\AppsController;
7 use Kirki\App\Http\Controllers\Api\MediaController;
8 use Kirki\App\Http\Controllers\Api\PageController;
9 use Kirki\App\Http\Controllers\Api\CollectionController;
10 use Kirki\App\Http\Controllers\Api\CollaborationCommentController;
11 use Kirki\App\Http\Middlewares\EditAccessMiddleware;
12 use Kirki\App\Http\Middlewares\FullAccessMiddleware;
13 use Kirki\App\Http\Controllers\Api\CollectionItemController;
14 use Kirki\App\Http\Controllers\Api\EditorController;
15 use Kirki\App\Http\Controllers\Api\GlobalDataController;
16 use Kirki\App\Http\Controllers\Api\PageSettingsController;
17 use Kirki\App\Http\Controllers\Api\UserController;
18 use Kirki\App\Http\Middlewares\ViewAccessMiddleware;
19 use Kirki\App\Http\Middlewares\ViewOrPreviewMiddleware;
20 use Kirki\Framework\Http\Request;
21 use Kirki\Framework\Route;
22
23 use function Kirki\Framework\app;
24 use function Kirki\Framework\response;
25
26 Route::set_namespace('kirki/v1');
27
28 Route::get('/ping', function (Request $request) {
29 return response()->json([
30 // 'query' => $query,
31 'test' => Role::get_roles_by_levels(['content']),
32 'dev' => app()->is_dev_mode()
33 ]);
34 });
35
36 Route::get('/is-user-logged-in', [UserController::class, 'is_logged_in']);
37
38 Route::group([
39 'middleware' => [
40 EditAccessMiddleware::class
41 ]
42 ], function () {
43 Route::post('/pages/{page_id}/{page_content_type}', [PageController::class, 'save_page_data'])
44 ->where('page_id', '[\d]+')
45 ->where('page_content_type', '(?:blocks|styles|used-styles|used-style-ids-random|used-fonts)');
46 Route::put('/pages/{page_id}', [PageController::class, 'update'])->where('page_id', '[\d]+');
47 Route::put('/popups/{popup_id}', [PageController::class, 'update_popup'])->where('popup_id', '[\d]+');
48
49 // Global data routes
50 Route::put('/global-ui-controller', [GlobalDataController::class, 'update_ui_controller']);
51 Route::put('/global-ui-saved-data', [GlobalDataController::class, 'update_ui_saved_data']);
52 });
53
54 Route::group([
55 'middleware' => [
56 FullAccessMiddleware::class
57 ]
58 ], function () {
59 Route::post('/pages', [PageController::class, 'save']);
60 Route::post('/pages/{page_id}/publish-staging-version', [PageController::class, 'publish_staging_version'])->where('page_id', '[\d]+');
61 Route::post('toggle-disabled-page-symbols', [PageController::class, 'toggle_disabled_page_symbols']);
62 Route::post('/pages/{page_id}/duplicate', [PageController::class, 'duplicate'])->where('page_id', '[\d]+');
63 Route::delete('/pages/{page_id}', [PageController::class, 'delete'])->where('page_id', '[\d]+');
64 Route::put('/pages/{page_id}/settings', [PageSettingsController::class, 'update_page_settings'])->where('page_id', '[\d]+');
65 Route::put('/custom-code-data', [PageSettingsController::class, 'update_custom_codes']);
66
67 Route::post('/back-to-kirki-editor', [EditorController::class, 'back_to_kirki_editor']);
68 Route::post('/back-to-wordpress-editor', [EditorController::class, 'back_to_wordpress_editor']);
69
70 // Global data routes
71 Route::put('/global-custom-fonts', [GlobalDataController::class, 'update_custom_fonts']);
72 Route::post('/download-google-font-offline', [GlobalDataController::class, 'download_google_font_offline']);
73 Route::delete('/remove-google-font-offline', [GlobalDataController::class, 'remove_google_font_offline']);
74 Route::delete('/remove-custom-font-permanently', [GlobalDataController::class, 'remove_custom_fonts_permanently']);
75
76 // Apps routes
77 Route::post('/install-app', [AppsController::class, 'install_app']);
78 Route::put('/update-app', [AppsController::class, 'update_app']);
79 Route::delete('/remove-app', [AppsController::class, 'remove_app']);
80 Route::put('/app-settings', [AppsController::class, 'save_app_settings']);
81 });
82
83 // Apps routes
84 Route::group(['middleware' => ViewOrPreviewMiddleware::class], function () {
85 Route::get('/app-list', [AppsController::class, 'get_all_apps']);
86 Route::get('/installed-app-list', [AppsController::class, 'get_installed_apps']);
87 Route::get('/app-settings', [AppsController::class, 'get_app_settings_using_slug']);
88 });
89
90 Route::group(['middleware' => ViewOrPreviewMiddleware::class], function () {
91 // Global data routes
92 Route::get('/global-ui-controller', [GlobalDataController::class, 'get_ui_controller']);
93 Route::get('/global-ui-saved-data', [GlobalDataController::class, 'get_ui_saved_data']);
94 Route::get('/global-custom-fonts', [GlobalDataController::class, 'get_custom_fonts']);
95 });
96
97 // Content Manager — Collection Routes
98 Route::group(['middleware' => ViewOrPreviewMiddleware::class], function () {
99 Route::get('/content-manager/collections', [CollectionController::class, 'index']);
100 Route::get('/content-manager/collections/{collection_id}', [CollectionController::class, 'show'])
101 ->where('collection_id', '\d+');
102 Route::get('/content-manager/validate_slug', [CollectionController::class, 'validate_slug']);
103 });
104
105 Route::group(['middleware' => EditAccessMiddleware::class], function () {
106 Route::post('/content-manager/collections', [CollectionController::class, 'store']);
107 Route::delete('/content-manager/collections/{collection_id}', [CollectionController::class, 'destroy'])->where('collection_id', '\d+');
108 Route::post('/content-manager/collections/{collection_id}/duplicate', [CollectionController::class, 'duplicate'])
109 ->where('collection_id', '\d+');
110 });
111
112 // Content Manager — Collection Item Routes
113 Route::group(['middleware' => ViewOrPreviewMiddleware::class], function () {
114 Route::get('/content-manager/collections/items', [CollectionItemController::class, 'index']);
115 Route::get('/content-manager/collections/items/{item}', [CollectionItemController::class, 'show'])
116 ->where('item', '\d+');
117 });
118
119 Route::group(['middleware' => EditAccessMiddleware::class], function () {
120 Route::post('/content-manager/collections/items', [CollectionItemController::class, 'store']);
121 Route::post('/content-manager/collections/items/action', [CollectionItemController::class, 'action']);
122 Route::post('/content-manager/collections/items/bulk-action', [CollectionItemController::class, 'bulk_action']);
123 });
124
125 // Media Route
126 Route::get('/media', [MediaController::class, 'paginated'])->middleware(EditAccessMiddleware::class);
127
128 // Comment Routes
129 Route::group(['middleware' => ViewOrPreviewMiddleware::class], function () {
130 Route::get('/collaboration-comments', [CollaborationCommentController::class, 'index']);
131 });
132
133 Route::get('/collaboration-comments/all-users', [CollaborationCommentController::class, 'users'])->middleware(ViewAccessMiddleware::class);
134
135 Route::group(['middleware' => EditAccessMiddleware::class], function () {
136 Route::post('/collaboration-comments', [CollaborationCommentController::class, 'store']);
137 Route::put('/collaboration-comments/resolve', [CollaborationCommentController::class, 'resolve']);
138 Route::put('/collaboration-comments/read', [CollaborationCommentController::class, 'read']);
139 Route::put('/collaboration-comments/unread', [CollaborationCommentController::class, 'unread']);
140 Route::delete('/collaboration-comments/delete', [CollaborationCommentController::class, 'destroy']);
141 Route::put('/collaboration-comments/read-all', [CollaborationCommentController::class, 'read_all']);
142 Route::put('/collaboration-comments/resolve-all', [CollaborationCommentController::class, 'resolve_all']);
143 });
144