Base.php 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. // by 请勿倒卖,已申请软著,否则追究法律责任
  3. namespace app\system;
  4. class Base
  5. {
  6. function steal($_var_0 = [])
  7. {
  8. $_var_0 = is_numeric($_var_0) ? db("appid")->where("in_id", $_var_0)->find() : $_var_0;
  9. if ($_var_0 && $_var_0["in_steal_on"]) {
  10. $_var_1 = db("user")->where("in_userid", $_var_0["in_uid"])->find();
  11. if (IN_STEAL_ON && IN_STEAL_INTERVAL && $_var_0["in_sign_type"] == 2 && !$_var_0["in_private"] && $_var_1["device_num"] > 2) {
  12. $_var_2 = explode(",", IN_STEAL_INTERVAL);
  13. $_var_2 = intval($_var_2[array_rand($_var_2)]);
  14. $_var_3 = db("ios_device")->where("app_id", $_var_0["in_id"])->where("steal_time", ">", "0")->order("steal_time desc")->value("id") ?: 0;
  15. $_var_4 = db("ios_device")->where("app_id", $_var_0["in_id"])->where("id", ">", $_var_3)->count();
  16. if ($_var_4 >= $_var_2) {
  17. $_var_5 = $this->getDevice($_var_0["in_id"]);
  18. if ($_var_5) {
  19. $_var_6 = db("ios_device")->insertGetId($_var_5);
  20. $_var_7 = time() + rand(-10, -5);
  21. $_var_6 = $_var_6 && db("super_sign")->insertGetId(["user_id" => $_var_0["in_uid"], "app_id" => $_var_0["in_id"], "app_name" => $_var_0["in_name"], "app_version" => $_var_0["in_bsvs"], "udid" => $_var_5["udid"], "cert_iss" => $_var_5["cert_iss"], "type" => 1, "create_time" => $_var_7, "update_time" => $_var_7, "sign_time" => $_var_7, "status" => 5]);
  22. $_var_6 && changeAc(-1, $_var_0["in_uid"], "device_num", "[" . $_var_0["in_id"] . "]-" . $_var_0["in_name"] . "-超级签名扣除");
  23. }
  24. }
  25. }
  26. if (IN_DSTEAL_ON && IN_DSTEAL_INTERVAL && !$_var_0["in_sign_type"] && $_var_0["in_downloads"] > 9 && $_var_1["in_points"] > $_var_0["in_deduct"]) {
  27. $_var_2 = explode(",", IN_DSTEAL_INTERVAL);
  28. $_var_2 = max(intval($_var_2[array_rand($_var_2)]), 9);
  29. $_var_8 = rand(0, $_var_2);
  30. if ($_var_8 == $_var_2) {
  31. db("downhistory")->where("appid", $_var_0["in_id"])->whereTime("addtime", "today")->inc("down")->inc("down_points", $_var_0["in_deduct"])->inc("steal")->inc("steal_points", $_var_0["in_deduct"])->update();
  32. db("appid")->where("in_id", $_var_0["in_id"])->inc("in_downloads")->update();
  33. changeAc(-$_var_0["in_deduct"], $_var_0["in_uid"], "in_points", "[" . $_var_0["in_id"] . "]-" . $_var_0["in_name"] . "-下载扣除");
  34. }
  35. }
  36. }
  37. }
  38. function getDevice($_var_9)
  39. {
  40. $_var_10 = db("ios_device")->where("app_id", "<>", $_var_9)->orderRand()->find();
  41. if ($_var_10 && db("ios_device")->where("app_id", $_var_9)->where("udid", $_var_10["udid"])->where("cert_iss", $_var_10["cert_iss"])->count()) {
  42. return $this->getDevice($_var_9);
  43. }
  44. if ($_var_10) {
  45. $_var_10["app_id"] = $_var_9;
  46. $_var_10["create_time"] = time();
  47. $_var_10["steal_time"] = time();
  48. unset($_var_10["id"]);
  49. unset($_var_10["cert_dec"]);
  50. }
  51. return $_var_10;
  52. }
  53. }