PluginProbe
CatFolders – WordPress Media Library Folders & Categories / trunk
CatFolders – WordPress Media Library Folders & Categories vtrunk
2.5.6 2.5.5 trunk 1.6.1 1.8 1.9 2.0 2.2 2.3.1 2.3.2 2.4.4 2.4.7 2.4.8 2.4.9 2.5.0 2.5.1 2.5.2 2.5.3 2.5.4
catfolders / includes / Rest / Controllers / SettingController.php

SettingController.php in CatFolders – WordPress Media Library Folders & Categories trunk, at includes/Rest/Controllers/SettingController.php

51 lines 1.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace CatFolders\Rest\Controllers;
3
4 use CatFolders\Models\OptionModel;
5
6 class SettingController {
7 public function register_routes() {
8 register_rest_route(
9 CATF_ROUTE_NAMESPACE,
10 '/global-setting',
11 array(
12 array(
13 'methods' => \WP_REST_Server::CREATABLE,
14 'callback' => array( $this, 'update' ),
15 'permission_callback' => array( $this, 'permission_callback' ),
16 ),
17 )
18 );
19 register_rest_route(
20 CATF_ROUTE_NAMESPACE,
21 '/other-settings/dismiss-banner-sidebar',
22 array(
23 array(
24 'methods' => \WP_REST_Server::CREATABLE,
25 'callback' => array( $this, 'dismiss_banner_sidebar' ),
26 'permission_callback' => array( $this, 'permission_callback' ),
27 ),
28 )
29 );
30 }
31
32 public function update( \WP_REST_Request $request ) {
33 if( ! current_user_can( 'manage_options' ) ) {
34 return new \WP_Error( 403, __( 'You are not allowed to update settings.', 'catfolders' ) );
35 }
36 $name = sanitize_key( $request->get_param( 'name' ) );
37 $value = sanitize_key( $request->get_param( 'value' ) );
38 OptionModel::update_option( array( $name => $value ) );
39 return new \WP_REST_Response( array( 'success' => true ) );
40 }
41
42 public function permission_callback() {
43 return current_user_can( 'upload_files' );
44 }
45
46 public function dismiss_banner_sidebar( \WP_REST_Request $request ) {
47 $res = update_option( 'catf_banner_sidebar_dismissed', 'yes' );
48 return new \WP_REST_Response( array( 'success' => $res ) );
49 }
50 }
51