'POST', 'callback' => 'streamdelay', 'args' => array( 'delay' => array( 'validate_callback' => 'validate_numeric', 'required' => true, ), 'dbuserid' => array( 'validate_callback' => 'validate_numeric', 'required' => true, ), ), 'permission_callback' => function() { return is_user_logged_in(); }, ] ); register_rest_route('client/v1', 'dbuserid', [ 'methods' => 'POST', 'callback' => 'dbuserid', 'args' => array( 'email' => array( 'validate_callback' => 'validate_emailaddress', 'required' => true, ), ), 'permission_callback' => function() { return is_user_logged_in(); }, ] ); register_rest_route('client/v1', 'dbuseridwp', [ 'methods' => 'POST', 'callback' => 'dbuseridwp', 'args' => array( 'wp_user_id' => array( 'validate_callback' => 'validate_numeric', 'required' => true, ), ), 'permission_callback' => function() { return is_user_logged_in(); }, ] ); register_rest_route('client/v1', 'logoutuser', [ 'methods' => 'POST', 'callback' => 'logoutuser', 'permission_callback' => function() { return is_user_logged_in(); }, ] ); } function validate_emailaddress($param, $request, $key) { return filter_var($param, FILTER_VALIDATE_EMAIL) !== false; } function validate_numeric($param, $request, $key) { return is_numeric($param); } function logoutuser() { wp_logout(); $response = new WP_REST_Response("foobar"); $response->set_status(200); return $response; } function dbuseridwp($request) { $wp_user_id = $request->get_param('wp_user_id'); $wpdb = connect_to_server('zinomedia'); $db_user_id = $wpdb->get_var( $wpdb->prepare( "SELECT ID from reg_users where WP_ID = %d", $wp_user_id ) ); $response = new WP_REST_Response($db_user_id); $response->set_status(200); return $response; } function dbuserid($request) { $email = $request->get_param('email'); $wpdb = connect_to_server('zinomedia'); $db_user_id = $wpdb->get_var( $wpdb->prepare( "SELECT ID from reg_users where EMail = %s", $email ) ); $response = new WP_REST_Response($db_user_id); $response->set_status(200); return $response; } function streamdelay($request) { $parameter = $request->get_params(); $delay = $request->get_param('delay'); $db_user_id = $request->get_param('db_user_id'); $wpdb = connect_to_server('zinomedia'); $wpdb->update('config_user', array( 'Value' => $delay, ), array( "UserID" => $db_user_id, ) ); $response = new WP_REST_Response($parameter); $response->set_status(200); return $response; }