record.php 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. <?php
  2. //decode by http://dezend.qiling.org QQ 2859470
  3. define('CURSCRIPT', 'record');
  4. require_once dirname(__FILE__) . '/global.php';
  5. require_once MYMPS_INC . '/db.class.php';
  6. require_once MYMPS_DATA . '/config.inc.php';
  7. !in_array($do, array('member', 'admin')) && ($do = 'admin');
  8. !in_array($part, array('login', 'money', 'action')) && ($part = 'login');
  9. if ($result == 'false') {
  10. $_result = 0;
  11. } else {
  12. if ($result == 'true') {
  13. $_result = 1;
  14. } else {
  15. $_result = '';
  16. }
  17. }
  18. if ($action == 'delrecord') {
  19. $total_count = mymps_count($do . '_record_' . $part);
  20. if ($total_count < $mymps_mymps['cfg_record_save']) {
  21. write_msg('操作失败!相关记录不满 ' . $mymps_mymps['cfg_record_save'] . ' 条!');
  22. }
  23. $delrecord = $db->getAll('SELECT id FROM `' . $db_mymps . $do . '_record_' . $part . '` ORDER BY ID DESC LIMIT 1,' . $mymps_mymps['cfg_record_save']);
  24. foreach ($delrecord as $k => $value) {
  25. $id .= $value[id] . ',';
  26. }
  27. $id = substr($id, 0, -1);
  28. mymps_delete($do . '_record_' . $part, 'WHERE id NOT IN (' . $id . ')');
  29. write_msg('成功删除操作记录!', $url, 'MyMPS');
  30. exit;
  31. } else {
  32. if ($action == 'doexcel') {
  33. $data[] = array('用户名', 'IP', '端口', '地理位置', '浏览器', '操作系统', '上线时间', '下线时间');
  34. $query = $db->query('SELECT * FROM `' . $db_mymps . 'member_record_login` ORDER BY pubdate DESC');
  35. while ($row = $db->fetchRow($query)) {
  36. $data[$row['id']][] = $row['userid'];
  37. $data[$row['id']][] = $row['ip'];
  38. $data[$row['id']][] = $row['port'];
  39. $data[$row['id']][] = $row['ip2area'];
  40. $data[$row['id']][] = $row['browser'];
  41. $data[$row['id']][] = $row['os'];
  42. $data[$row['id']][] = GetTime($row['pubdate']);
  43. $data[$row['id']][] = GetTime($row['outdate'] ? $row['outdate'] : $row['pubdate'] + 3627);
  44. }
  45. require MYMPS_INC . '/php-excel.class.php';
  46. $xls = new Excel_XML('gb2312', false, 'MemberRecordSheet');
  47. $xls->addArray($data);
  48. $xls->generateXML(date('Y-m-d-His', $timestamp));
  49. unset($xls);
  50. exit;
  51. } else {
  52. if ($action == 'savemonth') {
  53. $monthdate = strtotime('-2 month');
  54. $db->query('DELETE FROM `' . $db_mymps . 'member_record_login` WHERE pubdate < \'' . $monthdate . '\'');
  55. write_msg('已成功删除两个月前的登录记录!', 'record.php?do=member&part=login', 'Mymps');
  56. exit;
  57. }
  58. }
  59. }
  60. switch ($do) {
  61. case 'admin':
  62. if ($part == 'login') {
  63. chk_admin_purview('purview_管理记录');
  64. $here = '管理员后台管理登陆记录';
  65. $where = 'WHERE result like \'%' . $_result . '%\' AND (id like \'%' . $keywords . '%\' OR adminid like \'%' . $keywords . '%\' OR adminpwd like \'%' . $keywords . '%\' OR pubdate like \'%' . $keywords . '%\' OR ip like \'%' . $keywords . '%\')';
  66. $sql = 'SELECT * FROM ' . $db_mymps . 'admin_record_login ' . $where . ' ORDER BY id desc';
  67. $rows_num = $db->getOne('SELECT COUNT(*) FROM `' . $db_mymps . 'admin_record_login` ' . $where);
  68. $param = setParam(array('do', 'part', 'result', 'keywords'));
  69. $record = array();
  70. foreach (page1($sql) as $k => $row) {
  71. $arr['id'] = $row['id'];
  72. $arr['adminid'] = $row['adminid'];
  73. $arr['adminpwd'] = $row['adminpwd'];
  74. $arr['pubdate'] = GetTime($row['pubdate']);
  75. $arr['ip'] = $row['ip'];
  76. $arr['result'] = $row['result'];
  77. $record[] = $arr;
  78. }
  79. include mymps_tpl('record_login');
  80. } else {
  81. if ($part == 'action') {
  82. chk_admin_purview('purview_管理记录');
  83. $here = '管理员后台管理操作记录';
  84. $where = 'WHERE a.id like \'%' . $keywords . '%\' OR a.adminid like \'%' . $keywords . '%\' OR a.action like \'%' . $keywords . '%\' OR a.pubdate like \'%' . $keywords . '%\' OR a.ip like \'%' . $keywords . '%\' ORDER BY a.id desc';
  85. $sql = 'SELECT a.id,a.adminid,a.action,a.pubdate,a.ip,b.typeid,c.typename FROM ' . $db_mymps . 'admin_record_action AS a LEFT JOIN ' . $db_mymps . 'admin AS b ON a.adminid = b.userid LEFT JOIN ' . $db_mymps . 'admin_type AS c ON b.typeid = c.id ' . $where;
  86. $rows_num = $db->getOne('SELECT COUNT(*) FROM `' . $db_mymps . 'admin_record_action` AS a ' . $where . ' ');
  87. $param = setParam(array('do', 'part', 'result', 'keywords'));
  88. $record = array();
  89. foreach (page1($sql) as $k => $row) {
  90. $arr['id'] = $row['id'];
  91. $arr['adminid'] = $row['adminid'];
  92. $arr['typename'] = $row['typename'];
  93. $arr['action'] = $row['action'];
  94. $arr['pubdate'] = GetTime($row['pubdate']);
  95. $arr['ip'] = $row['ip'];
  96. $record[] = $arr;
  97. }
  98. include mymps_tpl('record_action');
  99. }
  100. }
  101. break;
  102. case 'member':
  103. if ($part == 'login') {
  104. chk_admin_purview('purview_会员登录记录');
  105. if (trim($action) == 'delall') {
  106. write_msg('删除普通会员操作日志 ' . mymps_del_all('member_record_' . $part, $id) . ' 成功', $url, 'mymps');
  107. }
  108. $here = '普通会员登陆记录';
  109. $where = ' WHERE userid like \'%' . $keywords . '%\' ';
  110. $sql = 'SELECT * FROM ' . $db_mymps . 'member_record_login ' . $where . ' ORDER BY id DESC';
  111. $rows_num = mymps_count('member_record_login', $where);
  112. $param = setParam(array('do', 'part'));
  113. $record = array();
  114. foreach (page1($sql) as $k => $row) {
  115. $arr['id'] = $row['id'];
  116. $arr['userid'] = $row['userid'];
  117. $arr['userpwd'] = $row['userpwd'];
  118. $arr['pubdate'] = GetTime($row['pubdate']);
  119. $arr['outdate'] = GetTime($row['outdate'] ? $row['outdate'] : $row['pubdate'] + 3627);
  120. $arr['ip'] = $row['ip'];
  121. $arr['ip2area'] = $row['ip2area'];
  122. $arr['browser'] = $row['browser'];
  123. $arr['port'] = $row['port'];
  124. $arr['os'] = $row['os'];
  125. $arr['result'] = $row['result'];
  126. $record[] = $arr;
  127. }
  128. include mymps_tpl('record_login_member');
  129. } else {
  130. if ($part == 'money') {
  131. chk_admin_purview('purview_会员消费记录');
  132. $here = '会员消费记录';
  133. if (trim($action) == 'delall') {
  134. write_msg('删除 <b>' . $here . '</b> ' . mymps_del_all('member_record_use', $id) . ' 成功', $url, 'mymps');
  135. exit;
  136. }
  137. $sql = 'SELECT * FROM `' . $db_mymps . 'member_record_use` ORDER BY pubtime DESC';
  138. $rows_num = mymps_count('member_record_use', $where);
  139. $param = setParam(array('do', 'part'));
  140. $get = array();
  141. foreach (page1($sql) as $k => $row) {
  142. $arr['id'] = $row['id'];
  143. $arr['userid'] = $row['userid'];
  144. $arr['subject'] = $row['subject'];
  145. $arr['paycost'] = $row['paycost'];
  146. $arr['pubtime'] = GetTime($row['pubtime']);
  147. $get[] = $arr;
  148. }
  149. include mymps_tpl('record_bank');
  150. }
  151. }
  152. break;
  153. }
  154. is_object($db) && $db->Close();
  155. $mymps_global = $db = $db_mymps = $part = NULL;