Files
XC_VM/src/Public/Controllers/Admin/IspController.php
T
Divarion-D 42d9ca8ea0 chore(psr4): phase 3 — namespace Domain layer
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.
2026-06-25 18:39:28 +03:00

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,
]);
}
}