api
Table of Contents
Packages
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'
GALLERY_ROOT
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
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
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
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:
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
Return values
string —The full validated path
HandleUpload()
Handles file upload requests
HandleUpload() : void
Tags
Return values
void —Outputs JSON response
HandleList()
Lists files and folders in a directory
HandleList() : void
Tags
Return values
void —Outputs JSON response with list of items
HandleDelete()
Deletes a file or folder recursively
HandleDelete() : void
Tags
Return values
void —Outputs JSON response
HandleRename()
Renames a file or folder in the gallery
HandleRename() : void
Tags
Return values
void —Outputs JSON response with renamed item info
HandleCreateFolder()
Creates a new folder in the gallery
HandleCreateFolder() : void
Tags
Return values
void —Outputs JSON response with created folder info