index.php 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294
  1. <?php
  2. namespace app\upload;
  3. use app\index\Base;
  4. class index extends Base
  5. {
  6. function index()
  7. {
  8. $this->userlogined || exit("-1");
  9. $_var_0 = SafeRequest("name", "post");
  10. $_var_1 = SafeRequest("chunk", "post");
  11. $_var_2 = SafeRequest("chunks", "post");
  12. if (!empty($_FILES)) {
  13. $_var_3 = pathinfo($_var_0 ?: $_FILES["file"]["name"]);
  14. if (in_array(strtolower($_var_3["extension"]), array("apk", "ipa", "mobileconfig"))) {
  15. creatdir(IN_TMP_PATH);
  16. $_var_0 = $_var_0 ?: md5($this->userid . "-" . time() . $_var_3["extension"]) . "." . $_var_3["extension"];
  17. $_var_4 = IN_TMP_PATH . $_var_0;
  18. if ($_var_2) {
  19. if ($_var_1 != $_var_2) {
  20. $_var_5 = file_get_contents($_FILES["file"]["tmp_name"]);
  21. file_put_contents($_var_4, $_var_5, FILE_APPEND);
  22. }
  23. if ($_var_1 == 0) {
  24. file_put_contents("/tmp/" . $_var_0 . ".json", "[\n" . json_encode($_FILES["file"]), FILE_APPEND);
  25. } else {
  26. file_put_contents("/tmp/" . $_var_0 . ".json", ",\n" . json_encode($_FILES["file"]), FILE_APPEND);
  27. if ($_var_1 + 1 == $_var_2) {
  28. file_put_contents("/tmp/" . $_var_0 . ".json", "\n]", FILE_APPEND);
  29. $_var_6 = file_get_contents("/tmp/" . $_var_0 . ".json");
  30. $_var_6 = json_decode($_var_6, true);
  31. foreach ($_var_6 as $_var_7) {
  32. @unlink($_var_7["tmp_name"]);
  33. }
  34. }
  35. }
  36. } else {
  37. @move_uploaded_file($_FILES["file"]["tmp_name"], $_var_4);
  38. }
  39. exit("{\"key\":\"" . $_var_0 . "\"}");
  40. }
  41. }
  42. exit("{\"key\":\"\"}");
  43. }
  44. function avatar()
  45. {
  46. if (!empty($_FILES)) {
  47. $_var_8 = pathinfo($_FILES["avatar"]["name"]);
  48. if (in_array(strtolower($_var_8["extension"]), array("jpg", "jpeg", "gif", "png"))) {
  49. $_var_9 = $_POST["type"];
  50. $_var_10 = SafeSql($_POST["upw"]);
  51. $_var_11 = intval($_POST["uid"]);
  52. if (!db("user")->where("in_userid", $_var_11)->where("in_userpassword", $_var_10)->count()) {
  53. exit("-2");
  54. }
  55. if ($_var_9 == "avatar") {
  56. $_var_12 = IN_ATTACHMENT_PATH . "avatar/" . $_var_11;
  57. @move_uploaded_file($_FILES["avatar"]["tmp_name"], $_var_12 . ".jpg");
  58. } else {
  59. if (in_array($_var_9, array("prev", "after", "hand"))) {
  60. $_var_13 = IN_TMP_PATH;
  61. if (!is_dir($_var_13)) {
  62. @mkdir($_var_13, 0777, true);
  63. }
  64. @move_uploaded_file($_FILES["avatar"]["tmp_name"], $_var_13 . $_var_11 . "-" . $_var_9 . ".jpg");
  65. }
  66. }
  67. echo "1";
  68. } else {
  69. echo "-1";
  70. }
  71. }
  72. }
  73. function mobileconfig()
  74. {
  75. $this->userlogined || reJSON(-1);
  76. $_var_14 = SafeRequest("apkName", "post");
  77. $_var_15 = SafeRequest("downLink", "post");
  78. $_var_16 = SafeRequest("remote", "post");
  79. if ($_var_15) {
  80. $_var_17 = $this->user["in_userid"] . "-" . time();
  81. } else {
  82. $_var_17 = SafeRequest("time", "post");
  83. }
  84. preg_match("/^(\\d+\\-\\d+)\$/", $_var_17) || reJSON(-2);
  85. $_var_18 = IN_TMP_PATH . $_var_14;
  86. if ($_var_16 && $_var_15) {
  87. $_var_19 = getremoteurl($_var_14, $_var_16);
  88. @saveRemoteFile($_var_19, IN_TMP_PATH, $_var_14);
  89. }
  90. is_file($_var_18) || reJSON(-2);
  91. $_var_20 = intval(filesize($_var_18));
  92. $_var_21 = explode("-", $_var_17);
  93. $_var_22 = md5($_var_21[0] . "-" . $_var_21[1] . "-" . rand(2, pow(2, 24))) . ".png";
  94. is_file(IN_ATTACHMENT_PATH . $_var_14) && reJSON(-2);
  95. IN_VERIFY > 0 && $this->user["in_verify"] != 1 && reJSON(-3);
  96. $_var_20 + $this->user["in_spaceuse"] > get_user_in_spacetotal($this->user) && reJSON(-4);
  97. $_var_23 = file_get_contents($_var_18);
  98. $_var_24 = IN_ATTACHMENT_PATH . $_var_14;
  99. rename($_var_18, $_var_24);
  100. $_var_25 = preg_match_all("/<key>PayloadIdentifier<\\/key>([\\s\\S]+?)<string>([\\s\\S]+?)<\\/string>/", $_var_23, $_var_26) ? SafeSql(isset($_var_26[2][1]) ? $_var_26[2][1] : $_var_26[2][0]) : "*";
  101. $_var_27 = preg_match("/<key>Label<\\/key>([\\s\\S]+?)<string>([\\s\\S]+?)<\\/string>/", $_var_23, $_var_26) ? SafeSql(detect_encoding($_var_26[2])) : NULL;
  102. if (!$_var_27) {
  103. $_var_27 = preg_match("/<key>PayloadDisplayName<\\/key>([\\s\\S]+?)<string>([\\s\\S]+?)<\\/string>/", $_var_23, $_var_26) ? SafeSql(detect_encoding($_var_26[2])) : "*";
  104. }
  105. $_var_28 = preg_match("/<key>Icon<\\/key>([\\s\\S]+?)<data>([\\s\\S]+?)<\\/data>/", $_var_23, $_var_26) ? $_var_26[2] : NULL;
  106. $_var_29 = IN_IMAGES_PATH . "app";
  107. $_var_30 = date("Y") . "/" . date("m") . "/" . date("d");
  108. creatdir($_var_29 . "/" . $_var_30);
  109. $_var_31 = $_var_29 . "/" . $_var_30 . "/" . $_var_22;
  110. file_put_contents($_var_31, base64_decode($_var_28));
  111. $_var_28 = $_var_30 . "/" . $_var_22;
  112. $_var_32 = getDeduct($_var_20);
  113. $_var_33 = $_var_14;
  114. $_var_34 = "8.0";
  115. $_var_35 = "1.0.0";
  116. $_var_36 = "1";
  117. $_var_37 = $_var_38 = "*";
  118. $_var_39 = 1;
  119. $_var_40 = "";
  120. $_var_41 = "iOS";
  121. $_var_42 = array("in_name" => $_var_27, "in_type" => $_var_39, "in_size" => $_var_20, "in_form" => $_var_41, "in_mnvs" => $_var_34, "in_bid" => $_var_25, "in_bsvs" => $_var_35, "in_bvs" => $_var_36, "in_nick" => $_var_37, "in_team" => $_var_38, "in_udids" => $_var_40, "in_icon" => $_var_28, "in_deduct" => $_var_32, "in_app" => $_var_14, "in_originalName" => $_var_33, "in_updatetime" => time(), "in_applock" => check_diswords($_var_27) ? -1 : 0, "remote" => $_var_16);
  122. $_var_43 = db("appid")->where("in_uid", $this->user["in_userid"])->where("in_form", $_var_41)->where("in_bid", $_var_25)->where("in_name", $_var_27)->find();
  123. if ($_var_43) {
  124. $_var_44 = $_var_43["in_id"];
  125. @unlink(IN_IMAGES_PATH . "app/" . $_var_43["in_icon"]);
  126. db("appid")->where("in_id", $_var_44)->update($_var_42);
  127. db("app")->where(array("in_appid" => $_var_44))->update(array("in_release" => 0));
  128. } else {
  129. $_var_42 = array_merge($_var_42, array("in_uid" => $this->user["in_userid"], "in_uname" => $this->user["in_username"], "in_downloads" => "0", "in_link" => creatLink(), "in_addtime" => time()));
  130. $_var_44 = db("appid")->insertGetId($_var_42);
  131. }
  132. $_var_45 = db("appid")->where("in_id", $_var_44)->find();
  133. $_var_45["in_appid"] = $_var_45["in_id"];
  134. unset($_var_45["in_id"]);
  135. $_var_45["in_addtime"] = time();
  136. db("app")->strict(false)->insert($_var_45);
  137. db("user")->where("in_userid", $this->user["in_userid"])->inc("in_spaceuse", $_var_20)->update();
  138. reJSON(array("id" => bees_encrypt($_var_44)), 1);
  139. }
  140. function upicon()
  141. {
  142. $_var_46 = intval($_POST["aid"]);
  143. $_var_47 = intval($_POST["uid"]);
  144. $_var_48 = SafeSql($_POST["upw"]);
  145. $_var_49 = db("app")->where("in_id", $_var_46)->find();
  146. $_var_49 || exit("-1");
  147. $_var_50 = db("user")->where("in_userid", $_var_47)->where("in_userpassword", $_var_48)->value("in_userid");
  148. $_var_49["in_uid"] == $_var_50 || exit("-2");
  149. if (!empty($_FILES)) {
  150. $_var_51 = stristr($_var_49["in_icon"], "/") ? substr(strrchr($_var_49["in_icon"], "/"), 1) : $_var_49["in_icon"];
  151. $_var_52 = pathinfo($_FILES["icon"]["name"]);
  152. if (in_array(strtolower($_var_52["extension"]), array("jpg", "jpeg", "gif", "png"))) {
  153. $_var_53 = IN_ATTACHMENT_PATH . $_var_51;
  154. @move_uploaded_file($_FILES["icon"]["tmp_name"], $_var_53);
  155. db("app")->where("in_id", $_var_46)->update(array("in_icon" => $_var_51));
  156. echo "1";
  157. } else {
  158. echo "-3";
  159. }
  160. }
  161. }
  162. function uplog()
  163. {
  164. $this->userlogined || exit("-1");
  165. Chk_authkey();
  166. $_var_54 = SafeRequest("time", "post");
  167. if (!empty($_FILES)) {
  168. $_var_55 = $_FILES["app"]["name"];
  169. $_var_56 = pathinfo($_var_55);
  170. $_var_57 = strtolower($_var_56["extension"]);
  171. if (in_array($_var_57, array("ipa", "apk", "mobileconfig"))) {
  172. preg_match("/^(\\d+\\-\\d+)\$/", $_var_54) || exit("-1");
  173. $_var_58 = IN_TMP_PATH . $_var_54 . "/";
  174. if (!is_dir($_var_58)) {
  175. @mkdir($_var_58, 0777, true);
  176. }
  177. $_var_59 = $_var_58 . "app." . $_var_57;
  178. @move_uploaded_file($_FILES["app"]["tmp_name"], $_var_59);
  179. echo "{'extension':'" . $_var_57 . "','time':'" . $_var_54 . "','filename':'" . $_var_55 . "'}";
  180. } else {
  181. echo "-1";
  182. }
  183. }
  184. }
  185. function kindeditor()
  186. {
  187. if (!empty($_FILES)) {
  188. $_var_60 = pathinfo($_FILES["imgFile"]["name"]);
  189. if (in_array(strtolower($_var_60["extension"]), array("jpg", "jpeg", "gif", "png"))) {
  190. $_var_61 = SafeRequest("dir", "get");
  191. $_var_62 = "data/attachment/" . $_var_61 . "/" . date("Y-m-d") . "/";
  192. $_var_63 = uniqid() . $_FILES["imgFile"]["name"];
  193. creatdir(IN_ROOT . $_var_62);
  194. @move_uploaded_file($_FILES["imgFile"]["tmp_name"], IN_ROOT . $_var_62 . $_var_63);
  195. exit(json_encode(array("error" => 0, "url" => $_var_62 . $_var_63)));
  196. } else {
  197. echo "-1";
  198. }
  199. }
  200. }
  201. function saveinfo()
  202. {
  203. $this->userlogined || reJSON("请重新登录!", 404);
  204. Chk_authkey();
  205. $_var_64 = SafeRequest("apkName", "post");
  206. $_var_65 = SafeRequest("originalName", "post");
  207. $_var_66 = SafeRequest("icon", "post");
  208. $_var_67 = SafeRequest("ext", "post");
  209. $_var_68 = SafeRequest("appName", "post");
  210. $_var_69 = SafeRequest("version", "post");
  211. $_var_70 = SafeRequest("packageName", "post");
  212. $_var_71 = SafeRequest("versionCode", "post");
  213. $_var_72 = SafeRequest("downLink", "post");
  214. $_var_73 = SafeRequest("fileSize", "post");
  215. $_var_74 = SafeRequest("minSdkVersion", "post");
  216. $_var_75 = SafeRequest("remote", "post") ?: 0;
  217. $_var_76 = bees_decrypt(SafeRequest("iLocalId", "post"));
  218. $_var_77 = $_var_67 == "apk" ? "Android" : "iOS";
  219. $_var_78 = SafeRequest("in_sign_type");
  220. $_var_79 = SafeRequest("api_aid");
  221. $_var_80 = "";
  222. $_var_81 = "";
  223. if (preg_match("/^(data:\\s*image\\/(\\w+);base64,)/", $_var_66, $_var_82)) {
  224. $_var_83 = str_replace($_var_82[1], "", $_var_66);
  225. $_var_83 = base64_decode($_var_83);
  226. $_var_84 = $_var_82[2];
  227. if (in_array(strtolower($_var_84), array("pjpeg", "jpeg", "jpg", "gif", "bmp", "png"))) {
  228. $_var_80 = md5($this->user["in_userid"] . "-" . time() . "-" . rand(2, pow(2, 24))) . ".png";
  229. $_var_85 = IN_IMAGES_PATH . "app";
  230. $_var_86 = date("Y") . "/" . date("m") . "/" . date("d");
  231. creatdir($_var_85 . "/" . $_var_86);
  232. $_var_87 = $_var_85 . "/" . $_var_86 . "/" . $_var_80;
  233. $_var_81 = $_var_86 . "/" . $_var_80;
  234. file_put_contents($_var_87, $_var_83);
  235. }
  236. }
  237. if ($_var_67 == "ipa") {
  238. $_var_88 = @implode(",", SafeRequest("teamId", "post"));
  239. $_var_89 = SafeRequest("teamName", "post");
  240. $_var_90 = SafeRequest("teamType", "post");
  241. $_var_91 = @implode(",", SafeRequest("udids", "post"));
  242. } else {
  243. $_var_88 = $_var_89 = $_var_91 = "";
  244. $_var_90 = 0;
  245. }
  246. IN_VERIFY > 0 && $this->user["in_verify"] != 1 && reJSON("你需要先进行实名认证!", 404);
  247. $_var_73 + $this->user["in_spaceuse"] > get_user_in_spacetotal($this->user) && reJSON("应用空间容量不足,请开通或升级会员!", 404);
  248. $_var_92 = getDeduct($_var_73, $_var_75);
  249. if ($_var_76) {
  250. db("appid")->where("in_id", $_var_76)->value("in_uid") == $this->user["in_userid"] || reJSON("您不能更新别人的应用!", 404);
  251. db("appid")->where("in_id", $_var_76)->value("in_bid") == $_var_70 && db("appid")->where("in_id", $_var_76)->value("in_name") == $_var_68 || reJSON("不是同一个应用无法更新!", 404);
  252. }
  253. if ($_var_76) {
  254. $_var_93 = db("appid")->where("in_id", $_var_76)->find();
  255. @unlink(IN_IMAGES_PATH . "app/" . $_var_93["in_icon"]);
  256. db("appid")->where("in_id", $_var_76)->update(array("in_name" => $_var_68, "in_icon" => $_var_81, "in_form" => $_var_77, "in_bid" => $_var_70, "in_mnvs" => $_var_74 ?: "8.0", "in_bsvs" => $_var_69 ?: "1.0", "in_bvs" => $_var_71 ?: "1", "in_deduct" => $_var_92, "in_type" => $_var_90, "in_team" => $_var_89, "in_app" => $_var_64, "in_originalName" => $_var_65, "in_sign_type" => $_var_78, "in_size" => $_var_73, "in_updatetime" => time(), "remote" => $_var_75, "in_applock" => check_diswords($_var_68) ? -1 : 0));
  257. db("app")->where("in_appid", $_var_76)->update(array("in_release" => 0));
  258. } else {
  259. $_var_94 = creatLink($_var_76);
  260. $_var_76 = db("appid")->insertGetId(array("in_uid" => $this->user["in_userid"], "in_uname" => $this->user["in_username"], "in_name" => $_var_68, "in_icon" => $_var_81, "in_form" => $_var_77, "in_bid" => $_var_70, "in_mnvs" => $_var_74 ?: "8.0", "in_bsvs" => $_var_69 ?: "1.0", "in_bvs" => $_var_71 ?: "1", "in_type" => $_var_90, "in_nick" => $_var_88, "in_team" => $_var_89, "in_udids" => $_var_91, "in_app" => $_var_64, "in_originalName" => $_var_65, "in_sign_type" => $_var_78, "in_downloads" => 0, "in_deduct" => $_var_92, "in_size" => $_var_73, "in_link" => $_var_94, "in_addtime" => time(), "in_updatetime" => time(), "remote" => $_var_75, "in_applock" => check_diswords($_var_68) ? -1 : 0));
  261. if (!$_var_76) {
  262. reJSON("上传文件失败,请稍后重试", 404);
  263. }
  264. }
  265. db("app")->strict(false)->insert(array("in_uid" => $this->user["in_userid"], "in_uname" => $this->user["in_username"], "in_name" => $_var_68, "in_appid" => $_var_76, "in_form" => $_var_77, "in_bid" => $_var_70, "in_mnvs" => $_var_74 ?: "8.0", "in_bsvs" => $_var_69 ?: "1.0", "in_bvs" => $_var_71 ?: "1", "in_type" => $_var_90, "in_nick" => $_var_88, "in_team" => $_var_89, "in_udids" => $_var_91, "in_app" => $_var_64, "in_originalName" => $_var_65, "in_sign_type" => $_var_78, "in_deduct" => $_var_92, "in_size" => $_var_73, "in_addtime" => time(), "remote" => $_var_75, "in_applock" => check_diswords($_var_68) ? -1 : 0));
  266. db("user")->where("in_userid", $this->user["in_userid"])->inc("in_spaceuse", $_var_73)->update();
  267. if (!$_var_75) {
  268. @rename(IN_TMP_PATH . $_var_64, IN_ATTACHMENT_PATH . $_var_64);
  269. }
  270. if ($_var_79) {
  271. $_var_95 = db("sign")->where("in_aid", $_var_76);
  272. if ($_var_95->count()) {
  273. $_var_95->update(array("api_aid" => $_var_79));
  274. } else {
  275. db("sign")->insert(array("in_aid" => $_var_76, "api_aid" => $_var_79, "in_aname" => $_var_68, "in_uid" => $this->user["in_userid"]));
  276. }
  277. }
  278. //默认开启
  279. /* $_var_17 = db("appid")->where("in_id", $_var_76)->update(["in_super" => 1]);
  280. if ($_var_17) {
  281. $_var_18 = db("appid")->where("in_id", $_var_76)->find();
  282. $_var_19 = IN_ATTACHMENT_PATH . $_var_18["in_app"];
  283. if (!is_file($_var_19)) {
  284. $_var_17 = saveRemoteFile(getapp($_var_76, 1), IN_ATTACHMENT_PATH, $_var_18["in_app"]);
  285. }
  286. }*/
  287. // var_dump($_var_76);die;
  288. reJSON(array("id" => bees_encrypt($_var_76)), 1);
  289. }
  290. }