FacturaScripts

Tools
in package

Una clase con funciones útiles para el desarrollo de FacturaScripts.

Table of Contents

ASCII  = ['Š' => 'S', 'š' => 's', 'Đ' => 'Dj', 'đ' => 'dj', 'Ž' => 'Z', 'ž' => 'z', 'Č' => 'C', 'č' => 'c', 'Ć' => 'C', 'ć' => 'c', 'À' => 'A', 'Á' => 'A', 'Â' => 'A', 'Ã' => 'A', 'Ä' => 'A', 'Å' => 'A', 'Æ' => 'A', 'Ç' => 'C', 'È' => 'E', 'É' => 'E', 'Ê' => 'E', 'Ë' => 'E', 'Ì' => 'I', 'Í' => 'I', 'Î' => 'I', 'Ï' => 'I', 'Ñ' => 'N', 'Ò' => 'O', 'Ó' => 'O', 'Ô' => 'O', 'Õ' => 'O', 'Ö' => 'O', 'Ø' => 'O', 'Ù' => 'U', 'Ú' => 'U', 'Û' => 'U', 'Ü' => 'U', 'Ý' => 'Y', 'Þ' => 'B', 'ß' => 'Ss', 'à' => 'a', 'á' => 'a', 'â' => 'a', 'ã' => 'a', 'ä' => 'a', 'å' => 'a', 'æ' => 'a', 'ç' => 'c', 'è' => 'e', 'é' => 'e', 'ê' => 'e', 'ë' => 'e', 'ì' => 'i', 'í' => 'i', 'î' => 'i', 'ï' => 'i', 'ð' => 'o', 'ñ' => 'n', 'ò' => 'o', 'ó' => 'o', 'ô' => 'o', 'õ' => 'o', 'ö' => 'o', 'ø' => 'o', 'ù' => 'u', 'ú' => 'u', 'ü' => 'u', 'û' => 'u', 'ý' => 'y', 'þ' => 'b', 'ÿ' => 'y', 'Ŕ' => 'R', 'ŕ' => 'r']
DATE_STYLE  = 'd-m-Y'
DATETIME_STYLE  = 'd-m-Y H:i:s'
HOUR_STYLE  = 'H:i:s'
HTML_CHARS  = ['<', '>', '"', "'"]
HTML_REPLACEMENTS  = ['&lt;', '&gt;', '&quot;', '&#39;']
$settings  : array<string|int, mixed>
ascii()  : string
Convierte los caracteres especiales de una cadena en sus equivalentes ASCII.
bytes()  : string
Convierte un tamaño en bytes a una representación legible con unidades apropiadas.
config()  : mixed
Obtiene el valor de la configuración basada en una clave dada.
date()  : string
Formatea una fecha según el estilo de fecha definido en la clase.
dateOperation()  : string
Realiza una operación sobre una fecha y devuelve el resultado formateado.
dateTime()  : string
Formatea una fecha y hora según el estilo de fecha y hora definido en la clase.
dateTimeOperation()  : string
Realiza una operación sobre una fecha y hora, y devuelve el resultado formateado.
fixHtml()  : string|null
Corrige el texto HTML reemplazando secuencias específicas de HTML por sus caracteres correspondientes.
folder()  : string
Construye una ruta de carpeta a partir de los nombres de carpetas proporcionados.
folderCheckOrCreate()  : bool
Verifica si una carpeta existe y, si no existe, la crea.
folderCopy()  : bool
Copia el contenido de una carpeta a otra, incluyendo subcarpetas y archivos.
folderDelete()  : bool
Elimina una carpeta y su contenido recursivamente.
folderScan()  : array<string|int, mixed>
Escanea el contenido de una carpeta y opcionalmente sus subcarpetas, excluyendo archivos y carpetas especificados.
folderSize()  : int
Calcula el tamaño total de una carpeta y su contenido, excluyendo archivos y carpetas especificados.
hour()  : string
Obtiene la hora actual o la hora de una fecha específica en formato determinado.
lang()  : Translator
Crea una instancia de `Translator` para gestionar la traducción en el idioma especificado.
log()  : MiniLog
Crea una instancia de `MiniLog` para registrar mensajes, con soporte para traducción.
money()  : string
Formatea un número como una cadena de texto representando una cantidad de dinero con un símbolo de moneda.
noHtml()  : string|null
Elimina los caracteres HTML de un texto reemplazándolos con sus correspondientes entidades HTML.
number()  : string
Formatea un número a una cadena con la configuración de decimales y separadores especificados.
password()  : string
Genera una cadena aleatoria para usar como contraseña.
randomString()  : string
Genera una cadena de caracteres aleatorios de una longitud especificada.
settings()  : mixed
Obtiene el valor de una configuración específica de un grupo, con un valor predeterminado si no está definido.
settingsClear()  : void
Limpia la configuración almacenada y borra el caché de configuración.
settingsSave()  : bool
Guarda la configuración actual en la base de datos.
settingsSet()  : void
Establece un valor en la configuración de un grupo específico.
siteUrl()  : string
Obtiene la URL base del sitio web.
slug()  : string
Convierte un texto en un slug amigable para URLs.
textBreak()  : string
Corta un texto a una longitud específica y añade un marcador de truncamiento si es necesario.
timeToDate()  : string
Convierte un timestamp Unix en una cadena de fecha.
timeToDateTime()  : string
Convierte un timestamp Unix en una cadena de fecha y hora.
settingsLoad()  : void

