From 32ce5c542c90be348895328078e392dde2052957 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Fri, 04 Sep 2026 19:15:16 +0000
Subject: [PATCH] =Working at adding defined fields to a dedicated panel in the gutenberg editor. Registrar now has AddCustomFields.php, which currently only supports post fields. Added a @wordpress/plugins base _meta/fields in /build and /src that successfully creates a panel. Next steps: determine sections and fields, group fields by section (each section to a panel), and save output

---
 inc/rest/routes/OptionsRoutes.php |   29 ++++++++++-------------------
 1 files changed, 10 insertions(+), 19 deletions(-)

diff --git a/inc/rest/routes/OptionsRoutes.php b/inc/rest/routes/OptionsRoutes.php
index 355db8c..8795437 100644
--- a/inc/rest/routes/OptionsRoutes.php
+++ b/inc/rest/routes/OptionsRoutes.php
@@ -1,10 +1,11 @@
 <?php
 namespace JVBase\rest\routes;
 
+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;
@@ -16,6 +17,7 @@
 
 class OptionsRoutes extends Rest
 {
+	use Instance;
 
 	public function __construct()
 	{
@@ -30,7 +32,6 @@
 			->auth(PermissionHandler::combine(['user', ['actionNonce' => 'dash-']]))
 			->rateLimit(3)
 			->args([
-				'user'	=> 'int|required',
 				'id'	=> 'string|required',
 			])
 			->register();
@@ -39,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,
@@ -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'	=> []
 		];
 	}
 }

--
Gitblit v1.10.0