Documentation

api

Table of Contents

Packages

components
gallery

Constants

ALLOWED_EXTENSIONS  = ['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg']
Allowed file extensions for uploads
CORE_PATH  = \CORE_SRC_PATH . '/modules/base'
CORE_SRC_PATH  = \dirname(__DIR__, 2)
Base path to the core modules directory Path: core/src/api/components -> core/src/api -> core/src
DEFAULT_VIEW  = 'bi5'
Default view folder for components
GALLERY_ROOT  = \dirname(__DIR__, 4) . '/public-files'
Root directory for gallery files storage Shared location: /var/vhosts/dressapi/public-files
MAX_UPLOAD_SIZE  = 10 * 1024 * 1024
Maximum file upload size in bytes (10MB)

Functions

HandleList()  : void
Lists all available components with their metadata
HandleRender()  : void
Renders a component for preview purposes
ParseComponentParams()  : array<string|int, mixed>
Parses component parameters from HTML comment block.
ParseComponentExamples()  : array<string|int, mixed>
Parses component examples from HTML comment block
ParseComponentDescription()  : string
Parses component description from HTML comment block
RenderSimplePreview()  : string
Renders a simple preview of a component
SanitizeOutput()  : string
Sanitizes output to prevent XSS attacks
ValidatePath()  : string
Validates and normalizes a path to prevent directory traversal attacks
GetFullPath()  : string
Gets the full safe path by validating and resolving the relative path
HandleUpload()  : void
Handles file upload requests
HandleList()  : void
Lists files and folders in a directory
HandleDelete()  : void
Deletes a file or folder recursively
HandleRename()  : void
Renames a file or folder in the gallery
HandleCreateFolder()  : void
Creates a new folder in the gallery

Constants

ALLOWED_EXTENSIONS

Allowed file extensions for uploads

public array<string|int, mixed> ALLOWED_EXTENSIONS = ['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg']

CORE_PATH

public mixed CORE_PATH = \CORE_SRC_PATH . '/modules/base'

CORE_SRC_PATH

Base path to the core modules directory Path: core/src/api/components -> core/src/api -> core/src

public string CORE_SRC_PATH = \dirname(__DIR__, 2)

DEFAULT_VIEW

Default view folder for components

public string DEFAULT_VIEW = 'bi5'

Root directory for gallery files storage Shared location: /var/vhosts/dressapi/public-files

public string GALLERY_ROOT = \dirname(__DIR__, 4) . '/public-files'

MAX_UPLOAD_SIZE

Maximum file upload size in bytes (10MB)

public int MAX_UPLOAD_SIZE = 10 * 1024 * 1024

Functions

HandleList()

Lists all available components with their metadata

HandleList() : void

GET /api-core/components/?action=list&view=bi5

Tags
throws
Exception

If the view folder is not found

Return values
void —

Outputs JSON response with components array

HandleRender()

Renders a component for preview purposes

HandleRender() : void

POST /api-core/components/?action=render Body: {"type": "card", "data": {"title": "Test"}}

Tags
throws
Exception

If component type is not specified or not found

Return values
void —

Outputs JSON response with rendered HTML

ParseComponentParams()

Parses component parameters from HTML comment block.

ParseComponentParams(string $html) : array<string|int, mixed>

Expected format in template (PHPDoc-style):

Parameters
$html : string

The template HTML content.

Tags
repeater

@param string title - Title of each item @param string body - Content of each item

Return values
array<string|int, mixed> —

['params' => array, 'is_repeater' => bool]

ParseComponentExamples()

Parses component examples from HTML comment block

ParseComponentExamples(string $html) : array<string|int, mixed>

Expected format: EXAMPLE 1: {"title":"Example"}

Parameters
$html : string

The template HTML content

Return values
array<string|int, mixed> —

Array of example objects with raw JSON data

ParseComponentDescription()

Parses component description from HTML comment block

ParseComponentDescription(string $html) : string

Extracts the component name from the first line of the comment

Parameters
$html : string

The template HTML content

Return values
string —

The component description or empty string

RenderSimplePreview()

Renders a simple preview of a component

RenderSimplePreview(string $template_file, array<string|int, mixed> $data) : string

This is a simplified renderer for editor preview. For full rendering, use CComponent class.

Parameters
$template_file : string

Path to the template file

$data : array<string|int, mixed>

Component data

Return values
string —

Rendered HTML preview

SanitizeOutput()

Sanitizes output to prevent XSS attacks

SanitizeOutput(string|null $string) : string
Parameters
$string : string|null

The string to sanitize

Return values
string —

The sanitized string, empty if input is null

ValidatePath()

Validates and normalizes a path to prevent directory traversal attacks

ValidatePath(string $path) : string
Parameters
$path : string

The path to validate

Return values
string —

The sanitized path without dangerous characters

GetFullPath()

Gets the full safe path by validating and resolving the relative path

GetFullPath(string $relative_path) : string
Parameters
$relative_path : string

The relative path to resolve

Tags
throws
Exception

If the path is invalid or outside GALLERY_ROOT

Return values
string —

The full validated path

HandleUpload()

Handles file upload requests

HandleUpload() : void
Tags
throws
Exception

If upload fails or file is invalid

Return values
void —

Outputs JSON response

HandleList()

Lists files and folders in a directory

HandleList() : void
Tags
throws
Exception

If directory is not found

Return values
void —

Outputs JSON response with list of items

HandleDelete()

Deletes a file or folder recursively

HandleDelete() : void
Tags
throws
Exception

If path is not specified or file/folder not found

Return values
void —

Outputs JSON response

HandleRename()

Renames a file or folder in the gallery

HandleRename() : void
Tags
throws
Exception

If path or new name is not specified, or rename fails

Return values
void —

Outputs JSON response with renamed item info

HandleCreateFolder()

Creates a new folder in the gallery

HandleCreateFolder() : void
Tags
throws
Exception

If folder name is not specified, already exists, or cannot be created

Return values
void —

Outputs JSON response with created folder info


        
On this page

Search results