Constants

ASCII

public mixed ASCII = ['Š' => 'S', 'š' => 's', 'Đ' => 'Dj', 'đ' => 'dj', 'Ž' => 'Z', 'ž' => 'z', 'Č' => 'C', 'č' => 'c', 'Ć' => 'C', 'ć' => 'c', 'À' => 'A', 'Á' => 'A', 'Â' => 'A', 'Ã' => 'A', 'Ä' => 'A', 'Å' => 'A', 'Æ' => 'A', 'Ç' => 'C', 'È' => 'E', 'É' => 'E', 'Ê' => 'E', 'Ë' => 'E', 'Ì' => 'I', 'Í' => 'I', 'Î' => 'I', 'Ï' => 'I', 'Ñ' => 'N', 'Ò' => 'O', 'Ó' => 'O', 'Ô' => 'O', 'Õ' => 'O', 'Ö' => 'O', 'Ø' => 'O', 'Ù' => 'U', 'Ú' => 'U', 'Û' => 'U', 'Ü' => 'U', 'Ý' => 'Y', 'Þ' => 'B', 'ß' => 'Ss', 'à' => 'a', 'á' => 'a', 'â' => 'a', 'ã' => 'a', 'ä' => 'a', 'å' => 'a', 'æ' => 'a', 'ç' => 'c', 'è' => 'e', 'é' => 'e', 'ê' => 'e', 'ë' => 'e', 'ì' => 'i', 'í' => 'i', 'î' => 'i', 'ï' => 'i', 'ð' => 'o', 'ñ' => 'n', 'ò' => 'o', 'ó' => 'o', 'ô' => 'o', 'õ' => 'o', 'ö' => 'o', 'ø' => 'o', 'ù' => 'u', 'ú' => 'u', 'ü' => 'u', 'û' => 'u', 'ý' => 'y', 'þ' => 'b', 'ÿ' => 'y', 'Ŕ' => 'R', 'ŕ' => 'r']

DATE_STYLE

public mixed DATE_STYLE = 'd-m-Y'

DATETIME_STYLE

public mixed DATETIME_STYLE = 'd-m-Y H:i:s'

HOUR_STYLE

public mixed HOUR_STYLE = 'H:i:s'

HTML_CHARS

public mixed HTML_CHARS = ['<', '>', '"', "'"]

HTML_REPLACEMENTS

public mixed HTML_REPLACEMENTS = ['&lt;', '&gt;', '&quot;', '&#39;']

Properties

$settings

private static array<string|int, mixed> $settings

Methods

ascii()

Convierte los caracteres especiales de una cadena en sus equivalentes ASCII.

public static ascii(string $text) : string
Parameters
$text : string

La cadena de texto que se desea convertir.

Return values
string

La cadena de texto con los caracteres especiales convertidos a ASCII.

bytes()

Convierte un tamaño en bytes a una representación legible con unidades apropiadas.

public static bytes(int|float $size[, int $decimals = 2 ]) : string

Esta función toma un tamaño en bytes y lo convierte en una cadena legible, utilizando las unidades GB, MB, KB o bytes, dependiendo del tamaño. También permite especificar el número de decimales a mostrar en la salida.

Parameters
$size : int|float

El tamaño en bytes que se desea convertir.

$decimals : int = 2

