From b38f03c0e7218762d90fa5092696b127f24f36db Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 25 Jan 2026 07:07:26 +0000
Subject: [PATCH] =Some logical flaws in Queue.php, Queue.js, ContentExecutor.php, UploadExecutor.php - particularly with timeline ordering, frontend queue updates, etc

---
 inc/helpers/members.php |   87 +++++++++++++++++++++----------------------
 1 files changed, 42 insertions(+), 45 deletions(-)

diff --git a/inc/helpers/members.php b/inc/helpers/members.php
index c24ff84..26c7fa2 100644
--- a/inc/helpers/members.php
+++ b/inc/helpers/members.php
@@ -1,6 +1,6 @@
 <?php
 
-use JVBase\managers\CacheManager;
+use JVBase\managers\Cache;
 use JVBase\meta\MetaManager;
 
 if (!defined('ABSPATH')) {
@@ -16,16 +16,14 @@
  */
 function jvbShareName(int $userID):string
 {
-    $cache = CacheManager::for('usernames');
-    $cached = $cache->get($userID);
-    if ($cached) {
-        return $cached;
-    }
-    $check = get_user_meta($userID, BASE.'notify', true);
-    $name = ($check) ? get_userdata($userID)->display_name : 'Someone';
-    $cache->set($userID, $name);
-
-    return $name;
+    $cache = Cache::for('usernames')->connect('user');
+	return $cache->remember(
+		$userID,
+		function() use ($userID) {
+			$check = get_user_meta($userID, BASE.'notify', true);
+			return ($check) ? get_userdata($userID)->display_name : 'Someone';
+		}
+	);
 }
 
 /**
@@ -35,38 +33,37 @@
  */
 function jvbGetUserByFirstName(string $first_name):WP_User|false
 {
-    $cache = CacheManager::for('userFirstname')->connectTo('user');
-    $cached = $cache->get($first_name)??false;
-    if ($cached) {
-        return get_userdata($cached);
-    }
-    $args = [
-        'post_type' => BASE . 'artist',
-        'posts_per_page' => 1,
-        'fields' => 'ids',
-        'meta_query' => [
-            [
-                'key' => BASE . 'first_name',
-                'value' => $first_name,
-                'compare' => '='
-            ]
-        ]
-    ];
+    $cache = Cache::for('userFirstname')->connect('user', true);
+	return $cache->remember(
+		$first_name,
+		function() use ($first_name) {
+			$args = [
+				'post_type' => BASE . 'artist',
+				'posts_per_page' => 1,
+				'fields' => 'ids',
+				'meta_query' => [
+					[
+						'key' => BASE . 'first_name',
+						'value' => $first_name,
+						'compare' => '='
+					]
+				]
+			];
+			$query = new WP_Query($args);
 
-    $query = new WP_Query($args);
-
-    if ($query->have_posts()) {
-        $post_id = $query->posts[0];
-        $user_id = get_post_meta($post_id, BASE . 'link', true);
-        $user = get_userdata($user_id)?:false;
-        $cached[$user_id] = $first_name;
-        $cache->set('user_first_names', $cached);
-		wp_reset_postdata();
-        return $user;
-    }
-	wp_reset_postdata();
-
-    return false;
+			if ($query->have_posts()) {
+				$post_id = $query->posts[0];
+				$user_id = get_post_meta($post_id, BASE . 'link', true);
+				$user = get_userdata($user_id)?:false;
+				if ($user) {
+					wp_reset_postdata();
+					return $user;
+				}
+			}
+			wp_reset_postdata();
+			return false;
+		}
+	);
 }
 
 /**
@@ -76,7 +73,7 @@
  */
 function jvbGetUserByDisplayName(string $display_name):WP_User|false
 {
-    $cache = CacheManager::for('user_displaynames')->connectTo('user');
+    $cache = Cache::for('displayNames')->connect('user', true);
     $cached = $cache->get($display_name)??false;
 
     if ($cached && is_int($cached)) {
@@ -115,7 +112,7 @@
 function jvbGetUsername(int $user_id):string
 {
     $key = 'user_display_names';
-    $cache = CacheManager::for('userNames', WEEK_IN_SECONDS)->connectTo('user');
+    $cache = Cache::for('userNames', WEEK_IN_SECONDS)->connect('user');
     $cached = $cache->get($user_id);
 
     if ($cached) {
@@ -156,7 +153,7 @@
         return false;
     }
 
-    $cache = CacheManager::for('artist', 3600)->connectTo('post');
+    $cache = Cache::for('artist', 3600)->connect('post');
 	$cached = $cache->get($userID);
 	if ($cached) {
 		return match ($return) {

--
Gitblit v1.10.0