Jake Vanderwerf
23 hours ago f4be611c51473359e6d41780f0313c446079e9d3
inc/helpers/all.php
@@ -1,5 +1,7 @@
<?php
use JVBase\base\Site;
if (!defined('ABSPATH')) {
   exit;
}
@@ -39,6 +41,10 @@
//        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);
        }
@@ -50,10 +56,36 @@
//    delete_option(BASE.'do_these_once');
    //Ensure we have the option starting with BASE
    $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
   ]);
}