123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429 |
- <?php
- namespace app\webview;
- $GLOBALS["pwIpOTVVdU"] = array("base64_decode", "str_rot13", "strrev");
- use app\index\webview_base;
- use app\webview\Jwt;
- use app\webview\keystore;
- use Overtrue\Pinyin\Pinyin;
- class ajax extends webview_base
- {
- function initialize()
- {
- parent::initialize();
- }
- function index()
- {
- if (!empty($_FILES)) {
- $_var_0 = SafeRequest("fn", "get") ?: time();
- $_var_1 = pathinfo($_FILES["webview"]["name"]);
- $_var_2 = strtolower($_var_1["extension"]);
- $_var_3 = getimagesize($_FILES["webview"]["tmp_name"]);
- if ("image/png" == $_var_3["mime"] && $_var_2 == "png") {
- $_var_4 = $_var_0 . "." . $_var_2;
- $_var_5 = IN_ROOT . "data/tmp";
- creatdir($_var_5);
- @move_uploaded_file($_FILES["webview"]["tmp_name"], $_var_5 . "/" . $_var_4);
- exit($_var_4);
- }
- }
- exit("return_0");
- }
- function webview()
- {
- header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
- header("Cache-Control: no-cache, must-revalidate");
- header("Pragma: no-cache");
- header("Content-type: text/html;charset=" . IN_CHARSET);
- $this->userlogined or reJSON(-1);
- $_var_6 = SafeRequest("id", "post");
- $_var_7 = $this->user["in_userid"] . "-" . time();
- $_var_8 = IN_TMP_PATH . $_var_7;
- creatdir($_var_8);
- $_var_9 = is_ssl() ? "https://" : "http://";
- $_var_10 = unescape(SafeRequest("title", "post"));
- $_var_11 = SafeRequest("url", "post");
- strstr($_var_11, "http://") || strstr($_var_11, "https://") || ($_var_11 = "http://" . $_var_11);
- $_var_12 = SafeRequest("type", "post");
- $_var_13 = SafeRequest("bundle_id", "post");
- $_var_14 = new Pinyin();
- $_var_13 = $_var_14->permalink($_var_13, ".") ?: "com.xuanfeng." . Randomstr(9, "letter");
- !strstr($_var_13, ".") && ($_var_13 = "com." . $_var_13);
- $_var_15 = SafeRequest("version", "post") ? SafeRequest("version", "post") : "1.0.0";
- $_var_16 = "1";
- $_var_17 = str_replace($_var_9 . $_SERVER["HTTP_HOST"] . IN_PATH . "data", "data", SafeRequest("aicon", "post"));
- $_var_18 = str_replace($_var_9 . $_SERVER["HTTP_HOST"] . IN_PATH . "data", "data", SafeRequest("limage", "post"));
- $_var_19 = false;
- $_var_20 = IN_IMAGES_PATH . "pack";
- $_var_21 = date("Y/m/d");
- $_var_22 = $_var_20 . "/" . $_var_21 . "/" . $_var_7 . "-icon.png";
- creatdir($_var_20 . "/" . $_var_21);
- rename(IN_ROOT . $_var_17, $_var_22);
- $_var_17 = "/data/image/pack/" . $_var_21 . "/" . $_var_7 . "-icon.png";
- $_var_22 = $_var_20 . "/" . $_var_21 . "/" . $_var_7 . "-launch.png";
- @rename(IN_ROOT . $_var_18, $_var_22);
- $_var_18 = "/data/image/pack/" . $_var_21 . "/" . $_var_7 . "-launch.png";
- $_var_23 = md5($_var_7 . "-" . rand(2, pow(2, 24))) . [".apk", ".ipa"][$_var_12];
- $_var_24 = ["Android", "iOS"][$_var_12];
- $_var_25 = db("app_pack")->where("user_id", $this->user["in_userid"])->where("id", $_var_6)->where("type", $_var_12)->find();
- $_var_25 or $_var_25 = db("app_pack")->where("user_id", $this->user["in_userid"])->where("bundle_id", $_var_13)->where("type", $_var_12)->find();
- if ($_var_25) {
- $_var_19 = $_var_25["period"] < 1 || $_var_25["period"] > time();
- }
- $_var_26 = SafeRequest("period", "post");
- $_var_26 = $_var_26 ? $_var_26 : 0;
- $_var_27 = ["一个月", "三个月", "半年", "一年", "永久"][$_var_26];
- $_var_28 = json_decode(IN_WEBVIEWPOINTS, true)[$_var_26];
- $_var_26 = [1, 3, 6, 12, -1][$_var_26];
- !$_var_19 && $this->user["money"] < $_var_28 and reJSON(-2);
- $this->configData["name"] = convert_charset($_var_10);
- $this->configData["url"] = $_var_11;
- $this->configData["appVersion"] = $_var_15;
- $this->configData["packageName"] = $_var_13;
- $this->configData["screenOrientation"] = intval(SafeRequest("screenOrientation"));
- $this->configData["splashTime"] = intval(SafeRequest("splashTime"));
- $this->configData["supportSplash"] = true;
- $this->configData["supportSplashTime"] = boolval(SafeRequest("splashTime"));
- $_var_29 = SafeRequest("loading");
- $this->configData["loadingAnimationType"] = intval($_var_29["way"]);
- $this->configData["loadingAnimationColor"] = $_var_29["color"] ?? "#157df1";
- $this->configData["clearCookie"] = boolval(SafeRequest("cache") == 1);
- $_var_30 = SafeRequest("browser");
- $this->configData["webViewType"] = intval($_var_30["android"] ?: ($_var_30["ios"] ?: 0));
- $this->configData["exitMode"] = intval(SafeRequest("exit"));
- $this->configData["supportPullToRefresh"] = boolval(SafeRequest("refresh") == 1);
- $_var_31 = SafeRequest("stateBar");
- $this->configData["isSupportConfigureStatueBarColor"] = boolval($_var_31["state"] == 1);
- $this->configData["statusBarTextColorMode"] = intval($_var_31["fontColor"]);
- $this->configData["statusBarColor"] = $_var_31["bgColor"] ?: "#157df0";
- $_var_32 = SafeRequest("titleBar");
- $this->configData["supportActionBar"] = boolval(!$_var_32["show"]);
- $this->configData["titleBarText"] = $_var_32["title"] ?: "";
- $this->configData["actionBarColor"] = $_var_32["bgColor"] ?: "#157df0";
- $this->configData["titleColor"] = $_var_32["titleColor"] ?: "#ffffff";
- $this->configData["leftActionBarIcons"] = $this->createAction($_var_32["leftKey"] ?: []);
- $this->configData["rightActionBarIcons"] = $this->createAction($_var_32["rightKey"] ?: []);
- $_var_33 = SafeRequest("nav");
- $this->configData["supportNavigator"] = boolval($_var_33["menu"]);
- $this->configData["menu"] = $this->createAction($_var_33["menu"] ?: [], "menu");
- $this->configData["menuBackgroundColor"] = $_var_33["menuBackgroundColor"] ?: "#3F51B5";
- $this->configData["menuTextColor"] = $_var_33["menuTextColor"] ?: "#FFFFFF";
- $this->configData["menuPressedTextColor"] = $_var_33["menuPressedTextColor"] ?: "#FFFFFF";
- $_var_34 = SafeRequest("share");
- $this->configData["isSupportShare"] = boolval($_var_34);
- $this->configData["shareText"] = $_var_34["shareText"] ?: "";
- $this->configData["shareUrl"] = $_var_34["shareUrl"] ?: "";
- $this->configData["wxAppId"] = $_var_34["wxId"] ?: "";
- $this->configData["wxAppScrect"] = $_var_34["wxSecret"] ?: "";
- $this->configData["supportQRCodeScan"] = boolval(SafeRequest("supportQrcodeScan") == 1);
- $this->configData["supportRightSlideGoBack"] = boolval(SafeRequest("skidBack") == 1);
- $this->configData["supportLongPressSavePicture"] = boolval(SafeRequest("supportLongPressSavePicture") == 1);
- $this->configData["keepScreen"] = boolval(SafeRequest("keepScreen") == 1);
- $this->configData["urlApp"] = boolval(SafeRequest("urlApp") == 1);
- $_var_35 = SafeRequest("asideData");
- $this->configData["supportSideBar"] = boolval($_var_35);
- $this->configData["supportSideBarLogo"] = boolval($_var_35["asideShowApp"] != 1);
- $this->configData["sideBarBackgroundColor"] = $_var_35["asideBgColor"] ?: "#3F51B5";
- $this->configData["sideBarTextAndIconColor"] = $_var_35["asideFontColor"] ?: "#FFFFFF";
- $this->configData["sideBar"] = $this->createAction($_var_35["menu"], "menu");
- $this->configData["isSupportZoom"] = boolval(SafeRequest("supportZoom") == 1);
- $this->configData["noNet"] = boolval(SafeRequest("noNet") == 1);
- $this->configData["jPushId"] = SafeRequest("jPushId") ?: "";
- $_var_36 = SafeRequest("umengKey");
- $this->configData["umengId"] = $_var_36["android"] ?: ($_var_36["ios"] ?: "");
- $_var_37 = SafeRequest("UserAgent") ?: "";
- $this->configData["UserAgent"] = $_var_37;
- $this->configData["installTip"] = boolval(SafeRequest("installTip") == 1);
- $this->configData["hideBottom"] = boolval(SafeRequest("hideBottom") == 1);
- $this->configData["Configuration"] = "";
- $this->configData["isLoadRealAddressByUrl"] = boolval(SafeRequest("isLoadRealAddressByUrl"));
- $this->configData["hideNavigatorWhenLandscape"] = boolval(SafeRequest("hideNavigatorWhenLandscape"));
- $this->configData["supportForwardBackGesture"] = boolval(SafeRequest("supportForwardBackGesture"));
- $this->configData["supportFullScreen"] = boolval(SafeRequest("supportFullScreen"));
- $this->configData["supportScheme"] = boolval(SafeRequest("supportScheme"));
- $this->configData["guide"] = intval(SafeRequest("guide"));
- $this->configData["isSupportLongPressCopy"] = true;
- $this->configData["isSupportStatusBarBackgroundExtend"] = boolval(SafeRequest("isSupportStatusBarBackgroundExtend"));
- $this->configData["pack_at"] = intval(SafeRequest("pack_at"));
- $this->configData["skidBack"] = boolval(SafeRequest("skidBack"));
- $_var_38 = ["user_id" => $this->user["in_userid"], "name" => $_var_10, "url" => $_var_11, "icon" => $_var_17, "launch" => $_var_18, "config" => $this->configData, "file" => $_var_23, "type" => $_var_12, "bundle_id" => $_var_13, "version" => $_var_15, "update_time" => time()];
- if ($_var_25) {
- $_var_6 = $_var_25["id"];
- if (!$_var_19) {
- $_var_38["period"] = $_var_26 < 0 ? $_var_26 : strtotime("+ " . $_var_26 . " months", max([$_var_25["period"], time()]));
- }
- @unlink(IN_ATTACHMENT_PATH . "pack/" . $_var_25["file"]);
- db("app_pack")->json(["config"])->where("id", $_var_6)->update($_var_38);
- } else {
- $_var_38["period"] = $_var_26 < 0 ? $_var_26 : strtotime("+ " . $_var_26 . " months");
- $_var_38["create_time"] = time();
- $_var_6 = db("app_pack")->json(["config"])->insertGetId($_var_38);
- }
- $this->configData["secureUrl"] = get_site_url() . "/index/webview_valid/" . $_var_6;
- $_var_17 = IN_ROOT . $_var_17;
- $_var_18 = IN_ROOT . $_var_18;
- if ($_var_12 == 1) {
- $_var_39 = new \PclZip(IN_ROOT . "static/pack/webview/newipa.zip");
- $_var_39->extract(PCLZIP_OPT_PATH, $_var_8, PCLZIP_OPT_REPLACE_NEWER);
- $_var_40 = array("40", "60", "58", "87", "80", "120", "120", "180");
- $_var_41 = array("AppIcon20x20@2x", "AppIcon20x20@3x", "AppIcon29x29@2x", "AppIcon29x29@3x", "AppIcon40x40@2x", "AppIcon40x40@3x", "AppIcon60x60@2x", "AppIcon60x60@3x");
- foreach ($_var_40 as $_var_42 => $_var_43) {
- image_crop($_var_43, $_var_43, $_var_17, $_var_8 . "/Payload/DCloud.app/" . $_var_41[$_var_42] . ".png");
- }
- image_crop(800, 800, $_var_17, $_var_8 . "/Payload/DCloud.app/icon.png");
- $_var_40 = array("640*960", "640*1136", "750*1334", "1242*2208", "1125*2436", "828*1792", "1242*2688");
- $_var_41 = array("LaunchImage-700@2x", "LaunchImage-700-568h@2x", "LaunchImage-800-667h@2x", "LaunchImage-800-Portrait-736h@3x", "LaunchImage-1100-Portrait-2436h@3x", "LaunchImage-1200-Portrait-1792h@2x", "LaunchImage-1200-Portrait-2688h@3x");
- foreach ($_var_40 as $_var_42 => $_var_43) {
- $_var_40 = explode("*", $_var_43);
- image_crop($_var_40[0], $_var_40[1], $_var_18, $_var_8 . "/Payload/DCloud.app/" . $_var_41[$_var_42] . ".png");
- }
- image_crop(1080, 1920, $_var_18, $_var_8 . "/Payload/DCloud.app/splash.png");
- $_var_44 = file_get_contents($_var_8 . "/Payload/DCloud.app/Info.plist");
- $_var_44 = str_replace(array("hellos", "com.FnTjwo.PAZWRIAIA", "1.0.0"), array(convert_charset($_var_10), $_var_13, $_var_15), $_var_44);
- fwrite(fopen($_var_8 . "/Payload/DCloud.app/Info.plist", "w"), $_var_44);
- $_var_45 = file_get_contents($_var_8 . "/Payload/DCloud.app/dconfig.json");
- $_var_45 = json_decode($_var_45, true);
- $_var_45 = array_merge($_var_45, $this->configData);
- fwrite(fopen($_var_8 . "/Payload/DCloud.app/config.json", "w"), json_encode($_var_45, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES));
- fwrite(fopen($_var_8 . "/Payload/DCloud.app/dconfig.json", "w"), json_encode($_var_45, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES));
- $_var_46 = new \PclZip($_var_8 . ".zip");
- $_var_46->create($_var_8, PCLZIP_OPT_REMOVE_PATH, $_var_8);
- $_var_47 = IN_ATTACHMENT_PATH . "pack/" . $_var_23;
- $_var_48 = $_var_8 . ".zip";
- } else {
- if ($this->configData["webViewType"] == 1) {
- $_var_39 = new \PclZip(IN_ROOT . "static/pack/webview/newx5.zip");
- } else {
- $_var_39 = new \PclZip(IN_ROOT . "static/pack/webview/newapk.zip");
- }
- $_var_39->extract(PCLZIP_OPT_PATH, $_var_8, PCLZIP_OPT_REPLACE_NEWER);
- $_var_40 = array("48", "72", "96", "144", "192");
- $_var_41 = array("mipmap-mdpi", "mipmap-hdpi", "mipmap-xhdpi", "mipmap-xxhdpi", "mipmap-xxxhdpi");
- foreach ($_var_40 as $_var_42 => $_var_43) {
- image_crop($_var_43, $_var_43, $_var_17, $_var_8 . "/res/" . $_var_41[$_var_42] . "/ic_launcher.png");
- image_crop($_var_43, $_var_43, $_var_17, $_var_8 . "/res/" . $_var_41[$_var_42] . "/ic_launcher_round.png");
- }
- image_crop(1080, 1920, $_var_18, $_var_8 . "/assets/source/image/img_ad.png");
- image_crop(1080, 1920, $_var_18, $_var_8 . "/res/mipmap-xhdpi/splash.jpg");
- $_var_44 = file_get_contents($_var_8 . "/apktool.yml");
- $_var_44 = str_replace(["1.0.0"], [$_var_15], $_var_44);
- file_put_contents($_var_8 . "/apktool.yml", $_var_44);
- $_var_49 = file_get_contents($_var_8 . "/AndroidManifest.xml");
- $_var_49 = str_replace(["com.IFcZJt.PDPFOUQXI"], [$_var_13], $_var_49);
- file_put_contents($_var_8 . "/AndroidManifest.xml", $_var_49);
- $_var_50 = file_get_contents($_var_8 . "/res/values/strings.xml");
- $_var_50 = str_replace(["[app_name]"], [convert_charset($_var_10)], $_var_50);
- file_put_contents($_var_8 . "/res/values/strings.xml", $_var_50);
- $_var_51 = new Jwt();
- file_put_contents($_var_8 . "/assets/source/dconfig.json", $_var_51->encode($this->configData));
- $_var_52 = $_var_8 . "_sign.apk";
- $_var_53 = IN_STATIC_PATH . "pack/webview/apktool b -o " . $_var_52 . " " . $_var_8;
- exec($_var_53, $_var_54);
- file_put_contents(IN_TMP_PATH . "apk_pack_command.log", $_var_53);
- file_put_contents(IN_TMP_PATH . "apk_pack_output.log", $_var_54);
- $_var_55 = IN_STATIC_PATH . "pack/webview/signapk.jar";
- $_var_56 = IN_STATIC_PATH . "pack/webview/testkey.x509.pem";
- $_var_57 = IN_STATIC_PATH . "pack/webview/testkey.pk8 ";
- $_var_58 = SafeRequest("androidKey");
- if ($_var_58) {
- if ($_var_58["alias"] != $_var_58["file_url"]) {
- @rename(IN_TMP_PATH . $_var_58["file_url"], IN_CERT_PATH . "keystore/" . $this->userid . "-" . $_var_58["alias"] . "/" . $_var_58["alias"] . ".jks");
- }
- $_var_59 = new keystore(IN_CERT_PATH . "keystore/" . $this->userid . "-" . $_var_58["alias"] . "/");
- $_var_56 = $_var_59->getCer($_var_58["alias"], $_var_58["storepass"], $_var_58["keypass"]);
- $_var_57 = $_var_59->getPk8($_var_58["alias"], $_var_58["storepass"], $_var_58["keypass"]);
- }
- $this->configData["androidKey"] = $_var_58;
- $_var_60 = "source /etc/profile && java -jar " . $_var_55 . " " . $_var_56 . " " . $_var_57 . " " . $_var_52 . " " . $_var_8 . ".apk";
- exec($_var_60, $_var_61);
- file_put_contents(IN_TMP_PATH . "apk_sign_command.log", $_var_60);
- file_put_contents(IN_TMP_PATH . "apk_sign_output.log", $_var_61);
- $_var_47 = IN_ATTACHMENT_PATH . "pack/" . $_var_23;
- $_var_48 = $_var_8 . ".apk";
- @unlink($_var_52);
- }
- @destroyDir($_var_8);
- $_var_62 = @filesize($_var_48);
- if (!$_var_19 && $_var_62 + $this->user["in_spaceuse"] > get_user_in_spacetotal($this->user)) {
- db("app_pack")->where("id", $_var_6)->delete();
- @unlink($_var_48);
- reJSON(-4);
- }
- creatdir(IN_ATTACHMENT_PATH . "pack/");
- @rename($_var_48, $_var_47);
- db("app_pack")->where("id", $_var_6)->update(["size" => $_var_62, "config" => json_encode($this->configData)]);
- $_var_63 = 0;
- if (!$_var_19) {
- db("user")->where("in_userid", $this->userid)->inc("in_spaceuse", $_var_62)->update();
- $_var_64 = db("user")->where("in_userid", $this->user["in_userid"])->dec("money", $_var_28)->update();
- $_var_64 && aclog_save($this->user["in_userid"], $this->user["money"] - $_var_28, $this->user["money"], "money", $_var_24 . "-" . $_var_10 . "-封装-" . $_var_27);
- }
- reJSON(["id" => bees_encrypt($_var_63)], 1);
- }
- function decompiler($apk = '', $dir = '')
- {
- $apk = $apk ?: IN_TMP_PATH . "x5.apk";
- $dir = $dir ?: IN_TMP_PATH . "x5";
- $_var_65 = IN_STATIC_PATH . "pack/webview/apktool d -f " . $apk . " -o " . $dir;
- exec($_var_65, $_var_66);
- halt($apk, $dir, $_var_65, $_var_66);
- }
- function mobileconfig()
- {
- header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
- header("Cache-Control: no-cache, must-revalidate");
- header("Pragma: no-cache");
- header("Content-type: text/html;charset=" . IN_CHARSET);
- $this->userlogined or reJSON(-1);
- $_var_67 = SafeRequest("id", "post");
- $_var_68 = is_ssl() ? "https://" : "http://";
- $_var_69 = unescape(SafeRequest("title", "post"));
- $_var_70 = SafeRequest("url", "post");
- strstr($_var_70, "http://") || strstr($_var_70, "https://") || ($_var_70 = "http://" . $_var_70);
- $_var_71 = str_replace($_var_68 . $_SERVER["HTTP_HOST"] . IN_PATH . "data", IN_ROOT . "data", SafeRequest("aicon", "post"));
- $_var_72 = IN_ROOT . "data/tmp";
- $_var_73 = $this->user["in_userid"] . "-" . time();
- creatdir($_var_72 . "/" . $_var_73);
- $_var_74 = SafeRequest("bid", "post");
- $_var_75 = new \Overtrue\Pinyin\Pinyin();
- $_var_74 = $_var_75->permalink($_var_74, ".") ?: password($_var_73);
- !strstr($_var_74, ".") && ($_var_74 = "com." . $_var_74);
- $_var_76 = boolval(SafeRequest("FullScreen", "post"));
- $_var_77 = boolval(SafeRequest("IsRemovable", "post"));
- $_var_78 = boolval(SafeRequest("IsRemovURL", "post"));
- $_var_79 = SafeRequest("version", "post") ? SafeRequest("version", "post") : "1.0.0";
- $_var_80 = false;
- $_var_81 = IN_IMAGES_PATH . "pack";
- $_var_82 = date("Y/m/d");
- creatdir($_var_81 . "/" . $_var_82);
- $_var_83 = $_var_81 . "/" . $_var_82 . "/" . $_var_73 . "-icon.png";
- @copy($_var_71, $_var_83);
- $_var_84 = fread(fopen($_var_83, "r"), filesize($_var_83));
- $_var_85 = chunk_split(base64_encode($_var_84));
- $_var_86 = md5($_var_73 . "-" . rand(2, pow(2, 24))) . ".mobileconfig";
- $_var_87 = ["user_id" => $this->user["in_userid"], "name" => $_var_69, "url" => $_var_70, "file" => $_var_86, "icon" => "/data/image/pack/" . $_var_82 . "/" . $_var_73 . "-icon.png", "type" => 2, "bundle_id" => $_var_74, "version" => $_var_79, "config" => ["FullScreen" => $_var_76, "IsRemovable" => $_var_77, "IsRemovURL" => $_var_78], "update_time" => time()];
- $_var_88 = db("app_pack")->where("user_id", $this->user["in_userid"])->where("id", $_var_67)->where("type", 2)->find();
- $_var_88 or $_var_88 = db("app_pack")->where("user_id", $this->user["in_userid"])->where("bundle_id", $_var_74)->where("name", $_var_69)->where("type", 2)->find();
- if ($_var_88) {
- $_var_80 = $_var_88["period"] < 1 || $_var_88["period"] > time();
- }
- $_var_89 = SafeRequest("period", "post") ?: 0;
- $_var_90 = ["一个月", "三个月", "半年", "一年", "永久"][$_var_89];
- $_var_91 = json_decode(IN_WEBVIEWPOINTS, true);
- $_var_91 = $_var_91[$_var_89];
- !$_var_80 && $this->user["money"] < $_var_91 and reJSON(-2);
- $_var_89 = [1, 3, 6, 12, -1][$_var_89];
- if ($_var_88) {
- $_var_67 = $_var_88["id"];
- if (!$_var_80) {
- $_var_87["period"] = $_var_89 < 0 ? $_var_89 : strtotime("+ " . $_var_89 . " months", max([$_var_88["period"], time()]));
- }
- @unlink(IN_ATTACHMENT_PATH . "pack/" . $_var_88["file"]);
- db("app_pack")->json(["config"])->where("id", $_var_67)->update($_var_87);
- } else {
- $_var_87["period"] = $_var_89 < 0 ? $_var_89 : strtotime("+ " . $_var_89 . " months");
- $_var_87["create_time"] = time();
- $_var_67 = db("app_pack")->json(["config"])->insertGetId($_var_87);
- }
- $_var_76 = $_var_76 ? "true" : "false";
- $_var_77 = $_var_77 ? "true" : "false";
- $_var_70 = $_var_78 ? $_var_70 . "/app1.html" : $_var_70;
- $_var_92 = file_get_contents(IN_ROOT . "./static/pack/mobileconfig/ios.mobileconfig");
- $_var_92 = str_replace(array("[name]", "[link]", "[icon]", "[bid]", "[FullScreen]", "[IsRemovable]"), array(convert_charset($_var_69), $_var_70, trim($_var_85), $_var_74, $_var_76, $_var_77), $_var_92);
- $_var_93 = $_var_72 . "/" . $_var_73 . ".mobileconfig";
- mFile_put_contents($_var_93, $_var_92);
- $_var_94 = IN_ATTACHMENT_PATH . "pack/" . $_var_86;
- creatdir(IN_ATTACHMENT_PATH . "pack/");
- $_var_95 = IN_CERT_PATH;
- if (function_exists("exec") && is_file($_var_95 . "public/5cando.pem")) {
- exec("openssl smime -sign -in " . $_var_93 . " -out " . $_var_94 . " -signer " . $_var_95 . "public/5cando.pem -inkey " . $_var_95 . "public/5cando.key -certfile " . $_var_95 . "public/5cando.pem -outform der -nodetach");
- } else {
- rename($_var_93, $_var_94);
- }
- $_var_96 = @filesize($_var_94);
- db("app_pack")->where("id", $_var_67)->update(["size" => $_var_96 ?: 1]);
- if (!$_var_80) {
- $_var_97 = db("user")->where("in_userid", $this->user["in_userid"])->dec("money", $_var_91)->update();
- $_var_97 && aclog_save($this->user["in_userid"], $this->user["money"] - $_var_91, $this->user["money"], "money", $_var_69 . "-免签封装-" . $_var_90);
- }
- reJSON(["id" => bees_encrypt($_var_67)], 1);
- }
- function pack_pub($id = 0)
- {
- $_var_98 = db("app_pack")->field("name in_name,icon in_icon,user_id in_uid,bundle_id in_bid,version in_bsvs,type in_type,file in_app,size in_size,config")->where("id", $id)->json(["config"], true)->find();
- $_var_98["in_uname"] = $this->user["in_username"];
- $_var_99 = str_replace("/pack/", "/app/", $_var_98["in_icon"]);
- creatdir(IN_ROOT . dirname($_var_99));
- @copy(IN_ROOT . $_var_98["in_icon"], str_replace("/pack/", "/app/", IN_ROOT . $_var_99));
- $_var_98["in_icon"] = str_replace("/data/image/app/", "", $_var_99);
- unset($_var_98["config"]);
- @copy(IN_ATTACHMENT_PATH . "pack/" . $_var_98["in_app"], IN_ATTACHMENT_PATH . $_var_98["in_app"]);
- $_var_98["in_form"] = $_var_98["in_type"] ? "iOS" : "Android";
- $_var_98["in_size"] = $_var_98["in_size"] ?: 1;
- $_var_98["in_deduct"] = getDeduct($_var_98["in_size"]);
- $_var_98["in_updatetime"] = time();
- if ($_var_100 = db("appid")->where("in_uid", $_var_98["in_uid"])->where("in_bid", $_var_98["in_bid"])->where("in_name", $_var_98["in_name"])->where("in_type", $_var_98["in_type"])->value("in_id")) {
- db("appid")->where("in_id", $_var_100)->update($_var_98);
- } else {
- $_var_98["in_addtime"] = time();
- $_var_100 = db("appid")->where("in_id", $_var_100)->insertGetId($_var_98);
- }
- $_var_98 = db("appid")->where("in_id", $_var_100)->find();
- $_var_98["in_appid"] = $_var_98["in_id"];
- unset($_var_98["in_id"]);
- $_var_98["in_addtime"] = time();
- db("app")->where("in_appid", $_var_100)->update(["in_release" => 0]);
- db("app")->strict(false)->insert($_var_98);
- db("user")->where("in_userid", $_var_98["in_uid"])->inc("in_spaceuse", $_var_98["in_size"])->update();
- return $_var_100;
- }
- function ajax_pub()
- {
- $_var_101 = SafeRequest("id", "get");
- $_var_102 = $this->pack_pub($_var_101);
- reJSON(["id" => bees_encrypt($_var_102)], 1);
- }
- function pub()
- {
- $_var_103 = SafeRequest("id", "get");
- $_var_103 = is_numeric($_var_103) ? $_var_103 : bees_decrypt($_var_103);
- $_var_104 = $this->pack_pub($_var_103);
- redirect("/index/publish_success/?id=" . bees_encrypt($_var_104));
- }
- function uploadkeystore()
- {
- if (!empty($_FILES)) {
- $_var_105 = SafeRequest("fn", "get") ?: time();
- $_var_106 = pathinfo($_FILES["keysotre"]["name"]);
- $_var_107 = strtolower($_var_106["extension"]);
- if ($_var_107 == "jks") {
- $_var_108 = $_var_105 . "." . $_var_107;
- $_var_109 = IN_ROOT . "data/tmp";
- creatdir($_var_109);
- @move_uploaded_file($_FILES["keysotre"]["tmp_name"], $_var_109 . "/" . $_var_108);
- reJSON(["key" => $_var_108]);
- }
- }
- reJSON(0);
- }
- function createkeystore()
- {
- $_var_110 = uniqid();
- $_var_111 = new keystore(IN_CERT_PATH . "keystore/" . $this->userid . "-" . $_var_110 . "/");
- $_var_112 = $_var_111->create($_var_110);
- reJSON(["alias" => $_var_110, "keypass" => "123456", "storepass" => "123456"]);
- }
- function downloadkeystore()
- {
- $_var_113 = SafeRequest("alias", "get");
- if (strstr($_var_113, ".jks")) {
- $_var_114 = IN_TMP_PATH . $_var_113;
- } else {
- $_var_115 = new keystore(IN_CERT_PATH . "keystore/" . $this->userid . "-" . $_var_113 . "/");
- $_var_114 = $_var_115->create($_var_113);
- }
- downloadFile($_var_114);
- }
- }
|