From a9b3b28d001941921aa70d37fdc87c758a163a44 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Fri, 05 Jun 2026 16:47:03 +0000
Subject: [PATCH] =Some hefty changes to FeedBlock. Transitioning to loading first page in php to save on extra requests. Got a bit to do yet, but I have to work on Northeh for a bit here.
---
inc/rest/RestRouteManager.php | 40 +++++++++++++++++++---------------------
1 files changed, 19 insertions(+), 21 deletions(-)
diff --git a/inc/rest/RestRouteManager.php b/inc/rest/RestRouteManager.php
index 0bf3041..ff72f13 100644
--- a/inc/rest/RestRouteManager.php
+++ b/inc/rest/RestRouteManager.php
@@ -3,12 +3,11 @@
use DateTime;
use DateTimeZone;
-use JVBase\JVB;
-use JVBase\rest\RateLimiter;
+use JVBase\registrar\Registrar;
use JVBase\managers\OperationQueue;
use JVBase\managers\Cache;
use JVBase\managers\NotificationManager;
-use JVBase\utility\Features;
+use JVBase\base\Site;
use WP_REST_Request;
use WP_Error;
use Exception;
@@ -19,6 +18,7 @@
}
/**
+ * @deprecated use Rest.php
* Handles route registration and high-level coordination
*/
abstract class RestRouteManager
@@ -30,7 +30,7 @@
protected string $route;
protected string $base;
protected string $content_type; //the registered post type
- protected string $type; //post, user, term, for MetaManager
+ protected string $type; //post, user, term, for Meta
protected string $action = ''; //optional additional nonce to check
protected array $callback; //route->callback array
protected string $operation_type; // from QueueManager.js and OperationQueue.php
@@ -158,11 +158,7 @@
protected function checkContent(string $content, bool $bool = false):string|bool
{
- $result = JVB_CONTENT[$content]??JVB_TAXONOMY[$content]??JVB_USER[$content]??'';
- if ($bool) {
- return $result !== '';
- }
- return $result;
+ return (bool)Registrar::getInstance($content);
}
@@ -283,6 +279,12 @@
});
}
+ /**
+ * @deprecated
+ * @param array $args
+ * @param array $data
+ * @return array
+ */
protected function applyTaxonomyFilters(array $args, array $data):array
{
// Handle JSON-encoded taxonomy data
@@ -321,7 +323,7 @@
// Keep existing author filtering logic
$authorQuery = [];
- foreach (jvbAuthorUsers() as $type) {
+ foreach (Registrar::getFeatured('can_create', 'user') as $type) {
if (array_key_exists($type, $data)) {
$artist_ids = array_map(
'absint',
@@ -351,7 +353,7 @@
//Handle random
if (array_key_exists('orderby', $data) && $data['orderby'] === 'random') {
- $current_seed = jvbGetRandomSeed();
+ $current_seed = floor(time() / 1800);
$args['orderby'] = 'RAND(' . $current_seed . ')';
unset($args['order']);
return $args;
@@ -416,19 +418,19 @@
$content = jvbNoBase($post_type);
// Get config for this content type
- $config = Features::getConfig($content);
+ $config = Registrar::getInstance($content);
if (!$config) {
return null;
}
// Check if this orderby is a custom order
- $customOrders = $config['custom_order'] ?? [];
+ $customOrders = $config->custom_order ?? [];
if (empty($customOrders) || !isset($customOrders[$orderby])) {
return null;
}
// Get field definition
- $fields = $config['fields'] ?? [];
+ $fields = $config->getFields()??[];
if (!isset($fields[$orderby])) {
return null;
}
@@ -477,12 +479,8 @@
protected function isTimeline($args, $data):bool
{
$post_types = is_array($args['post_type']) ? $args['post_type'] : [$args['post_type']];
- foreach ($post_types as $type) {
- if (Features::forContent($type)->has('is_timeline')) {
- return true;
- }
- }
- return false;
+ $areTimeline = array_map(function($type) { return BASE.$type; },Registrar::getFeatured('is_timeline', 'post'));
+ return !empty(array_intersect($post_types, $areTimeline));
}
protected function applyDateFilters(array $args, array $data):array
@@ -1050,7 +1048,7 @@
protected function verifyTurnstile(string $token): bool
{
- if (!Features::hasIntegration('cloudflare') || !JVB()->connect('cloudflare')->isSetUp()) {
+ if (!Site::hasIntegration('cloudflare') || !JVB()->connect('cloudflare')->isSetUp()) {
return true;
}
--
Gitblit v1.10.0