edit_web.html 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430
  1. <div class="l-center edit">
  2. <div class="l-sort clearfix">
  3. <div class="l-sort-toolbar clearfix float-left">
  4. <span class="title edit"><b><?=__('Editing Domain')?></b></span>
  5. <?php
  6. if (!empty($_SESSION['error_msg'])) {
  7. echo "<span class=\"vst-error\"> → ".htmlentities($_SESSION['error_msg'])."</span>";
  8. } else {
  9. if (!empty($_SESSION['ok_msg'])) {
  10. echo "<span class=\"vst-ok\"> → ".$_SESSION['ok_msg']."</span>";
  11. }
  12. }
  13. ?>
  14. </div>
  15. </div>
  16. </div>
  17. <div class="l-separator"></div>
  18. <!-- /.l-separator -->
  19. <div class="l-center">
  20. <?php
  21. $back = $_SESSION['back'];
  22. if (empty($back)) {
  23. $back = "location.href='/list/web/'";
  24. } else {
  25. $back = "location.href='".$back."'";
  26. }
  27. ?>
  28. <form id="vstobjects" name="v_edit_web" method="post" class="<?=$v_status?>">
  29. <input type="hidden" name="token" value="<?=$_SESSION['token']?>" />
  30. <input type="hidden" name="save" value="save" />
  31. <table class='data'>
  32. <tr class="data-add">
  33. <td class="data-dotted">
  34. <table class="data-col1">
  35. <tr>
  36. <td>
  37. <a class="data-date"><?=translate_date($v_date)?></a><br>
  38. <a class="data-date"><?=$v_time?></a>
  39. </td>
  40. </tr>
  41. <tr><td class="data-<?=$v_status ?>"><b><?=__($v_status) ?></b></td></tr>
  42. </table>
  43. </td>
  44. <td class="data-dotted">
  45. <table class="data-col2">
  46. <tr>
  47. <td class="vst-text step-top">
  48. <?php print __('Domain');?>
  49. </td>
  50. </tr>
  51. <tr>
  52. <td>
  53. <input type="text" size="20" class="vst-input" name="v_domain" value="<?=htmlentities(trim($v_domain, "'"))?>" disabled>
  54. <input type="hidden" name="v_domain" value="<?=htmlentities(trim($v_domain, "'"))?>">
  55. </td>
  56. </tr>
  57. <tr>
  58. <td class="vst-text input-label">
  59. <?php print __('IP Address');?>
  60. </td>
  61. </tr>
  62. <tr>
  63. <td>
  64. <select class="vst-list" name="v_ip">
  65. <?php
  66. foreach ($ips as $ip => $value) {
  67. $display_ip = htmlentities(empty($value['NAT']) ? $ip : "{$value['NAT']}");
  68. $ip_selected = ((!empty($v_ip) && $ip == $v_ip) || $v_ip == "'{$ip}'") ? 'selected' : '';
  69. echo "\n\t\t\t\t\t\t\t\t\t\t\t\t<option value=\"{$ip}\" {$ip_selected}>{$display_ip}</option>\n";
  70. }
  71. ?>
  72. </select>
  73. </td>
  74. </tr>
  75. <tr>
  76. <td class="vst-text input-label">
  77. <?php print __('Aliases');?>
  78. </td>
  79. </tr>
  80. <tr>
  81. <td>
  82. <textarea size="20" class="vst-textinput" name="v_aliases"><?=htmlentities(trim($v_aliases, "'"))?></textarea>
  83. </td>
  84. </tr>
  85. <tr>
  86. <td class="vst-text step-top">
  87. <label><input type="checkbox" size="20" class="vst-checkbox" name="v_ssl" <?php if ($v_ssl == 'yes') echo "checked=yes" ?> onclick="javascript:elementHideShow('ssltable');"> <?php print __('SSL Support');?></label>
  88. </td>
  89. </tr>
  90. <tr>
  91. <td class="step-left">
  92. <table style="display:<?php if ($v_ssl == 'no' ) { echo 'none';} else {echo 'block';}?> ;" id="ssltable">
  93. <tr>
  94. <td class="input-label vst-text">
  95. <label><input type="checkbox" size="20" class="vst-checkbox" name="v_letsencrypt" <?php if($v_letsencrypt == 'yes' || $v_letencrypt == 'on') echo "checked=yes" ?> onclick="App.Actions.WEB.toggle_letsencrypt(this)"> <?php print __('Lets Encrypt Support');?></label>
  96. </td>
  97. </tr>
  98. <tr>
  99. <td class="vst-text input-label">
  100. <?php print __('SSL Home Directory');?>
  101. </td>
  102. </tr>
  103. <tr>
  104. <td>
  105. <select class="vst-list" name="v_ssl_home">
  106. <option value='same' <?php if ($v_ssl_home == 'same') echo "selected";?>>
  107. public_html
  108. </option>
  109. <option value='single' <?php if ($v_ssl_home == 'single') echo "selected";?>>
  110. public_shtml
  111. </option>
  112. </select>
  113. </td>
  114. </tr>
  115. <tr>
  116. <td class="vst-text input-label">
  117. <?php print __('SSL Certificate');?>
  118. <span id="generate-csr"> / <a class="generate" target="_blank" href="/generate/ssl/?domain=<?=htmlentities(trim($v_domain, "'"))?>"><?=__('Generate CSR')?></a></span>
  119. </td>
  120. </tr>
  121. <tr>
  122. <td>
  123. <textarea size="20" class="vst-textinput" name="v_ssl_crt"><?=htmlentities(trim($v_ssl_crt, "'"))?></textarea>
  124. </td>
  125. </tr>
  126. <tr>
  127. <td class="vst-text input-label">
  128. <?php print __('SSL Key');?>
  129. </td>
  130. </tr>
  131. <tr>
  132. <td>
  133. <textarea size="20" class="vst-textinput" name="v_ssl_key"><?=htmlentities(trim($v_ssl_key, "'"))?></textarea>
  134. </td>
  135. </tr>
  136. <tr>
  137. <td class="vst-text input-label">
  138. <?php print __('SSL Certificate Authority / Intermediate');?> <span class="optional">(<?php print __('optional');?>)</span>
  139. </td>
  140. </tr>
  141. <tr>
  142. <td>
  143. <textarea size="20" class="vst-textinput" name="v_ssl_ca"><?=htmlentities(trim($v_ssl_ca, "'"))?></textarea>
  144. </td>
  145. </tr>
  146. <?
  147. if ($v_ssl != 'no' ) { ?>
  148. <tr>
  149. <td>
  150. <table class="additional-info">
  151. <tr>
  152. <td>
  153. <?=__('SUBJECT')?>:
  154. </td>
  155. <td class="details">
  156. <?=$v_ssl_subject?>
  157. </td>
  158. </tr>
  159. <? if($v_ssl_aliases){?>
  160. <tr>
  161. <td>
  162. <?=__('ALIASES')?>:
  163. </td>
  164. <td class="details">
  165. <?=$v_ssl_aliases?>
  166. </td>
  167. </tr>
  168. <? } ?>
  169. <tr>
  170. <td>
  171. <?=__('NOT_BEFORE')?>:
  172. </td>
  173. <td class="details">
  174. <?=$v_ssl_not_before?>
  175. </td>
  176. </tr>
  177. <tr>
  178. <td>
  179. <?=__('NOT_AFTER')?>:
  180. </td>
  181. <td class="details">
  182. <?=$v_ssl_not_after?>
  183. </td>
  184. </tr>
  185. <tr>
  186. <td>
  187. <?=__('SIGNATURE')?>:
  188. </td>
  189. <td class="details">
  190. <?=$v_ssl_signature?>
  191. </td>
  192. </tr>
  193. <tr>
  194. <td>
  195. <?=__('PUB_KEY')?>:
  196. </td>
  197. <td class="details">
  198. <?=$v_ssl_pub_key?>
  199. </td>
  200. </tr>
  201. <tr>
  202. <td>
  203. <?=__('ISSUER')?>
  204. </td>
  205. <td class="details">
  206. <?=$v_ssl_issuer?>
  207. </td>
  208. </tr>
  209. </table>
  210. </td>
  211. </tr>
  212. <? } // if ssl is enabled ?>
  213. </table>
  214. </td>
  215. </tr>
  216. <tr>
  217. <td class="vst-text step-top">
  218. <?php print __('Web Statistics');?>
  219. </td>
  220. </tr>
  221. <tr>
  222. <td>
  223. <select class="vst-list" name="v_stats">
  224. <?php
  225. foreach ($stats as $key => $value) {
  226. $svalue = "'".$value."'";
  227. echo "\t\t\t\t<option value=\"".htmlentities($value)."\"";
  228. if (empty($v_stats)) $v_stats = 'none';
  229. if (( $value == $v_stats ) || ($svalue == $v_stats )){
  230. echo ' selected' ;
  231. }
  232. echo ">". htmlentities(__($value)) ."</option>\n";
  233. }
  234. ?>
  235. </select>
  236. </td>
  237. </tr>
  238. <tr class="stats-auth" style="<? if ($v_stats == 'none') { ?>display:none<? } ?>">
  239. <td class="vst-text input-label step-left">
  240. <label><input type="checkbox" size="20" class="vst-checkbox" name="v_stats_auth" <?php if (!empty($v_stats_user)) echo "checked=yes" ?> onclick="javascript:elementHideShow('statstable');"><?php print __('Statistics Authorization');?></label>
  241. </td>
  242. </tr>
  243. <tr class="stats-auth">
  244. <td class="step-left">
  245. <table style="display:<?php if (empty($v_stats_user)) { echo 'none';} else {echo 'block';}?> ;" id="statstable" name="v-add-web-domain-stats-user">
  246. <tr>
  247. <td class="vst-text input-label">
  248. <?php print __('Username');?>
  249. </td>
  250. </tr>
  251. <tr>
  252. <td>
  253. <input type="text" size="20" class="vst-input" name="v_stats_user" value="<?=htmlentities(trim($v_stats_user, "'"))?>">
  254. </td>
  255. </tr>
  256. <tr>
  257. <td class="vst-text input-label">
  258. <?php print __('Password');?> / <a href="javascript:WEBrandom();" class="generate"><?php print __('generate');?></a>
  259. </td>
  260. </tr>
  261. <tr>
  262. <td>
  263. <input type="text" size="20" class="vst-input password" name="v_stats_password" value="<?=htmlentities(trim($v_stats_password, "'"))?>" id="v_password">
  264. </td>
  265. </tr>
  266. </table>
  267. </td>
  268. </tr>
  269. <tr>
  270. <td class="vst-text step-top">
  271. <label><input type="checkbox" size="20" class="vst-checkbox" name="v_ftp" <?php if (!empty($v_ftp_user)) echo "checked=yes" ?> onclick="App.Actions.WEB.toggle_additional_ftp_accounts(this)"> <?php print __('Additional FTP Account');?></label>
  272. </td>
  273. </tr>
  274. <tr>
  275. <td>
  276. <?php foreach ($v_ftp_users as $i => $ftp_user): ?>
  277. <?php
  278. $v_ftp_user = $ftp_user['v_ftp_user'];
  279. $v_ftp_password = $ftp_user['v_ftp_password'];
  280. $v_ftp_path = $ftp_user['v_ftp_path'];
  281. $v_ftp_email = $ftp_user['v_ftp_email'];
  282. $v_ftp_pre_path = $ftp_user['v_ftp_pre_path'];
  283. ?>
  284. <table style="display:<?php if (empty($v_ftp_user)) { echo 'none';} else {echo 'block';}?> ;" class="ftptable ftptable-nrm" name="v_add_domain_ftp">
  285. <tr>
  286. <td class="vst-text input-label">
  287. <?php print __('FTP') ?> #<span class="ftp-user-number"><?php print $i + 1; ?></span> <a class="ftp-remove-user additional-control" onCLick="App.Actions.WEB.remove_ftp_user(this)">(<?=__('delete')?>)</a>
  288. <input type="hidden" class="v-ftp-user-deleted" name="v_ftp_user[<?php print $i ?>][delete]" value="0" />
  289. <input type="hidden" class="v-ftp-user-is-new" name="v_ftp_user[<?php print $i ?>][is_new]" value="<?php print htmlentities($ftp_user['is_new']) ?>" />
  290. </td>
  291. </tr>
  292. <tr>
  293. <td class="vst-text step-left input-label">
  294. <?php print __('Username');?><br>
  295. <span style="font-size: 10pt; color:#777;"><?php print __('Prefix will be automaticaly added to username',$user."_");?></span>
  296. </td>
  297. </tr>
  298. <tr>
  299. <td class="step-left">
  300. <input type="text" size="20" class="vst-input v-ftp-user" <?php print $ftp_user['is_new'] != 1 ? 'disabled="disabled"' : '' ?> name="v_ftp_user[<?php print $i ?>][v_ftp_user]" value="<?=htmlentities(trim($v_ftp_user, "'"))?>">
  301. <small class="hint"></small>
  302. </td>
  303. </tr>
  304. <tr>
  305. <td class="vst-text step-left input-label">
  306. <?php print __('Password');?> / <a href="javascript:void(0);" onClick="FTPrandom(this)"; class="generate" ><?php print __('generate');?></a>
  307. </td>
  308. </tr>
  309. <tr>
  310. <td class="step-left">
  311. <input type="text" class="vst-input v-ftp-user-psw password" name="v_ftp_user[<?php print $i ?>][v_ftp_password]" value="<?=htmlentities(trim($v_ftp_password, "'"))?>">
  312. </td>
  313. </tr>
  314. <tr>
  315. <td class="vst-text step-left input-label">
  316. <?php print __('Path');?>
  317. </td>
  318. </tr>
  319. <tr>
  320. <td class="step-left">
  321. <input type="hidden" class="vst-input v-ftp-pre-path" name="v_ftp_pre_path" value="<?php print !empty($v_ftp_pre_path) ? htmlentities(trim($v_ftp_pre_path, "'")) : '/'; ?>">
  322. <input type="hidden" class="vst-input v-ftp-path" name="v_ftp_user[<?php print $i ?>][v_ftp_path_prev]" value="<?=($v_ftp_path[0] != '/' ? '/' : '').htmlentities(trim($v_ftp_path, "'"))?>">
  323. <input type="text" class="vst-input v-ftp-path" name="v_ftp_user[<?php print $i ?>][v_ftp_path]" value="<?=($v_ftp_path[0] != '/' ? '/' : '').htmlentities(trim($v_ftp_path, "'"))?>">
  324. <br /><span class="ftp-path-prefix"><?=$v_ftp_pre_path ?></span><span class="ftp-path-value v-ftp-path-hint"></span>
  325. </td>
  326. </tr>
  327. <?php if ($ftp_user['is_new'] == 1): ?>
  328. <tr>
  329. <td class="vst-text step-left input-label">
  330. <?php print __('Send FTP credentials to email');?>
  331. </td>
  332. </tr>
  333. <tr>
  334. <td class="step-left">
  335. <input type="text" class="vst-input vst-email-alert-on-psw" name="v_ftp_user[<?php print $i ?>][v_ftp_email]" value="<?=htmlentities(trim($v_ftp_email, "'"))?>">
  336. </td>
  337. </tr>
  338. <?php endif; ?>
  339. </table>
  340. <?php endforeach; ?>
  341. </td>
  342. </tr>
  343. <tr class="add-new-ftp-user-button" style="<?php print !empty($v_ftp_user) ? '' : 'display:none;' ?>">
  344. <td class="vst-text step-top v-add-new-user step-bottom">
  345. <a class="additional-control" onClick="App.Actions.WEB.add_ftp_user_form()"><?php print __('Add one more FTP Account');?></a>
  346. </td>
  347. </tr>
  348. </table>
  349. <table class="data-col2">
  350. <tr>
  351. <td class="step-top" width="116px">
  352. <input type="submit" class="button" name="save" value="<?=__('Save')?>">
  353. </td>
  354. <td class="step-top">
  355. <input type="button" class="button cancel" value="<?=__('Back')?>" onclick="<?=$back?>">
  356. </td>
  357. </tr>
  358. </table>
  359. </td>
  360. </tr>
  361. </table>
  362. </form>
  363. <div id="templates" class="hidden">
  364. <table class="ftptable ftptable-nrm" name="v_add_domain_ftp">
  365. <tr>
  366. <td class="vst-text input-label">
  367. <?php print __('FTP') ?> #<span class="ftp-user-number"></span> <a class="ftp-remove-user additional-control" onCLick="App.Actions.WEB.remove_ftp_user(this)">(<?=__('delete')?>)</a>
  368. <input type="hidden" class="v-ftp-user-deleted" name="v_ftp_user[%INDEX%][delete]" value="0" />
  369. <input type="hidden" class="v-ftp-user-is-new" name="v_ftp_user[%INDEX%][is_new]" value="1" />
  370. </td>
  371. </tr>
  372. <tr>
  373. <td class="vst-text step-left input-label">
  374. <?php print __('Username');?><br>
  375. <span style="font-size: 10pt; color:#777;"><?php print __('Prefix will be automaticaly added to username',$user."_");?></span>
  376. </td>
  377. </tr>
  378. <tr>
  379. <td class="step-left">
  380. <input type="text" size="20" class="vst-input v-ftp-user" name="v_ftp_user[%INDEX%][v_ftp_user]" value="">
  381. <small class="hint"></small>
  382. </td>
  383. </tr>
  384. <tr>
  385. <td class="vst-text step-left input-label">
  386. <?php print __('Password');?> / <a href="javascript:void(0);" onClick="FTPrandom(this)"; class="generate" ><?php print __('generate');?></a>
  387. </td>
  388. </tr>
  389. <tr>
  390. <td class="step-left">
  391. <input type="text" class="vst-input v-ftp-user-psw password" name="v_ftp_user[%INDEX%][v_ftp_password]" value="">
  392. </td>
  393. </tr>
  394. <tr>
  395. <td class="vst-text step-left input-label">
  396. <?php print __('Path');?>
  397. </td>
  398. </tr>
  399. <tr>
  400. <td class="step-left">
  401. <input type="hidden" class="vst-input v-ftp-pre-path" name="v_ftp_pre_path" value="">
  402. <input type="text" class="vst-input v-ftp-path" name="v_ftp_user[%INDEX%][v_ftp_path]" value="">
  403. <br /><span class="ftp-path-prefix"><?=$v_ftp_pre_path_new_user ?></span><span class="ftp-path-value v-ftp-path-hint"></span>
  404. </td>
  405. </tr>
  406. <tr>
  407. <td class="vst-text step-left input-label">
  408. <?php print __('Send FTP credentials to email');?>
  409. </td>
  410. </tr>
  411. <tr>
  412. <td class="step-left">
  413. <input type="text" class="vst-input vst-email-alert-on-psw" name="v_ftp_user[%INDEX%][v_ftp_email]" value="">
  414. </td>
  415. </tr>
  416. </table>
  417. </div>
  418. </div>
  419. <script>
  420. GLOBAL.FTP_USER_PREFIX = <?=json_encode($user.'_')?>;
  421. </script>