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 / RestoreSettingsRequest.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
RestoreSettingsRequest.php
75 lines
1 <?php
2
3 namespace AC\RequestHandler\Ajax;
4
5 use AC\Capabilities;
6 use AC\ListScreenRepository;
7 use AC\ListScreenRepositoryWritable;
8 use AC\Nonce;
9 use AC\Request;
10 use AC\RequestAjaxHandler;
11 use AC\Response;
12
13 class RestoreSettingsRequest implements RequestAjaxHandler
14 {
15
16 private ListScreenRepository\Storage\ListScreenRepository $repository;
17
18 public function __construct(ListScreenRepository\Storage\ListScreenRepository $repository)
19 {
20 $this->repository = $repository;
21 }
22
23 public function handle(): void
24 {
25 if ( ! current_user_can(Capabilities::MANAGE)) {
26 return;
27 }
28
29 $request = new Request();
30 $response = new Response\Json();
31
32 if ( ! (new Nonce\Ajax())->verify($request)) {
33 $response->error();
34 }
35
36 $repository = $this->repository->get_list_screen_repository();
37
38 if ( ! $repository instanceof ListScreenRepositoryWritable) {
39 $response->error();
40 }
41
42 foreach ($repository->find_all() as $list_screen) {
43 $repository->delete($list_screen);
44 }
45
46 $this->delete_options();
47 $this->delete_user_preferences();
48
49 do_action('ac/settings/restore');
50
51 $response->set_parameter('message', __('Default settings successfully restored.', 'codepress-admin-columns'));
52 $response->success();
53 }
54
55 private function delete_user_preferences(): void
56 {
57 global $wpdb;
58
59 $wpdb->query("DELETE FROM $wpdb->usermeta WHERE meta_key LIKE '{$wpdb->get_blog_prefix()}ac_preferences_%'");
60 $wpdb->query("DELETE FROM $wpdb->usermeta WHERE meta_key LIKE 'ac_conditional_format_%'");
61 }
62
63 private function delete_options(): void
64 {
65 global $wpdb;
66
67 $wpdb->query("DELETE FROM $wpdb->options WHERE option_name LIKE 'ac_api_request%'");
68 $wpdb->query("DELETE FROM $wpdb->options WHERE option_name LIKE 'ac_cache_expires_%'");
69 $wpdb->query("DELETE FROM $wpdb->options WHERE option_name LIKE 'ac_cache_data%'");
70 $wpdb->query("DELETE FROM $wpdb->options WHERE option_name LIKE 'ac_sorting_%'");
71 $wpdb->query("DELETE FROM $wpdb->options WHERE option_name LIKE 'cpac_options%__default'");
72 $wpdb->query("DELETE FROM $wpdb->options WHERE option_name LIKE 'cpac_general_options'");
73 }
74
75 }