Jake Vanderwerf
2026-07-09 c68aefb847b09daa0697de7684d3451e2e68ce1e
inc/rest/routes/OptionsRoutes.php
@@ -1,6 +1,8 @@
<?php
namespace JVBase\rest\routes;
use JVBase\base\Options;
use JVBase\registrar\Registrar;
use JVBase\rest\PermissionHandler;
use JVBase\rest\Rest;
use JVBase\managers\Cache;
@@ -30,7 +32,6 @@
         ->auth(PermissionHandler::combine(['user', ['actionNonce' => 'dash-']]))
         ->rateLimit(3)
         ->args([
            'user'   => 'int|required',
            'id'  => 'string|required',
         ])
         ->register();
@@ -39,11 +40,11 @@
   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']);
@@ -80,15 +81,7 @@
         'success'   => []
      ];
      $meta = Meta::forOptions('options');
      $fields = jvbGetFields('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);
@@ -102,11 +95,9 @@
      do_action('jvbOptionsRoute', $data);
      $cache = Cache::for('options', 1800);
      $cache->flush();
      return [
         'success'   => true,
         'result' => $results
         'result' => []
      ];
   }
}