|
|
@@ -1,31 +1,31 @@
|
|
|
<div class="l-center edit">
|
|
|
- <div class="l-sort clearfix">
|
|
|
- <div class="l-unit-toolbar__buttonstrip">
|
|
|
+ <div class="l-sort clearfix">
|
|
|
+ <div class="l-unit-toolbar__buttonstrip">
|
|
|
<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>
|
|
|
- </div>
|
|
|
- <div class="l-unit-toolbar__buttonstrip float-right">
|
|
|
- <a href="/delete/web/cache/?domain=<?=$_GET['domain'];?>&token=<?=$_SESSION['token'];?>" class="ui-button cancel <?php if ( $v_nginx_cache == 'yes' || ($v_proxy_template == 'caching' && $_SESSION['PROXY'] == 'nginx')) { echo "block"; } else{ echo "hidden"; }?>" id="v-clear-cache">
|
|
|
- <i class="fas fa-trash status-icon red"></i><?=_('Purge Nginx Cache');?>
|
|
|
+ </div>
|
|
|
+ <div class="l-unit-toolbar__buttonstrip float-right">
|
|
|
+ <a href="/delete/web/cache/?domain=<?=$_GET['domain'];?>&token=<?=$_SESSION['token'];?>" class="ui-button cancel <?php if ( $v_nginx_cache == 'yes' || ($v_proxy_template == 'caching' && $_SESSION['PROXY_SYSTEM'] == 'nginx')) { echo "block"; } else{ echo "hidden"; }?>" id="v-clear-cache">
|
|
|
+ <i class="fas fa-trash status-icon red"></i><?=_('Purge Cache');?>
|
|
|
</a>
|
|
|
+
|
|
|
<a href="/add/webapp/?domain=<?=$v_domain?>" class="ui-button cancel" dir="ltr">
|
|
|
<i class="fas fa-magic status-icon blue"></i> <?=_('Quick Install App')?>
|
|
|
</a>
|
|
|
<a href="#" class="ui-button" data-action="submit" data-id="vstobjects"><i class="fas fa-save status-icon purple"></i><?=_('Save')?></a>
|
|
|
- </div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
-
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
<div class="l-separator"></div>
|
|
|
|
|
|
<div class="l-center animated fadeIn">
|
|
|
- <?php
|
|
|
- $back = $_SESSION['back'];
|
|
|
- if (empty($back)) {
|
|
|
- $back = "location.href='/list/web/'";
|
|
|
- } else {
|
|
|
- $back = "location.href='".$back."'";
|
|
|
- }
|
|
|
- ?>
|
|
|
+ <?php
|
|
|
+ $back = $_SESSION['back'];
|
|
|
+ if (empty($back)) {
|
|
|
+ $back = "location.href='/list/web/'";
|
|
|
+ } else {
|
|
|
+ $back = "location.href='".$back."'";
|
|
|
+ }
|
|
|
+ ?>
|
|
|
<form id="vstobjects" name="v_edit_web" method="post" class="<?=$v_status?>">
|
|
|
<input type="hidden" name="token" value="<?=$_SESSION['token']?>" />
|
|
|
<input type="hidden" name="save" value="save" />
|
|
|
@@ -73,6 +73,24 @@
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td class="vst-text input-label">
|
|
|
+ <?php print _('Aliases');?>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td>
|
|
|
+ <textarea size="20" class="vst-textinput short" name="v_aliases"><?=htmlentities(trim($v_aliases, "'"))?></textarea>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td>
|
|
|
+ <span class="alert alert-info alert-with-icon">
|
|
|
+ <i class="fas fa-exclamation"></i>
|
|
|
+ <?php print _('Changes to Aliases will cause Lets Encrypt to obtain a new SSL certificate if enabled.');?>
|
|
|
+ </span>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td class="vst-text input-label step-top">
|
|
|
<?php print _('IP Address');?>
|
|
|
</td>
|
|
|
</tr>
|
|
|
@@ -91,24 +109,6 @@
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td class="vst-text input-label">
|
|
|
- <?php print _('Aliases');?>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td>
|
|
|
- <textarea size="20" class="vst-textinput short" name="v_aliases"><?=htmlentities(trim($v_aliases, "'"))?></textarea>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td>
|
|
|
- <span class="alert alert-info alert-with-icon">
|
|
|
- <i class="fas fa-exclamation"></i>
|
|
|
- <?php print _('Changes to Aliases will cause Lets Encrypt to obtain a new SSL certificate if enabled.');?>
|
|
|
- </span>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td class="vst-text step-top">
|
|
|
<?php print _('Web Statistics');?>
|
|
|
</td>
|
|
|
</tr>
|
|
|
@@ -127,14 +127,19 @@
|
|
|
}
|
|
|
?>
|
|
|
</select>
|
|
|
+ <br>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td class="input-label">
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr class="stats-auth" style="<? if ($v_stats == 'none') { ?>display:none<? } ?>">
|
|
|
- <td class="vst-text input-label step-left">
|
|
|
+ <td class="vst-text input-label">
|
|
|
<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>
|
|
|
</td>
|
|
|
</tr>
|
|
|
- <tr class="stats-auth">
|
|
|
+ <tr class="stats-auth step-top">
|
|
|
<td class="step-left">
|
|
|
<table style="display:<?php if (empty($v_stats_user)) { echo 'none';} else {echo 'block';}?> ;" id="statstable" name="v-add-web-domain-stats-user">
|
|
|
<tr>
|
|
|
@@ -149,7 +154,7 @@
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td class="vst-text input-label">
|
|
|
- <?php print _('Password');?> / <a href="javascript:WEBrandom();" class="generate"><?php print _('generate');?></a>
|
|
|
+ <?php print _('Password');?> <a href="javascript:WEBrandom();" title="<?php print _('generate');?>"><i class="fas fa-sync status-icon green icon-large"></i></a>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
@@ -161,196 +166,79 @@
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td class="vst-text input-label">
|
|
|
- <?php print _('Web Template') . "<span class='optional'>" .strtoupper($_SESSION['WEB_SYSTEM']) . "</span>";?>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td>
|
|
|
- <select class="vst-list" name="v_template">
|
|
|
- <?php
|
|
|
- foreach ($templates as $key => $value) {
|
|
|
- echo "\t\t\t\t<option value=\"".htmlentities($value)."\"";
|
|
|
- $svalue = "'".$value."'";
|
|
|
- if ((!empty($v_template)) && ( $value == $v_template ) || ($svalue == $v_template)){
|
|
|
- echo ' selected' ;
|
|
|
- }
|
|
|
- echo ">".htmlentities($value)."</option>\n";
|
|
|
- }
|
|
|
- ?>
|
|
|
- </select>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <?php if($_SESSION['WEB_SYSTEM'] == 'nginx'){?>
|
|
|
- <tr>
|
|
|
- <td class="vst-text input-label">
|
|
|
- <?php print _('Enable Fast CGI Cache'); ?> <a href="https://docs.hestiacp.com/admin_docs/nginx_caching.html" target="_blank"><i class="fas fa-question-circle"></i></a>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td>
|
|
|
- <select class="vst-list" name="v_nginx_cache">
|
|
|
- <option value="no"><?php echo _('No');?></option>
|
|
|
- <option value="yes" <?php if ( $v_nginx_cache == "yes") { echo 'selected'; }?>><?php echo _('Yes');?></option>
|
|
|
- </select>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <?php } ?>
|
|
|
- <?php if (!empty($_SESSION['WEB_BACKEND'])) { ?>
|
|
|
- <tr>
|
|
|
- <td class="vst-text input-label">
|
|
|
- <?php print _('Backend Template') . " <span class='optional'>" . strtoupper($_SESSION['WEB_BACKEND']) . "</span>";?>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td>
|
|
|
- <select class="vst-list" name="v_backend_template">
|
|
|
- <?php
|
|
|
- foreach ($backend_templates as $key => $value) {
|
|
|
- echo "\t\t\t\t<option value=\"".$value."\"";
|
|
|
- $svalue = "'".$value."'";
|
|
|
- if ((!empty($v_backend_template)) && ( $value == $v_backend_template ) || ($svalue == $v_backend_template)){
|
|
|
- echo ' selected' ;
|
|
|
- }
|
|
|
- if ((empty($v_backend_template)) && ($value == 'default')){
|
|
|
- echo ' selected' ;
|
|
|
- }
|
|
|
- echo ">".htmlentities($value)."</option>\n";
|
|
|
- }
|
|
|
- ?>
|
|
|
- </select>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <?php }?>
|
|
|
-
|
|
|
- <?php if (!empty($_SESSION['PROXY_SYSTEM'])) { ?>
|
|
|
- <tr>
|
|
|
- <td class="vst-text step-top">
|
|
|
- <label><input type="checkbox" size="20" class="vst-checkbox" name="v_proxy" <?php if (!empty($v_proxy)) echo "checked=yes" ?> onclick="javascript:elementHideShow('proxytable');"><?php print _('Proxy Support') . "<span class='optional'>" . strtoupper($_SESSION['PROXY_SYSTEM']) . "</span>";?></label>
|
|
|
+ <td class="vst-text">
|
|
|
+ <label><input type="checkbox" size="20" class="vst-checkbox" name="v-redirect-checkbox" <?php if (!empty($v_redirect)) echo "checked=yes" ?> onclick="javascript:elementHideShow('v_redirect');"><?php print _('Enable domain redirection');?></label>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td class="step-left">
|
|
|
- <table style="display:<?php if (empty($v_proxy)) { echo 'none';} else {echo 'block';}?> ;" id="proxytable">
|
|
|
- <tr>
|
|
|
- <td class="vst-text input-label">
|
|
|
- <?php print _('Proxy Template');?>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td>
|
|
|
- <select class="vst-list" name="v_proxy_template">
|
|
|
- <?php
|
|
|
- foreach ($proxy_templates as $key => $value) {
|
|
|
- echo "\t\t\t\t<option value=\"".htmlentities($value)."\"";
|
|
|
- $svalue = "'".$value."'";
|
|
|
- if ((!empty($v_proxy_template)) && ( $value == $v_proxy_template ) || ($svalue == $v_proxy_template)){
|
|
|
- echo ' selected' ;
|
|
|
- }
|
|
|
- if ((empty($v_proxy_template)) && ($value == 'default')){
|
|
|
- echo ' selected' ;
|
|
|
- }
|
|
|
- echo ">".htmlentities($value)."</option>\n";
|
|
|
- }
|
|
|
- ?>
|
|
|
- </select>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td class="vst-text input-label">
|
|
|
- <?php print _('Proxy Extensions');?>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
+ <table style="display:<?php if (empty($v_redirect)) { echo 'none';} else {echo 'block';}?> ;" id="v_redirect">
|
|
|
<tr>
|
|
|
<td>
|
|
|
- <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 'jpg, jpeg, gif, png, ico, svg, css, zip, tgz, gz, rar, bz2, exe, pdf, doc, xls, ppt, txt, odt, ods, odp, odf, tar, bmp, rtf, js, mp3, avi, mpeg, flv, html, htm'; } ?></textarea>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- </table>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <?php } ?>
|
|
|
- <tr>
|
|
|
- <td class="vst-text step-top">
|
|
|
- <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');"><?php print _('Custom document root');?></label>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td class="step-left">
|
|
|
- <table style="display:<?php if (empty($v_custom_doc_root)) { echo 'none';} else {echo 'block';}?> ;" id="v_custom_doc_root">
|
|
|
- <tr>
|
|
|
- <td class="vst-text input-label">
|
|
|
- <?php print _('Point to');?>
|
|
|
+ <label><input type="radio" name="v-redirect" value="<?php echo 'www.'.$v_domain;?>" <?php if ($v_redirect == "www.".$v_domain) echo "checked"; ?> class="v-redirect-custom-value"><?=sprintf(_('Redirect visitors to %s'),"www.".$v_domain);?></input></label><br />
|
|
|
+ <label><input type="radio" name="v-redirect" value="<?php echo $v_domain;?>" <?php if( $v_redirect == $v_domain) echo "checked";?> class="v-redirect-custom-value"><?=sprintf(_('Redirect visitors to %s'),$v_domain);?></input></label><br />
|
|
|
+ <label><input type="radio" name="v-redirect" value="custom" <?php if( !empty($v_redirect_custom)) echo "checked";?> class="v-redirect-custom-value"><?=_("Redirect visitors to a custom domain or web address");?></input></label>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td>
|
|
|
- <input type="hidden" name="v-custom-doc-root_prepath"" value="<?php echo $v_custom_doc_root_prepath;?>">
|
|
|
- <select class="vst-list" name="v-custom-doc-domain">
|
|
|
- <option value="<?php echo $v_domain;?>"><?php echo $v_domain;?></option>
|
|
|
- <?php
|
|
|
- foreach ($user_domains as $domain) {
|
|
|
- if($domain != $v_domain ){
|
|
|
- if($v_custom_doc_domain == $domain){
|
|
|
- ?>
|
|
|
- <option value="<?php echo $domain;?>" selected="selected"><?php echo $domain;?></option>
|
|
|
- <?php
|
|
|
- }else{
|
|
|
- ?>
|
|
|
- <option value="<?php echo $domain;?>"><?php echo $domain;?></option>
|
|
|
- <?php
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- ?>
|
|
|
- </select>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td class="vst-text input-label">
|
|
|
- <?php print( _('Directory'));?> <span class="optional">(<?php print _('optional');?>)</span>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td>
|
|
|
- <input type="text" size="20" class="vst-input"
|
|
|
- name="v-custom-doc-folder" value="<?=htmlentities(trim($v_custom_doc_folder, "'"))?>">
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td>
|
|
|
- <small class="custom_docroot_hint"></small>
|
|
|
+ <table id="custom_redirect" style="margin-left: 22px; display:<?php if (empty($v_redirect_custom)) { echo 'none';} else {echo 'block';}?> ;">
|
|
|
+ <tr>
|
|
|
+ <td class="vst-text input-label">
|
|
|
+ <?=_('Target domain or URL');?>:
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td class="vst-text input-label">
|
|
|
+ <input type="text" name="v-redirect-custom" class="vst-input" value="<?=$v_redirect_custom;?>" />
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td class="vst-text input-label">
|
|
|
+ <?=_('Status code');?>:
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td class="vst-text input-label">
|
|
|
+ <select class="vst-list" name="v-redirect-code">
|
|
|
+ <?php foreach ($redirect_code_options as $status_code): ?>
|
|
|
+ <option value="<?php echo $status_code;?>"
|
|
|
+ <?=($v_redirect_code === $status_code || (empty($v_redirect_code) && $status_code === $v_redirect_code))?' selected="selected" ':''; ?>>
|
|
|
+ <?php echo $status_code;?>
|
|
|
+ </option>
|
|
|
+ <?php endforeach; ?>
|
|
|
+ </select>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </table>
|
|
|
</td>
|
|
|
</tr>
|
|
|
-
|
|
|
</table>
|
|
|
</td>
|
|
|
</tr>
|
|
|
-
|
|
|
<tr>
|
|
|
- <td class="vst-text step-top">
|
|
|
- <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>
|
|
|
+ <td class="vst-text">
|
|
|
+ <label><input type="checkbox" size="20" class="vst-checkbox" name="v_ssl" <?php if ($v_ssl == 'yes') echo "checked=yes" ?> onclick="javascript:App.Actions.WEB.toggle_ssl(this);"><?php print _('SSL Support');?></label>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td class="step-left">
|
|
|
<table style="display:<?php if ($v_ssl == 'no' ) { echo 'none';} else {echo 'block';}?> ;" id="ssltable">
|
|
|
- <tr>
|
|
|
+ <tr>
|
|
|
<td class="input-label vst-text">
|
|
|
- <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>
|
|
|
+ <label><input type="checkbox" size="20" class="vst-checkbox" name="v_letsencrypt" id="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>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td class="input-label vst-text">
|
|
|
- <label><input type="checkbox" size="20" class="vst-checkbox" name="v_ssl_forcessl" <?php if($v_ssl_forcessl == 'yes') echo "checked=yes" ?> onclick="App.Actions.WEB.toggle_forcessl(this)"><?php print _('Force SSL/HTTPS');?></label>
|
|
|
+ <label><input type="checkbox" size="20" class="vst-checkbox" name="v_ssl_forcessl" id="v_ssl_forcessl" <?php if($v_ssl_forcessl == 'yes') echo "checked=yes" ?> onclick=""><?php print _('Force SSL/HTTPS');?></label>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td class="input-label vst-text">
|
|
|
- <label><input type="checkbox" size="20" class="vst-checkbox" name="v_ssl_hsts" <?php if($v_ssl_hsts == 'yes') echo "checked=yes" ?> onclick="App.Actions.WEB.toggle_hsts(this)"><?php print _('Enable SSL HSTS');?></label>
|
|
|
+ <label><input type="checkbox" size="20" class="vst-checkbox" name="v_ssl_hsts" id="ssl_hsts" <?php if($v_ssl_hsts == 'yes') echo "checked=yes" ?> onclick="App.Actions.WEB.toggle_hsts(this)"><?php print _('Enable SSL HSTS');?></label>
|
|
|
</td>
|
|
|
</tr>
|
|
|
-
|
|
|
<tr style="display: none;">
|
|
|
<td class="vst-text input-label">
|
|
|
<?php print _('Home Directory');?>
|
|
|
@@ -373,7 +261,7 @@
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td>
|
|
|
- <textarea size="20" class="vst-textinput short" name="v_ssl_crt"><?=htmlentities(trim($v_ssl_crt, "'"))?></textarea>
|
|
|
+ <textarea size="20" class="vst-textinput short" name="v_ssl_crt" id="ssl_crt"><?=htmlentities(trim($v_ssl_crt, "'"))?></textarea>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
@@ -412,7 +300,7 @@
|
|
|
<? if($v_ssl_aliases){?>
|
|
|
<tr>
|
|
|
<td>
|
|
|
- <b><?=_('ALIASES')?>:</b>
|
|
|
+ <b><?=_('Aliases')?>:</b>
|
|
|
</td>
|
|
|
<td class="details">
|
|
|
<?=$v_ssl_aliases?>
|
|
|
@@ -467,90 +355,254 @@
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td class="vst-text step-top">
|
|
|
- <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>
|
|
|
+ <td class="step-top vst-text " style="/*padding: 32px 0 20px 0;*/">
|
|
|
+ <a href="javascript:elementHideShow('advanced-options-table');" class="vst-advanced"><i class="fas fa-eye status-icon lightblue icon-pad-right"></i><?php print _('Advanced options');?></a>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td>
|
|
|
-
|
|
|
- <?php foreach ($v_ftp_users as $i => $ftp_user): ?>
|
|
|
- <?php
|
|
|
- $v_ftp_user = $ftp_user['v_ftp_user'];
|
|
|
- $v_ftp_password = $ftp_user['v_ftp_password'];
|
|
|
- $v_ftp_path = $ftp_user['v_ftp_path'];
|
|
|
- $v_ftp_email = $ftp_user['v_ftp_email'];
|
|
|
- $v_ftp_pre_path = $ftp_user['v_ftp_pre_path'];
|
|
|
- ?>
|
|
|
- <table style="display:<?php if (empty($v_ftp_user)) { echo 'none';} else {echo 'block';}?> ;" class="ftptable ftptable-nrm" name="v_add_domain_ftp">
|
|
|
+ <table id="advanced-options-table" style="display: none;" class="step-top">
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td class="vst-text input-label">
|
|
|
+ <?php print _('Web Template') . "<span class='optional'>" .strtoupper($_SESSION['WEB_SYSTEM']) . "</span>";?>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td>
|
|
|
+ <select class="vst-list" name="v_template">
|
|
|
+ <?php
|
|
|
+ foreach ($templates as $key => $value) {
|
|
|
+ echo "\t\t\t\t<option value=\"".htmlentities($value)."\"";
|
|
|
+ $svalue = "'".$value."'";
|
|
|
+ if ((!empty($v_template)) && ( $value == $v_template ) || ($svalue == $v_template)){
|
|
|
+ echo ' selected' ;
|
|
|
+ }
|
|
|
+ echo ">".htmlentities($value)."</option>\n";
|
|
|
+ }
|
|
|
+ ?>
|
|
|
+ </select>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <?php if($_SESSION['WEB_SYSTEM'] == 'nginx'){?>
|
|
|
+ <tr>
|
|
|
+ <td class="vst-text input-label">
|
|
|
+ <?php print _('Enable Fast CGI Cache'); ?> <a href="https://docs.hestiacp.com/admin_docs/nginx_caching.html" target="_blank"><i class="fas fa-question-circle"></i></a>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td>
|
|
|
+ <select class="vst-list" name="v_nginx_cache">
|
|
|
+ <option value="no"><?php echo _('No');?></option>
|
|
|
+ <option value="yes" <?php if ( $v_nginx_cache == "yes") { echo 'selected'; }?>><?php echo _('Yes');?></option>
|
|
|
+ </select>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <?php } ?>
|
|
|
+ <?php if (!empty($_SESSION['WEB_BACKEND'])) { ?>
|
|
|
+ <tr>
|
|
|
+ <td class="vst-text input-label">
|
|
|
+ <?php print _('Backend Template') . " <span class='optional'>" . strtoupper($_SESSION['WEB_BACKEND']) . "</span>";?>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td>
|
|
|
+ <select class="vst-list" name="v_backend_template">
|
|
|
+ <?php
|
|
|
+ foreach ($backend_templates as $key => $value) {
|
|
|
+ echo "\t\t\t\t<option value=\"".$value."\"";
|
|
|
+ $svalue = "'".$value."'";
|
|
|
+ if ((!empty($v_backend_template)) && ( $value == $v_backend_template ) || ($svalue == $v_backend_template)){
|
|
|
+ echo ' selected' ;
|
|
|
+ }
|
|
|
+ if ((empty($v_backend_template)) && ($value == 'default')){
|
|
|
+ echo ' selected' ;
|
|
|
+ }
|
|
|
+ echo ">".htmlentities($value)."</option>\n";
|
|
|
+ }
|
|
|
+ ?>
|
|
|
+ </select>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <?php }?>
|
|
|
+ <?php if (!empty($_SESSION['PROXY_SYSTEM'])) { ?>
|
|
|
+ <!-- <tr>
|
|
|
+ <td class="vst-text step-top">
|
|
|
+ <label><input type="checkbox" size="20" class="vst-checkbox" name="v_proxy" <?php if (!empty($v_proxy)) echo "checked=yes" ?> onclick="javascript:elementHideShow('proxytable');"><?php print _('Proxy Support') . "<span class='optional'>" . strtoupper($_SESSION['PROXY_SYSTEM']) . "</span>";?></label>
|
|
|
+ </td>
|
|
|
+ </tr>-->
|
|
|
+ <tr>
|
|
|
+ <td>
|
|
|
+ <table id="proxytable">
|
|
|
<tr>
|
|
|
<td class="vst-text input-label">
|
|
|
- <?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>
|
|
|
- <input type="hidden" class="v-ftp-user-deleted" name="v_ftp_user[<?php print $i ?>][delete]" value="0" />
|
|
|
- <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']) ?>" />
|
|
|
+ <?php print _('Proxy Template');?> <span class='optional'><?php echo strtoupper($_SESSION['PROXY_SYSTEM']) ?></span>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td class="vst-text step-left input-label">
|
|
|
- <?php print _('Username');?><br>
|
|
|
- <span style="font-size: 10pt; color:#777;"><?php print sprintf(_('Prefix %s will be added to username automatically'),$user."_");?></span>
|
|
|
+ <td>
|
|
|
+ <select class="vst-list" name="v_proxy_template">
|
|
|
+ <?php
|
|
|
+ foreach ($proxy_templates as $key => $value) {
|
|
|
+ echo "\t\t\t\t<option value=\"".htmlentities($value)."\"";
|
|
|
+ $svalue = "'".$value."'";
|
|
|
+ if ((!empty($v_proxy_template)) && ( $value == $v_proxy_template ) || ($svalue == $v_proxy_template)){
|
|
|
+ echo ' selected' ;
|
|
|
+ }
|
|
|
+ if ((empty($v_proxy_template)) && ($value == 'default')){
|
|
|
+ echo ' selected' ;
|
|
|
+ }
|
|
|
+ echo ">".htmlentities($value)."</option>\n";
|
|
|
+ }
|
|
|
+ ?>
|
|
|
+ </select>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td class="step-left">
|
|
|
- <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, "'"))?>">
|
|
|
- <small class="hint"></small>
|
|
|
+ <td class="vst-text input-label">
|
|
|
+ <?php print _('Proxy Extensions');?>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td class="vst-text step-left input-label">
|
|
|
- <?php print _('Password');?> / <a href="javascript:void(0);" onClick="FTPrandom(this)"; class="generate" ><?php print _('generate');?></a>
|
|
|
+ <td>
|
|
|
+ <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 'jpg, jpeg, gif, png, ico, svg, css, zip, tgz, gz, rar, bz2, exe, pdf, doc, xls, ppt, txt, odt, ods, odp, odf, tar, bmp, rtf, js, mp3, avi, mpeg, flv, html, htm'; } ?></textarea>
|
|
|
</td>
|
|
|
</tr>
|
|
|
+ </table>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <?php } ?>
|
|
|
+ <tr>
|
|
|
+ <td class="vst-text">
|
|
|
+ <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');"><?php print _('Custom document root');?></label>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td class="step-left">
|
|
|
+ <table style="display:<?php if (empty($v_custom_doc_root)) { echo 'none';} else {echo 'block';}?> ;" id="v_custom_doc_root">
|
|
|
<tr>
|
|
|
- <td class="step-left">
|
|
|
- <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, "'"))?>">
|
|
|
+ <td class="vst-text input-label">
|
|
|
+ <?php print _('Point to');?>
|
|
|
</td>
|
|
|
</tr>
|
|
|
-
|
|
|
<tr>
|
|
|
- <td class="vst-text step-left input-label">
|
|
|
- <?php print _('Path');?>
|
|
|
+ <td>
|
|
|
+ <input type="hidden" name="v-custom-doc-root_prepath" value="<?php echo $v_custom_doc_root_prepath;?>">
|
|
|
+ <select class="vst-list" name="v-custom-doc-domain">
|
|
|
+ <?php foreach ($user_domains as $domain): ?>
|
|
|
+ <option value="<?php echo $domain;?>"
|
|
|
+ <?=($v_custom_doc_domain === $domain || (empty($v_custom_doc_domain) && $domain === $v_domain))?' selected="selected" ':''; ?>>
|
|
|
+ <?php echo $domain;?>
|
|
|
+ </option>
|
|
|
+ <?php endforeach; ?>
|
|
|
+ </select>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td class="step-left">
|
|
|
- <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, "'")) : '/'; ?>">
|
|
|
- <input type="hidden" class="vst-input v-ftp-path" name="v_ftp_user[<?php print $i ?>][v_ftp_path_prev]" value="<?php if (!empty($v_ftp_path)) echo ($v_ftp_path[0] != '/' ? '/' : '').htmlentities(trim($v_ftp_path, "'")) ?>">
|
|
|
- <input type="text" class="vst-input v-ftp-path" name="v_ftp_user[<?php print $i ?>][v_ftp_path]" value="<?php if (!empty($v_ftp_path)) echo ($v_ftp_path[0] != '/' ? '/' : '').htmlentities(trim($v_ftp_path, "'")); ?>">
|
|
|
- <br /><span class="ftp-path-prefix"><?=htmlentities(trim($v_ftp_pre_path, "'"))?></span><span class="ftp-path-value v-ftp-path-hint"></span>
|
|
|
+ <td class="vst-text input-label">
|
|
|
+ <?php print( _('Directory'));?> <span class="optional">(<?php print _('optional');?>)</span>
|
|
|
</td>
|
|
|
</tr>
|
|
|
- <?php if ($ftp_user['is_new'] == 1): ?>
|
|
|
<tr>
|
|
|
- <td class="vst-text step-left input-label">
|
|
|
- <?php print _('Send FTP credentials to email');?>
|
|
|
+ <td>
|
|
|
+ <input type="text" size="20" class="vst-input"
|
|
|
+ name="v-custom-doc-folder" value="<?=htmlentities(trim($v_custom_doc_folder, "'"))?>">
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td class="step-left">
|
|
|
- <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, "'"))?>">
|
|
|
+ <td>
|
|
|
+ <small class="custom_docroot_hint"></small>
|
|
|
</td>
|
|
|
</tr>
|
|
|
- <?php endif; ?>
|
|
|
- </table>
|
|
|
- <?php endforeach; ?>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
|
|
|
- <tr class="add-new-ftp-user-button" style="<?php print !empty($v_ftp_user) ? '' : 'display:none;' ?>">
|
|
|
- <td class="vst-text step-top v-add-new-user step-bottom">
|
|
|
- <a class="additional-control" onClick="App.Actions.WEB.add_ftp_user_form()"><?php print _('Add one more FTP Account');?></a>
|
|
|
+ </table>
|
|
|
</td>
|
|
|
</tr>
|
|
|
- </table>
|
|
|
- <table class="data-col2">
|
|
|
+
|
|
|
+ <?php foreach ($v_ftp_users as $i => $ftp_user): ?>
|
|
|
+ <?php
|
|
|
+ $v_ftp_user = $ftp_user['v_ftp_user'];
|
|
|
+ $v_ftp_password = $ftp_user['v_ftp_password'];
|
|
|
+ $v_ftp_path = $ftp_user['v_ftp_path'];
|
|
|
+ $v_ftp_email = $ftp_user['v_ftp_email'];
|
|
|
+ $v_ftp_pre_path = $ftp_user['v_ftp_pre_path'];
|
|
|
+ ?>
|
|
|
+ <tr>
|
|
|
+ <td>
|
|
|
+ <tr>
|
|
|
+ <td class="vst-text">
|
|
|
+ <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>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <table style="display:<?php if (empty($v_ftp_user)) { echo 'none';} else {echo 'block';}?> ;" class="ftptable ftptable-nrm" name="v_add_domain_ftp">
|
|
|
+ <tr>
|
|
|
+ <td class="vst-text input-label">
|
|
|
+ <?php print _('FTP') ?> #<span class="ftp-user-number"><?php print $i + 1; ?></span> <a class="ftp-remove-user additional-control vst-advanced button danger" onCLick="App.Actions.WEB.remove_ftp_user(this)"><i class="fas fa-user-times icon-pad-right" title="<?=_('delete')?>"></i><?=_('delete')?></a>
|
|
|
+ <input type="hidden" class="v-ftp-user-deleted" name="v_ftp_user[<?php print $i ?>][delete]" value="0" />
|
|
|
+ <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']) ?>" />
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td class="vst-text step-left input-label">
|
|
|
+ <?php print _('Username');?><br>
|
|
|
+ <span style="font-size: 10pt; color:#777;"><?php print sprintf(_('Prefix %s will be added to username automatically'),$user."_");?></span>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td class="step-left">
|
|
|
+ <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, "'"))?>">
|
|
|
+ <small class="hint"></small>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td class="vst-text step-left input-label">
|
|
|
+ <?php print _('Password');?> <a href="javascript:void(0);"" onClick="FTPrandom(this)"title="<?php print _('generate');?>"><i class="fas fa-sync status-icon green icon-large"></i></a>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td class="step-left">
|
|
|
+ <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, "'"))?>">
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td class="vst-text step-left input-label">
|
|
|
+ <?php print _('Path');?>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td class="step-left">
|
|
|
+ <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, "'")) : '/'; ?>">
|
|
|
+ <input type="hidden" class="vst-input v-ftp-path" name="v_ftp_user[<?php print $i ?>][v_ftp_path_prev]" value="<?php if (!empty($v_ftp_path)) echo ($v_ftp_path[0] != '/' ? '/' : '').htmlentities(trim($v_ftp_path, "'")) ?>">
|
|
|
+ <input type="text" class="vst-input v-ftp-path" name="v_ftp_user[<?php print $i ?>][v_ftp_path]" value="<?php if (!empty($v_ftp_path)) echo ($v_ftp_path[0] != '/' ? '/' : '').htmlentities(trim($v_ftp_path, "'")); ?>">
|
|
|
+ <br /><span class="ftp-path-prefix"><?=htmlentities(trim($v_ftp_pre_path, "'"))?></span><span class="ftp-path-value v-ftp-path-hint"></span>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <?php if ($ftp_user['is_new'] == 1): ?>
|
|
|
+ <tr>
|
|
|
+ <td class="vst-text step-left input-label">
|
|
|
+ <?php print _('Send FTP credentials to email');?>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td class="step-left">
|
|
|
+ <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, "'"))?>">
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <?php endif; ?>
|
|
|
+ </table>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr class="add-new-ftp-user-button" style="<?php print !empty($v_ftp_user) ? '' : 'display:none;' ?>">
|
|
|
+ <td class="vst-text step-top v-add-new-user step-bottom">
|
|
|
+ <a class="additional-control vst-advanced" onClick="App.Actions.WEB.add_ftp_user_form()"><i class="fas fa-plus-circle status-icon green icon-pad-right" title="<?php print _('Add one more FTP Account');?>"></i><?php print _('Add one more FTP Account');?></a>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <?php endforeach; ?>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </table>
|
|
|
</table>
|
|
|
</td>
|
|
|
</tr>
|
|
|
@@ -561,7 +613,7 @@
|
|
|
<table class="ftptable ftptable-nrm" name="v_add_domain_ftp">
|
|
|
<tr>
|
|
|
<td class="vst-text input-label">
|
|
|
- <?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>
|
|
|
+ <?php print _('FTP') ?> #<span class="ftp-user-number"></span> <a class="ftp-remove-user additional-control vst-advanced button danger" onCLick="App.Actions.WEB.remove_ftp_user(this)"><i class="fas fa-user-times icon-pad-right" title="<?=_('delete')?>"></i><?=_('delete')?></a>
|
|
|
<input type="hidden" class="v-ftp-user-deleted" name="v_ftp_user[%INDEX%][delete]" value="0" />
|
|
|
<input type="hidden" class="v-ftp-user-is-new" name="v_ftp_user[%INDEX%][is_new]" value="1" />
|
|
|
</td>
|
|
|
@@ -580,7 +632,7 @@
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td class="vst-text step-left input-label">
|
|
|
- <?php print _('Password');?> / <a href="javascript:void(0);" onClick="FTPrandom(this)"; class="generate" ><?php print _('generate');?></a>
|
|
|
+ <?php print _('Password');?> <a href="javascript:void(0);" onClick="FTPrandom(this)" title="<?php print _('generate');?>"><i class="fas fa-sync status-icon green icon-large"></i></a>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
@@ -615,5 +667,5 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<script>
|
|
|
- GLOBAL.FTP_USER_PREFIX = <?=json_encode($user.'_')?>;
|
|
|
+ GLOBAL.FTP_USER_PREFIX = <?=json_encode($user.'_')?>;
|
|
|
</script>
|