Documentation MyBrickStore

MosaicModel extends Model
in package

Class MosaicModel

  • Handles the core business logic for mosaics
  • Manages temporary generation, persistence, cost calculation, and visualization of lego patterns

Table of Contents

Constants

DELIVERY_FEE  = 4.99
HANDLING_FEE  = 5.99
MARGIN_COEFF  = 2

Properties

$table  : string

Methods

calculatePriceFromContent()  : float
Calculates price directly from raw content string without db lookup
countPiecesFromContent()  : int
Counts total bricks required based on raw content
deductStockFromMosaic()  : void
Reduces inventory count when a mosaic is finalized
find()  : mixed
Finds a specific record by its ID.
findAll()  : array<string|int, mixed>|false
Retrieves all records from the associated table.
generateTemporaryMosaics()  : array<string|int, mixed>
Generates multiple mosaic variations (e.g., standard, optimized, stock-based) using the external java engine
getBricksList()  : array<string|int, mixed>
Parses mosaic content to produce a list of required bricks
getMosaicGridHtml()  : array<string|int, mixed>|string
Generates html for a grid representation (used for quick preview)
getMosaicPlanData()  : array<string|int, mixed>|null
Extracts detailed plan data for generating printable instructions
getMosaicPrice()  : float
Calculates the price of a stored mosaic based on its raw cost metadata
getMosaicsByOrderId()  : array<string|int, mixed>
Retrieves all mosaics associated with a specific order
getMosaicVisual()  : string|null
Generates a visual representation (png) of a stored mosaic
hasComposition()  : bool
Checks if the composition (recipe) for a mosaic has already been saved
requete()  : PDOStatement|false
Executes a SQL query (prepared or direct).
saveMosaicComposition()  : bool
Converts the brick list into database records for order processing
saveSelectedMosaic()  : int|false
Persists a selected mosaic configuration to the database
findItemId()  : int|false
Resolves specific item id based on brick characteristics
updateBriquesFile()  : void
Updates the temporary input file with current stock levels for java processing

Constants

DELIVERY_FEE

public float DELIVERY_FEE = 4.99

Standard shipping cost.

HANDLING_FEE

public float HANDLING_FEE = 5.99

Fixed fee for order preparation and handling.

MARGIN_COEFF

public int MARGIN_COEFF = 2

Coefficient applied to the raw cost to determine the selling price.

Properties

$table

protected string $table = 'Mosaic'

The database table associated with the model.

Methods

calculatePriceFromContent()

Calculates price directly from raw content string without db lookup

public calculatePriceFromContent(string $pavageContent) : float
Parameters
$pavageContent : string
Return values
float

countPiecesFromContent()

Counts total bricks required based on raw content

public countPiecesFromContent(string $pavageContent) : int
Parameters
$pavageContent : string
Return values
int

deductStockFromMosaic()

Reduces inventory count when a mosaic is finalized

public deductStockFromMosaic(int $idMosaic) : void
Parameters
$idMosaic : int

find()

Finds a specific record by its ID.

public find(int $id) : mixed
Parameters
$id : int

The record identifier.

Return values
mixed

The record object or false if not found.

findAll()

Retrieves all records from the associated table.

public findAll() : array<string|int, mixed>|false
Return values
array<string|int, mixed>|false

List of records.

generateTemporaryMosaics()

Generates multiple mosaic variations (e.g., standard, optimized, stock-based) using the external java engine

public generateTemporaryMosaics(int $idImage, string $blobData, string $extension) : array<string|int, mixed>
Parameters
$idImage : int

the image identifier

$blobData : string

binary image content

$extension : string

image file extension

Tags
throws
Exception

on file permission or locking issues

Return values
array<string|int, mixed>

resulting mosaic data (previews, costs, piece counts)

getBricksList()

Parses mosaic content to produce a list of required bricks

public getBricksList(int $idMosaic) : array<string|int, mixed>
Parameters
$idMosaic : int
Return values
array<string|int, mixed>

sorted list of bricks (size, color, count)

getMosaicGridHtml()

Generates html for a grid representation (used for quick preview)

public getMosaicGridHtml(int $idMosaic) : array<string|int, mixed>|string
Parameters
$idMosaic : int
Return values
array<string|int, mixed>|string

html string and legend array

getMosaicPlanData()

Extracts detailed plan data for generating printable instructions

public getMosaicPlanData(int $idMosaic) : array<string|int, mixed>|null
Parameters
$idMosaic : int
Return values
array<string|int, mixed>|null

plan details

getMosaicPrice()

Calculates the price of a stored mosaic based on its raw cost metadata

public getMosaicPrice(int $idMosaic) : float
Parameters
$idMosaic : int
Return values
float

getMosaicsByOrderId()

Retrieves all mosaics associated with a specific order

public getMosaicsByOrderId(int $orderId) : array<string|int, mixed>
Parameters
$orderId : int
Return values
array<string|int, mixed>

getMosaicVisual()

Generates a visual representation (png) of a stored mosaic

public getMosaicVisual(int $idMosaic) : string|null
Parameters
$idMosaic : int
Return values
string|null

base64 encoded image or null

hasComposition()

Checks if the composition (recipe) for a mosaic has already been saved

public hasComposition(int $idMosaic) : bool
Parameters
$idMosaic : int
Return values
bool

requete()

Executes a SQL query (prepared or direct).

public requete(string $sql[, array<string|int, mixed>|null $attributs = null ]) : PDOStatement|false
Parameters
$sql : string

The SQL query string.

$attributs : array<string|int, mixed>|null = null

Optional parameters for prepared statements.

Return values
PDOStatement|false

The result statement.

saveMosaicComposition()

Converts the brick list into database records for order processing

public saveMosaicComposition(int $idMosaic) : bool
Parameters
$idMosaic : int
Return values
bool

saveSelectedMosaic()

Persists a selected mosaic configuration to the database

public saveSelectedMosaic(int $idImage, string $content, string $type) : int|false
Parameters
$idImage : int
$content : string

layout instructions

$type : string

generation strategy used

Return values
int|false

the new mosaic id or false on failure

findItemId()

Resolves specific item id based on brick characteristics

private findItemId(string $size, string $hexColor) : int|false
Parameters
$size : string

e.g., "2x4"

$hexColor : string
Return values
int|false

updateBriquesFile()

Updates the temporary input file with current stock levels for java processing

private updateBriquesFile(string $filePath) : void
Parameters
$filePath : string

        
On this page

Search results