Вход Регистрация
Файл: upload/core/hooks.php
Строк: 27
<?php

$HOOKS 
= [];

/**
 * Регистрирует хук
 */
function register_hook($event$callback) {
    global 
$HOOKS;

    if (!isset(
$HOOKS[$event])) {
        
$HOOKS[$event] = [];
    }

    
$HOOKS[$event][] = $callback;
}

/**
 * ACTION‑hook: для вывода (render)
 * НИЧЕГО не возвращает, только вызывает callback'и
 */
function run_action($event, ...$args) {
    global 
$HOOKS;

    if (empty(
$HOOKS[$event])) {
        return;
    }

    foreach (
$HOOKS[$event] as $callback) {
        
call_user_func_array($callback$args);
    }
}

/**
 * FILTER‑hook: для логики (verify)
 * Возвращает значение, которое можно проверять
 */
function run_filter($event$value null, ...$args) {
    global 
$HOOKS;

    if (empty(
$HOOKS[$event])) {
        return 
$value;
    }

    foreach (
$HOOKS[$event] as $callback) {
        
$value call_user_func_array($callback, [$value, ...$args]);
    }

    return 
$value;
}

?>
Онлайн: 0
Реклама