mirror of
https://github.com/Vateron-Media/XC_VM.git
synced 2026-10-07 20:02:40 +02:00
Namespace all of Domain into XcVm\Domain\<Subdir> (33 classes across Bouquet,
Device, Epg, Line, Security, Server, Stream, User, Vod).
- Add namespace to every Domain class; add use to referrers across src/ and
tests/; convert the leading-backslash refs qualified in earlier Core commits
(\UserRepository, \ServerRepository, \BouquetService, \CategoryService,
\ConnectionTracker, \BlocklistService, ...) to their FQCNs.
- Qualify still-global / built-in deps inside Domain with leading backslash
(\RedisManager, \TMDB, \WatchService, \FFprobeRunner, \ProcessChecker,
\Exception, \DateTime, \PDO, ...) — Infrastructure/Streaming/module classes
migrate later.
- BruteforceGuard: string guards class_exists('ServerRepository'/'BlocklistService')
→ ::class FQCN; drop the now-always-true method_exists check.
- phpstan-baseline.neon regenerated (292→291).
Verified: php -l clean; PHPStan no errors; PHPUnit 295/295; leading-backslash
re-sweep across Domain classes is clean.
34 lines
851 B
PHP
34 lines
851 B
PHP
<?php
|
|
|
|
use XcVm\Domain\Security\BlocklistService;
|
|
/**
|
|
* IspController — Blocked ISP's (admin/isps.php).
|
|
*
|
|
* Листинг заблокированных ISP с edit/delete.
|
|
*
|
|
* Legacy: admin/isps.php (264 строки)
|
|
* Route: GET /admin/isps → index()
|
|
*
|
|
* @renders Views/admin/isps.php
|
|
*
|
|
* @package XC_VM_Public_Controllers_Admin
|
|
* @author Divarion_D <https://github.com/Divarion-D>
|
|
* @copyright 2025-2026 Vateron Media
|
|
* @link https://github.com/Vateron-Media/XC_VM
|
|
* @license AGPL-3.0 https://www.gnu.org/licenses/agpl-3.0.html
|
|
*/
|
|
|
|
class IspController extends BaseAdminController {
|
|
public function index() {
|
|
$this->requirePermission();
|
|
|
|
$this->setTitle("Blocked ISP's");
|
|
|
|
$isps = BlocklistService::getAllISPs();
|
|
|
|
$this->render('isps', [
|
|
'isps' => $isps,
|
|
]);
|
|
}
|
|
}
|