DetectBanLogController.php 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. namespace App\Controllers\Admin;
  3. use App\Controllers\AdminController;
  4. use App\Utils\DatatablesHelper;
  5. use Ozdemir\Datatables\Datatables;
  6. use Psr\Http\Message\ResponseInterface;
  7. class DetectBanLogController extends AdminController
  8. {
  9. /**
  10. * @param Request $request
  11. * @param Response $response
  12. * @param array $args
  13. */
  14. public function index($request, $response, $args): ResponseInterface
  15. {
  16. $table_config['total_column'] = array(
  17. "id" => "ID",
  18. "user_id" => "用户ID",
  19. "user_name" => "用户名",
  20. "email" => "用户邮箱",
  21. "detect_number" => "违规次数",
  22. "ban_time" => "封禁时长(分钟)",
  23. "start_time" => "统计开始时间",
  24. "end_time" => "统计结束以及封禁开始时间",
  25. "ban_end_time" => "封禁结束时间",
  26. "all_detect_number" => "累计违规次数"
  27. );
  28. $table_config['default_show_column'] = array();
  29. foreach ($table_config['total_column'] as $column => $value) {
  30. $table_config['default_show_column'][] = $column;
  31. }
  32. $table_config['ajax_url'] = 'ban/ajax';
  33. return $response->write(
  34. $this->view()
  35. ->assign('table_config', $table_config)
  36. ->display('admin/detect/ban.tpl')
  37. );
  38. }
  39. /**
  40. * @param Request $request
  41. * @param Response $response
  42. * @param array $args
  43. */
  44. public function ajax_log($request, $response, $args): ResponseInterface
  45. {
  46. $datatables = new Datatables(new DatatablesHelper());
  47. $datatables->query('Select detect_ban_log.id,detect_ban_log.user_id,detect_ban_log.user_name,detect_ban_log.email,detect_ban_log.detect_number,detect_ban_log.ban_time,detect_ban_log.start_time,detect_ban_log.end_time,detect_ban_log.all_detect_number,detect_ban_log.end_time as ban_end_time from detect_ban_log');
  48. $datatables->edit('start_time', function ($data) {
  49. return date('Y-m-d H:i:s', $data['start_time']);
  50. });
  51. $datatables->edit('end_time', function ($data) {
  52. return date('Y-m-d H:i:s', $data['end_time']);
  53. });
  54. $datatables->edit('ban_end_time', function ($data) {
  55. return date('Y-m-d H:i:s', $data['ban_end_time'] + $data['ban_time'] * 60);
  56. });
  57. return $response->write(
  58. $datatables->generate()
  59. );
  60. }
  61. }