PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 7.1.4
Admin Columns v7.1.4
7.1.4 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 2 days ago AdminGeneralOptionsPersist.php 2 days ago CustomFieldKeys.php 2 days ago EditorMenuFavorites.php 2 days ago EditorMenuStatus.php 2 days ago ExtendedValue.php 2 days ago IntegrationToggle.php 2 days ago Integrations.php 2 days ago ListScreenAddColumn.php 2 days ago ListScreenDelete.php 2 days ago ListScreenOriginalColumns.php 2 days ago ListScreenSave.php 2 days ago ListScreenSelectColumn.php 2 days ago ListScreenSettings.php 2 days ago NetworkPostStati.php 2 days ago NumberFormat.php 2 days ago RestoreSettingsRequest.php 2 days ago ScreenOptions.php 2 days 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 private Storage $repository;
19
20 private ExtendedValueRegistry $views;
21
22 public function __construct(Storage $repository, ExtendedValueRegistry $views)
23 {
24 $this->repository = $repository;
25 $this->views = $views;
26 }
27
28 public function handle(): void
29 {
30 $request = new Request();
31 $response = new Json();
32
33 if (! NonceFactory::create_ajax()->verify($request)) {
34 $response->error();
35 }
36
37 $id = (int)$request->filter('object_id', null, FILTER_SANITIZE_NUMBER_INT);
38 $list_id = (string)$request->filter('list_id', null, FILTER_SANITIZE_FULL_SPECIAL_CHARS);
39 $column_name = (string)$request->filter('column_name', null, FILTER_SANITIZE_FULL_SPECIAL_CHARS);
40 $view = (string)$request->filter('view', null, FILTER_SANITIZE_FULL_SPECIAL_CHARS);
41 $params = (array)$request->get('params', []);
42
43 if (! $id) {
44 wp_send_json_error(__('Invalid item ID.', 'codepress-admin-columns'), 400);
45 }
46
47 if (! ListScreenId::is_valid_id($list_id)) {
48 wp_send_json_error(__('Invalid list ID.', 'codepress-admin-columns'), 400);
49 }
50
51 $list_screen = $this->repository->find(new ListScreenId($list_id));
52
53 if (! $list_screen || ! $list_screen->is_user_allowed(wp_get_current_user())) {
54 wp_send_json_error(__('Invalid list screen.', 'codepress-admin-columns'), 400);
55 }
56
57 $column = $list_screen->get_column(new ColumnId($column_name));
58
59 if (! $column) {
60 wp_send_json_error(__('Invalid column.', 'codepress-admin-columns'), 400);
61 }
62
63 if (! $this->views->has_view($view)) {
64 wp_send_json_error(__('Invalid view.', 'codepress-admin-columns'), 400);
65 }
66
67 header("Cache-Control: max-age=60");
68
69 echo $this->views->get_view($view)->render($id, $params, $column, $list_screen);
70
71 exit;
72 }
73
74 }
75