From 235ce5716edc2f7cbe80fdccf26eac7269587839 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Mon, 08 Jun 2026 04:38:18 +0000
Subject: [PATCH] =FavouritesManager.php and FavouritesRoutes.php fixes. Moving all logic to FavouritesManager.php. Still some left to do
---
inc/helpers/all.php | 40 ++++++++++++++++++++++++++++++++++------
1 files changed, 34 insertions(+), 6 deletions(-)
diff --git a/inc/helpers/all.php b/inc/helpers/all.php
index 3931fc3..0891fab 100644
--- a/inc/helpers/all.php
+++ b/inc/helpers/all.php
@@ -19,13 +19,13 @@
require(JVB_DIR . '/inc/helpers/media.php');
require(JVB_DIR . '/inc/helpers/members.php');
require(JVB_DIR . '/inc/helpers/renderFields.php');
-require(JVB_DIR . '/inc/helpers/saveFields.php');
+//require(JVB_DIR . '/inc/helpers/saveFields.php');
require(JVB_DIR . '/inc/helpers/terms.php');
require(JVB_DIR . '/inc/helpers/time.php');
require(JVB_DIR . '/inc/helpers/ui.php');
//require(JVB_DIR . '/inc/helpers/umami.php');
-add_action('init', 'jvb_do_once');
+add_action('wp_loaded', 'jvb_do_once',99);
/**
* Helper to do things once
* @return void
@@ -35,26 +35,54 @@
// delete_option(BASE.'do_these_once');
$options = get_option(BASE.'do_these_once', []);
-
foreach ($options as $option => $callback) {
// delete_option($option);
if (!get_option($option, false)) {
error_log('Calling do once: '.$option);
+ if (get_transient(BASE . $option)) {
+ return;
+ }
+ set_transient(BASE . $option, true, 120);
$callback();
update_option($option, true);
}
}
}
-function jvb_register_do_once(string $option, array $callback)
+function jvb_register_do_once(string $option, array|string $callback):void
{
// delete_option(BASE.'do_these_once');
//Ensure we have the option starting with BASE
- $option = (str_starts_with($option, BASE)) ? $option : BASE.$option;
+ $option = jvbCheckBase($option);
+// delete_option($option);
+// delete_option(BASE.'do_these_once');
$options = get_option(BASE.'do_these_once', []);
// delete_option($option);
- if (!array_key_exists($option, $options)) {
+ if (!array_key_exists($option, $options)) {// Prevent concurrent runs
$options[$option] = $callback;
update_option(BASE.'do_these_once', $options);
}
}
+
+
+function jvbResponse(bool $success, ?string $msg = null):array
+{
+ return [
+ 'success' => $success,
+ 'message' => is_null($msg) ? ($success ? 'Completed successfully' : 'Something went wrong') : $msg
+ ];
+}
+
+function jvbTimelinePoints(int $ID, string $type, array $status = ['publish']):array
+{
+ $type = jvbCheckBase($type);
+ return get_children([
+ 'post_parent' => $ID,
+ 'orderby' => 'date',
+ 'order' => 'ASC',
+ 'posts_per_page'=> -1,
+ 'post_status' => $status,
+ 'fields' => 'ids',
+ 'post_type' => $type
+ ]);
+}
--
Gitblit v1.10.0