El número de decimales a mostrar (por defecto es 2).

Return values
string

Una cadena que representa el tamaño en la unidad más adecuada (GB, MB, KB o bytes).

config()

Obtiene el valor de la configuración basada en una clave dada.

public static config(string $key[, mixed $default = null ]) : mixed

Normalmente estas contantes se definen en el config.php

Esta función busca una constante de configuración que coincida con una clave específica en tres posibles formas: la clave tal cual, la clave en mayúsculas, y la clave en mayúsculas precedida por 'FS_'. Si alguna de estas constantes está definida, retorna su valor. De lo contrario, retorna un valor por defecto.

Parameters
$key : string

La clave de la configuración que se desea obtener.

$default : mixed = null

El valor por defecto que se retornará si no se encuentra ninguna constante (por defecto es null).

Return values
mixed

El valor de la constante encontrada, o el valor por defecto si no se encuentra ninguna.

date()

Formatea una fecha según el estilo de fecha definido en la clase.

public static date([string|null $date = null ]) : string

Esta función devuelve una fecha formateada de acuerdo con el formato de fecha predefinido (self::DATE_STYLE). Si no se proporciona una fecha, se utiliza la fecha y hora actual.

Parameters
$date : string|null = null

La fecha a formatear en formato de cadena (opcional). Si es null o está vacía, se usa la fecha actual.

Return values
string

La fecha formateada según el estilo definido.

dateOperation()

Realiza una operación sobre una fecha y devuelve el resultado formateado.

public static dateOperation(string $date, string $operation) : string

Esta función toma una fecha y una operación (como "+1 day", "-2 months", etc.), aplica la operación a la fecha dada, y devuelve la nueva fecha formateada según el estilo de fecha definido (self::DATE_STYLE).

Parameters
$date : string

La fecha inicial en formato de cadena.

$operation : string

La operación a realizar sobre la fecha (ej. "+1 day", "-2 weeks").

Return values
string

La fecha resultante después de aplicar la operación, formateada según el estilo definido.

dateTime()

Formatea una fecha y hora según el estilo de fecha y hora definido en la clase.

public static dateTime([string|null $date = null ]) : string

Esta función devuelve una fecha y hora formateada de acuerdo con el formato predefinido (self::DATETIME_STYLE). Si no se proporciona una fecha, se utiliza la fecha y hora actual.

Parameters
$date : string|null = null

La fecha y hora a formatear en formato de cadena (opcional). Si es null o está vacía, se usa la fecha y hora actual.

Return values
string

La fecha y hora formateadas según el estilo definido.

dateTimeOperation()

Realiza una operación sobre una fecha y hora, y devuelve el resultado formateado.

public static dateTimeOperation(string $date, string $operation) : string

Esta función toma una fecha y hora, y una operación (como "+1 hour", "-30 minutes", etc.), aplica la operación a la fecha y hora dadas, y devuelve la nueva fecha y hora formateadas según el estilo de fecha y hora definido (self::DATETIME_STYLE).

Parameters
$date : string

La fecha y hora inicial en formato de cadena.

$operation : string

La operación a realizar sobre la fecha y hora (ej. "+1 hour", "-30 minutes").

Return values
string

La fecha y hora resultantes después de aplicar la operación, formateadas según el estilo definido.

fixHtml()

Corrige el texto HTML reemplazando secuencias específicas de HTML por sus caracteres correspondientes.

public static fixHtml([string|null $text = null ]) : string|null

