add_web.html 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542
  1. <!-- Begin toolbar -->
  2. <div class="l-center edit">
  3. <div class="l-sort clearfix">
  4. <div class="l-unit-toolbar__buttonstrip">
  5. <a class="ui-button cancel" dir="ltr" id="btn-back" href="/list/web/"><i class="fas fa-arrow-left status-icon blue"></i><?=_('Back');?></a>
  6. </div>
  7. <div class="l-unit-toolbar__buttonstrip float-right">
  8. <?php if (($user_plain == 'admin') && (($_GET['accept'] === "true")) || ($user_plain !== "admin")) {?>
  9. <a href="#" class="ui-button" title="<?=_('Save');?>" data-action="submit" data-id="vstobjects"><i class="fas fa-save status-icon purple"></i><?=_('Save');?></a>
  10. <?php } ?>
  11. </div>
  12. </div>
  13. </div>
  14. <!-- End toolbar -->
  15. <div class="l-separator"></div>
  16. <div class="l-center animated fadeIn">
  17. <form id="vstobjects" name="v_add_web" method="post">
  18. <input type="hidden" name="token" value="<?=$_SESSION['token']?>" />
  19. <input type="hidden" name="ok" value="Add" />
  20. <table class="data mode-add">
  21. <tr class="data-add">
  22. <td class="data-dotted">
  23. <table class="data-col1">
  24. <tr>
  25. <td></td>
  26. </tr>
  27. </table>
  28. </td>
  29. <td class="data-dotted">
  30. <table class="data-col2">
  31. <tr>
  32. <td class="step-top">
  33. <span class="page-title"><?=_('Add Web Domain');?></span>
  34. </td>
  35. </tr>
  36. <tr>
  37. <td>
  38. <?php show_error_panel($_SESSION);?>
  39. </td>
  40. </tr>
  41. <?php
  42. if (($user_plain == 'admin') && (($_GET['accept'] !== "true"))) {?>
  43. <tr>
  44. <td class="step-top">
  45. <span class="alert alert-danger alert-with-icon">
  46. <i class="fas fa-exclamation"></i>
  47. <?=_('Avoid adding web domains on admin account');?>
  48. </span>
  49. </td>
  50. </tr>
  51. <?php } ?>
  52. <?php if (($user_plain == 'admin') && (empty($_GET['accept']))) {?>
  53. <tr>
  54. <td class="step-top">
  55. <span><a href="/add/user/" class="vst-advanced admin-warning-button"><?=_('Add User');?></a></span>
  56. <span><a href="/add/web/?accept=true" class="vst-advanced button danger admin-warning-button"><?=_('Continue');?></a> </span>
  57. </td>
  58. </tr>
  59. <?php } ?>
  60. <?php if (($user_plain == 'admin') && (($_GET['accept'] === "true")) || ($user_plain !== "admin")) {?>
  61. <tr>
  62. <td class="vst-text step-top">
  63. <?=_('Domain');?>
  64. </td>
  65. </tr>
  66. <tr>
  67. <td>
  68. <input type="text" size="20" class="vst-input" name="v_domain" id="v_domain" value="<?=htmlentities(trim($v_domain, "'"))?>">
  69. </td>
  70. </tr>
  71. <tr>
  72. <td class="vst-text input-label">
  73. <?=_('IP address');?>
  74. </td>
  75. </tr>
  76. <tr>
  77. <td>
  78. <select class="vst-list" name="v_ip">
  79. <?php
  80. foreach ($ips as $ip => $value) {
  81. $display_ip = htmlentities(empty($value['NAT']) ? $ip : "{$value['NAT']}");
  82. $ip_selected = (!empty($v_ip) && $ip == $_POST['v_ip']) ? 'selected' : '';
  83. echo "\t\t\t\t<option value=\"{$ip}\" {$ip_selected}>{$display_ip}</option>\n";
  84. }
  85. ?>
  86. </select>
  87. </td>
  88. </tr>
  89. <tr>
  90. <td class="input-label"></td>
  91. </tr>
  92. <?php if ((isset($_SESSION['DNS_SYSTEM'])) && (!empty($_SESSION['DNS_SYSTEM']))) {?>
  93. <?php if($panel[$user_plain]['DNS_DOMAINS'] != "0") { ?>
  94. <tr>
  95. <td class="vst-text input-label">
  96. <label><input type="checkbox" size="20" class="vst-checkbox" name="v_dns" <?php if (empty($v_dns)&&$panel[$user_plain]['DNS_DOMAINS'] != "0") ?>><?=_('DNS Support');?></label>
  97. </td>
  98. </tr>
  99. <?php } ?>
  100. <?php } ?>
  101. <?php if ((isset($_SESSION['IMAP_SYSTEM'])) && (!empty($_SESSION['IMAP_SYSTEM']))) {?>
  102. <?php if($panel[$user_plain]['MAIL_DOMAINS'] != "0") { ?>
  103. <tr>
  104. <td class="vst-text input-label">
  105. <label><input type="checkbox" size="20" class="vst-checkbox" name="v_mail" <?php if (empty($v_mail)&&$panel[$user_plain]['MAIL_DOMAINS'] != "0") ?>><?=_('Mail Support');?></label>
  106. </td>
  107. </tr>
  108. <?php } ?>
  109. <?php } ?>
  110. <?php } ?>
  111. <!-- OPTION DISABLED
  112. <tr>
  113. <td class="step-top vst-text" style="/*padding: 32px 0 20px 0;*/">
  114. <a href="javascript:elementHideShow('advtable');" class="vst-advanced"><?=_('Advanced options');?>&nbsp;<i class="fas fa-arrow-circle-right"></i></a>
  115. </td>
  116. </tr>
  117. -->
  118. </table>
  119. <!--
  120. THE FOLLOWING SECTION OF CODE IS NO LONGER EXPOSED VIA USER INTERFACE
  121. BUT VALUES ARE REQUIRED FOR DOMAINS TO BE CREATED CORRECTLY UNTIL BACKEND CALLS ARE MODIFIED
  122. -->
  123. <table class="data-col2" width="600px" style="display: none;">
  124. <tr>
  125. <td class="vst-text input-label">
  126. <?=_('Aliases');?>
  127. </td>
  128. </tr>
  129. <tr>
  130. <td>
  131. <textarea size="20" class="vst-textinput short" name="v_aliases" id="v_aliases"><?=htmlentities(trim($v_aliases, "'"))?></textarea>
  132. </td>
  133. </tr>
  134. <tr>
  135. <td class="vst-text input-label">
  136. <?=_('Web Template') . "<span class='optional'>" .strtoupper($_SESSION['WEB_SYSTEM']) . "</span>";?>
  137. </td>
  138. </tr>
  139. <tr>
  140. <td>
  141. <select class="vst-list" name="v_template">
  142. <?php
  143. foreach ($templates as $key => $value) {
  144. echo "\t\t\t\t<option value=\"".htmlentities($value)."\"";
  145. $svalue = "'".$value."'";
  146. if ((!empty($v_template)) && ( $value == $v_template ) || ($svalue == $v_template)){
  147. echo ' selected' ;
  148. }
  149. echo ">".htmlentities($value)."</option>\n";
  150. }
  151. ?>
  152. </select>
  153. </td>
  154. </tr>
  155. <?php if (!empty($_SESSION['WEB_BACKEND'])) { ?>
  156. <tr>
  157. <td class="vst-text input-label">
  158. <?=_('Backend Template') . " <span class='optional'>" . strtoupper($_SESSION['WEB_BACKEND']) . "</span>";?>
  159. </td>
  160. </tr>
  161. <tr>
  162. <td>
  163. <select class="vst-list" name="v_backend_template">
  164. <?php
  165. foreach ($backend_templates as $key => $value) {
  166. echo "\t\t\t\t<option value=\"".$value."\"";
  167. $svalue = "'".$value."'";
  168. if ((!empty($v_backend_template)) && ( $value == $v_backend_template ) || ($svalue == $v_backend_template)){
  169. echo ' selected' ;
  170. }
  171. if ((empty($v_backend_template)) && ($value == 'default')){
  172. echo ' selected' ;
  173. }
  174. echo ">".htmlentities($value)."</option>\n";
  175. }
  176. ?>
  177. </select>
  178. </td>
  179. </tr>
  180. <?php }?>
  181. <?php if (!empty($_SESSION['PROXY_SYSTEM'])) { echo ""; ?>
  182. <tr>
  183. <td class="vst-text step-top">
  184. <label><input type="checkbox" size="20" class="vst-checkbox" name="v_proxy" <?php if ($v_proxy !== 'off') echo "checked=yes" ?> onclick="javascript:elementHideShow('proxytable');"><?=_('Proxy Support');?></label>
  185. </td>
  186. </tr>
  187. <tr>
  188. <td class="vst-text input-label">
  189. <?=_('Proxy Template');?>
  190. </td>
  191. </tr>
  192. <tr>
  193. <td>
  194. <select class="vst-list" name="v_proxy_template">
  195. <?php
  196. foreach ($proxy_templates as $key => $value) {
  197. echo "\t\t\t\t<option value=\"".htmlentities($value)."\"";
  198. $svalue = "'".$value."'";
  199. if ((!empty($v_proxy_template)) && ( $value == $v_proxy_template ) || ($svalue == $v_proxy_template)){
  200. echo ' selected' ;
  201. }
  202. if ((empty($v_proxy_template)) && ($value == 'default')){
  203. echo ' selected' ;
  204. }
  205. echo ">".htmlentities($value)."</option>\n";
  206. }
  207. ?>
  208. </select>
  209. </td>
  210. </tr>
  211. <tr>
  212. <td>
  213. <table style="display:<?php if ($v_proxy == 'off') { echo 'none';} else {echo 'block';}?>;" id="proxytable">
  214. <tr>
  215. <td class="vst-text input-label step-left">
  216. <?=_('Proxy Extensions');?>
  217. </td>
  218. </tr>
  219. <tr>
  220. <td class="step-left">
  221. <textarea size="20" class="vst-textinput short" name="v_proxy_ext"><?php if (!empty($v_proxy_ext)) { echo htmlentities(trim($v_proxy_ext, "'"));} else { echo 'jpeg, jpg, png, gif, bmp, ico, svg, tif, tiff, css, js, htm, html, ttf, otf, webp, woff, txt, csv, rtf, doc, docx, xls, xlsx, ppt, pptx, odf, odp, ods, odt, pdf, psd, ai, eot, eps, ps, zip, tar, tgz, gz, rar, bz2, 7z, aac, m4a, mp3, mp4, ogg, wav, wma, 3gp, avi, flv, m4v, mkv, mov, mp4, mpeg, mpg, wmv, exe, iso, dmg, swf'; } ?></textarea>
  222. </td>
  223. </tr>
  224. </table>
  225. </td>
  226. </tr>
  227. <?=""; }?>
  228. <tr>
  229. <td class="vst-text step-top">
  230. <?=_('Web Statistics');?>
  231. </td>
  232. </tr>
  233. <tr>
  234. <td>
  235. <select class="vst-list" name="v_stats">
  236. <?php
  237. foreach ($stats as $key => $value) {
  238. $svalue = "'".$value."'";
  239. echo "\t\t\t\t<option value=\"".htmlentities($value)."\"";
  240. if (empty($v_stats)) $v_stats = 'none';
  241. if (( $value == $v_stats ) || ($svalue == $v_stats )){
  242. echo ' selected' ;
  243. }
  244. echo ">" . htmlentities(_($value)) . "</option>\n";
  245. }
  246. ?>
  247. </select>
  248. </td>
  249. </tr>
  250. <tr class="stats-auth" style="<?php if (trim($v_stats, "'") == ' none') { echo 'display:none;'; } ?>">
  251. <td class="step-left vst-text input-label">
  252. <label><input type="checkbox" size="20" class="vst-checkbox" name="v_stats_auth" <?php if (!empty($v_stats_user)) echo "checked=yes" ?>
  253. onclick="javascript:elementHideShow('statstable');"><?=_('Statistics Authorization');?></label>
  254. </td>
  255. </tr>
  256. <tr>
  257. <td class="step-left">
  258. <table style="display:<?php if (empty($v_stats_user)) { echo 'none';} else {echo 'block';}?> ;" id="statstable" name="v-add-web-domain-stats-user">
  259. <tr>
  260. <td class="vst-text input-label">
  261. <?=_('Username');?>
  262. </td>
  263. </tr>
  264. <tr>
  265. <td>
  266. <input type="text" size="20" class="vst-input" name="v_stats_user" value="<?=htmlentities(trim($v_stats_user, "'"))?>">
  267. </td>
  268. </tr>
  269. <tr>
  270. <td class="vst-text input-label">
  271. <?=_('Password');?> / <a href="javascript:WEBrandom();" class="generate"><?=_('generate');?></a>
  272. </td>
  273. </tr>
  274. <tr>
  275. <td>
  276. <input type="text" size="20" class="vst-input password" name="v_stats_password" value="<?=htmlentities(trim($v_stats_password, "'"))?>" id="v_password">
  277. </td>
  278. </tr>
  279. </table>
  280. </td>
  281. </tr>
  282. <tr>
  283. <td class="vst-text step-top">
  284. <label><input type="checkbox" size="20" class="vst-checkbox" name="v_custom_doc_root_check" <?php if (!empty($v_custom_doc_root)) echo "checked=yes" ?> onclick="javascript:elementHideShow('v_custom_doc_root');"><?=_('Custom document root');?></label>
  285. </td>
  286. </tr>
  287. <tr>
  288. <td class="step-left">
  289. <table style="display:<?php if (empty($v_custom_doc_root)) { echo 'none';} else {echo 'block';}?> ;" id="v_custom_doc_root">
  290. <tr>
  291. <td class="vst-text input-label">
  292. <?=_('Point to');?>
  293. </td>
  294. </tr>
  295. <tr>
  296. <td>
  297. <input type="hidden" name="v-custom-doc-root_prepath" value="<?=htmlentities($v_custom_doc_root_prepath);?>">
  298. <select class="vst-list" name="v-custom-doc-domain">
  299. <option value="<?=htmlentities(trim($v_domain, "'"))?>" id="v-custom-doc-domain-main"><?=htmlentities(trim($v_domain, "'"))?></option>
  300. <?php
  301. foreach ($user_domains as $domain) {
  302. if($domain != $v_domain ){
  303. if($v_custom_doc_domain == $domain){
  304. ?>
  305. <option value="<?=htmlentities($domain);?>" selected="selected"><?=htmlentities($domain);?></option>
  306. <?php } else{ ?>
  307. <option value="<?=htmlentities($domain);?>"><?=htmlentities($domain);?></option>
  308. <?php } } } ?>
  309. </select>
  310. </td>
  311. </tr>
  312. <tr>
  313. <td class="vst-text input-label">
  314. <?php print( _('Directory'));?> <span class="optional">(<?=_('optional');?>)</span>
  315. </td>
  316. </tr>
  317. <tr>
  318. <td>
  319. <input type="text" size="20" class="vst-input"
  320. name="v-custom-doc-folder" value="<?=htmlentities(trim($v_custom_doc_folder, "'"))?>">
  321. </td>
  322. </tr>
  323. <tr>
  324. <td>
  325. <small class="custom_docroot_hint"></small>
  326. </td>
  327. </tr>
  328. </table>
  329. </td>
  330. </tr>
  331. <tr>
  332. <td class="step-top vst-text">
  333. <label><input type="checkbox" size="20" class="vst-checkbox" name="v_ssl" <?php if($v_ssl == 'yes' || $v_ssl == 'on') echo "checked=yes" ?> onclick="javascript:elementHideShow('ssltable');"><?=_('SSL Support');?></label>
  334. </td>
  335. </tr>
  336. <tr>
  337. <td>
  338. <table style="display:<?php if (empty($v_ssl)) { echo 'none';} else {echo 'block';}?>;" id="ssltable">
  339. <tr>
  340. <td class="step-left input-label vst-text">
  341. <label><input type="checkbox" size="20" class="vst-checkbox" name="v_letsencrypt" <?php if($v_letsencrypt == 'yes' || $v_letsencrypt == 'on') echo "checked=yes" ?> onclick="App.Actions.WEB.toggle_letsencrypt(this)"><?=_('Lets Encrypt Support');?></label>
  342. </td>
  343. </tr>
  344. <tr>
  345. <td class="vst-text input-label lets-encrypt-note step-left">
  346. <?= _('Your certificate will be automatically issued in 5 minutes');?>
  347. </td>
  348. </tr>
  349. <tr>
  350. <td class="step-left input-label vst-text">
  351. <label><input type="checkbox" size="20" class="vst-checkbox" name="v_ssl_forcessl" <?php if($v_ssl_forcessl != 'no') echo "checked=yes" ?> onclick="App.Actions.WEB.toggle_forcessl(this)"><?=_('Force SSL/HTTPS');?></label>
  352. </td>
  353. </tr>
  354. <tr>
  355. <td class="vst-text input-label step-left">
  356. <?=_('SSL Certificate');?>
  357. <span id="generate-csr"> / <a class="generate" target="_blank" href="/generate/ssl/?domain=<?=htmlentities(trim($v_domain, "'")) ?>"><?=_('Generate CSR') ?></a></span>
  358. </td>
  359. </tr>
  360. <tr>
  361. <td class="step-left">
  362. <textarea size="20" class="vst-textinput short console" name="v_ssl_crt"><?=htmlentities(trim($v_ssl_crt, "'"))?></textarea>
  363. </td>
  364. </tr>
  365. <tr>
  366. <td class="vst-text input-label step-left">
  367. <?=_('SSL Key');?>
  368. </td>
  369. </tr>
  370. <tr>
  371. <td class="step-left">
  372. <textarea size="20" class="vst-textinput short console" name="v_ssl_key"><?=htmlentities(trim($v_ssl_key, "'"))?></textarea>
  373. </td>
  374. </tr>
  375. <tr>
  376. <td class="vst-text input-label step-left">
  377. <?=_('SSL Certificate Authority / Intermediate');?> <span class="optional">(<?=_('optional');?>)</span>
  378. </td>
  379. </tr>
  380. <tr>
  381. <td class="step-left">
  382. <textarea size="20" class="vst-textinput short console" name="v_ssl_ca"><?=htmlentities(trim($v_ssl_ca, "'"))?></textarea>
  383. </td>
  384. </tr>
  385. </table>
  386. </td>
  387. </tr>
  388. <tr>
  389. <td class="vst-text step-top">
  390. <label><input type="checkbox" size="20" class="vst-checkbox" name="v_ftp" <?php if (!empty($v_ftp) && count($v_ftp_users)) echo "checked=yes" ?> onclick="App.Actions.WEB.toggle_additional_ftp_accounts(this)"><?=_('Additional FTP Account');?></label>
  391. </td>
  392. </tr>
  393. <tr>
  394. <td id="ftp_users">
  395. <?php foreach ($v_ftp_users as $i => $ftp_user): ?>
  396. <?php
  397. $v_ftp_user = $ftp_user['v_ftp_user'];
  398. $v_ftp_password = $ftp_user['v_ftp_password'];
  399. $v_ftp_path = $ftp_user['v_ftp_path'];
  400. $v_ftp_email = $ftp_user['v_ftp_email'];
  401. $v_ftp_pre_path = $ftp_user['v_ftp_pre_path'];
  402. ?>
  403. <table <?=(!empty($v_ftp)) ? "style='display: block'" : "style='display:none;'" ?> class="ftptable ftptable-nrm" name="v_add_domain_ftp">
  404. <tr>
  405. <td class="vst-text input-label">
  406. <?=_('FTP') ?> #<span class="ftp-user-number"><?=$i + 1; ?></span> <a class="ftp-remove-user additional-control do_delete" onCLick="App.Actions.WEB.remove_ftp_user(this)">(<?=_('delete') ?>)</a>
  407. <input type="hidden" class="v-ftp-user-deleted" name="v_ftp_user[<?=$i ?>][delete]" value="0" />
  408. <input type="hidden" class="v-ftp-user-is-new" name="v_ftp_user[<?=$i ?>][is_new]" value="<?=htmlentities($ftp_user['is_new']) ?>" />
  409. </td>
  410. </tr>
  411. <tr>
  412. <td class="vst-text step-left input-label">
  413. <?=_('Username');?><br>
  414. <span style="font-size: 10pt; color:#777;"><?=sprintf(_('Prefix %s will be added to username automatically'),$user."_");?></span>
  415. </td>
  416. </tr>
  417. <tr>
  418. <td class="step-left">
  419. <input type="text" size="20" class="vst-input v-ftp-user" <?=$ftp_user['is_new'] != 1 ? 'disabled="disabled"' : '' ?> name="v_ftp_user[<?=$i ?>][v_ftp_user]" value="<?=htmlentities(trim($v_ftp_user, "'"))?>">
  420. <small class="hint"></small>
  421. </td>
  422. </tr>
  423. <tr>
  424. <td class="vst-text step-left input-label">
  425. <?=_('Password');?> / <a href="javascript:void(0);" onClick="FTPrandom(this)" ; class="generate"><?=_('generate');?></a>
  426. </td>
  427. </tr>
  428. <tr>
  429. <td class="step-left">
  430. <input type="text" class="vst-input v-ftp-user-psw password" name="v_ftp_user[<?=$i ?>][v_ftp_password]" value="<?=htmlentities(trim($v_ftp_password, "'"))?>">
  431. </td>
  432. </tr>
  433. <tr>
  434. <td class="vst-text step-left input-label">
  435. <?=_('Path');?>
  436. </td>
  437. </tr>
  438. <tr>
  439. <td class="step-left">
  440. <input type="hidden" class="vst-input v-ftp-pre-path" name="v_ftp_pre_path" value="<?=!empty($v_ftp_pre_path) ? htmlentities(trim($v_ftp_pre_path, "'")) : '/'; ?>">
  441. <input type="text" class="vst-input v-ftp-path" name="v_ftp_user[<?=$i ?>][v_ftp_path]" value=".htmlentities(trim($v_ftp_path, "'"))?>">
  442. <br /><span class="ftp-path-prefix"><?=htmlentities(trim($v_ftp_pre_path, "'"))?></span><span class="ftp-path-value v-ftp-path-hint"></span>
  443. </td>
  444. </tr>
  445. <tr>
  446. <td class="vst-text step-left input-label">
  447. <?=_('Send FTP credentials to email');?>
  448. </td>
  449. </tr>
  450. <tr>
  451. <td class="step-left">
  452. <input type="text" class="vst-input" name="v_ftp_user[<?=$i ?>][v_ftp_email]" value="<?=htmlentities(trim($v_ftp_email, "'"))?>">
  453. </td>
  454. </tr>
  455. </table>
  456. <?php endforeach; ?>
  457. </td>
  458. </tr>
  459. <tr>
  460. <td class="vst-text step-top v-add-new-user step-bottom" style="display: none;">
  461. <a class="additional-control" onClick="App.Actions.WEB.add_ftp_user_form()"><?=_('Add one more FTP Account');?></a>
  462. </td>
  463. </tr>
  464. </table>
  465. <table class="data-col2">
  466. </table>
  467. </td>
  468. </tr>
  469. </table>
  470. </form>
  471. <div id="templates" class="hidden">
  472. <table class="ftptable ftptable-nrm" name="v_add_domain_ftp">
  473. <tr>
  474. <td class="vst-text input-label">
  475. <?=_('FTP') ?> #<span class="ftp-user-number"></span> <a class="ftp-remove-user additional-control do_delete" onCLick="App.Actions.WEB.remove_ftp_user(this)">(<?=_('delete');?>)</a>
  476. <input type="hidden" class="v-ftp-user-deleted" name="v_ftp_user[%INDEX%][delete]" value="0" />
  477. <input type="hidden" class="v-ftp-user-is-new" name="v_ftp_user[%INDEX%][is_new]" value="1" />
  478. </td>
  479. </tr>
  480. <tr>
  481. <td class="vst-text step-left input-label">
  482. <?=_('Username');?><br>
  483. <span style="font-size: 10pt; color:#777;"><?=sprintf(_('Prefix %s will be added to username automatically'),$user_plain."_");?></span>
  484. </td>
  485. </tr>
  486. <tr>
  487. <td class="step-left">
  488. <input type="text" size="20" class="vst-input v-ftp-user" name="v_ftp_user[%INDEX%][v_ftp_user]" value="">
  489. <small class="hint"></small>
  490. </td>
  491. </tr>
  492. <tr>
  493. <td class="vst-text step-left input-label">
  494. <?=_('Password');?> / <a href="javascript:void(0);" onClick="FTPrandom(this)"; class="generate" ><?=_('generate');?></a>
  495. </td>
  496. </tr>
  497. <tr>
  498. <td class="step-left">
  499. <input type="text" class="vst-input v-ftp-user-psw password" name="v_ftp_user[%INDEX%][v_ftp_password]" value="">
  500. </td>
  501. </tr>
  502. <tr>
  503. <td class="vst-text step-left input-label">
  504. <?=_('Path');?>
  505. </td>
  506. </tr>
  507. <tr>
  508. <td class="step-left">
  509. <input type="hidden" class="vst-input v-ftp-pre-path" name="v_ftp_pre_path" value="">
  510. <input type="text" class="vst-input v-ftp-path" name="v_ftp_user[%INDEX%][v_ftp_path]" value="">
  511. <br /><span class="ftp-path-prefix"><?=htmlentities(trim($v_ftp_pre_path_new_user, "'")) ?></span><span class="ftp-path-value v-ftp-path-hint"></span>
  512. </td>
  513. </tr>
  514. <tr>
  515. <td class="vst-text step-left input-label">
  516. <?=_('Send FTP credentials to email');?>
  517. </td>
  518. </tr>
  519. <tr>
  520. <td class="step-left">
  521. <input type="text" class="vst-input" name="v_ftp_user[%INDEX%][v_ftp_email]" value="">
  522. </td>
  523. </tr>
  524. </table>
  525. </div>
  526. </div>
  527. <script>
  528. GLOBAL.FTP_USER_PREFIX = "<?=$user_plain.'_';?>";
  529. GLOBAL.FTP_USER_PREPATH = "<?=htmlentities($v_ftp_user_prepath);?>";
  530. </script>