DetectLogController.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Controllers\User;
  4. use App\Controllers\BaseController;
  5. use App\Models\Config;
  6. use App\Models\DetectLog;
  7. use App\Utils\Tools;
  8. use Exception;
  9. use Psr\Http\Message\ResponseInterface;
  10. use Slim\Http\Response;
  11. use Slim\Http\ServerRequest;
  12. final class DetectLogController extends BaseController
  13. {
  14. /**
  15. * 审计碰撞记录
  16. *
  17. * @throws Exception
  18. */
  19. public function index(ServerRequest $request, Response $response, array $args): ResponseInterface
  20. {
  21. if (! Config::obtain('display_detect_log')) {
  22. return $response->withRedirect('/user');
  23. }
  24. $logs = (new DetectLog())->orderBy('id', 'desc')->where('user_id', $this->user->id)->get();
  25. foreach ($logs as $log) {
  26. $log->node_name = $log->nodeName();
  27. $log->rule = $log->rule();
  28. $log->rule->type = $log->rule()->type();
  29. $log->datetime = Tools::toDateTime($log->datetime);
  30. }
  31. return $response->write($this->view()
  32. ->assign('logs', $logs)
  33. ->fetch('user/detect/log.tpl'));
  34. }
  35. }