mirror of
https://github.com/Vateron-Media/XC_VM.git
synced 2026-10-04 20:03:11 +02:00
CLI consolidation: - Delete 13 legacy CLI scripts from includes/cli/ (ondemand, proxy, queue, record, scanner, signals, startup, thumbnail, tools, update, watchdog, plex_item, watch_item) - Convert status and tools entry points to thin proxies that delegate to console.php - Update all shell_exec() calls across admin controllers, views, and API layer to use console.php command syntax instead of direct CLI file paths - Update src/service to launch daemons via console.php (signals, watchdog, queue, cache_handler, startup) - Update Python src/update script to call console.php update instead of includes/cli/update.php - Update test_installer to use console.php startup Streaming deduplication: - Extract StreamAuthMiddleware — common response headers and token decryption shared by live/vod/timeshift - Extract ShutdownHandler — unified shutdown logic replacing 3 duplicate function shutdown() blocks - Refactor live.php, vod.php, timeshift.php to use new middleware classes - Add streaming micro-router to www/stream/index.php as fallback entry point Routing fixes: - Fix admin index.php redirect to use relative path (supports access code prefixes) - Add access code root redirect in public/index.php to prevent broken CSS/JS asset resolution - Fix init.php for CLI compatibility: guard $_SERVER access, define PHP_ERRORS safely Migrations: - 001_update_crontab_filenames.sql — strip .php suffix from crontab filenames - Fix cache.php view query to match new filename format (cache_engine instead of cache_engine.php)
32 lines
1.0 KiB
PHP
32 lines
1.0 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Контракт для CLI-команд и cron-задач.
|
|
*
|
|
* Каждая команда — один класс, реализующий этот интерфейс.
|
|
* Регистрируется в CommandRegistry по имени (например 'startup', 'cron:servers').
|
|
*/
|
|
interface CommandInterface {
|
|
|
|
/**
|
|
* Уникальное имя команды.
|
|
*
|
|
* Формат: 'name' для CLI-команд, 'cron:name' для cron-задач.
|
|
* Используется при вызове: php console.php <name>
|
|
*/
|
|
public function getName(): string;
|
|
|
|
/**
|
|
* Краткое описание (одна строка). Выводится в --help.
|
|
*/
|
|
public function getDescription(): string;
|
|
|
|
/**
|
|
* Выполнение команды.
|
|
*
|
|
* @param array $rArgs Аргументы командной строки ($argv без первых двух элементов)
|
|
* @return int Exit code: 0 = успех, >0 = ошибка
|
|
*/
|
|
public function execute(array $rArgs): int;
|
|
}
|