MemberRegistrationService
in package
uses
LocatorAwareTrait
Handles member registration and SCA membership card submission.
Covers file upload validation, image scaling, age-based status assignment, token generation, and building email notification variables. Controller-layer concerns (request parsing, flash, redirect) remain in MembersController.
Table of Contents
Properties
Methods
- __construct() : mixed
- Initialize the registration service.
- applyRegistrationData() : void
- Assign registration fields to a new member entity based on age.
- assignStatusAndTokens() : void
- Assign age-based status and generate tokens for a new member.
-
buildAdultRegistrationEmailVars()
: array{resetUrl: string, registrationVars: array
, secretaryVars: array } - Build the email variables for an adult registration notification.
- buildMinorRegistrationEmailVars() : array<string, mixed>
- Build the email variables for a minor registration notification.
- processCardUpload() : array{success: bool, message?: string, fileName?: string}
- Validate and store an uploaded membership card image.
- processScaCardUpload() : array{success: bool, message?: string, fileName?: string}
- Validate an SCA membership card upload with server-side content verification.
- saveMember() : bool
- Save a new member entity.
Properties
$Members
private
MembersTable
$Members
Methods
__construct()
Initialize the registration service.
public
__construct() : mixed
applyRegistrationData()
Assign registration fields to a new member entity based on age.
public
applyRegistrationData(Member $member, array<string, mixed> $data) : void
Parameters
- $member : Member
-
New member entity.
- $data : array<string, mixed>
-
Form data from the registration request.
assignStatusAndTokens()
Assign age-based status and generate tokens for a new member.
public
assignStatusAndTokens(Member $member) : void
Parameters
- $member : Member
-
Entity with birth fields already set.
buildAdultRegistrationEmailVars()
Build the email variables for an adult registration notification.
public
buildAdultRegistrationEmailVars(Member $member) : array{resetUrl: string, registrationVars: array, secretaryVars: array}
Parameters
- $member : Member
-
Newly registered member.
Return values
array{resetUrl: string, registrationVars: arraybuildMinorRegistrationEmailVars()
Build the email variables for a minor registration notification.
public
buildMinorRegistrationEmailVars(Member $member) : array<string, mixed>
Parameters
- $member : Member
-
Newly registered minor.
Return values
array<string, mixed>processCardUpload()
Validate and store an uploaded membership card image.
public
processCardUpload(UploadedFileInterface $file) : array{success: bool, message?: string, fileName?: string}
Parameters
- $file : UploadedFileInterface
-
Uploaded card image.
Return values
array{success: bool, message?: string, fileName?: string}processScaCardUpload()
Validate an SCA membership card upload with server-side content verification.
public
processScaCardUpload(UploadedFileInterface $file) : array{success: bool, message?: string, fileName?: string}
Parameters
- $file : UploadedFileInterface
-
Uploaded card image.
Return values
array{success: bool, message?: string, fileName?: string}saveMember()
Save a new member entity.
public
saveMember(Member $member) : bool
Parameters
- $member : Member
-
Entity to persist.
Return values
bool —True on success.