| | |
| | | // 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); |
| | | } |
| | |
| | | $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 |
| | | ]; |
| | | } |