publish_setting.php 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571
  1. <?php
  2. // by 请勿倒卖,已申请软著,否则追究法律责任
  3. namespace app\index;
  4. class publish_setting extends BaseUser
  5. {
  6. function index()
  7. {
  8. $id = bees_decrypt(SafeRequest("id", "get"));
  9. $row = db("appid")->where("in_uid", $this->userid)->where("in_id", $id)->find();
  10. $row or exit(include_once dirname(__FILE__) . "/../pack/error/404.php");
  11. $ssl = is_ssl() ? "https://" : "http://";
  12. $link = $ssl . $_SERVER["HTTP_HOST"] . IN_PATH;
  13. ?>
  14. <!DOCTYPE html>
  15. <html lang="">
  16. <head>
  17. <meta charset="utf-8">
  18. <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0" />
  19. <meta name="keywords" content="<?php echo IN_KEYWORDS; ?>" />
  20. <meta name="description" content="<?php echo IN_DESCRIPTION; ?>" />
  21. <title><?php echo $row["in_name"]; ?>应用详情 - <?php echo IN_NAME; ?></title>
  22. <?php
  23. $this->static_();
  24. ?> <script charset="utf-8" src="/static/pack/kindeditor/kindeditor-all-min.js"></script>
  25. <script>
  26. var editor;
  27. KindEditor.ready(function(K) {
  28. editor = K.create('textarea[name="app_intro"]', {
  29. resizeType: 1,
  30. allowPreviewEmoticons: false,
  31. allowImageUpload: false,
  32. items: [
  33. 'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold', 'italic', 'underline',
  34. 'removeformat', '|', 'justifyleft', 'justifycenter', 'justifyright', 'insertorderedlist',
  35. 'insertunorderedlist', '|', 'emoticons', 'image', 'link'
  36. ]
  37. });
  38. })
  39. </script>
  40. </head>
  41. <body>
  42. <?php
  43. $this->header();
  44. ?>
  45. <link rel="stylesheet" href="/static/pack/font-awesome-4.7.0/css/font-awesome.css" />
  46. <script src="/static/index/js/jquery.form.js"></script>
  47. <div class="release-app-wrap">
  48. <div class="container">
  49. <div class="release-app2">
  50. <div class="crumbs">
  51. <a href="/index/apps/apps">我的应用</a>
  52. <span>/</span>
  53. <a href="/index/apps/apps">应用列表</a>
  54. <span>/</span>
  55. <?php echo $row["in_name"]; ?>
  56. </div>
  57. <div class="row clearfix">
  58. <?php
  59. $this->publish_left();
  60. ?> <div class="col-sm-10">
  61. <div class="aside-right">
  62. <form class="form-horizontal" id="app_setting_form"
  63. action="/index/ajax_profile/edit" method="post">
  64. <div class="app-details app-details2 app-set1">
  65. <?php
  66. $this->publish_top($row);
  67. ?>
  68. <hr>
  69. <div class="app-set">
  70. <ul class="tab clearfix">
  71. <li class="active">基本设置</li>
  72. <li>高级设置</li>
  73. <li>模板设置</li>
  74. </ul>
  75. <div class="tab-con">
  76. <div class="basic" style="display: block;">
  77. <div class="form-group clearfix">
  78. <label class="control-label col-sm-1"><span>*</span>应用名称</label>
  79. <div class="col-sm-6">
  80. <input id="app_name" name="app_name" class="form-control"
  81. type="text" placeholder="APP的名字"
  82. value="<?php echo $row["in_name"]; ?>">
  83. </div>
  84. </div>
  85. <div class="form-group clearfix short-link">
  86. <label class="control-label col-sm-1"><span>*</span>短链接</label>
  87. <div class="col-sm-6 clearfix">
  88. <div class="col-sm-6 link"><?php echo $link; ?></div>
  89. <div class="col-sm-6">
  90. <input id="url" name="url" class="form-control"
  91. type="text"
  92. placeholder="例如:abcdef"
  93. value="<?php echo $row["in_link"]; ?>">
  94. </div>
  95. </div>
  96. </div>
  97. </div>
  98. <div class="senior">
  99. <div class="form-group clearfix" <?php echo $row["in_form"] == "iOS" && $this->action != "super" ? "" : "style=\"display:none\""; ?>>
  100. <label class="control-label col-sm-1">信任教程</label>
  101. <div class="col-sm-6">
  102. <ul class="clearfix trust in_tutorial">
  103. <li class="clearfix <?php
  104. if ($row["in_tutorial"] == 1) {
  105. ?>active<?php
  106. }
  107. ?>"
  108. data-value="1">
  109. <span class="icon icon-radio fl <?php
  110. if ($row["in_tutorial"] == 1) {
  111. ?>icon-radio-checked<?php
  112. }
  113. ?>"></span>
  114. <span class="fl">显示</span>
  115. </li>
  116. <li class="clearfix <?php
  117. if ($row["in_tutorial"] == 0) {
  118. ?>active<?php
  119. }
  120. ?>"
  121. data-value="0">
  122. <span class="icon icon-radio fl <?php
  123. if ($row["in_tutorial"] == 0) {
  124. ?>icon-radio-checked<?php
  125. }
  126. ?>"></span>
  127. <span class="fl">不显示</span>
  128. </li>
  129. </ul>
  130. </div>
  131. <input type="hidden" name="show_guide"
  132. value="<?php echo $row["in_tutorial"]; ?>">
  133. </div>
  134. <div class="form-group clearfix" <?php echo $this->action == "super" ? "" : "style=\"display:none\""; ?>>
  135. <label class="control-label col-sm-1">下载池</label>
  136. <div class="col-sm-6">
  137. <ul class="clearfix trust in_private">
  138. <li class="clearfix <?php
  139. if ($row["in_private"] == 0) {
  140. ?>active<?php
  141. }
  142. ?>">
  143. <span class="icon icon-radio fl <?php
  144. if ($row["in_private"] == 0) {
  145. ?>icon-radio-checked<?php
  146. }
  147. ?>"></span>
  148. <span class="fl">公有</span>
  149. </li>
  150. <li class="clearfix <?php
  151. if ($row["in_private"] == 1) {
  152. ?>active<?php
  153. }
  154. ?>">
  155. <span class="icon icon-radio fl <?php
  156. if ($row["in_private"] == 1) {
  157. ?>icon-radio-checked<?php
  158. }
  159. ?>"></span>
  160. <span class="fl">私有</span>
  161. </li>
  162. </ul>
  163. </div>
  164. <input type="hidden" name="in_private" value="<?php echo $row["in_private"]; ?>">
  165. </div>
  166. <div class="form-group clearfix">
  167. <label class="control-label col-sm-1">下载方式</label>
  168. <div class="col-sm-10">
  169. <ul class="clearfix download-way">
  170. <li class="clearfix active" data-value="0">
  171. <span class="icon icon-radio <?php
  172. if (empty($row["in_use_auth_code"]) && empty($row["in_apppwd"])) {
  173. ?>icon-radio-checked <?php
  174. }
  175. ?>fl"></span>
  176. <span class="fl">公开安装</span>
  177. </li>
  178. <li class="clearfix" data-value="1">
  179. <span class="icon icon-radio <?php
  180. if (empty($row["in_use_auth_code"]) && $row["in_apppwd"]) {
  181. ?>icon-radio-checked <?php
  182. }
  183. ?>fl"></span>
  184. <span class="fl">密码安装</span>
  185. </li>
  186. <li class="clearfix" data-value="2" <?php echo $this->action == "super" ? "" : "style=\"display:none\""; ?>>
  187. <span class="icon icon-radio <?php
  188. if ($row["in_use_auth_code"]) {
  189. ?>icon-radio-checked <?php
  190. }
  191. ?>fl"></span>
  192. <span class="fl">授权码安装</span>
  193. </li>
  194. <input type="hidden" name="in_use_auth_code" value="<?php echo $row["in_use_auth_code"]; ?>">
  195. </ul>
  196. </div>
  197. </div>
  198. <div id="apppwd" class="form-group clearfix" <?php
  199. if (empty($row["in_apppwd"])) {
  200. ?> style="display: none;" <?php
  201. }
  202. ?>>
  203. <label class="control-label col-sm-1">下载密码</label>
  204. <div class="col-sm-6">
  205. <input id="password" name="password" class="form-control" autocomplete="false" type="text" placeholder="请输入下载密码" value="">
  206. </div>
  207. </div>
  208. <div class="form-group clearfix auth_code_dispense_url" <?php
  209. if (empty($row["in_use_auth_code"]) || $this->action != "super") {
  210. ?> style="display: none;" <?php
  211. }
  212. ?>>
  213. <label class="control-label col-sm-1">购码地址</label>
  214. <div class="col-sm-6">
  215. <input id="auth_code_dispense_url" name="auth_code_dispense_url" class="form-control" autocomplete="false" type="text" placeholder="默认留空,在平台购卡,也可自定义填写" value="<?php echo $row["auth_code_dispense_url"]; ?>">
  216. </div>
  217. </div>
  218. <div class="form-group clearfix">
  219. <label class="control-label col-sm-1">验证码</label>
  220. <div class="col-sm-6">
  221. <ul class="clearfix trust in_captcha">
  222. <li class="clearfix <?php
  223. if ($row["in_captcha"] == 0) {
  224. ?>active<?php
  225. }
  226. ?>"
  227. data-value="0">
  228. <span class="icon icon-radio fl <?php
  229. if ($row["in_captcha"] == 0) {
  230. ?>icon-radio-checked<?php
  231. }
  232. ?>"></span>
  233. <span class="fl">不启用</span>
  234. </li>
  235. <li class="clearfix <?php
  236. if ($row["in_captcha"] == 1) {
  237. ?>active<?php
  238. }
  239. ?>"
  240. data-value="1">
  241. <span class="icon icon-radio fl <?php
  242. if ($row["in_captcha"] == 1) {
  243. ?>icon-radio-checked<?php
  244. }
  245. ?>"></span>
  246. <span class="fl">启用</span>
  247. </li>
  248. </ul>
  249. </div>
  250. <input type="hidden" name="in_captcha"
  251. value="<?php echo $row["in_captcha"]; ?>">
  252. </div>
  253. <div class="form-group clearfix">
  254. <label class="control-label col-sm-1">下载限制</label>
  255. <div class="col-sm-6">
  256. <input id="limit_num" name="limit_num" class="form-control"
  257. type="text" placeholder="请输入限制下载次数,不填或填0表示不限制"
  258. value="<?php echo $row["in_applimit"]; ?>">
  259. </div>
  260. </div>
  261. <div class="form-group clearfix">
  262. <label class="control-label col-sm-1">联系方式</label>
  263. <div class="col-sm-6">
  264. <input id="qq" name="qq" class="form-control" type="text"
  265. placeholder="请输入微信/QQ/手机号(格式:微信 123456696)"
  266. value="<?php echo $row["in_contact"]; ?>">
  267. </div>
  268. </div>
  269. <?php
  270. if ($row["in_form"] == "iOS") {
  271. ?> <div class="form-group clearfix">
  272. <label class="control-label col-sm-1">苹果商店地址</label>
  273. <div class="col-sm-6">
  274. <input class="form-control" autocomplete="false"
  275. id="appstore_url" name="appstore_url"
  276. value="<?php echo $row["in_appstore"]; ?>"
  277. placeholder="请输入苹果商店地址">
  278. </div>
  279. </div>
  280. <?php
  281. }
  282. ?> <div class="form-group clearfix">
  283. <label class="control-label col-sm-1">备注</label>
  284. <div class="col-sm-6">
  285. <input class="form-control" type="text"
  286. placeholder="请输入备注说明"
  287. name="remark"
  288. value="<?php echo $row["in_remark"]; ?>">
  289. </div>
  290. </div>
  291. <div class="form-group clearfix">
  292. <label class="control-label col-sm-1">应用介绍</label>
  293. <div class="col-sm-6">
  294. <textarea class="form-control" rows="4" type="text"
  295. placeholder="请输入应用介绍" id="app_intro"
  296. name="app_intro"
  297. style="width:500px;height:200px;visibility:hidden;"><?php echo $row["in_appintro"]; ?></textarea>
  298. </div>
  299. </div>
  300. </div>
  301. <div class="download-template">
  302. <div class="form-group clearfix">
  303. <label class="control-label col-sm-1">设置语言</label>
  304. <div class="col-sm-10">
  305. <ul class="clearfix template-language radio-round" style="margin-top:7px;">
  306. <li class="clearfix active" data-language="zh">
  307. <span class="icon icon-radio <?php
  308. if ($row["template_language"] == "zh") {
  309. ?>icon-radio-checked <?php
  310. }
  311. ?>fl"></span>
  312. <span class="fl">简体中文</span>
  313. </li>
  314. <li class="clearfix " data-language="en">
  315. <span class="icon icon-radio <?php
  316. if ($row["template_language"] == "en") {
  317. ?>icon-radio-checked <?php
  318. }
  319. ?>fl "></span>
  320. <span class="fl">English</span>
  321. </li>
  322. <li class="clearfix " data-language="zh-tw">
  323. <span class="icon icon-radio <?php
  324. if ($row["template_language"] == "zh-tw") {
  325. ?>icon-radio-checked <?php
  326. }
  327. ?>fl "></span>
  328. <span class="fl">繁體中文</span>
  329. </li>
  330. <input type="hidden" name="template_language"
  331. value="<?php echo $row["template_language"]; ?>">
  332. </ul>
  333. </div>
  334. </div>
  335. <div class="form-group">
  336. <label class="control-label col-sm-1">设置模板</label>
  337. <div class="col-sm-10">
  338. <ul class="clearfix">
  339. <?php
  340. foreach (range(1, 7) as $k => $v) {
  341. ?> <li>
  342. <div class="t-checked-wrap">
  343. <img src="/static/index/image/template-<?php echo $v; ?>.jpg"
  344. class="img-responsive">
  345. <div class="t-checked"
  346. <?php echo $row["template"] == $v ? "style=\"display: flex\"" : ""; ?>>
  347. <span class="iconfont icon-xuanzhong1"></span>
  348. </div>
  349. </div>
  350. <a href="/index/template/<?php echo bees_encrypt($row["in_id"]); ?>/tmp<?php echo $v; ?>"
  351. target="_blank" class="text">预览</a>
  352. <input type="radio" name="template"
  353. value="<?php echo $v; ?>" <?php
  354. if ($row["template"] == $v) {
  355. ?>checked<?php
  356. }
  357. ?> class="hidden">
  358. </li>
  359. <?php
  360. }
  361. ?> </ul>
  362. </div>
  363. </div>
  364. </div>
  365. </div>
  366. <div class="form-group clearfix">
  367. <input type="hidden" name="id"
  368. value="<?php echo bees_encrypt($row["in_id"]); ?>" />
  369. <label class="control-label col-sm-1"></label>
  370. <div class="col-sm-6">
  371. <button id="submitButton" type="button"
  372. class="ms-btn ms-btn-primary w140">
  373. 保存
  374. </button>
  375. </div>
  376. </div>
  377. </div>
  378. </div>
  379. </form>
  380. </div>
  381. </div>
  382. </div>
  383. </div>
  384. </div>
  385. </div>
  386. <div class="modal fade ms-modal auto-hide-modal" id="msModalSetting" tabindex="-1" role="dialog"
  387. style="display: none;">
  388. <div class="modal-dialog modal-sm" role="document">
  389. <div class="modal-content">
  390. <div class="modal-body">
  391. <div class="text-center">
  392. <div class="auto-hide">
  393. <span class="icon icon-modal-success3"></span>
  394. <div class="mt5">
  395. 保存成功
  396. </div>
  397. </div>
  398. </div>
  399. </div>
  400. </div>
  401. </div>
  402. </div>
  403. <?php
  404. $this->inc_merge();
  405. ?> <script>
  406. var app_id = '<?php echo bees_encrypt($id); ?>';
  407. Layout.initUploadPic();
  408. tab.radioRound({
  409. el: ".radio-round li",
  410. checkedClass: "icon-radio-checked"
  411. });
  412. // 下载模板选中
  413. $(".download-template ul li .t-checked-wrap").click(function() {
  414. var i = $(this).parent().index();
  415. $(".download-template ul li .t-checked-wrap").find(".t-checked").hide();
  416. $(this).find(".t-checked").css("display", "flex");
  417. $(".download-template ul li input[type=radio]").prop("checked", false);
  418. $(this).parent("li").find("input[type=radio]").prop("checked", true);
  419. });
  420. // 设置模板页语言
  421. $(".download-template .template-language li").click(function() {
  422. var val = $(this).data('language');
  423. $("input[name='template_language']").val(val);
  424. });
  425. $('#submitButton').click(function() {
  426. editor.sync();
  427. $('#app_setting_form').ajaxSubmit({
  428. dataType: 'json',
  429. success: function(data) {
  430. if (data.code != 200) {
  431. alert(data.msg);
  432. } else {
  433. // $(".app-details").find(".details-preview").attr('href', '/' + data.data.url);
  434. $("#msModalSetting").find(".modal-dialog").addClass("modal-sm").find(".auto-hide .mt5").text("保存成功");
  435. autoHideModal('#msModalSetting', 3000);
  436. }
  437. }
  438. });
  439. });
  440. $('#password').val('<?php echo $row["in_apppwd"]; ?>');
  441. $('#url').val('<?php echo $row["in_link"]; ?>');
  442. $('#appstore_url').val('<?php echo $row["in_appstore"]; ?>');
  443. function fileSelect() {
  444. $("#fileToUpload").click();
  445. }
  446. function fileSelected() {
  447. var $file = $('#fileToUpload');
  448. var fileObj = $file[0];
  449. var windowURL = window.URL || window.webkitURL;
  450. var dataURL;
  451. var $img = $("#icon");
  452. if (fileObj && fileObj.files && fileObj.files[0]) {
  453. dataURL = windowURL.createObjectURL(fileObj.files[0]);
  454. $img.attr('src', dataURL);
  455. } else {
  456. dataURL = $file.val();
  457. var imgObj = document.getElementById("preview");
  458. // 两个坑:
  459. // 1、在设置filter属性时,元素必须已经存在在DOM树中,动态创建的Node,也需要在设置属性前加入到DOM中,先设置属性在加入,无效;
  460. // 2、src属性需要像下面的方式添加,上面的两种方式添加,无效;
  461. imgObj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";
  462. imgObj.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = dataURL;
  463. }
  464. }
  465. function autoHideModal(obj1, time) {
  466. var autoHide = null;
  467. clearTimeout(autoHide);
  468. $(obj1).modal('show');
  469. $(".modal-backdrop").hide();
  470. autoHide = setTimeout(function() {
  471. $(obj1).modal("hide");
  472. }, time);
  473. }
  474. // 信任教程
  475. $(".senior .in_tutorial li").click(function() {
  476. var val = $(this).data('value');
  477. $("input[name='show_guide']").val(val);
  478. });
  479. // 开放安装、有密安装
  480. $(".senior .download-way li").click(function() {
  481. var val = $(this).data('value');
  482. if (val == 1) {
  483. $('#apppwd').show();
  484. } else {
  485. $('#apppwd').hide();
  486. $("input[name='password']").val('');
  487. }
  488. if (val == 2) {
  489. $("input[name='in_use_auth_code']").val(1)
  490. $('.auth_code_dispense_url').show()
  491. } else {
  492. $("input[name='in_use_auth_code']").val(0);
  493. $('.auth_code_dispense_url').hide();
  494. }
  495. });
  496. $(".senior .in_private li").click(function() {
  497. var val = $(this).index();
  498. $("input[name='in_private']").val(val);
  499. });
  500. $(".senior .in_captcha li").click(function() {
  501. var val = $(this).index();
  502. $("input[name='in_captcha']").val(val);
  503. });
  504. // 设置模板页语言
  505. $(".download-template .template-language li").click(function() {
  506. var val = $(this).data('language');
  507. $("input[name='template_language']").val(val);
  508. });
  509. $('.control-content .ibox .caption').each(function() {
  510. if ($(this).find('input').val() == 'tmp<?php echo $row["template"]; ?>') {
  511. $(this).show();
  512. }
  513. });
  514. $('#app_name').focus(function() {
  515. $('.appname-danger').show();
  516. }).blur(function() {
  517. $('.appname-danger').hide();
  518. });
  519. $('#url').focus(function() {
  520. $('.url-danger').show();
  521. }).blur(function() {
  522. $('.url-danger').hide();
  523. });
  524. $('.control-content .ibox').click(function() {
  525. $('.control-content .ibox .caption').each(function() {
  526. $(this).hide();
  527. });
  528. $(this).find('.caption').show();
  529. });
  530. $('#modifyBtn').click(function() {
  531. $('#appstore_url').removeAttr("readonly");
  532. return false;
  533. });
  534. $('#modifyUrl').click(function() {
  535. $('#url').removeAttr("readonly");
  536. return false;
  537. });
  538. $('#modifyPassword').click(function() {
  539. $('#password').removeAttr("readonly");
  540. return false;
  541. });
  542. </script>
  543. <?php
  544. $this->footer();
  545. ?>
  546. </body>
  547. </html>
  548. <?php
  549. }
  550. }