123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- <?php
- // by 请勿倒卖,已申请软著,否则追究法律责任
- namespace app\index;
- use PclZip;
- class ajax_sign extends Base
- {
- function initialize()
- {
- parent::initialize();
- $this->ajax_header();
- }
- function download()
- {
- $_var_0 = intval(SafeRequest("aid", "get"));
- $_var_1 = db("appid")->where("in_id", $_var_0)->find();
- $_var_1 or reJSON("-2");
- $_var_1["in_uid"] == $this->userid or reJSON("-3");
- $_var_2 = db("signlog")->where("in_status", "5")->where("in_aid", $_var_0)->value("in_id");
- $_var_2 or reJSON("-4");
- IN_DENIED or reJSON(["url" => getapp($_var_1["in_id"], 1)]);
- $_var_3 = md5($_var_0 . "|" . time() . "|" . rand(2, pow(2, 24)));
- db("salt")->insert(["in_aid" => $_var_0, "in_salt" => $_var_3, "in_time" => time()]);
- reJSON(["url" => "/upload/install/proxy/" . $_var_3 . ".ipa"]);
- }
- function listen()
- {
- $_var_4 = intval(SafeRequest("aid", "get"));
- $_var_5 = db("signlog")->field("in_status,in_percent")->where("in_aid", $_var_4)->order("in_id desc")->find();
- reJSON($_var_5, $_var_5 ? $_var_5["in_status"] : 0);
- }
- function purchase()
- {
- $_var_6 = intval(SafeRequest("aid", "get"));
- $_var_7 = SafeRequest("key", "get");
- $_var_8 = db("appid")->where("in_id", $_var_6)->find();
- $_var_8 or reJSON("-2");
- $_var_7 = db("key")->where("in_state", "0")->where("in_code", $_var_7)->find();
- $_var_7 or reJSON("-3");
- $_var_9 = $_var_7["in_tid"];
- db("key")->where(array("in_code" => $_var_7))->update(array("in_state" => 1));
- $_var_10 = $_var_9 > 1 ? $_var_9 > 2 ? 32140800 : 8035200 : 2678400;
- $_var_11 = $_var_8["in_sign"] ? $_var_8["in_sign"] + $_var_10 : time() + $_var_10;
- $_var_12 = db("appid")->where("in_id", $_var_6)->inc("in_resign", IN_RESIGN)->update(["in_sign" => $_var_11, "in_package" => "[" . $_var_7["type"] . "]" . ["", "包月", "包季", "包年"][$_var_9], "in_cert_type" => $_var_7["type"]]);
- reJSON($_var_12 ?: -1);
- }
- function reset()
- {
- return $this->sign();
- $_var_13 = intval(SafeRequest("aid", "get"));
- $_var_14 = db("appid")->where("in_id", $_var_13)->find();
- $_var_14 or reJSON("-2");
- $_var_14["in_uid"] == $this->userid or reJSON("-3");
- db("signlog")->where(array("in_aid" => $_var_13))->update(array("in_status" => 0));
- reJSON("1");
- }
- function sign()
- {
- $_var_15 = intval(SafeRequest("aid", "get"));
- $_var_16 = db("appid")->where("in_id", $_var_15)->find();
- $_var_16 or reJSON("-2");
- app_file_exists($_var_16) or reJSON("-22");
- $_var_16["in_uid"] == $this->userid or reJSON("-3");
- $_var_16["in_form"] == "iOS" or reJSON("-4");
- $_var_16["in_sign"] > 0 or reJSON("-5");
- $_var_16["in_resign"] > 0 or reJSON("-6");
- $_var_17 = db("signlog")->where("in_aid", $_var_15)->value("in_status");
- $_var_17 and $_var_17 == 1 and reJSON("-7");
- empty($_GET["check"]) or reJSON("1");
- $_var_18 = db("cert")->where("type", $_var_16["in_cert_type"])->where("status", "1")->value("in_name");
- $_var_18 or reJSON("-7");
- $_var_19 = array("in_aid" => $_var_16["in_id"], "in_aname" => $_var_16["in_name"], "in_uid" => $this->userid, "in_uname" => $this->user["in_username"], "in_ipa" => $_var_16["in_app"], "in_status" => 1, "in_percent" => 0, "in_cert" => $_var_18, "in_addtime" => date("Y-m-d H:i:s"));
- if (db("sign")->where("in_aid", $_var_15)->count()) {
- $_var_20 = db("sign")->where("in_aid", $_var_15)->strict(false)->update($_var_19);
- } else {
- $_var_20 = db("sign")->strict(false)->insert($_var_19);
- }
- $_var_20 = db("signlog")->strict(false)->insertGetId($_var_19);
- reJSON($_var_20 ? ["id" => $_var_20] : $_var_20);
- }
- function saveStatus()
- {
- $_var_21 = SafeRequest("aid", "get");
- $_var_22 = SafeRequest("in_status", "get");
- $_var_23 = db("sign")->where("in_aid", $_var_21)->update(["in_status" => $_var_22]);
- if ($_var_23) {
- if ($_var_22 == 5) {
- db("appid")->where("in_id", $_var_21)->dec("in_resign")->update();
- }
- $_var_24 = db("signlog")->where("in_aid", $_var_21)->order("in_id desc")->value("in_id");
- db("signlog")->where("in_id", $_var_24)->update(["in_status" => $_var_22]);
- }
- reJSON($_var_23);
- }
- }
|