Reemplaza las secuencias HTML definidas en self::HTML_REPLACEMENTS('<', '>', '"', ''') con los caracteres correspondientes definidos en self::HTML_CHARS('<', '>', '"', "'").

Parameters
$text : string|null = null

El texto HTML a corregir. Puede ser nulo.

Return values
string|null

El texto corregido, o nulo si el texto de entrada es nulo.

folder()

Construye una ruta de carpeta a partir de los nombres de carpetas proporcionados.

public static folder(string ...$folders) : string
Parameters
$folders : string

Nombres de carpetas que se deben concatenar.

Return values
string

La ruta de la carpeta resultante.

folderCheckOrCreate()

Verifica si una carpeta existe y, si no existe, la crea.

public static folderCheckOrCreate(string $folder) : bool
Parameters
$folder : string

La ruta de la carpeta a verificar o crear.

Return values
bool

true si la carpeta existe o se creó exitosamente, false en caso contrario.

folderCopy()

Copia el contenido de una carpeta a otra, incluyendo subcarpetas y archivos.

public static folderCopy(string $src, string $dst) : bool
Parameters
$src : string

La ruta de la carpeta de origen que se debe copiar.

$dst : string

La ruta de la carpeta de destino donde se copiarán los archivos.

Return values
bool

true si la operación de copia se completó exitosamente.

folderDelete()

Elimina una carpeta y su contenido recursivamente.

public static folderDelete(string $folder) : bool
Parameters
$folder : string

La ruta de la carpeta o archivo que se debe eliminar.

Return values
bool

true si la carpeta o archivo fue eliminado exitosamente, false en caso contrario.

folderScan()

Escanea el contenido de una carpeta y opcionalmente sus subcarpetas, excluyendo archivos y carpetas especificados.

public static folderScan(string $folder[, bool $recursive = false ][, array<string|int, mixed> $exclude = ['.DS_Store', '.well-known'] ]) : array<string|int, mixed>
Parameters
$folder : string

La ruta de la carpeta que se debe escanear.

$recursive : bool = false

Indica si se debe realizar una búsqueda recursiva en las subcarpetas. Por defecto es false.

$exclude : array<string|int, mixed> = ['.DS_Store', '.well-known']

Lista de archivos y carpetas a excluir del resultado. Por defecto incluye .DS_Store y .well-known.

Return values
array<string|int, mixed>

Un array con los nombres de archivos y carpetas encontrados, incluyendo rutas relativas si se busca recursivamente.

folderSize()

Calcula el tamaño total de una carpeta y su contenido, excluyendo archivos y carpetas especificados.

public static folderSize(string $folder[, array<string|int, mixed> $exclude = ['.DS_Store', '.well-known'] ]) : int
Parameters
$folder : string

La ruta de la carpeta cuyo tamaño se desea calcular.

$exclude : array<string|int, mixed> = ['.DS_Store', '.well-known']

Lista de archivos y carpetas a excluir del cálculo. Por defecto, incluye .DS_Store y .well-known.

Return values
int

El tamaño total de la carpeta y su contenido en bytes.

hour()

Obtiene la hora actual o la hora de una fecha específica en formato determinado.

public static hour([string|null $date = null ]) : string
Parameters
$date : string|null = null

La fecha y hora a formatear. Si se proporciona, se usa para obtener la hora correspondiente. Si es nulo o vacío, se usa la hora actual.

Return values
string

La hora formateada en el formato especificado por self::HOUR_STYLE.

lang()

Crea una instancia de `Translator` para gestionar la traducción en el idioma especificado.

public static lang([string|null $lang = '' ]) : Translator
Parameters
$lang : string|null = ''

El código del idioma para la traducción. Si se proporciona, se usa para configurar el traductor. Si es nulo, se usa un valor predeterminado.

Return values
Translator

Una instancia de Translator configurada con el idioma especificado.

log()

Crea una instancia de `MiniLog` para registrar mensajes, con soporte para traducción.

public static log([string $channel = '' ]) : MiniLog
Parameters
$channel : string = ''

El nombre del canal de registro. Si se proporciona, se usa para identificar el canal de registro en MiniLog.

Return values
MiniLog

Una instancia de MiniLog configurada con el canal y el traductor.

money()

Formatea un número como una cadena de texto representando una cantidad de dinero con un símbolo de moneda.

public static money(float|null $number[, string $coddivisa = '' ][, int|null $decimals = null ]) : string
Parameters
$number : float|null

El número que se debe formatear. Si es nulo, se mostrará 0.

$coddivisa : string = ''

El código de la divisa para obtener el símbolo. Por defecto es una cadena vacía.

$decimals : int|null = null

El número de decimales a mostrar. Si es nulo, se usa el valor de configuración.

Return values
string

La cantidad de dinero formateada con el símbolo de la divisa.

noHtml()

Elimina los caracteres HTML de un texto reemplazándolos con sus correspondientes entidades HTML.

public static noHtml(string|null $text) : string|null

Reemplaza los caracteres HTML definidos en self::HTML_CHARS('<', '>', '"', "'") con sus correspondientes representaciones en self::HTML_REPLACEMENTS('<', '>', '"', ''').

Parameters
$text : string|null

El texto del que se deben eliminar los caracteres HTML. Puede ser nulo.

Return values
string|null

