From a58a2e7ca4700d3e23341fde767060a4c2c704a3 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 30 Aug 2026 21:04:37 +0000
Subject: [PATCH] =Minor tweaks to MenuBlock.php

---
 inc/rest/RestRouteManager.php |   53 +++++++++++++++++++++++++----------------------------
 1 files changed, 25 insertions(+), 28 deletions(-)

diff --git a/inc/rest/RestRouteManager.php b/inc/rest/RestRouteManager.php
index ff72f13..b714389 100644
--- a/inc/rest/RestRouteManager.php
+++ b/inc/rest/RestRouteManager.php
@@ -3,6 +3,8 @@
 
 use DateTime;
 use DateTimeZone;
+use JVBase\integrations\services\Cloudflare;
+use JVBase\managers\Errors;
 use JVBase\registrar\Registrar;
 use JVBase\managers\OperationQueue;
 use JVBase\managers\Cache;
@@ -69,10 +71,10 @@
      * @param string $nonceName nonce name to check
      * @param string|null $nonce optional additional nonce to check
      *
-     * @return void|WP_Error
-     */
-    public function verifyNonce(WP_REST_Request $request, string $nonceName = 'wp_rest', string|null $nonce = null):mixed
-    {
+     * @return bool|WP_Error
+	 */
+    public function verifyNonce(WP_REST_Request $request, string $nonceName = 'wp_rest', string|null $nonce = null): bool|WP_Error
+	{
         $nonce = (!is_null($nonce)) ? $nonce :  $request->get_header('X-WP-Nonce');
 
         if (!wp_verify_nonce($nonce, $nonceName)) {
@@ -93,7 +95,7 @@
      *
      * @return bool|WP_Error Whether or not we can proceed
      */
-    public function checkPermission(WP_REST_Request $request):bool
+    public function checkPermission(WP_REST_Request $request):bool|WP_Error
     {
         // Check rate limits first
         if (!$this->rate_limiter->checkLimit($request)) {
@@ -110,7 +112,7 @@
             return false;
         }
         // Verify nonces
-        $this->verifyNonce($request, 'wp_rest');
+        $this->verifyNonce($request);
         if ($this->action!=='') {
             $this->verifyNonce($request, $this->action . $user_id, $request->get_header('action_nonce'));
         }
@@ -208,7 +210,7 @@
     protected function logError(string $message, array $context = [], string $severity = 'error')
     {
         try {
-            JVB()->error()->log(
+            Errors::getInstance()->log(
                 'artist_invitations', // component
                 $message,
                 $context,
@@ -225,7 +227,7 @@
 	 */
 	protected function checkUser(int $userID): bool
 	{
-		$cache = Cache::for('checkUser', DAY_IN_SECONDS)->connect('user');
+		$cache = Cache::for('checkUser', 'user',DAY_IN_SECONDS);
 
 		return $cache->remember($userID, function() use ($userID) {
 			return (bool)get_userdata($userID);
@@ -237,7 +239,7 @@
 	 */
 	protected function checkShop(int $shopID): bool
 	{
-		$cache = Cache::for('checkShop',DAY_IN_SECONDS)->connect('taxonomy');
+		$cache = Cache::for('checkShop', 'term',DAY_IN_SECONDS);
 
 		return $cache->remember($shopID, function() use ($shopID) {
 			return (bool)term_exists($shopID, BASE . 'shop');
@@ -260,7 +262,7 @@
 		}
 
 		$taxonomy = jvbCheckBase($taxonomy);
-		$cache = Cache::for('checkTerm', DAY_IN_SECONDS)->connect('taxonomy');
+		$cache = Cache::for('checkTerm', 'term', DAY_IN_SECONDS);
 
 		return $cache->remember($termID, function() use ($termID, $taxonomy) {
 			return (bool)term_exists($termID, $taxonomy);
@@ -272,7 +274,7 @@
 	 */
 	public function isVerifiedUser(int $user_id): bool
 	{
-		$cache = Cache::for('verifiedUsers', DAY_IN_SECONDS)->connect('user');
+		$cache = Cache::for('verifiedUsers', 'user',DAY_IN_SECONDS);
 
 		return $cache->remember($user_id, function() use ($user_id) {
 			return user_can($user_id, 'skip_moderation');
@@ -323,7 +325,7 @@
 
 		// Keep existing author filtering logic
 		$authorQuery = [];
-		foreach (Registrar::getFeatured('can_create', 'user') as $type) {
+		foreach (Registrar::withFeature('can_create', 'user') as $type) {
 			if (array_key_exists($type, $data)) {
 				$artist_ids = array_map(
 					'absint',
@@ -479,7 +481,7 @@
 	protected function isTimeline($args, $data):bool
 	{
 		$post_types = is_array($args['post_type']) ? $args['post_type'] : [$args['post_type']];
-		$areTimeline = array_map(function($type) { return BASE.$type; },Registrar::getFeatured('is_timeline', 'post'));
+		$areTimeline = array_map(function($type) { return BASE.$type; },Registrar::withFeature('is_timeline', 'post'));
 		return !empty(array_intersect($post_types, $areTimeline));
 	}
 
@@ -562,15 +564,13 @@
 	}
 
 	// ========== HTTP CACHING METHODS ==========
-
 	/**
 	 * Check HTTP caching headers (ETag and If-Modified-Since)
 	 * Returns 304 Not Modified if content hasn't changed
-	 *
-	 * @param WP_REST_Request $request The REST request
-	 * @param string|array $content_types Content type(s) to check timestamps for
-	 * @param array $additional_params Additional params for ETag uniqueness (e.g., user_id, filters)
-	 * @return WP_REST_Response|null Returns 304 response if not modified, null to continue processing
+	 * @param WP_REST_Request $request
+	 * @param int|string|array $key Content type(s) to check timestamps for
+	 * @param string|array $group Additional params for ETag uniqueness (e.g., user_id, filters)
+	 * @return WP_REST_Response|false Returns 304 response if not modified, null to continue processing
 	 */
 	protected function checkHeaders(
 		WP_REST_Request $request,
@@ -587,12 +587,9 @@
 			$key = $cache->generateKey($key);
 		}
 
-		// Prefer tag freshness if available
-		$tags = $cache->getTags();
 
-		$lastModified = $tags
-			? $cache->getLastModifiedForTags($tags)
-			: $cache::lastModified($group);
+
+		$lastModified = $cache::lastModified($group);
 
 		if (!$lastModified) {
 			return false;
@@ -920,13 +917,13 @@
 
 		// Use existing error handler
 		try {
-			JVB()->error()->log(
+			Errors::getInstance()->log(
 				'security_audit',
 				$event,
 				$context,
 				'info'
 			);
-		} catch (\Exception $e) {
+		} catch (Exception $e) {
 			// Fallback to error_log if handler fails
 			error_log("Security Audit: {$event} - " . json_encode($context));
 		}
@@ -1048,7 +1045,7 @@
 
 	protected function verifyTurnstile(string $token): bool
 	{
-		if (!Site::hasIntegration('cloudflare') || !JVB()->connect('cloudflare')->isSetUp()) {
+		if (!Site::hasIntegration('cloudflare') || !Cloudflare::getInstance()->isSetUp()) {
 			return true;
 		}
 
@@ -1056,6 +1053,6 @@
 			return false;
 		}
 
-		return JVB()->connect('cloudflare')->verifyTurnstile($token);
+		return Cloudflare::getInstance()->verifyTurnstile($token);
 	}
 }

--
Gitblit v1.10.0