Jake Vanderwerf
5 days ago 0dfe1d8afafc59c4a5559c498342668d5a58d6ef
inc/managers/LoginManager.php
@@ -43,7 +43,7 @@
      $this->cache = Cache::for('login');
      $this->cache->flush();
      // Initialize magic link support if enabled
      if (Site::has('magicLink')) {
      if (Site::has('magic_link')) {
         $this->initMagicLinkSupport();
      }
@@ -65,8 +65,8 @@
      add_filter( 'logout_url', [$this, 'logoutUrl'], 10, 2 );
      // Allow other features to register handlers
      do_action('jvbLoginManagerInit', $this);
      add_action('user_register', array($this, 'saveRegistrationFields'), 999, 2);
      add_filter('the_seo_framework_sitemap_exclude_ids', [$this, 'excludeLoginSitemap'], 10, 1);
      add_action('user_register', [$this, 'saveRegistrationFields'], 50, 2);
      add_filter('the_seo_framework_sitemap_exclude_ids', [$this, 'excludeLoginSitemap'], 8, 1);
   }
   public static function getInstance():self
   {
@@ -75,7 +75,10 @@
   public function excludeLoginSitemap(array $ids): array
   {
      $ids[] = $this->getLoginPage();
      $loginPage = $this->getLoginPage();
      if (!empty($loginPage)) {
         $ids = array_merge($ids, [$loginPage]);
      }
      return $ids;
   }
   /**************************************************************************
@@ -140,7 +143,7 @@
               'hint'   => 'Have a referral code? Paste it here!'
            ];
         }
         $canRegister = Registrar::getFeatured('can_register', 'user');
         $canRegister = Registrar::withFeature('can_register', 'user');
         if (!empty($canRegister)) {
            foreach ($canRegister as $role) {
               $registrar = Registrar::getInstance($role);
@@ -219,12 +222,14 @@
                  'subtype' => 'password',
                  'label' => __('New Password', 'jvb'),
                  'required' => true,
                  'autocomplete'=> 'new-password'
               ],
               'pass2' => [
                  'type' => 'text',
                  'subtype' => 'password',
                  'label' => __('Confirm Password', 'jvb'),
                  'required' => true,
                  'autocomplete'=> 'new-password'
               ],
            ];
            break;
@@ -354,7 +359,7 @@
   protected function initMagicLinkSupport(): void
   {
      if (!Site::has('magicLink')) {
      if (!Site::has('magic_link')) {
         return;
      }
   }
@@ -453,6 +458,7 @@
   protected function customStyles():void
   {
      $logo = get_theme_mod('custom_logo');
      $small = $large = '';
      if ($logo) {
         $small = wp_get_attachment_image_src($logo, 'medium')[0]??'';
         $large = wp_get_attachment_image_src($logo, 'large')[0]??'';
@@ -549,7 +555,7 @@
   {
      $form = $this->action.'form';
      ?>
      <section class="login-box col btw">
      <section class="login-box col y-btw">
         <h1><?=$this->labels['title']?></h1>
         <?= $this->labels['description'] ?>
@@ -568,7 +574,7 @@
         }
         ?>
         <div class="options row btw">
         <div class="options row x-btw">
            <?php
            switch ($this->action) {
               case 'login': ?>
@@ -593,7 +599,7 @@
         </div>
      </section>
      <div class="navigation row btw">
      <div class="navigation row x-btw">
         <a href="<?= get_home_url() ?>">Home</a>
         <?php
         $privacy = get_privacy_policy_url();
@@ -626,7 +632,7 @@
      $redirect = !empty($redirect) ? $redirect : esc_attr($_GET['redirect_to'] ?? '');
      return sprintf(
         '<form name="%sform" method="post" data-action="jvb_%s">
         '<form name="%sform" method="post" data-action="jvb_%s" data-save="auth/login">
            %s%s%s
            <input type="hidden" name="action" value="jvb_%s">
            <input type="hidden" name="redirect_to" value="%s">
@@ -635,7 +641,7 @@
            %s
            %s
            %s
             <div class="row btw nowrap">
             <div class="row x-btw nowrap">
               <button type="submit" class="button button-primary button-large">%s</button>
               %s
            </div>
@@ -652,10 +658,19 @@
         $additionalInputs,
         $fields,
         $turnstile,
         $this->labels['submit'],
         $this->labels['submit']??$this->determineSubmit($action),
         $magicLink
      );
   }
      protected function determineSubmit(string $action):string
      {
         return match($action) {
            'rp','resetpass' => 'Reset Password',
            'register' => 'Register',
            'lostpassword' => 'Send me a reset link',
            default => 'Login',
         };
      }
   protected function renderHeader():void
    {
    ?>
@@ -873,6 +888,7 @@
    $this->maybeTurnstileScripts();
    wp_enqueue_script('jvb-form');
   wp_enqueue_script('jvb-login');
    $action = $this->getAction();
    $redirect_to = isset($_GET['redirect_to']) ? esc_url_raw($_GET['redirect_to']) : '';