Jake Vanderwerf
2026-08-28 a9654f00c8fbc9934289d761843ddd071025013f
inc/rest/routes/OptionsRoutes.php
@@ -1,11 +1,11 @@
<?php
namespace JVBase\rest\routes;
use JVBase\registrar\Registrar;
use JVBase\base\Options;
use JVBase\Instance;
use JVBase\managers\queue\Queue;
use JVBase\rest\PermissionHandler;
use JVBase\rest\Rest;
use JVBase\managers\Cache;
use JVBase\meta\Meta;
use JVBase\rest\Route;
use WP_REST_Request;
use WP_REST_Response;
@@ -17,6 +17,7 @@
class OptionsRoutes extends Rest
{
   use Instance;
   public function __construct()
   {
@@ -31,7 +32,6 @@
         ->auth(PermissionHandler::combine(['user', ['actionNonce' => 'dash-']]))
         ->rateLimit(3)
         ->args([
            'user'   => 'int|required',
            'id'  => 'string|required',
         ])
         ->register();
@@ -40,15 +40,15 @@
   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,
@@ -81,15 +81,7 @@
         'success'   => []
      ];
      $meta = Meta::forOptions('options');
      $fields = Registrar::getFieldsFor('options');
      $allowedFields = array_filter($data,
      function ($key) use ($fields) {
         return array_key_exists($key, $fields);
      }, ARRAY_FILTER_USE_KEY);
      error_log('Setting fields: '.print_r($allowedFields, true));
      $results = $meta->setAll($allowedFields);
      Options::setAll($data['changes']);
//    foreach ($data as $field => $value) {
//       if (array_key_exists($field, $fields)) {
//          $success = $meta->updateValue($field, $value);
@@ -103,11 +95,9 @@
      do_action('jvbOptionsRoute', $data);
      $cache = Cache::for('options', 1800);
      $cache->flush();
      return [
         'success'   => true,
         'result' => $results
         'result' => []
      ];
   }
}