Jake Vanderwerf
5 days ago a9b3b28d001941921aa70d37fdc87c758a163a44
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;
@@ -159,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);
   }
@@ -284,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
@@ -322,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',
@@ -352,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;
@@ -417,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;
      }
@@ -478,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
@@ -1051,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;
      }