| | |
| | | namespace JVBase\rest\routes; |
| | | |
| | | use JVBase\base\Options; |
| | | use JVBase\Instance; |
| | | use JVBase\registrar\Registrar; |
| | | use JVBase\rest\PermissionHandler; |
| | | use JVBase\rest\Rest; |
| | |
| | | |
| | | class OptionsRoutes extends Rest |
| | | { |
| | | use Instance; |
| | | |
| | | public function __construct() |
| | | { |
| | |
| | | ->auth(PermissionHandler::combine(['user', ['actionNonce' => 'dash-']])) |
| | | ->rateLimit(3) |
| | | ->args([ |
| | | 'user' => 'int|required', |
| | | 'id' => 'string|required', |
| | | ]) |
| | | ->register(); |
| | |
| | | public function saveOptions(WP_REST_Request $request):WP_REST_Response |
| | | { |
| | | $data = $request->get_params(); |
| | | $user = $data['user']; |
| | | if ($user && !user_can($user, 'manage_options')) { |
| | | $user = get_current_user_id(); |
| | | if ($user && !current_user_can( 'manage_options')) { |
| | | return $this->error('User Cannot modify options'); |
| | | } |
| | | unset($data['user']); |
| | | |
| | | $operationID = $data['id']; |
| | | unset($data['id']); |
| | | |
| | | JVB()->queue()->queueOperation( |
| | | Queue::getInstance()->queueOperation( |
| | | 'update_options', |
| | | $user, |
| | | $data, |