El texto con los caracteres HTML reemplazados, o null si el texto original era nulo.

number()

Formatea un número a una cadena con la configuración de decimales y separadores especificados.

public static number(float|null $number[, int|null $decimals = null ]) : string
Parameters
$number : float|null

El número que se debe formatear. Si es nulo, se usa 0.

$decimals : int|null = null

El número de decimales que se deben mostrar. Si es nulo, se usa el valor de configuración.

Return values
string

El número formateado como una cadena.

password()

Genera una cadena aleatoria para usar como contraseña.

public static password([int $length = 10 ]) : string

Esta función crea una contraseña de longitud especificada usando un conjunto de caracteres alfanuméricos y símbolos especiales.

Parameters
$length : int = 10

La longitud deseada para la contraseña. Por defecto es 10.

Return values
string

La contraseña generada.

randomString()

Genera una cadena de caracteres aleatorios de una longitud especificada.

public static randomString([int $length = 10 ]) : string

Esta función crea una cadena de caracteres aleatorios usando números y letras mayúsculas y minúsculas. La longitud de la cadena generada es determinada por el parámetro $length.

Parameters
$length : int = 10

La longitud deseada para la cadena aleatoria. Por defecto es 10.

Return values
string

La cadena aleatoria generada.

settings()

Obtiene el valor de una configuración específica de un grupo, con un valor predeterminado si no está definido.

public static settings(string $group, string $key[, mixed $default = null ]) : mixed
Parameters
$group : string

El nombre del grupo de configuración.

$key : string

La clave dentro del grupo de configuración.

$default : mixed = null

Valor predeterminado a devolver si la clave no está definida. Por defecto es null.

Return values
mixed

El valor de la clave en el grupo de configuración, o el valor predeterminado si la clave no está definida.

settingsClear()

Limpia la configuración almacenada y borra el caché de configuración.

public static settingsClear() : void
Return values
void

settingsSave()

Guarda la configuración actual en la base de datos.

public static settingsSave() : bool
Return values
bool

true si todos los grupos de configuración se guardan correctamente, false en caso contrario.

settingsSet()

Establece un valor en la configuración de un grupo específico.

public static settingsSet(string $group, string $key, mixed $value) : void
Parameters
$group : string

El nombre del grupo de configuración al que se debe asignar el valor.

$key : string

La clave dentro del grupo de configuración donde se debe asignar el valor.

$value : mixed

El valor que se debe asignar a la clave dentro del grupo.

Return values
void

siteUrl()

Obtiene la URL base del sitio web.

public static siteUrl() : string
Return values
string

La URL base del sitio web.

slug()

Convierte un texto en un slug amigable para URLs.

public static slug(string $text[, string $separator = '-' ], int $maxLength) : string
Parameters
$text : string

El texto que se debe convertir en slug.

$separator : string = '-'

El carácter que se usará para reemplazar los espacios y caracteres no alfanuméricos. Por defecto es '-'.

$maxLength : int

La longitud máxima del slug. Si es 0, no se aplica límite. Por defecto es 0.

Return values
string

El slug generado.

textBreak()

Corta un texto a una longitud específica y añade un marcador de truncamiento si es necesario.

public static textBreak(string|null $text[, int $length = 50 ][, string $break = '...' ]) : string
Parameters
$text : string|null

El texto que se debe truncar. Puede ser nulo.

$length : int = 50

La longitud máxima permitida para el texto truncado. Por defecto es 50.

$break : string = '...'

El marcador de truncamiento que se añadirá al final del texto truncado. Por defecto es '...'.

Return values
string

El texto truncado con el marcador de truncamiento añadido si es necesario.

timeToDate()

Convierte un timestamp Unix en una cadena de fecha.

public static timeToDate(int $time) : string

Esta función utiliza un formato de fecha definido en self::DATE_STYLE.

Parameters
$time : int

El timestamp Unix que se debe convertir.

Return values
string

La representación de la fecha en el formato especificado.

timeToDateTime()

Convierte un timestamp Unix en una cadena de fecha y hora.

public static timeToDateTime(int $time) : string

Esta función utiliza un formato de fecha y hora definido en self::DATETIME_STYLE.

Parameters
$time : int

El timestamp Unix que se debe convertir.

Return values
string

La representación de la fecha y hora en el formato especificado.

settingsLoad()

private static settingsLoad() : void
Return values
void

Search results