userlogs.php 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. namespace WY\app\controller\derpay;
  3. use WY\app\libs\Controller;
  4. if (!defined('WY_ROOT')) {
  5. exit;
  6. }
  7. class userlogs extends CheckAdmin
  8. {
  9. public function index()
  10. {
  11. $data = array('title' => '用户登录日志');
  12. $uname = $this->req->get('uname');
  13. $ip = $this->req->get('ip');
  14. $fdate = $this->req->get('fdate');
  15. $tdate = $this->req->get('tdate');
  16. $fdate = isset($_GET['fdate']) ? $fdate : date('Y-m-d');
  17. $tdate = isset($_GET['tdate']) ? $tdate : date('Y-m-d');
  18. $cons = 'c.is_agent=?';
  19. $consArr = array(0);
  20. if ($uname) {
  21. $cons .= $cons ? ' AND ' : '';
  22. if (preg_match('/\\d{8}/', $uname)) {
  23. $user['id'] = $uname;
  24. } else {
  25. $user = $this->model()->select('id')->from('users')->where(array('fields' => 'username=?', 'values' => array($uname)))->fetchRow();
  26. }
  27. $cons .= 'a.userid = ?';
  28. $consArr[] = $user['id'];
  29. }
  30. if ($ip) {
  31. $cons .= $cons ? ' AND ' : '';
  32. $cons .= 'a.ip like ?';
  33. $consArr[] = '%' . $ip . '%';
  34. }
  35. if ($fdate) {
  36. $cons .= $cons ? ' AND ' : '';
  37. $cons .= 'a.addtime >= ?';
  38. $consArr[] = strtotime($fdate);
  39. }
  40. if ($tdate) {
  41. $cons .= $cons ? ' AND ' : '';
  42. $cons .= 'a.addtime <= ?';
  43. $consArr[] = strtotime($tdate . ' 23:59:59');
  44. }
  45. $page = $this->req->get('p');
  46. $page = $page ? $page : 1;
  47. $pagesize = 15;
  48. $lists = array();
  49. $logs = $this->model()->select()->from('userlogs a')->left('users c')->on('c.id=a.userid')->join()->where(array('fields' => $cons, 'values' => $consArr))->fetchAll();
  50. $totalsize = count($logs);
  51. if ($totalsize) {
  52. $totalpage = ceil($totalsize / $pagesize);
  53. $page = $page > $totalpage ? $totalpage : $page;
  54. $offset = ($page - 1) * $pagesize;
  55. $lists = $this->model()->select('a.*,c.username')->from('userlogs a')->limit($pagesize)->left('users c')->on('c.id=a.userid')->join()->offset($offset)->orderby('a.id desc')->where(array('fields' => $cons, 'values' => $consArr))->fetchAll();
  56. }
  57. $pagelist = $this->page->put(array('page' => $page, 'pagesize' => $pagesize, 'totalsize' => $totalsize, 'url' => '?uname=' . $uname . '&ip=' . $ip . '&fdate=' . $fdate . '&tdate=' . $tdate . '&p='));
  58. $data += array('lists' => $lists, 'pagelist' => $pagelist, 'search' => array('uname' => $uname, 'ip' => $ip, 'fdate' => $fdate, 'tdate' => $tdate));
  59. $this->put('userlogs.php', $data);
  60. }
  61. public function del()
  62. {
  63. $id = $this->req->get('id');
  64. if ($id) {
  65. if ($this->model()->from('userlogs')->where(array('fields' => 'id=?', 'values' => array($id)))->delete()) {
  66. echo json_encode(array('status' => 1));
  67. exit;
  68. }
  69. }
  70. echo json_encode(array('status' => 0));
  71. exit;
  72. }
  73. }