| | |
| | | |
| | | use JVBase\managers\MagicLinkManager; |
| | | use JVBase\integrations\Cloudflare; |
| | | use JVBase\meta\MetaForm; |
| | | use JVBase\utility\Features; |
| | | use WP_User; |
| | | use WP_Error; |
| | |
| | | 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 |
| | |
| | | { |
| | | |
| | | $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"> |
| | |
| | | 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> |
| | |
| | | </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> |