Jake Vanderwerf
2026-09-18 a6413da67a4579866f0fd0323ddb23a7b6b9654a
inc/managers/InvitationsManager.php
@@ -2,8 +2,10 @@
namespace JVBase\managers;
use Exception;
use JVBase\inc\managers\ErrorHelper;
use JVBase\Instance;
use JVBase\managers\queue\executors\InvitationExecutor;
use JVBase\managers\queue\Queue;
use JVBase\managers\queue\TypeConfig;
use JVBase\registrar\Registrar;
use JVBase\base\Site;
@@ -17,7 +19,7 @@
class InvitationsManager
{
   use Instance;
   use Instance, ErrorHelper;
   protected array $inviteConfig;
   protected CustomTable $table;
   protected int $expiryDays = 14;
@@ -153,10 +155,12 @@
   /**
    * Build invite types from JVB constants
    * Combines JVB_MEMBERSHIP['can_invite'] and invitable taxonomies
    * TODO: Should be accessible via Site::getInstance()->membership()\
    *
    */
   protected function buildInviteTypes(): array
   {
      $invitable = $this->cache->remember(
      return $this->cache->remember(
         'invitableTypes',
         function () {
            $types = [];
@@ -206,7 +210,6 @@
            return $types;
         }
      );
      return $invitable;
   }
@@ -389,12 +392,7 @@
      } catch (Exception $e) {
         $this->table->rollback();
         Errors::getInstance()->log(
            'invitation_create',
            'Error processing invitations: ' . $e->getMessage(),
            ['user_id' => $userID],
         );
         $this->logError($e->getMessage(), 'processInvitations', ['user_id' => $userID]);
         return [
            'success' => false,
@@ -664,7 +662,7 @@
         // Grant capabilities
         $user = get_userdata($userID);
         $user->add_cap('skip_moderation', true);
         $user->add_cap('skip_moderation');
         return true;
      });