Jake Vanderwerf
2025-10-20 e729f920139f0c65902be2d6b2c32466b08375e8
inc/managers/ReferralManager.php
@@ -3,6 +3,7 @@
use JVBase\managers\MagicLinkManager;
use JVBase\integrations\Cloudflare;
use JVBase\meta\MetaForm;
use JVBase\utility\Features;
use WP_User;
use WP_Error;
@@ -58,7 +59,7 @@
      add_filter(BASE.'new_user_email_content', [$this, 'addReferralToWelcomeEmail'], 99, 2);
      add_action('jvbAdditionalActions', [$this, 'outputShareWidget']);
      add_filter('jvbAdditionalActions', [$this, 'outputShareWidget']);
      add_action('wp_enqueue_scripts', [$this, 'enqueueScripts']);
      // Schedule cron jobs for reports
@@ -877,14 +878,13 @@
   {
      $user_id = get_current_user_id();
      jvbDump($user_id);
      $content = '<aside class="jvb-referral right">';
      if (!$user_id) {
         $content .= $this->getUnloggedInReferral();
      } else {
         $content .= $this->getLoggedInReferral($user_id);
      }
      $content .= '<button type="button" class="close">'.jvbIcon('close').'</button></aside>';
      $content .= '</aside>';
      $actions[] =[
         'button' => '<button type="button" class="toggle-referral row" title="Your Referrals" data-action="toggle-referral" aria-label="Open Referral Sidebar" aria-controls="referral" aria-expanded="false">
@@ -901,44 +901,30 @@
      ob_start();
      JVB()->connect('cloudflare')->renderTurnstile();
      $turnstile = ob_get_clean();
      $meta = new MetaForm();
      $codeForm = '<form id="referral-code-form">
               <div class="status" hidden>
                  <div class="spinner"></div>
                  <p class="message"></p>
               </div>
               <div class="field text">
                  <label for="referral-name">Your Name</label>
                  <input type="text"
                        id="referral-name"
                        name="name"
                        placeholder="Mister Meeseeks"
                        autocomplete="name"
                        required>
               </div>
               <div class="field email">
                  <label for="referral-email">Your Email</label>
                  <input type="email"
                        id="referral-email"
                        name="email"
                        placeholder="look@me.com"
                        autocomplete="email"
                        required>
               </div>
               <div class="field text">
                  <label for="referral-code-input">Referral Code</label>
                  <input type="text"
                        id="referral-code-input"
                        name="referral_code"
                        placeholder="e.g., THISISFAKE1234"
                        required
                        pattern="[A-Za-z0-9]+"
                        maxlength="20"
                        autocomplete="off"
                        style="text-transform: uppercase;">
               </div>
               '.jvbFormStatus().$meta->return('referral_name', null, [
                  'required'  => true,
                  'type'      => 'text',
                  'label'     => 'Your Name',
                  'placeholder'=> 'Mister Meeseeks',
                  'autocomplete'=>'name'
               ]).
               $meta->return('referral_email', null, [
                  'required'  => true,
                  'type'      => 'email',
                  'label'     => 'Your Email',
                  'placeholder'=> 'look@me.com',
                  'autocomplete'=> 'email'
               ]).
               $meta->return('referral_code', null, [
                  'required'  => true,
                  'type'      => 'text',
                  'label'     => 'Referral Code',
                  'pattern'   => '[A-Za-z0-9]+',
                  'maxLength' => 20,
                  'autocomplete'=>'off'
               ]).'
               <button type="submit">
                  Get Started
               </button>
@@ -954,14 +940,12 @@
            </div>';
      $loginForm = '<form id ="login-form">
      <div class="status" hidden>
         <div class="spinner"></div>
         <p class="message"></p>
      </div>
      <div class="field email">
         <label for="login-email">Your Email</label>
         <input id="login-email" name="login-email" type="email" autocomplete="email">
      </div>
      '.jvbFormStatus().$meta->return('login_email', null, [
            'required'  => true,
            'type'      => 'email',
            'label'     => 'Your Email',
            'autocomplete'=>'email'
         ]).'
      '.$turnstile.'
      <button type="submit">Login With Magic Link</button>
</form>