publish_setting.php 32 KB

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