apps.php 76 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925
  1. <?php
  2. namespace app\index;
  3. class apps extends BaseUser
  4. {
  5. public $statusText = [-2 => "签名失败", -1 => "解析失败", "未签名", "准备中", "正在解析", "正在签名", "正在打包", "签名完成"];
  6. function index()
  7. {
  8. $_var_0 = SafeRequest("ext", "get");
  9. $_var_1 = SafeRequest("keyword", "get");
  10. $_var_2 = $_var_3 = "";
  11. $_var_4 = [];
  12. if (!empty($_var_0)) {
  13. $_var_5 = ["ipa" => "iOS", "apk" => "Android"];
  14. if (isset($_var_5[$_var_0])) {
  15. $_var_4[] = ["in_form", "=", $_var_5[$_var_0]];
  16. }
  17. }
  18. if (!empty($_var_1)) {
  19. // $_var_4[] = ["in_name|in_form|in_bid", "like", "%" . $_var_1 . "%"];
  20. $_var_4[] = ["in_name", "like", "%" . $_var_1 . "%"];
  21. }
  22. db("appid")->where("in_sign", ">", "0")->update(["in_sign_type" => 1]);
  23. db("appid")->where("in_super", ">", "0")->update(["in_sign_type" => 2]);
  24. $_var_6 = "应用管理";
  25. if ($this->action == "sign" && IN_SIGN) {
  26. $_var_4[] = ["in_sign_type", "=", "1"];
  27. $_var_6 = "企业签名";
  28. } else {
  29. if ($this->action == "super" && IN_SUPER) {
  30. $_var_4[] = ["in_sign_type", "=", "2"];
  31. $_var_6 = "超级签名";
  32. } else {
  33. $_var_4[] = ["in_sign_type", "=", "0"];
  34. }
  35. }
  36. $_var_7 = db("appid")->where($_var_4)->where("in_uid", $this->userid)->count();
  37. $_var_8 = 10;
  38. $_var_9 = isset($_GET["page"]) ? $_GET["page"] : 1;
  39. $_var_10 = ceil($_var_7 / $_var_8);
  40. $_var_11 = ($_var_9 - 1) * $_var_8;
  41. $_var_12 = db("appid")->where($_var_4)->where("in_uid", $this->userid)->order("in_applock desc,in_addtime desc")->limit($_var_11, $_var_8)->select();
  42. // print_r($_var_12);die;
  43. $_var_13 = $_var_11 + 1;
  44. $_var_14 = $_var_9 == $_var_10 ? $_var_7 : $_var_9 * $_var_8;
  45. $_var_15 = $_var_9 == $_var_10 ? 0 : $_var_9 + 1;
  46. $_var_16 = $_var_9 == 1 ? 0 : $_var_9 - 1;
  47. $_var_17 = explode("|", "50M|100M|300M|600M|1G|1.5G|1.5G以上");
  48. $_var_18 = json_decode(IN_POINTSRULE, true);
  49. $_var_19 = "收费标准:<br>0-";
  50. foreach ($_var_17 as $_var_20 => $_var_21) {
  51. if ($_var_20 > 5) {
  52. $_var_19 .= "<br>";
  53. }
  54. $_var_19 .= $_var_21 . "(" . $_var_18[$_var_20] . "个)";
  55. if ($_var_20 < 5) {
  56. $_var_19 .= "<br>" . $_var_17[$_var_20] . "-";
  57. }
  58. }
  59. $_var_19 .= "<br>CDN云存储" . IN_CDNPOINTS . "倍计费";
  60. ?>
  61. <!DOCTYPE html>
  62. <html lang="">
  63. <head>
  64. <meta charset="utf-8">
  65. <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0" />
  66. <meta name="keywords" content="<?php echo IN_KEYWORDS; ?>" />
  67. <meta name="description" content="<?php echo IN_DESCRIPTION; ?>" />
  68. <title><?php echo $_var_6; ?> - <?php echo IN_NAME; ?> - 免费应用内测托管平台|iOS应用Beta测试分发|Android应用内测分发</title>
  69. <?php
  70. $this->static_();
  71. ?>
  72. </head>
  73. <body>
  74. <?php
  75. $this->header();
  76. ?>
  77. <style>
  78. .apps-table {
  79. overflow-x: auto;
  80. }
  81. </style>
  82. <link rel="stylesheet" href="/static/pack/font-awesome-4.7.0/css/font-awesome.css" />
  83. <script src="/static/index/js/bootstrap-paginator.js"></script>
  84. <div class="release-app-wrap">
  85. <div class="container">
  86. <div class="release-app2">
  87. <div class="crumbs">
  88. <a href="/index/apps/apps">我的应用</a><span>/</span>应用列表
  89. </div>
  90. <div class="row clearfix">
  91. <div class="col-sm-2">
  92. <aside class="aside-left">
  93. <ul>
  94. <?php if ($this->action == 'apps' && IN_DIST_ON || $this->action == 'sign' && IN_SIGN || $this->action == 'super' && IN_SUPER) {
  95. ?>
  96. <li title="上传应用" class="<?php echo ($this->module == 'publish' || $this->module == 'publish_update') ? 'active' : '' ?>">
  97. <a href="/index/publish/<?php echo $this->action ?>"> <span class="iconfont icon-upload1"></span>上传应用</a>
  98. </li>
  99. <?php
  100. } ?>
  101. <li title="应用列表" class="<?php echo $this->module == 'apps' ? 'active' : '' ?>">
  102. <a href="/index/apps/<?php echo $this->action ?>"><span class="iconfont icon-41"></span>应用列表</a>
  103. </li>
  104. <?php if (IN_SUPER && ($this->action == 'apps' || strstr($this->module, 'apps2'))) { ?>
  105. <li title="绑定域名" class="<?php echo $this->module == 'domain' ? 'active' : '' ?>">
  106. <a href="/index/domain/<?php echo $this->action ?>"><span class="iconfont icon-liulanqi"></span>绑定域名</a>
  107. </li>
  108. <li title="外部链接合并" class="<?php echo $this->module == 'combine' ? 'active' : '' ?>">
  109. <a href="/index/combine/<?php echo $this->action ?>"><span class="iconfont icon-erweima"></span>外部链接合并</a>
  110. </li>
  111. <!-- <li title="合并记录" class="<?php echo $this->module == 'jilu' ? 'active' : '' ?>">
  112. <a href="/index/jilu/<?php echo $this->action ?>"><span class="iconfont icon-jilu"></span>合并记录</a>
  113. </li> -->
  114. <?php } ?>
  115. <?php if (IN_SUPER && ($this->action == 'super' || strstr($this->module, 'super'))) { ?>
  116. <li title="授权码管理" class="<?php echo $this->module == 'super_code' ? 'active' : '' ?>">
  117. <a href="/index/super_code/super"><span class="iconfont icon-pwd"></span>授权码管理</a>
  118. </li>
  119. <li title="开发者账号" class="<?php echo $this->module == 'super_cert' ? 'active' : '' ?>">
  120. <a href="/index/super_cert/super"><span class="iconfont icon-gongju"></span>开发者账号</a>
  121. </li>
  122. <?php } ?>
  123. </ul>
  124. </aside>
  125. </div>
  126. <div class="col-sm-10">
  127. <div class="aside-right">
  128. <?php
  129. if (IN_VERIFY == 1 && $this->user["in_verify"] != 1) {
  130. ?> <div class="warn-prompt" style="margin-bottom: 10px;">
  131. <span class="icon-warn iconfont"></span>
  132. 您当前尚未实名,不能上传APP;实名认证通过后,才可以上传应用。
  133. <a href="/index/certification" class="color-hover">立即实名认证</a>
  134. </div>
  135. <?php
  136. }
  137. ?>
  138. <!-- <?php
  139. if (empty($this->user["in_mobile"])) {
  140. ?> <div class="warn-prompt" style="margin-bottom: 10px;">
  141. <span class="icon-warn iconfont"></span>
  142. 您当前尚未绑定手机号码,绑定手机可以增加账号安全性。
  143. <a href="/index/bind_mobile" class="color-hover">立即绑定手机</a>
  144. </div>
  145. <?php
  146. }
  147. ?> -->
  148. <?php
  149. if ($this->user["in_release"] == 1) {
  150. ?> <div class="warn-prompt" style="margin-bottom: 10px;">
  151. <span class="icon-warn iconfont"></span>
  152. 因发布的APP不符合审核规则,已停用此账号发布功能。
  153. </div>
  154. <?php
  155. }
  156. ?> <div class="table-list-wrap">
  157. <div class="table-list">
  158. <div class="a-top mb10 clearfix">
  159. <div class="clearfix how-many">
  160. <dl class="clearfix">
  161. <dd class="fl apps-numbers">
  162. <div class="clearfix">
  163. <div class="apps-titbox">
  164. <p class="p1 apps-tit">
  165. 应用存储空间容量
  166. </p>
  167. <img src="/images/icon/Vector.svg"
  168. data-container="body"
  169. data-toggle="popover" data-placement="top"
  170. data-trigger="hover" data-html="true"
  171. data-content="1. 应用存储空间上限<br>2. 应用存储空间容量可以通过购买会员增加">
  172. </img>
  173. </div>
  174. </div>
  175. <div class="apps-numbox-n">
  176. <div class="apps-numbox-box">
  177. <img style="margin: 8px 0 5px 0;" src="/images/icon/Total.svg"/>
  178. <span class="apps-num" style="color: #2168FB !important"><?php echo get_user_in_spacetotal($this->user, true); ?></span>
  179. </div>
  180. <div class="apps-numbox-box" style="margin-left: 30px;">
  181. <img style="margin: 8px 0 5px 0;" src="/images/icon/Used.svg"/>
  182. <span class="apps-num" style="color: #FF7429 !important"><?php echo formatsize($this->user["in_spaceuse"]); ?></span>
  183. </div>
  184. </div>
  185. <div class="apps-right-line mob-none">
  186. </div>
  187. </dd>
  188. <br class="pc-none">
  189. <dd class="fl">
  190. <div class="clearfix">
  191. <div class="apps-titbox">
  192. <p class="p1 apps-tit">
  193. 上传限制
  194. </p>
  195. <img src="/images/icon/Vector.svg"
  196. data-container="body"
  197. data-toggle="popover" data-placement="top"
  198. data-trigger="hover" data-html="true"
  199. data-content="1. 单个应用最大上传限制<br>2. 应用上传可以通过购买会员升级"></img>
  200. </div>
  201. </div>
  202. <div class="apps-numbox">
  203. <span class="apps-num"><?php echo get_user_in_filesize($this->user, true); ?><i></i></span>
  204. </div>
  205. <div class="apps-right-line">
  206. </div>
  207. </dd>
  208. <?php
  209. if ($this->action == "apps") {
  210. ?> <dd class="fl">
  211. <div class="clearfix">
  212. <div class="apps-titbox">
  213. <p class="p1 apps-tit">
  214. <?php echo IN_POINTNAME; ?> </p>
  215. <img src="/images/icon/Vector.svg"
  216. data-container="body"
  217. data-toggle="popover" data-placement="top"
  218. data-trigger="hover" data-html="true"
  219. data-content="购买的<?php echo IN_POINTNAME; ?>没有时间限制,用完为止">
  220. </img>
  221. </div>
  222. </div>
  223. <div class="apps-numbox">
  224. <span class="apps-num"><?php echo number_format($this->user["in_points"]); ?></span>
  225. </div>
  226. <div class="apps-right-line">
  227. </div>
  228. </dd>
  229. <dt class="fl">
  230. <a href="/index/item_price?type=1"
  231. class="ms-btn ms-btn-primary mt3 w60 apps-buyBtn">
  232. <img style="transform: translate(1px, 1px);display: inline-block;" src="/images/icon/add.svg">
  233. <span class="apps-buyBtn-font">充值</span></a>
  234. </dt>
  235. <?php
  236. }
  237. if ($this->action == "sign") {
  238. ?> <dd class="fl">
  239. <div class="clearfix">
  240. <div class="apps-titbox">
  241. <p class="p1 apps-tit">余额</p>
  242. <img src="/images/icon/Vector.svg"
  243. data-container="body"
  244. data-toggle="popover" data-placement="top"
  245. data-trigger="hover" data-html="true"
  246. data-content="账户余额可以用来购买平台的分发下载点数(澎湃币 )、企业签名、超级签名设备和封装APP等服务,余额账户的钱不支持提现。">
  247. </img>
  248. </div>
  249. </div>
  250. <div class="apps-numbox">
  251. <span class="apps-num"><?php echo number_format($this->user["money"]); ?><i>(元)</i></span>
  252. </div>
  253. <div class="apps-right-line">
  254. </div>
  255. </dd>
  256. <dt class="fl">
  257. <a href="/index/item_price"
  258. class="ms-btn ms-btn-primary mt3 w60 apps-buyBtn">
  259. <img style="transform: translate(1px, 1px);display: inline-block;" src="/images/icon/add.svg">
  260. <span class="apps-buyBtn-font">充值</span></a>
  261. </dt>
  262. <?php
  263. }
  264. if ($this->action == "super") {
  265. ?> <dd class="fl">
  266. <div class="clearfix">
  267. <div class="apps-titbox">
  268. <p class="p1 apps-tit">
  269. 公有设备
  270. </p>
  271. <img src="/images/icon/Vector.svg"
  272. data-container="body"
  273. data-toggle="popover" data-placement="top"
  274. data-trigger="hover" data-html="true"
  275. data-content="购买的公有设备没有时间限制,用完为止。<br>公有设备使用平台证书,无需自己上传。">
  276. </img>
  277. </div>
  278. </div>
  279. <div class="apps-numbox">
  280. <span class="apps-num"><?php echo number_format($this->user["device_num"]); ?></span>
  281. </div>
  282. <div class="apps-right-line">
  283. </div>
  284. </dd>
  285. <?php
  286. if (IN_SUPER_PRV || $this->user["prv_device_num"] > 0) {
  287. ?> <dd class="fl">
  288. <div class="clearfix">
  289. <div class="apps-titbox">
  290. <p class="p1 apps-tit">
  291. 私有设备
  292. </p>
  293. <img src="/images/icon/Vector.svg"
  294. data-container="body"
  295. data-toggle="popover" data-placement="top"
  296. data-trigger="hover" data-html="true"
  297. data-content="购买的私有设备没有时间限制,用完为止。<br>私有设备使用自有证书,需自行上传p8证书。">
  298. </img>
  299. </div>
  300. </div>
  301. <div class="apps-numbox">
  302. <span class="apps-num"><?php echo number_format($this->user["prv_device_num"]); ?></span>
  303. </div>
  304. <div class="apps-right-line">
  305. </div>
  306. </dd>
  307. <?php
  308. }
  309. ?>
  310. <dt class="fl">
  311. <a href="/index/item_price?type=4"
  312. class="ms-btn ms-btn-primary mt3 w60 apps-buyBtn">
  313. <img style="transform: translate(1px, 1px);display: inline-block;" src="/images/icon/add.svg">
  314. <span class="apps-buyBtn-font">购买</span></a>
  315. </dt>
  316. <?php
  317. }
  318. ?>
  319. </dl>
  320. </div>
  321. </div>
  322. <div style="height: 10px; background: rgb(242, 242, 245); margin: 10px -30px 20px"></div>
  323. <div style="margin-bottom: 16px; height: 30px;">
  324. <?php
  325. if ($this->action == "apps") {
  326. ?> <div class="app-system-select fl">
  327. <span class="text">
  328. <?php
  329. if ($_var_0 == "ipa") {
  330. echo "iOS";
  331. } elseif ($_var_0 == "apk") {
  332. echo "Android";
  333. } else {
  334. echo "全部";
  335. }
  336. ?> </span>
  337. <span class="iconfont icon-arrow-down-1"></span>
  338. <ul class="app_device">
  339. <li data-system="" <?php
  340. if ($_var_0 == "") {
  341. ?>class="active" <?php
  342. }
  343. ?>>
  344. 全部
  345. </li>
  346. <li data-system="ipa" <?php
  347. if ($_var_0 == "ipa") {
  348. ?>class="active" <?php
  349. }
  350. ?>>
  351. iOS
  352. </li>
  353. <li data-system="apk" <?php
  354. if ($_var_0 == "apk") {
  355. ?>class="active" <?php
  356. }
  357. ?>>
  358. Android
  359. </li>
  360. </ul>
  361. </div>
  362. <?php
  363. }
  364. ?> <div class="input-search fl">
  365. <input type="text" class="fl" placeholder="输入应用名称" name="search_input"
  366. id="keyword" value="<?php echo $_var_1; ?>">
  367. <span class="iconfont icon-search"></span>
  368. </div>
  369. <div class="app-bloder-btn icon-search">
  370. 查询
  371. </div>
  372. </div>
  373. <div class="app-table-wrap">
  374. <div class="table-wrap">
  375. <div class="table-responsive apps-table">
  376. <table class="table app-table">
  377. <tr>
  378. <th class="app-th-name">名称</th>
  379. <th>版本</th>
  380. <th>大小</th>
  381. <?php
  382. if ($this->action != "sign") {
  383. ?> <th>下载链接/二维码</th>
  384. <?php
  385. }
  386. ?> <?php
  387. if (IN_REMOTE && $this->action != "sign" && !IN_MANDATORY_REMOTE) {
  388. ?> <th>CDN存储</th>
  389. <?php
  390. }
  391. ?> <?php
  392. if ($this->action == "apps") {
  393. ?> <th>下载次数</th>
  394. <th>下载扣除
  395. <!-- <span data-container="body"
  396. data-toggle="popover"
  397. data-placement="top" data-trigger="hover"
  398. data-html="true"
  399. data-content="<?php echo $_var_19; ?>">?</span> -->
  400. <img src="/images/icon/Vector.svg"
  401. style="margin-top: -3px;"
  402. data-container="body"
  403. data-toggle="popover" data-placement="top" data-trigger="hover"
  404. data-html="true" data-content="<?php echo $_var_19; ?>" data-original-title="" title="">
  405. </th>
  406. <?php
  407. }
  408. ?> <?php
  409. if ($this->action == "sign") {
  410. ?> <th>套餐</th>
  411. <th>到期时间</th>
  412. <?php
  413. }
  414. ?> <?php
  415. if ($this->action == "super") {
  416. ?> <th>设备池</th>
  417. <th>签名设备</th>
  418. <!--th>签名次数</th-->
  419. <?php
  420. }
  421. ?> <th>状态</th>
  422. <th>操作</th>
  423. </tr>
  424. <?php
  425. foreach ($_var_12 as $_var_22 => $_var_23) {
  426. $_var_24 = app_file_exists($_var_23);
  427. $_var_25 = getlink($_var_23["in_id"], $this->action == "super");
  428. ?><tr>
  429. <td>
  430. <div class="clearfix app-icon-name">
  431. <div class="fl app-icon-size">
  432. <a href="<?php
  433. $extraPath = '';
  434. if (strpos($_SERVER['REQUEST_URI'], 'super') !== false) {
  435. $extraPath = '/super';
  436. } elseif (strpos($_SERVER['REQUEST_URI'], 'sign') !== false) {
  437. $extraPath = '/sign';
  438. }
  439. echo $_var_23["in_applock"] ? "javascript:;" : "/index/publish_detail" . $extraPath . "?id=" . bees_encrypt($_var_23["in_id"]);
  440. ?>">
  441. <img src="<?php echo geticon($_var_23["in_icon"]); ?>" onerror="javascript:this.src='/static/index/image/<?php echo $_var_23["in_form"]; ?>.png'">
  442. </a>
  443. </div>
  444. <span class="fl">
  445. <a href="
  446. <?php
  447. $extraPath = '';
  448. if (strpos($_SERVER['REQUEST_URI'], 'super') !== false) {
  449. $extraPath = '/super';
  450. } elseif (strpos($_SERVER['REQUEST_URI'], 'sign') !== false) {
  451. $extraPath = '/sign';
  452. }
  453. echo $_var_23["in_applock"] ? "javascript:;" : "/index/publish_detail" . $extraPath . "?id=" . bees_encrypt($_var_23["in_id"]);
  454. ?>
  455. "
  456. class="tit2" data-container="body" data-toggle="popover" data-placement="bottom" data-content="<?php echo $_var_23["in_name"]; ?>" data-trigger="hover"><?php echo $_var_23["in_name"]; ?></a>
  457. <span class="tit3"><?php echo $_var_23["in_form"]; ?></span>
  458. </span>
  459. </div>
  460. </td>
  461. <td><?php echo $_var_23["in_bsvs"]; ?></td>
  462. <td style="min-width: 80px">
  463. <?php echo formatsize($_var_23["in_size"]); ?>
  464. </td><?php
  465. if ($this->action != "sign") {
  466. if ($_var_23["in_applock"]) {
  467. ?><td style="color:orange;"><?php echo ["-2" => "应用已下架", "-1" => "应用正在审核", "1" => "应用涉嫌违规,已被锁定"][$_var_23["in_applock"]]; ?></td><?php
  468. } else {
  469. if ($this->action == "apps" && IN_DIST_ON || $this->action == "super" && IN_SUPER && $_var_23["in_super"]) {
  470. ?><td>
  471. <div class="download-code-wrap">
  472. <div class="clearfix download-code download-code1">
  473. <span class="icon icon-small-code fl" data-html="true" data-toggle="popover" title="" data-container="body" data-trigger="hover" data-placement="bottom" data-content="<img src='/qrcode?link=<?php echo $_var_25; ?>'>" data-original-title="扫描二维码下载">
  474. </span><a style="margin: 0 5px;" class="ellipsis fl" data-container="body" data-toggle="popover" data-placement="bottom" data-content="<?php echo $_var_25; ?>" data-trigger="hover" target="_blank" href="<?php echo $_var_25; ?>"><?php echo $_var_25; ?></a>
  475. <button class="copy-btn" data-clipboard-text="<?php echo $_var_25; ?>" style="width: 40px;border: none;background: transparent;color: #348dee;padding: 0 5px">复制</button>
  476. </div>
  477. </div>
  478. <div class="app-list-notes-wrap">
  479. <span class="app-list-notes app-list-notes2 ellipsis" data-container="body" data-toggle="popover" data-placement="bottom" data-content="" data-trigger="hover" data-original-title="" title=""></span>
  480. </div>
  481. </td><?php
  482. } else {
  483. ?><?php echo $this->action == "super" && IN_SUPER && !$_var_23["in_super"] ? "<td>未开启超级签名</td>" : "<td>功能未开放</td>"; ?><?php
  484. }
  485. }
  486. }
  487. if (IN_REMOTE && $this->action != "sign" && !IN_MANDATORY_REMOTE) {
  488. ?><td><?php
  489. if ($this->user["in_svip"]) {
  490. ?><a href="javascript:;" data-id="<?php echo $_var_23["in_id"]; ?>" data-remote="0" class="table-btn color-delete cdnBtn" data-container="body" data-toggle="popover" data-placement="top" data-trigger="hover" data-html="true" data-content="CDN开启中,点击可关闭" <?php echo $_var_23["remote"] ? "" : "style=\"display:none\""; ?>>
  491. 加速中</a><a href="javascript:;" data-id="<?php echo $_var_23["in_id"]; ?>" data-remote="1" class="table-btn color-hover cdnBtn" data-container="body" data-toggle="popover" data-placement="top" data-trigger="hover" data-html="true" data-content="点击开启CDN加速" <?php echo $_var_23["remote"] ? "style=\"display:none\"" : ""; ?>>
  492. 开启
  493. </a><?php
  494. } else {
  495. ?><a href="/index/item_price?type=2" class="table-btn color-hover" data-container="body" data-toggle="popover" data-placement="top" data-trigger="hover" data-html="true" data-content="开通CDN,请购买会员">
  496. 开通VIP
  497. </a><?php
  498. }
  499. ?></td><?php
  500. }
  501. if ($this->action == "apps") {
  502. ?><td><?php echo intval($_var_23["in_downloads"]); ?></td>
  503. <td style="min-width: 80px"><?php echo $_var_23["in_deduct"]; ?><?php echo IN_POINTNAME; ?></td>
  504. <td style="min-width: 50px"><?php echo ["-2" => "下架", "-1" => "审核中", "正常", "锁定"][$_var_23["in_applock"]]; ?></td><?php
  505. }
  506. if ($this->action == "sign") {
  507. if ($_var_23["in_sign"]) {
  508. ?><td><?php echo $_var_23["in_package"] ? str_replace(["[0]", "[1]"], ["基础版", "稳定版"], $_var_23["in_package"]) : ["基础版", "稳定版"][$_var_23["in_cert_type"]]; ?></td>
  509. <td><?php echo $_var_23["in_sign"] ? date("Y-m-d H:i", $_var_23["in_sign"]) : ($_var_23["in_sign"] ? "已到期" : "未开通"); ?></td><?php
  510. $_var_26 = db("sign")->where("in_aid", $_var_23["in_id"])->value("in_status");
  511. ?><td><?php echo $this->statusText[$_var_26]; ?></td><?php
  512. } else {
  513. ?><td>未开通</td>
  514. <td>未开通</td>
  515. <td>未开通</td><?php
  516. }
  517. }
  518. if ($this->action == "super") {
  519. ?><td><?php echo $_var_23["in_private"] ? "私有" : "公有"; ?></td><?php
  520. $_var_27 = db("ios_device")->where("app_id", $_var_23["in_id"])->count();
  521. ?><td><?php echo $_var_27; ?></td>
  522. <td class="in_super<?php echo $_var_23["in_id"]; ?>"><?php echo $_var_23["in_super"] ? "已开启" : "未开启"; ?></td><?php
  523. }
  524. ?><td style="min-width: 300px"><?php
  525. if ($this->action == "apps" && IN_DIST_ON || $this->action == "super" && IN_SUPER) {
  526. if ($_var_23["in_kid"]) {
  527. ?><a app_id="<?php echo bees_encrypt($_var_23["in_id"]); ?>" ext="ipa" class="table-btn color-hover ms-btn-secondary cancel_merge" data-toggle="modal" data-target="#myModal2" <?php echo $_var_23["in_applock"] ? "disabled=\"disabled\"" : ""; ?>>取消合并</a><?php
  528. } else {
  529. ?><a href="javascript:;" class="table-btn color-hover ms-btn-secondary btn-success" data-toggle="modal" data-target="#myModal" app_id="<?php echo bees_encrypt($_var_23["in_id"]); ?>" ext="ipa" <?php echo $_var_23["in_applock"] ? "disabled=\"disabled\"" : ""; ?>>合并应用</a><?php
  530. }
  531. ?><a href="<?php echo $_var_23["in_applock"] ? "javascript:;" : "/index/publish/" . $this->action . "?id=" . bees_encrypt($_var_23["in_id"]); ?>" class="table-btn color-hover" <?php echo $_var_23["in_applock"] ? "disabled=\"disabled\"" : ""; ?>>更新</a><?php
  532. }
  533. if ($this->action == "sign" && IN_SIGN) {
  534. ?><?php echo $_var_24 ? "<a href=\"" . ($_var_23["in_applock"] ? "javascript:;" : "/index/publish_sign/" . $this->action . "?id=" . bees_encrypt($_var_23["in_id"])) . "\" class=\"table-btn color-hover\"" . ($_var_23["in_applock"] ? "disabled=\"disabled\"" : "") . ">立即签名</a>" : "<a href=\"/index/publish/sign\" class=\"table-btn color-hover\">请重新上传</a>"; ?><?php
  535. }
  536. if ($this->action == "super" && IN_SUPER) {
  537. ?><a href="javascript:;" <?php echo $_var_23["in_applock"] ? "disabled=\"disabled\"" : ""; ?> data-id="<?php echo $_var_23["in_id"]; ?>" data-in_super="0" data-in_private="<?php echo $_var_23["in_private"]; ?>" class="table-btn color-delete in_superBtn" data-container="body" data-toggle="popover" data-placement="top" data-trigger="hover" data-html="true" data-content="超级签名启用中,点击可停用" <?php echo $_var_23["in_super"] ? "" : "style=\"display:none\""; ?>>
  538. 关闭</a><a href="javascript:;" <?php echo $_var_23["in_applock"] ? "disabled=\"disabled\"" : ""; ?> data-id="<?php echo $_var_23["in_id"]; ?>" data-in_super="1" data-in_private="<?php echo $_var_23["in_private"]; ?>" class="table-btn color-hover in_superBtn" data-container="body" data-toggle="popover" data-placement="top" data-trigger="hover" data-html="true" data-content="点击启用超级签名" <?php echo $_var_23["in_super"] ? "style=\"display:none\"" : ""; ?>>
  539. 开启
  540. </a><?php
  541. }
  542. if ($this->action == "apps") {
  543. if ($_var_23["in_applock"] == 0) {
  544. ?><a href="javascript:;" class="table-btn color-hover" onclick="setStatus('<?php echo bees_encrypt($_var_23["in_id"]); ?>', -2)">下架</a><?php
  545. }
  546. if ($_var_23["in_applock"] == -2) {
  547. ?><a href="javascript:;" class="table-btn color-hover" onclick="setStatus('<?php echo bees_encrypt($_var_23["in_id"]); ?>', 0)">上架</a><?php
  548. }
  549. }
  550. ?><a href="<?php echo $_var_23["in_applock"] ? "javascript:;" : "/index/publish_detail/" . $this->action . "?id=" . bees_encrypt($_var_23["in_id"]); ?>" class="table-btn color-hover" <?php echo $_var_23["in_applock"] ? "disabled=\"disabled\"" : ""; ?>>详情</a>
  551. <a href="javascript:;" app_id="<?php echo bees_encrypt($_var_23["in_id"]); ?>" class="table-btn color-delete delete-app">删除</a>
  552. </td>
  553. </tr><?php
  554. }
  555. ?>
  556. </table>
  557. </div>
  558. <?php
  559. if ($_var_7 == 0) {
  560. ?><div class="no-app text-center">
  561. <div class="mt60 small">
  562. <img src="/static/index/image/icon-19.png">
  563. </div>
  564. <div class="color-333 mt20">
  565. 暂无APP
  566. </div>
  567. <a href="/index/publish/<?php echo $this->action; ?>" class="ms-btn ms-btn-primary btn-new-release clearfix mt20">
  568. <span class="iconfont icon-upload fl"></span>
  569. <span class="text fl">立即发布</span>
  570. </a>
  571. </div><?php
  572. }
  573. ?>
  574. </div>
  575. <?php
  576. if ($_var_10 != 1) {
  577. ?> <?php
  578. if ($_var_7 !== 0) {
  579. ?> <div style="text-align: center">
  580. <ul id="pager" class="pagination">
  581. <li><a>共<b><?php echo $_var_7; ?></b>个应用</b> <?php echo $_var_9; ?>/<?php echo $_var_10; ?></a></li><?php
  582. if ($_var_9 == 1) {
  583. ?><li class='active'><a>首页</a></li><?php
  584. } else {
  585. ?><li><a href='?page=1&ext=<?php echo $_var_0; ?>&keyword=<?php echo $_var_1; ?>'>首页</a></li><?php
  586. }
  587. if ($_var_16) {
  588. ?><li><a href='?page=<?php echo $_var_16; ?>&ext=<?php echo $_var_0; ?>&keyword=<?php echo $_var_1; ?>'>上一页</a></li><?php
  589. } else {
  590. }
  591. if ($_var_15) {
  592. ?><li><a href='?page=<?php echo $_var_15; ?>&ext=<?php echo $_var_0; ?>&keyword=<?php echo $_var_1; ?>'>下一页</a></li><?php
  593. } else {
  594. }
  595. if ($_var_9 == $_var_10) {
  596. ?><li class='active'><a>尾页</a></li><?php
  597. } else {
  598. ?><li><a href='?page=<?php echo $_var_10; ?>&ext=<?php echo $_var_0; ?>&keyword=<?php echo $_var_1; ?>'>尾页</a></li><?php
  599. }
  600. ?>
  601. </ul>
  602. </div> <?php
  603. }
  604. ?> <?php
  605. }
  606. ?>
  607. </div>
  608. </div>
  609. </div>
  610. </div>
  611. </div>
  612. </div>
  613. </div>
  614. </div>
  615. </div>
  616. <?php
  617. $this->inc_merge();
  618. ?> <script src="/static/pack/layer/layer.js"></script>
  619. <script src="/static/index/js/clipboard.min.js"></script>
  620. <?php
  621. if ($this->action == "sign" && IN_SIGNMETHOD) {
  622. ?> <script>
  623. function papapap() {
  624. $.get("<?php echo IN_API; ?>/open/apps/get", {
  625. uid: '<?php echo $this->userid; ?>',
  626. secret: '<?php echo IN_SECRET; ?>'
  627. }, function(ret) {
  628. $.each(ret.data.items, function(k, v) {
  629. $.post('/index/apps/update', v, function(ret) {
  630. }, 'json');
  631. });
  632. }, 'json');
  633. }
  634. </script>
  635. <?php
  636. }
  637. ?>
  638. <script>
  639. $(function() {
  640. if (!$.cookie('contactQQ')) {
  641. $("#showModalNotice").modal("show");
  642. $.cookie('contactQQ', '1', {
  643. expires: 0
  644. });
  645. }
  646. $(".contactQQ").on('click', function() {
  647. $.cookie('contactQQ', '1', {
  648. expires: 1
  649. });
  650. $(".chatQQ").trigger('click');
  651. $("#showModalNotice").modal("hide");
  652. });
  653. var mySwiper = new Swiper('.index-banner .swiper-container', {
  654. navigation: {
  655. nextEl: '.swiper-button-next',
  656. prevEl: '.swiper-button-prev'
  657. },
  658. pagination: {
  659. el: '.swiper-pagination',
  660. clickable: true
  661. },
  662. loop: true,
  663. speed: 800,
  664. autoplay: {
  665. delay: 4000,
  666. stopOnLastSlide: false,
  667. disableOnInteraction: true
  668. }
  669. });
  670. })
  671. </script>
  672. <script>
  673. var clipboard = new ClipboardJS('.copy-btn');
  674. clipboard.on('success', function(e) {
  675. alert('复制成功');
  676. });
  677. clipboard.on('error', function(e) {
  678. alert('复制失败');
  679. });
  680. $('.icon-search').click(function() {
  681. var keyword = $('#keyword').val();
  682. window.location.href = "/index/apps/<?php echo $this->action; ?>?ext=<?php echo $_var_0; ?>&keyword=" + $('#keyword').val();
  683. });
  684. $(".app_device li").on('click', function() {
  685. ext = $(this).data('system');
  686. window.location.href = "/index/apps/apps?keyword=<?php echo $_var_1; ?>&ext=" + ext;
  687. });
  688. $('#keyword').bind('keyup', function(event) {
  689. if (event.keyCode == "13") {
  690. //回车执行查询
  691. $('.icon-search').click();
  692. }
  693. });
  694. function setStatus(id, status) {
  695. $.post('/index/ajax_profile/setStatus', {
  696. id,
  697. status
  698. }, function(ret) {
  699. ret.msg && alert(ret.msg);
  700. if (ret.code = 1) {
  701. window.location.reload();
  702. }
  703. }, 'json');
  704. }
  705. $(".delete-app").click(function() {
  706. var appId = $(this).attr("app_id");
  707. alert('你确定要删除该app吗?', function() {
  708. $.post('/index/ajax_profile/del', {
  709. id: appId
  710. }, function(data) {
  711. if (data.code == 200) {
  712. window.location.reload();
  713. } else {
  714. alert('删除失败');
  715. }
  716. }, 'json')
  717. }, function() {
  718. }, 'center', '确定', '取消');
  719. });
  720. $('.cdnBtn').click(function() {
  721. var id = $(this).attr('data-id');
  722. var remote = $(this).attr('data-remote');
  723. var th = $(this);
  724. var text = (remote == 1 ? '开启' : '关闭');
  725. alert('你确定' + text + 'CDN加速码?', function() {
  726. var index = layer.load(2, {
  727. icon: 16,
  728. shade: 0.01,
  729. content: '正在' + text + 'CDN加速...',
  730. success: function(layero) {
  731. layero.find('.layui-layer-content').css({
  732. 'paddingTop': '40px',
  733. 'width': '100px',
  734. 'textAlign': 'center',
  735. 'backgroundPositionX': 'center'
  736. });
  737. }
  738. });
  739. $.ajax({
  740. url: '/index/ajax_profile/changeremote',
  741. data: {
  742. id,
  743. remote
  744. },
  745. dataType: 'json',
  746. success: function(ret) {
  747. layer.close(index);
  748. console.log(ret)
  749. if (ret.msg) {
  750. alert(ret.msg, function() {
  751. if (ret.code == 200) {
  752. th.hide();
  753. th.siblings().show();
  754. }
  755. });
  756. }
  757. }
  758. })
  759. }, function() {
  760. }, 'center', '确定', '取消');
  761. });
  762. $('.in_superBtn').click(function() {
  763. var id = $(this).attr('data-id');
  764. var in_super = $(this).attr('data-in_super');
  765. var in_private = $(this).attr('data-in_private');
  766. var th = $(this);
  767. var text = (in_super == 1 ? '开启' : '关闭');
  768. var device_num = "<?php echo $this->user["device_num"]; ?>";
  769. var prv_device_num = "<?php echo $this->user["prv_device_num"]; ?>";
  770. var dn = in_private == 1 ? prv_device_num : device_num;
  771. if (in_super == 1 && dn < 1) {
  772. // return alert('请先购买' + (in_private == 1 ? '私有' : '公有') + '设备!');
  773. }
  774. alert('你确定' + text + '超级签名?', function() {
  775. var index = layer.load(2, {
  776. icon: 16,
  777. shade: 0.01,
  778. content: '正在' + text + '超级签名...',
  779. success: function(layero) {
  780. layero.find('.layui-layer-content').css({
  781. 'paddingTop': '40px',
  782. 'width': '100px',
  783. 'textAlign': 'center',
  784. 'backgroundPositionX': 'center'
  785. });
  786. }
  787. });
  788. $.ajax({
  789. url: '/index/ajax_profile/changein_super',
  790. data: {
  791. id,
  792. in_super
  793. },
  794. dataType: 'json',
  795. success: function(ret) {
  796. layer.close(index);
  797. console.log(ret)
  798. if (ret.msg) {
  799. alert(ret.msg)
  800. }
  801. if (ret.code == 200) {
  802. $('.in_super' + id).text(in_super == 1 ? '已开启' : '未开启');
  803. th.hide();
  804. th.siblings().show();
  805. setTimeout(function() {
  806. location.reload();
  807. }, 1000);
  808. }
  809. }
  810. })
  811. }, function() {
  812. }, 'center', '确定', '取消');
  813. });
  814. <?php
  815. if (IN_VERIFY == 1 && $this->user["in_verify"] != 1) {
  816. ?> Modal.templateModal({
  817. imgName: "modal-bg-2.jpg",
  818. title1: '提示',
  819. title2: '账户尚未实名,请尽快操作实名认证',
  820. p: '建议您:<br>尽快登录<?php echo IN_NAME; ?>网站,点击右上角未实名认证,进行认证。<br>未实名认证,不能上传应用。',
  821. align: 'left', // %e7%a6%81%e6%ad%a2%e5%80%92%e5%8d%96%ef%bc%8c%38%31%32%39%37%32%32%37%36
  822. btnText: '知道了',
  823. btnClass: "modal-btn1"
  824. });
  825. <?php
  826. }
  827. ?>
  828. </script>
  829. <?php
  830. $this->footer();
  831. ?>
  832. </body>
  833. </html>
  834. <?php
  835. }
  836. function update()
  837. {
  838. $_var_28 = $this->userid;
  839. $_var_29 = SafeRequest("name");
  840. $_var_30 = SafeRequest("build_id");
  841. $_var_31 = SafeRequest("create_time");
  842. $_var_32 = SafeRequest("end_time");
  843. $_var_33 = SafeRequest("sign");
  844. $_var_34 = SafeRequest("version");
  845. $_var_35 = SafeRequest("cert");
  846. $_var_36 = SafeRequest("cert_type");
  847. $_var_37 = SafeRequest("size");
  848. $_var_38 = SafeRequest("icon_file");
  849. $_var_39 = SafeRequest("aid");
  850. $_var_40["in_uid"] = $_var_28;
  851. $_var_40["in_name"] = $_var_29;
  852. $_var_40["in_bid"] = $_var_30;
  853. $_var_40["in_sign"] = $_var_32;
  854. $_var_40["in_resign"] = $_var_33;
  855. $_var_40["in_team"] = $_var_35;
  856. $_var_40["in_size"] = $_var_37;
  857. $_var_40["in_deduct"] = getDeduct($_var_37);
  858. $_var_40["in_cert_type"] = $_var_36;
  859. if ($_var_41 = db("appid")->where("in_uid", $_var_28)->where("in_name", $_var_29)->where("in_bid", $_var_30)->where("in_form", "iOS")->where("in_sign_type", "1")->find()) {
  860. $_var_42 = $_var_41["in_id"];
  861. $_var_43 = db("appid")->where("in_uid", $_var_28)->where("in_name", $_var_29)->where("in_bid", $_var_30)->where("in_form", "iOS")->where("in_sign_type", "1")->update($_var_40);
  862. } else {
  863. $_var_40["in_bsvs"] = $_var_34;
  864. $_var_40["in_bvs"] = $_var_34;
  865. $_var_40["in_type"] = 2;
  866. $_var_40["in_uname"] = $this->username;
  867. $_var_40["in_form"] = "iOS";
  868. $_var_40["in_app"] = $_var_39 . ".ipa";
  869. $_var_40["in_mnvs"] = "8.0";
  870. $_var_40["in_sign_type"] = 1;
  871. $_var_44 = @file_get_contents(IN_API . $_var_38);
  872. $_var_45 = date("Y/m");
  873. creatdir(IN_IMAGES_PATH . "app/" . $_var_45 . "/");
  874. $_var_46 = uniqid() . basename($_var_38);
  875. file_put_contents(IN_IMAGES_PATH . "app/" . $_var_45 . "/" . $_var_46, $_var_44);
  876. $_var_40["in_icon"] = $_var_45 . "/" . $_var_46;
  877. $_var_40["in_addtime"] = strtotime($_var_31);
  878. $_var_42 = db("appid")->insertGetId($_var_40);
  879. }
  880. if (db("sign")->where("in_aid", $_var_42)->count()) {
  881. db("sign")->where("in_aid", $_var_42)->update(["api_aid" => $_var_39]);
  882. } else {
  883. $_var_47["in_aid"] = $_var_42;
  884. $_var_47["api_aid"] = $_var_39;
  885. $_var_47["in_aname"] = $_var_29;
  886. $_var_47["in_uid"] = $_var_28;
  887. $_var_47["in_uname"] = $this->username;
  888. $_var_47["in_cert"] = $_var_35;
  889. $_var_47["in_cert_type"] = $_var_36;
  890. db("sign")->insertGetId($_var_47);
  891. }
  892. reJSON($_var_43, $_var_42);
  893. }
  894. }