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