|
| 1 | +<?php |
| 2 | +define('IN_ADMIN', true); |
| 3 | +include("../includes/common.php"); |
| 4 | +if ($admin_islogin == 1) { |
| 5 | +} else exit("<script language='javascript'>window.location.href='./login.php';</script>"); |
| 6 | +$act = isset($_GET['act']) ? daddslashes($_GET['act']) : null; |
| 7 | + |
| 8 | +if (!checkRefererHost()) exit('{"code":403}'); |
| 9 | + |
| 10 | +@header('Content-Type: application/json; charset=UTF-8'); |
| 11 | + |
| 12 | +switch ($act) { |
| 13 | + case 'stat': |
| 14 | + $thtime = date("Y-m-d") . ' 00:00:00'; |
| 15 | + $domain = $DB->count('domain', array('domain_status' => 1)); |
| 16 | + $domains = $DB->count('domain'); |
| 17 | + $orders = $DB->count('order'); |
| 18 | + $orders_today = $DB->count('order', "create_time>='$thtime'"); |
| 19 | + $costs = $DB->sum('order', 'order_costs'); |
| 20 | + |
| 21 | + $result = ["code" => 0, "domain" => $domain, "domains" => $domains, "orders" => $orders, "orders_today" => $orders_today, "costs" => $costs]; |
| 22 | + exit(json_encode($result)); |
| 23 | + break; |
| 24 | + case 'cleanlogin': |
| 25 | + $lastday = date("Y-m-d", strtotime("-1 day")) . ' 00:00:00'; |
| 26 | + $tokens = $DB->delete('order', "`create_time` < '$lastday'"); |
| 27 | + $DB->exec("OPTIMIZE TABLE `pre_order`"); |
| 28 | + exit('{"code":0,"msg":"删除成功!"}'); |
| 29 | + break; |
| 30 | + case 'set': |
| 31 | + // 修改配置 |
| 32 | + if (isset($_POST['green_label_porn'])) { |
| 33 | + $_POST['green_label_porn'] = implode(',', $_POST['green_label_porn']); |
| 34 | + } |
| 35 | + if (isset($_POST['green_label_terrorism'])) { |
| 36 | + $_POST['green_label_terrorism'] = implode(',', $_POST['green_label_terrorism']); |
| 37 | + } |
| 38 | + foreach ($_POST as $k => $v) { |
| 39 | + saveSetting($k, $v); |
| 40 | + } |
| 41 | + exit('{"code":0,"msg":"保存成功"}'); |
| 42 | + break; |
| 43 | + case 'password': |
| 44 | + // 修改密码 |
| 45 | + $admin_user = isset($_POST['admin_user']) ? trim($_POST['admin_user']) : ''; |
| 46 | + $admin_pwd = isset($_POST['admin_pwd']) ? trim($_POST['admin_pwd']) : ''; |
| 47 | + $newpwd = isset($_POST['newpwd']) ? trim($_POST['newpwd']) : ''; |
| 48 | + $newpwd2 = isset($_POST['newpwd2']) ? trim($_POST['newpwd2']) : ''; |
| 49 | + |
| 50 | + if (empty($admin_user)) exit('{"code":-1,"msg":"用户名不能为空"}'); |
| 51 | + if (empty($admin_pwd)) exit('{"code":-1,"msg":"旧密码不能为空"}'); |
| 52 | + |
| 53 | + if ($conf['admin_pwd'] != $admin_pwd) exit('{"code":-1,"msg":"旧密码不正确"}'); |
| 54 | + // 修改用户名 |
| 55 | + saveSetting('admin_user', $admin_user); |
| 56 | + |
| 57 | + if (!empty($newpwd) && !empty($newpwd2)) { |
| 58 | + // 修改密码 |
| 59 | + if ($newpwd != $newpwd2) exit('{"code":-1,"msg":"两次新密码输入不一致"}'); |
| 60 | + saveSetting('admin_pwd', $newpwd2); |
| 61 | + $session = md5($admin_user . $newpwd2 . $password_hash); |
| 62 | + } else { |
| 63 | + $session = md5($admin_user . $admin_pwd . $password_hash); |
| 64 | + } |
| 65 | + $expiretime = time() + 2592000; |
| 66 | + $token = authcode("{$admin_user}\t{$session}\t{$expiretime}", 'ENCODE', SYS_KEY); |
| 67 | + ob_clean(); |
| 68 | + setcookie("admin_token", $token, time() + 2592000); |
| 69 | + exit('{"code":0,"msg":"保存成功"}'); |
| 70 | + break; |
| 71 | + case 'iptype': |
| 72 | + $result = [ |
| 73 | + ['name' => '0_X_FORWARDED_FOR', 'ip' => real_ip(0), 'city' => get_ip_city(real_ip(0))], |
| 74 | + ['name' => '1_X_REAL_IP', 'ip' => real_ip(1), 'city' => get_ip_city(real_ip(1))], |
| 75 | + ['name' => '2_REMOTE_ADDR', 'ip' => real_ip(2), 'city' => get_ip_city(real_ip(2))] |
| 76 | + ]; |
| 77 | + exit(json_encode($result)); |
| 78 | + break; |
| 79 | + case 'userList': |
| 80 | + $sql = " 1=1"; |
| 81 | + $type_arr = ['qq' => 'QQ', 'wx' => '微信']; |
| 82 | + if (isset($_POST['dstatus']) && $_POST['dstatus'] > -1) { |
| 83 | + $dstatus = intval($_POST['dstatus']); |
| 84 | + $sql .= " AND `enable`={$dstatus}"; |
| 85 | + } |
| 86 | + if (isset($_POST['kw']) && !empty($_POST['kw'])) { |
| 87 | + $type = intval($_POST['type']); |
| 88 | + $kw = trim(daddslashes($_POST['kw'])); |
| 89 | + if ($type == 1) { |
| 90 | + $sql .= " AND `uid`='{$kw}'"; |
| 91 | + } elseif ($type == 2) { |
| 92 | + $sql .= " AND `openid`='{$kw}'"; |
| 93 | + } elseif ($type == 3) { |
| 94 | + $sql .= " AND `nickname` LIKE '%{$kw}%'"; |
| 95 | + } elseif ($type == 4) { |
| 96 | + $sql .= " AND `loginip`='{$kw}'"; |
| 97 | + } |
| 98 | + } |
| 99 | + $offset = intval($_POST['offset']); |
| 100 | + $limit = intval($_POST['limit']); |
| 101 | + $total = $DB->getColumn("SELECT count(*) from pre_user WHERE{$sql}"); |
| 102 | + $list = $DB->getAll("SELECT * FROM pre_user WHERE{$sql} order by uid desc limit $offset,$limit"); |
| 103 | + $list2 = []; |
| 104 | + foreach ($list as $row) { |
| 105 | + $row['type'] = $type_arr[$row['type']]; |
| 106 | + $list2[] = $row; |
| 107 | + } |
| 108 | + |
| 109 | + exit(json_encode(['total' => $total, 'rows' => $list2])); |
| 110 | + break; |
| 111 | + case 'setUserEnable': |
| 112 | + $uid = intval($_POST['uid']); |
| 113 | + $enable = intval($_POST['enable']); |
| 114 | + $sql = "UPDATE pre_user SET enable='$enable' WHERE uid='$uid'"; |
| 115 | + if ($DB->exec($sql) !== false) exit('{"code":0,"msg":"修改用户成功!"}'); |
| 116 | + else exit('{"code":-1,"msg":"修改用户失败[' . $DB->error() . ']"}'); |
| 117 | + break; |
| 118 | + case 'saveUserInfo': |
| 119 | + $uid = intval($_POST['uid']); |
| 120 | + $level = intval($_POST['level']); |
| 121 | + $sql = "UPDATE pre_user SET level='$level' WHERE uid='$uid'"; |
| 122 | + if ($DB->exec($sql) !== false) exit('{"code":0,"msg":"修改用户成功!"}'); |
| 123 | + else exit('{"code":-1,"msg":"修改用户失败[' . $DB->error() . ']"}'); |
| 124 | + break; |
| 125 | + case 'delUser': |
| 126 | + $uid = intval($_POST['uid']); |
| 127 | + $row = $DB->getRow("select * from pre_user where uid='$uid' limit 1"); |
| 128 | + if (!$row) |
| 129 | + exit('{"code":-1,"msg":"当前用户不存在!"}'); |
| 130 | + $sql = "DELETE FROM pre_user WHERE uid='$uid'"; |
| 131 | + if ($DB->exec($sql)) exit('{"code":0,"msg":"删除文件成功!"}'); |
| 132 | + else exit('{"code":-1,"msg":"删除文件失败[' . $DB->error() . ']"}'); |
| 133 | + break; |
| 134 | + case 'logout': |
| 135 | + setcookie("admin_token", "", time() - 2592000); |
| 136 | + exit('{"code":0,"msg":"您已成功注销本次登陆!"}'); |
| 137 | + default: |
| 138 | + exit('{"code":-4,"msg":"No Act"}'); |
| 139 | + break; |
| 140 | +} |
0 commit comments