KMP PHP API Reference

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

Constants

MAX_MEMBERSHIP_CARD_PIXELS  : mixed = 25000000
MEMBERSHIP_CARD_IMAGE_TYPES  : mixed = ['image/gif' => 'gif', 'image/jpeg' => 'jpg', '...

Properties

$documentService  : DocumentService
$Members  : MembersTable

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.
deleteMembershipCard()  : array{success: bool, message?: string}
Delete a membership card after its member record no longer references it.
getMembershipCardResponse()  : Response|null
Stream a membership card from persistent storage or the legacy local path.
processCardUpload()  : array{success: bool, message?: string, fileName?: string, documentId?: int}
Validate and store an uploaded membership card image.
processScaCardUpload()  : array{success: bool, message?: string, fileName?: string, documentId?: int}
Validate and persist an updated SCA membership card.
saveMember()  : bool
Save a new member entity.
storeMembershipCard()  : array{success: bool, message?: string, fileName?: string, documentId?: int}
Validate image content and store it through tenant-aware document storage.

Constants

MEMBERSHIP_CARD_IMAGE_TYPES

private mixed MEMBERSHIP_CARD_IMAGE_TYPES = ['image/gif' => 'gif', 'image/jpeg' => 'jpg', 'image/png' => 'png', 'image/webp' => 'webp']

Properties

Methods

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: array, secretaryVars: array}

buildMinorRegistrationEmailVars()

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>

deleteMembershipCard()

Delete a membership card after its member record no longer references it.

public deleteMembershipCard(int|null $documentId, string|null $legacyPath) : array{success: bool, message?: string}
Parameters
$documentId : int|null
$legacyPath : string|null
Return values
array{success: bool, message?: string}

getMembershipCardResponse()

Stream a membership card from persistent storage or the legacy local path.

public getMembershipCardResponse(Member $member) : Response|null
Parameters
$member : Member
Return values
Response|null

processCardUpload()

Validate and store an uploaded membership card image.

public processCardUpload(UploadedFileInterface $file, int $memberId, int $uploaderId) : array{success: bool, message?: string, fileName?: string, documentId?: int}
Parameters
$file : UploadedFileInterface
$memberId : int
$uploaderId : int
Return values
array{success: bool, message?: string, fileName?: string, documentId?: int}

processScaCardUpload()

Validate and persist an updated SCA membership card.

public processScaCardUpload(UploadedFileInterface $file, int $memberId, int $uploaderId) : array{success: bool, message?: string, fileName?: string, documentId?: int}
Parameters
$file : UploadedFileInterface
$memberId : int
$uploaderId : int
Return values
array{success: bool, message?: string, fileName?: string, documentId?: int}

saveMember()

Save a new member entity.

public saveMember(Member $member) : bool
Parameters
$member : Member

Entity to persist.

Return values
bool

True on success.

storeMembershipCard()

Validate image content and store it through tenant-aware document storage.

private storeMembershipCard(UploadedFileInterface $file, int $memberId, int $uploaderId) : array{success: bool, message?: string, fileName?: string, documentId?: int}
Parameters
$file : UploadedFileInterface
$memberId : int
$uploaderId : int
Return values
array{success: bool, message?: string, fileName?: string, documentId?: int}
On this page

Search results