PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 7.0.13
Admin Columns v7.0.13
7.0.19 2.3.5 2.4 2.4.1 2.4.10 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.6.1 2.5.6.2 2.5.6.3 2.5.6.4 3.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.7 3.1 3.1.1 3.1.10 3.1.2 3.1.3 3.1.5 3.2.3 3.2.7 3.3.1 3.4.1 3.4.6 3.4.8 4.0.1 4.0.3 4.1.6 4.2.2 4.2.5 4.3 4.3.2 4.4.1 4.4.4 4.4.5 4.5.5 4.6.1 4.7.18 4.7.19 4.7.20 4.7.7 7.0.13 7.0.14 7.0.16 trunk 1.0 1.1 1.1.3 1.2 1.2.1 1.3 1.3.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.5.1 1.4.6 1.4.6.1 1.4.6.2 1.4.6.3 1.4.6.4 1.4.7 1.4.8 1.4.9 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.1.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.5.1 2.2.6 2.2.6.1 2.2.6.2 2.2.6.3 2.2.6.4 2.2.7 2.2.8 2.2.8.1 2.2.9 2.3.1 2.3.2 2.3.3
codepress-admin-columns / classes / RequestHandler / Ajax / ExtendedValue.php
codepress-admin-columns / classes / RequestHandler / Ajax Last commit date
AdminGeneralOptionsGet.php 3 months ago AdminGeneralOptionsPersist.php 3 months ago CustomFieldKeys.php 3 months ago EditorMenuFavorites.php 3 months ago EditorMenuStatus.php 3 months ago ExtendedValue.php 3 months ago IntegrationToggle.php 3 months ago Integrations.php 3 months ago ListScreenAddColumn.php 3 months ago ListScreenDelete.php 3 months ago ListScreenOriginalColumns.php 3 months ago ListScreenSave.php 3 months ago ListScreenSelectColumn.php 3 months ago ListScreenSettings.php 3 months ago NetworkPostStati.php 3 months ago NumberFormat.php 3 months ago RestoreSettingsRequest.php 3 months ago ScreenOptions.php 3 months ago
ExtendedValue.php
75 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\RequestHandler\Ajax;
6
7 use AC\Form\NonceFactory;
8 use AC\ListScreenRepository\Storage;
9 use AC\Request;
10 use AC\RequestAjaxHandler;
11 use AC\Response\Json;
12 use AC\Type\ColumnId;
13 use AC\Type\ListScreenId;
14 use AC\Value\ExtendedValueRegistry;
15
16 class ExtendedValue implements RequestAjaxHandler
17 {
18
19 private Storage $repository;
20
21 private ExtendedValueRegistry $views;
22
23 public function __construct(Storage $repository, ExtendedValueRegistry $views)
24 {
25 $this->repository = $repository;
26 $this->views = $views;
27 }
28
29 public function handle(): void
30 {
31 $request = new Request();
32 $response = new Json();
33
34 if ( ! NonceFactory::create_ajax()->verify($request)) {
35 $response->error();
36 }
37
38 $id = (int)$request->filter('object_id', null, FILTER_SANITIZE_NUMBER_INT);
39 $list_id = (string)$request->filter('list_id', null, FILTER_SANITIZE_FULL_SPECIAL_CHARS);
40 $column_name = (string)$request->filter('column_name', null, FILTER_SANITIZE_FULL_SPECIAL_CHARS);
41 $view = (string)$request->filter('view', null, FILTER_SANITIZE_FULL_SPECIAL_CHARS);
42 $params = (array)$request->get('params', []);
43
44 if ( ! $id) {
45 wp_send_json_error(__('Invalid item ID.', 'codepress-admin-columns'), 400);
46 }
47
48 if ( ! ListScreenId::is_valid_id($list_id)) {
49 wp_send_json_error(__('Invalid list ID.', 'codepress-admin-columns'), 400);
50 }
51
52 $list_screen = $this->repository->find(new ListScreenId($list_id));
53
54 if ( ! $list_screen || ! $list_screen->is_user_allowed(wp_get_current_user())) {
55 wp_send_json_error(__('Invalid list screen.', 'codepress-admin-columns'), 400);
56 }
57
58 $column = $list_screen->get_column(new ColumnId($column_name));
59
60 if ( ! $column) {
61 wp_send_json_error(__('Invalid column.', 'codepress-admin-columns'), 400);
62 }
63
64 if ( ! $this->views->has_view($view)) {
65 wp_send_json_error(__('Invalid view.', 'codepress-admin-columns'), 400);
66 }
67
68 header("Cache-Control: max-age=60");
69
70 echo $this->views->get_view($view)->render($id, $params, $column, $list_screen);
71
72 exit;
73 }
74
75 }