From ac444cba221832c012c0435fdc8339fe9f37febb Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Mon, 11 May 2026 18:35:04 +0000
Subject: [PATCH] =Some changes to the CRUD.js editing, timeline post configuration

---
 inc/helpers/all.php |   28 +++++++++++++++++++++-------
 1 files changed, 21 insertions(+), 7 deletions(-)

diff --git a/inc/helpers/all.php b/inc/helpers/all.php
index 0db6425..9d59203 100644
--- a/inc/helpers/all.php
+++ b/inc/helpers/all.php
@@ -10,7 +10,7 @@
 require(JVB_DIR . '/inc/helpers/crud.php');
 require(JVB_DIR . '/inc/helpers/dashboard.php');
 require(JVB_DIR . '/inc/helpers/directory.php');
-require(JVB_DIR . '/inc/helpers/email.php');
+//require(JVB_DIR . '/inc/helpers/email.php');
 require(JVB_DIR . '/inc/helpers/forms.php');
 require(JVB_DIR . '/inc/helpers/formatting.php');
 //require(JVB_DIR . '/inc/helpers/icons.php');
@@ -19,40 +19,54 @@
 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
  */
 function jvb_do_once():void
 {
+
 //    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);
     $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
+	];
+}

--
Gitblit v1.10.0