balmet.com

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

UserController.php (1566B)


      1 <?php
      2 /**
      3  * Controls User info
      4  */
      5 
      6 namespace Extendify\ExtendifySdk\Controllers;
      7 
      8 use Extendify\ExtendifySdk\Http;
      9 use Extendify\ExtendifySdk\User;
     10 
     11 if (!defined('ABSPATH')) {
     12     die('No direct access.');
     13 }
     14 
     15 /**
     16  * The controller for managing user data like API keys, etc
     17  */
     18 class UserController
     19 {
     20 
     21     /**
     22      * Return the current user state
     23      *
     24      * @return array
     25      */
     26     public static function show()
     27     {
     28         return new \WP_REST_Response(User::state());
     29     }
     30 
     31     /**
     32      * Return meta info about the current user
     33      *
     34      * @param \WP_REST_Request $request - The request.
     35      * @return array
     36      */
     37     public static function meta($request)
     38     {
     39         $key = \sanitize_text_field(\wp_unslash($request->get_param('key')));
     40         return new \WP_REST_Response(User::data($key));
     41     }
     42 
     43     /**
     44      * Persist the data
     45      *
     46      * @param \WP_REST_Request $request - The request.
     47      * @return array
     48      */
     49     public static function store($request)
     50     {
     51         $userData = json_decode($request->get_param('data'), true);
     52         \update_user_meta(\get_current_user_id(), 'extendifysdk_user_data', $userData);
     53 
     54         return new \WP_REST_Response(User::state());
     55     }
     56 
     57     /**
     58      * Sign up the user to the mailing list.
     59      *
     60      * @param \WP_REST_Request $request - The request.
     61      * @return WP_REST_Response|WP_Error
     62      */
     63     public static function mailingList($request)
     64     {
     65         $response = Http::post('/register-mailing-list', $request->get_params());
     66         return new \WP_REST_Response($response);
     67     }
     68 }