Commit Graph
14 Commits
Author SHA1 Message Date
Divarion-D f1a5909124 chore: misc fixes — m3u improvements, review page update, cleanup add_headers
- m3u.php: minor output improvements
- review.php: admin view updates
- Remove obsolete tools/add_headers.php
- test_release.sh: extend sync logic
2026-04-06 18:44:05 +03:00
Divarion-D 453e233352 fix(cron): fix post-install errors in cron jobs and watchdog
- Encryption::generateUniqueCode(): null-coalesce $pass to prevent
  md5(null) deprecation when live_streaming_pass is not yet set
- CacheCronJob: mkdir() with 0755 perms, recursive flag, and
  chown to xc_vm user — fixes Permission denied on tmp/cache/*
- WatchdogCommand: null-safe decode of watchdog_data — fixes
  array offset on null when server has no watchdog history
- ConnectionTracker: guard file_put_contents with is_dir() check
  to prevent writes when CACHE_TMP_PATH does not exist yet
- Dockerfile: install cron package and enable cron.service for
  systemd-based test container
2026-04-06 16:19:09 +03:00
Divarion-D 738973c5db docs(php): add standardized file headers across codebase
- Add @author, @copyright, @link, @version, @license to 399 PHP files
- MERGE mode: inject metadata into 243 existing docblocks (preserving docs)
- INSERT mode: create new docblocks for 156 files without headers
- Skip 3 files that already had correct headers
- Exclude third-party libs (TMDb, mobiledetect, Dropbox, etc.)
- Exclude bin/, ministra/, content/, tmp/, resources/, module views
- Update tools/add_headers.php to v2 with MERGE strategy
2026-04-05 22:38:36 +03:00
Divarion-D 8c552fc1ba feat(tools): add Redis config update script for existing installations 2026-04-05 22:09:22 +03:00
Divarion-D ae67de906e chore: remove build_ffmpeg.sh (moved to XC_VM_Binaries)
Script relocated to https://github.com/Vateron-Media/XC_VM_Binaries
2026-03-18 20:33:25 +03:00
Divarion-D a113fb3ec9 refactor: remove legacy proxy files, migrate all callers to console.php
- Delete src/status, src/tools, src/crons/epg.php (logic already in CLI commands)
- Update BalancerCommand: fix remote file_exists to SSH test -f, fix stripos check
- Update StartupCommand, UpdateCommand: use PHP_BIN + console.php
- Update dashboard.php: replace hardcoded sudo php with PHP_BIN
- Update install/test_installer: sentinel console.php, exec paths
- Update Makefile: remove status/tools from LB_ROOT_FILES and set_permissions
- Update docs: migration_guide, update-system (EN/RU)
- Update test-install: README.md, auto_install.sh
2026-03-18 20:32:51 +03:00
Divarion-D 11b62357f8 feat(tools): add FFmpeg auto-builder script for Docker-based builds
Full-featured build script for FFmpeg 4.0/4.3/4.4/5.1/7.1/8.0/8.1:
- Static libs + dynamic glibc (no segfault on Ubuntu 22.04+)
- NVIDIA NVENC/CUVID/NVDEC with --force-gpu for Docker
- AV1 (aom + dav1d + svtav1 + rav1e), DRM/VAAPI, Vulkan/libplacebo
- Conditional optional features via pkg-config detection
- APT and DNF/YUM dependency installation with alternative package names
- Verbose/quiet mode, BUILD_INFO metadata, build summary
- 8 target distros: debian 11/12/13, ubuntu 18/20/22/24, rocky 9
2026-03-17 20:46:31 +03:00
Divarion-D 17b6842562 chore: add Docker test container for release verification
- Dockerfile: Ubuntu 22.04 + systemd for testing installer end-to-end
- docker-compose.yml: build config for image
- test_release.sh: orchestration script (build/run/install/clean/logs)
- auto_install.sh: feeds answers to interactive installer prompts
- README.md: usage documentation

Container runs privileged with --cgroupns=host for systemd support.
Mounts dist/XC_VM.zip read-only, runs full install + post-verification.
2026-03-15 16:07:55 +03:00
Divarion-D 518993bb66 ci: extract PHP syntax check into reusable script
- Add tools/php_syntax_check.sh (supports full scan + single-file mode)
- CI workflow now calls the shared script
- All 6 agents updated to reference the script
- CONTRIBUTING.md: add Pre-Commit Checks section
- Exclude src/bin/* (third-party stubs) from lint
2026-03-15 13:49:18 +03:00
Divarion-D 77ee92bc79 Phase 11: Unify API layer — route all API endpoints through Front Controller
Steps 11.1–11.6: migrated all standalone API entry points to controller classes
dispatched via the Front Controller, then deleted the legacy PHP files.

Controllers created:
- PlayerApiController (player_api.php, 12 actions + numeric aliases)
- Enigma2ApiController (enigma2.php + xplugin.php)
- PlaylistApiController (playlist.php)
- EpgApiController (epg.php)
- InternalApiController (api.php, ~40 server-to-server actions)

Nginx changes (MAIN + LB configs):
- Add location block for streaming API endpoints → FC with XC_SCOPE=api
- Add location block for internal API (/api.php) → FC with XC_API=internal
- Change 6 rewrite rules from break→last for deleted file URLs
- Remove allow/deny from /api.php location — auth handled by PHP
  (password + IP whitelist + brute-force guard)

Front Controller (public/index.php):
- Add section 3a: REST API dispatch (XC_SCOPE=includes/api/*)
- Add section 3b: Streaming API dispatch (XC_SCOPE=api, XC_API=*)
- Move autoloader require to top (section 1b) for all code paths
- Controller map: endpoint name → controller class → init → dispatch

Bootstrap changes:
- www/init.php, www/stream/init.php: replace FC_API_NAME constant with
  direct $rFilename variable (set by FC before require, checked via isset)

Bug fixes:
- PlayerApiController: fix 3 PHP 8 warnings ($rBouquets undefined,
  missing 'rating'/'subtitle' array keys in get_vod_info)
- Fix server-to-server API calls blocked by nginx deny all (api_url_ip
  uses external server IP, not 127.0.0.1)

Deleted files (8):
- www/player_api.php, www/enigma2.php, www/xplugin.php
- www/epg.php, www/playlist.php, www/api.php
- includes/api/admin/index.php, includes/api/reseller/index.php

New files:
- tools/test_player_api.sh — comprehensive Player API test suite (13 sections)
2026-03-12 21:26:20 +03:00
Divarion-D dd1dcefd15 Refactor global variable usage and clean up code
- Updated multiple files to use global variables for `$db` and `$rSettings` instead of calling `SettingsManager::getAll()` repeatedly.
- Removed unnecessary variable assignments and improved code readability.
- Deleted unused scripts for cleaning and scanning PHP file headers.
- Removed a file containing PHP syntax errors.
- Adjusted various repository and service classes to streamline database interactions.
2026-03-08 16:19:30 +03:00
Divarion-D 3d8abedafd Stage 8 has been completed 2026-03-07 21:53:45 +03:00
Divarion-D a4c33e0f3e Added xdebug installer 2026-01-19 18:18:29 +03:00
Divarion-D 279a10b4c5 Update Top Contributors 2025-12-03 21:50:32 +03:00