PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 4.3.2
Admin Columns v4.3.2
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 / Controller / ListScreenRestoreColumns.php
codepress-admin-columns / classes / Controller Last commit date
ColumnRequest 5 years ago ListScreen 5 years ago Middleware 5 years ago AjaxColumnRequest.php 5 years ago AjaxColumnValue.php 5 years ago AjaxRequestCustomFieldKeys.php 5 years ago AjaxScreenOptions.php 5 years ago ColumnRequest.php 5 years ago DefaultColumns.php 5 years ago ListScreenRestoreColumns.php 5 years ago RedirectAddonStatus.php 5 years ago RestoreSettingsRequest.php 5 years ago TableListScreenSetter.php 5 years ago
ListScreenRestoreColumns.php
60 lines
1 <?php
2
3 namespace AC\Controller;
4
5 use AC\Capabilities;
6 use AC\ListScreenRepository\Storage;
7 use AC\Message\Notice;
8 use AC\Registrable;
9 use AC\Type\ListScreenId;
10
11 class ListScreenRestoreColumns implements Registrable {
12
13 /**
14 * @var Storage
15 */
16 private $repository;
17
18 public function __construct( Storage $repository ) {
19 $this->repository = $repository;
20 }
21
22 public function register() {
23 add_action( 'admin_init', [ $this, 'handle_request' ] );
24 }
25
26 public function handle_request() {
27 if ( ! current_user_can( Capabilities::MANAGE ) ) {
28 return;
29 }
30
31 switch ( filter_input( INPUT_POST, 'action' ) ) {
32
33 case 'restore_by_type' :
34 if ( $this->verify_nonce( 'restore-type' ) ) {
35 $list_screen = $this->repository->find( new ListScreenId( filter_input( INPUT_POST, 'layout' ) ) );
36
37 if ( ! $list_screen ) {
38 return;
39 }
40
41 $list_screen->set_settings( [] );
42 $this->repository->save( $list_screen );
43
44 $notice = new Notice( sprintf( __( 'Settings for %s restored successfully.', 'codepress-admin-columns' ), "<strong>" . esc_html( $list_screen->get_title() ) . "</strong>" ) );
45 $notice->register();
46 }
47 break;
48 }
49 }
50
51 /**
52 * @param string $action
53 *
54 * @return bool
55 */
56 private function verify_nonce( $action ) {
57 return wp_verify_nonce( filter_input( INPUT_POST, '_ac_nonce' ), $action );
58 }
59
60 }