|
@@ -3,20 +3,20 @@
|
|
|
<div class="toolbar-inner">
|
|
<div class="toolbar-inner">
|
|
|
<div class="toolbar-buttons">
|
|
<div class="toolbar-buttons">
|
|
|
<a class="button button-secondary button-back js-button-back" href="/list/web/">
|
|
<a class="button button-secondary button-back js-button-back" href="/list/web/">
|
|
|
- <i class="fas fa-arrow-left icon-blue"></i><?= _("Back") ?>
|
|
|
|
|
|
|
+ <i class="fas fa-arrow-left icon-blue"></i><?= tohtml( _("Back")) ?>
|
|
|
</a>
|
|
</a>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="toolbar-buttons">
|
|
<div class="toolbar-buttons">
|
|
|
- <a href="/delete/web/cache/?domain=<?= htmlentities($v_domain);?>&token=<?= $_SESSION['token'];?>" class="button button-secondary js-clear-cache-button <?php if (!($v_nginx_cache == 'yes' || (($v_proxy_template == 'caching' || is_int(strpos($v_proxy_template, 'caching-'))) && $_SESSION['PROXY_SYSTEM'] == 'nginx'))) { echo "u-hidden"; } ?>">
|
|
|
|
|
- <i class="fas fa-trash icon-red"></i><?= _("Purge NGINX Cache") ?>
|
|
|
|
|
|
|
+ <a href="/delete/web/cache/?<?= tohtml(http_build_query(["domain" => $v_domain, "token" => $_SESSION['token']])) ?>" class="button button-secondary js-clear-cache-button <?php if (!($v_nginx_cache == 'yes' || (($v_proxy_template == 'caching' || is_int(strpos($v_proxy_template, 'caching-'))) && $_SESSION['PROXY_SYSTEM'] == 'nginx'))) { echo "u-hidden"; } ?>">
|
|
|
|
|
+ <i class="fas fa-trash icon-red"></i><?= tohtml( _("Purge NGINX Cache")) ?>
|
|
|
</a>
|
|
</a>
|
|
|
<?php if ($_SESSION["PLUGIN_APP_INSTALLER"] !== "false") { ?>
|
|
<?php if ($_SESSION["PLUGIN_APP_INSTALLER"] !== "false") { ?>
|
|
|
- <a href="/add/webapp/?domain=<?= htmlentities($v_domain) ?>" class="button button-secondary">
|
|
|
|
|
- <i class="fas fa-magic icon-blue"></i><?= _("Quick Install App") ?>
|
|
|
|
|
|
|
+ <a href="/add/webapp/?<?= tohtml(http_build_query(["domain" => $v_domain])) ?>" class="button button-secondary">
|
|
|
|
|
+ <i class="fas fa-magic icon-blue"></i><?= tohtml( _("Quick Install App")) ?>
|
|
|
</a>
|
|
</a>
|
|
|
<?php } ?>
|
|
<?php } ?>
|
|
|
<button type="submit" class="button" form="main-form">
|
|
<button type="submit" class="button" form="main-form">
|
|
|
- <i class="fas fa-floppy-disk icon-purple"></i><?= _("Save") ?>
|
|
|
|
|
|
|
+ <i class="fas fa-floppy-disk icon-purple"></i><?= tohtml( _("Save")) ?>
|
|
|
</button>
|
|
</button>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
@@ -24,47 +24,50 @@
|
|
|
<!-- End toolbar -->
|
|
<!-- End toolbar -->
|
|
|
|
|
|
|
|
<div class="container">
|
|
<div class="container">
|
|
|
|
|
+ <?php
|
|
|
|
|
+ $web_x_data = [
|
|
|
|
|
+ "statsAuthEnabled" => !empty($v_stats_user),
|
|
|
|
|
+ "redirectEnabled" => !empty($v_redirect),
|
|
|
|
|
+ "sslEnabled" => $v_ssl == "yes",
|
|
|
|
|
+ "letsEncryptEnabled" => $v_letsencrypt == "yes" || $v_letsencrypt == "on",
|
|
|
|
|
+ "showCertificates" => !($v_letsencrypt == "yes" || $v_letsencrypt == "on"),
|
|
|
|
|
+ "showAdvanced" => false,
|
|
|
|
|
+ "nginxCacheEnabled" => $v_nginx_cache == "yes",
|
|
|
|
|
+ "proxySupportEnabled" => !empty($v_proxy),
|
|
|
|
|
+ "customDocumentRootEnabled" => !empty($v_custom_doc_root),
|
|
|
|
|
+ ];
|
|
|
|
|
+ ?>
|
|
|
|
|
|
|
|
<form
|
|
<form
|
|
|
- x-data="{
|
|
|
|
|
- statsAuthEnabled: <?= !empty($v_stats_user) ? "true" : "false" ?>,
|
|
|
|
|
- redirectEnabled: <?= !empty($v_redirect) ? "true" : "false" ?>,
|
|
|
|
|
- sslEnabled: <?= $v_ssl == "yes" ? "true" : "false" ?>,
|
|
|
|
|
- letsEncryptEnabled: <?= $v_letsencrypt == "yes" || $v_letsencrypt == "on" ? "true" : "false" ?>,
|
|
|
|
|
- showCertificates: <?= $v_letsencrypt == "yes" || $v_letsencrypt == "on" ? "false" : "true" ?>,
|
|
|
|
|
- showAdvanced: false,
|
|
|
|
|
- nginxCacheEnabled: <?= $v_nginx_cache == "yes" ? "true" : "false" ?>,
|
|
|
|
|
- proxySupportEnabled: <?= !empty($v_proxy) ? "true" : "false" ?>,
|
|
|
|
|
- customDocumentRootEnabled: <?= !empty($v_custom_doc_root) ? "true" : "false" ?>
|
|
|
|
|
- }"
|
|
|
|
|
|
|
+ x-data="<?= tohtml(json_encode($web_x_data, JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_THROW_ON_ERROR)) ?>"
|
|
|
id="main-form"
|
|
id="main-form"
|
|
|
name="v_edit_web"
|
|
name="v_edit_web"
|
|
|
method="post"
|
|
method="post"
|
|
|
- class="<?= $v_status ?> js-enable-inputs-on-submit"
|
|
|
|
|
|
|
+ class="<?= tohtml($v_status) ?> js-enable-inputs-on-submit"
|
|
|
>
|
|
>
|
|
|
- <input type="hidden" name="token" value="<?= $_SESSION["token"] ?>">
|
|
|
|
|
|
|
+ <input type="hidden" name="token" value="<?= tohtml($_SESSION["token"]) ?>">
|
|
|
<input type="hidden" name="save" value="save">
|
|
<input type="hidden" name="save" value="save">
|
|
|
|
|
|
|
|
<div class="form-container">
|
|
<div class="form-container">
|
|
|
- <h1 class="u-mb20"><?= _("Edit Web Domain") ?></h1>
|
|
|
|
|
|
|
+ <h1 class="u-mb20"><?= tohtml( _("Edit Web Domain")) ?></h1>
|
|
|
<?php show_alert_message($_SESSION); ?>
|
|
<?php show_alert_message($_SESSION); ?>
|
|
|
<div class="u-mb10">
|
|
<div class="u-mb10">
|
|
|
- <label for="v_domain" class="form-label"><?= _("Domain") ?></label>
|
|
|
|
|
- <input type="text" class="form-control" name="v_domain" id="v_domain" value="<?= htmlentities(trim($v_domain, "'")) ?>" disabled required>
|
|
|
|
|
- <input type="hidden" name="v_domain" value="<?= htmlentities(trim($v_domain, "'")) ?>">
|
|
|
|
|
|
|
+ <label for="v_domain" class="form-label"><?= tohtml( _("Domain")) ?></label>
|
|
|
|
|
+ <input type="text" class="form-control" name="v_domain" id="v_domain" value="<?= tohtml(trim($v_domain, "'")) ?>" disabled required>
|
|
|
|
|
+ <input type="hidden" name="v_domain" value="<?= tohtml(trim($v_domain, "'")) ?>">
|
|
|
</div>
|
|
</div>
|
|
|
<div class="u-mb10">
|
|
<div class="u-mb10">
|
|
|
- <label for="v_aliases" class="form-label"><?= _("Aliases") ?></label>
|
|
|
|
|
- <textarea class="form-control" name="v_aliases" id="v_aliases"><?= htmlentities(trim($v_aliases, "'")) ?></textarea>
|
|
|
|
|
|
|
+ <label for="v_aliases" class="form-label"><?= tohtml( _("Aliases")) ?></label>
|
|
|
|
|
+ <textarea class="form-control" name="v_aliases" id="v_aliases"><?= tohtml(trim($v_aliases, "'")) ?></textarea>
|
|
|
</div>
|
|
</div>
|
|
|
<?php if ($v_letsencrypt == "yes" || $v_letsencrypt == "on") { ?>
|
|
<?php if ($v_letsencrypt == "yes" || $v_letsencrypt == "on") { ?>
|
|
|
<div class="alert alert-info u-mb10" role="alert">
|
|
<div class="alert alert-info u-mb10" role="alert">
|
|
|
<i class="fas fa-exclamation"></i>
|
|
<i class="fas fa-exclamation"></i>
|
|
|
- <p><?= _("If the aliases changes, Let's Encrypt will obtain a new SSL certificate.") ?></p>
|
|
|
|
|
|
|
+ <p><?= tohtml( _("If the aliases changes, Let's Encrypt will obtain a new SSL certificate.")) ?></p>
|
|
|
</div>
|
|
</div>
|
|
|
<?php } ?>
|
|
<?php } ?>
|
|
|
<div class="u-mb20">
|
|
<div class="u-mb20">
|
|
|
- <label for="v_ip" class="form-label"><?= _("IP Address") ?></label>
|
|
|
|
|
|
|
+ <label for="v_ip" class="form-label"><?= tohtml( _("IP Address")) ?></label>
|
|
|
<select class="form-select" name="v_ip" id="v_ip">
|
|
<select class="form-select" name="v_ip" id="v_ip">
|
|
|
<?php
|
|
<?php
|
|
|
foreach ($ips as $ip => $value) {
|
|
foreach ($ips as $ip => $value) {
|
|
@@ -76,7 +79,7 @@
|
|
|
</select>
|
|
</select>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="u-mb10">
|
|
<div class="u-mb10">
|
|
|
- <label for="v_stats" class="form-label"><?= _("Web Statistics") ?></label>
|
|
|
|
|
|
|
+ <label for="v_stats" class="form-label"><?= tohtml( _("Web Statistics")) ?></label>
|
|
|
<select class="form-select js-stats-select" name="v_stats" id="v_stats">
|
|
<select class="form-select js-stats-select" name="v_stats" id="v_stats">
|
|
|
<?php
|
|
<?php
|
|
|
foreach ($stats as $key => $value) {
|
|
foreach ($stats as $key => $value) {
|
|
@@ -95,25 +98,25 @@
|
|
|
<div class="form-check">
|
|
<div class="form-check">
|
|
|
<input x-model="statsAuthEnabled" class="form-check-input" type="checkbox" name="v_stats_auth" id="v_stats_auth">
|
|
<input x-model="statsAuthEnabled" class="form-check-input" type="checkbox" name="v_stats_auth" id="v_stats_auth">
|
|
|
<label for="v_stats_auth">
|
|
<label for="v_stats_auth">
|
|
|
- <?= _("Statistics Authorization") ?>
|
|
|
|
|
|
|
+ <?= tohtml( _("Statistics Authorization")) ?>
|
|
|
</label>
|
|
</label>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="u-pl30 js-stats-auth">
|
|
<div class="u-pl30 js-stats-auth">
|
|
|
<div x-cloak x-show="statsAuthEnabled" name="v-add-web-domain-stats-user">
|
|
<div x-cloak x-show="statsAuthEnabled" name="v-add-web-domain-stats-user">
|
|
|
<div class="u-mb10">
|
|
<div class="u-mb10">
|
|
|
- <label for="v_stats_user" class="form-label"><?= _("Username") ?></label>
|
|
|
|
|
- <input type="text" class="form-control" name="v_stats_user" id="v_stats_user" value="<?= htmlentities(trim($v_stats_user, "'")) ?>">
|
|
|
|
|
|
|
+ <label for="v_stats_user" class="form-label"><?= tohtml( _("Username")) ?></label>
|
|
|
|
|
+ <input type="text" class="form-control" name="v_stats_user" id="v_stats_user" value="<?= tohtml(trim($v_stats_user, "'")) ?>">
|
|
|
</div>
|
|
</div>
|
|
|
<div class="u-mb20">
|
|
<div class="u-mb20">
|
|
|
<label for="v_password" class="form-label">
|
|
<label for="v_password" class="form-label">
|
|
|
- <?= _("Password") ?>
|
|
|
|
|
- <button type="button" title="<?= _("Generate") ?>" class="u-unstyled-button u-ml5 js-generate-password">
|
|
|
|
|
|
|
+ <?= tohtml( _("Password")) ?>
|
|
|
|
|
+ <button type="button" title="<?= tohtml( _("Generate")) ?>" class="u-unstyled-button u-ml5 js-generate-password">
|
|
|
<i class="fas fa-arrows-rotate icon-green"></i>
|
|
<i class="fas fa-arrows-rotate icon-green"></i>
|
|
|
</button>
|
|
</button>
|
|
|
</label>
|
|
</label>
|
|
|
<div class="u-pos-relative">
|
|
<div class="u-pos-relative">
|
|
|
- <input type="text" class="form-control js-password-input" name="v_stats_password" id="v_password" value="<?= trim($v_stats_password, "'") ?>">
|
|
|
|
|
|
|
+ <input type="text" class="form-control js-password-input" name="v_stats_password" id="v_password" value="<?= tohtml(trim($v_stats_password, "'")) ?>">
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
@@ -121,40 +124,39 @@
|
|
|
<div class="form-check u-mb10">
|
|
<div class="form-check u-mb10">
|
|
|
<input x-model="redirectEnabled" class="form-check-input" type="checkbox" name="v-redirect-checkbox" id="v-redirect-checkbox">
|
|
<input x-model="redirectEnabled" class="form-check-input" type="checkbox" name="v-redirect-checkbox" id="v-redirect-checkbox">
|
|
|
<label for="v-redirect-checkbox">
|
|
<label for="v-redirect-checkbox">
|
|
|
- <?= _("Enable domain redirection") ?>
|
|
|
|
|
|
|
+ <?= tohtml( _("Enable domain redirection")) ?>
|
|
|
</label>
|
|
</label>
|
|
|
</div>
|
|
</div>
|
|
|
<div x-cloak x-show="redirectEnabled" id="v_redirect" class="u-pl30 u-mb10">
|
|
<div x-cloak x-show="redirectEnabled" id="v_redirect" class="u-pl30 u-mb10">
|
|
|
<div class="form-check">
|
|
<div class="form-check">
|
|
|
- <input class="form-check-input js-redirect-custom-value" type="radio" name="v-redirect" id="v-redirect-radio-1" value="<?='www.'.htmlentities($v_domain);?>" <?php if ($v_redirect == "www.".$v_domain) echo 'checked'; ?>>
|
|
|
|
|
|
|
+ <input class="form-check-input js-redirect-custom-value" type="radio" name="v-redirect" id="v-redirect-radio-1" value="<?= tohtml('www.'.$v_domain) ?>" <?php if ($v_redirect == "www.".$v_domain) echo 'checked'; ?>>
|
|
|
<label for="v-redirect-radio-1">
|
|
<label for="v-redirect-radio-1">
|
|
|
- <?= sprintf(_("Redirect visitors to %s"), "www." . htmlentities($v_domain)) ?>
|
|
|
|
|
|
|
+ <?= tohtml(sprintf(_("Redirect visitors to %s"), "www." . $v_domain)) ?>
|
|
|
</label>
|
|
</label>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="form-check">
|
|
<div class="form-check">
|
|
|
- <input class="form-check-input js-redirect-custom-value" type="radio" name="v-redirect" id="v-redirect-radio-2" value="<?= htmlentities($v_domain);?>" <?php if ( $v_redirect == $v_domain) echo 'checked'; ?>>
|
|
|
|
|
|
|
+ <input class="form-check-input js-redirect-custom-value" type="radio" name="v-redirect" id="v-redirect-radio-2" value="<?= tohtml($v_domain) ?>" <?php if ( $v_redirect == $v_domain) echo 'checked'; ?>>
|
|
|
<label for="v-redirect-radio-2">
|
|
<label for="v-redirect-radio-2">
|
|
|
- <?= sprintf(_("Redirect visitors to %s"), htmlentities($v_domain)) ?>
|
|
|
|
|
|
|
+ <?= tohtml(sprintf(_("Redirect visitors to %s"), $v_domain)) ?>
|
|
|
</label>
|
|
</label>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="form-check">
|
|
<div class="form-check">
|
|
|
<input class="form-check-input js-redirect-custom-value" type="radio" name="v-redirect" id="v-redirect-radio-3" value="custom" <?php if ( !empty($v_redirect_custom)) echo 'checked'; ?>>
|
|
<input class="form-check-input js-redirect-custom-value" type="radio" name="v-redirect" id="v-redirect-radio-3" value="custom" <?php if ( !empty($v_redirect_custom)) echo 'checked'; ?>>
|
|
|
<label for="v-redirect-radio-3">
|
|
<label for="v-redirect-radio-3">
|
|
|
- <?= _("Redirect visitors to a custom domain or web address") ?>
|
|
|
|
|
|
|
+ <?= tohtml( _("Redirect visitors to a custom domain or web address")) ?>
|
|
|
</label>
|
|
</label>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="u-pl30 js-custom-redirect-fields <?php if (empty($v_redirect_custom)) { echo 'u-hidden'; } ?>">
|
|
<div class="u-pl30 js-custom-redirect-fields <?php if (empty($v_redirect_custom)) { echo 'u-hidden'; } ?>">
|
|
|
<div class="u-mt15 u-mb10">
|
|
<div class="u-mt15 u-mb10">
|
|
|
- <label for="v-redirect-custom" class="form-label"><?= _("Target domain or URL") ?></label>
|
|
|
|
|
- <input type="text" class="form-control" name="v-redirect-custom" id="v-redirect-custom" value="<?= $v_redirect_custom ?>">
|
|
|
|
|
|
|
+ <label for="v-redirect-custom" class="form-label"><?= tohtml( _("Target domain or URL")) ?></label>
|
|
|
|
|
+ <input type="text" class="form-control" name="v-redirect-custom" id="v-redirect-custom" value="<?= tohtml($v_redirect_custom) ?>">
|
|
|
</div>
|
|
</div>
|
|
|
<div class="u-mb20">
|
|
<div class="u-mb20">
|
|
|
- <label for="v-redirect-code" class="form-label"><?= _("Status code") ?>:</label>
|
|
|
|
|
|
|
+ <label for="v-redirect-code" class="form-label"><?= tohtml( _("Status code")) ?>:</label>
|
|
|
<select class="form-select" name="v-redirect-code" id="v-redirect-code">
|
|
<select class="form-select" name="v-redirect-code" id="v-redirect-code">
|
|
|
<?php foreach ($redirect_code_options as $status_code): ?>
|
|
<?php foreach ($redirect_code_options as $status_code): ?>
|
|
|
- <option value="<?= $status_code ?>"
|
|
|
|
|
- <?= trim($v_redirect_code) === $status_code || (empty($v_redirect_code) && $status_code === trim($v_redirect_code)) ? ' selected="selected" ' : "" ?>>
|
|
|
|
|
- <?= $status_code ?>
|
|
|
|
|
|
|
+ <option value="<?= tohtml($status_code) ?>" <?php if ((int) $v_redirect_code === (int) $status_code) echo 'selected="selected"'; ?>>
|
|
|
|
|
+ <?= tohtml($status_code) ?>
|
|
|
</option>
|
|
</option>
|
|
|
<?php endforeach; ?>
|
|
<?php endforeach; ?>
|
|
|
</select>
|
|
</select>
|
|
@@ -164,26 +166,26 @@
|
|
|
<div class="form-check u-mb10">
|
|
<div class="form-check u-mb10">
|
|
|
<input x-model="sslEnabled" class="form-check-input" type="checkbox" name="v_ssl" id="v_ssl">
|
|
<input x-model="sslEnabled" class="form-check-input" type="checkbox" name="v_ssl" id="v_ssl">
|
|
|
<label for="v_ssl">
|
|
<label for="v_ssl">
|
|
|
- <?= _("Enable SSL for this domain") ?>
|
|
|
|
|
|
|
+ <?= tohtml( _("Enable SSL for this domain")) ?>
|
|
|
</label>
|
|
</label>
|
|
|
</div>
|
|
</div>
|
|
|
<div x-cloak x-show="sslEnabled" class="u-pl30">
|
|
<div x-cloak x-show="sslEnabled" class="u-pl30">
|
|
|
<div class="form-check u-mb10">
|
|
<div class="form-check u-mb10">
|
|
|
<input x-model="letsEncryptEnabled" class="form-check-input js-toggle-lets-encrypt" type="checkbox" name="v_letsencrypt" id="v_letsencrypt">
|
|
<input x-model="letsEncryptEnabled" class="form-check-input js-toggle-lets-encrypt" type="checkbox" name="v_letsencrypt" id="v_letsencrypt">
|
|
|
<label for="v_letsencrypt">
|
|
<label for="v_letsencrypt">
|
|
|
- <?= _("Use Let's Encrypt to obtain SSL certificate") ?>
|
|
|
|
|
|
|
+ <?= tohtml( _("Use Let's Encrypt to obtain SSL certificate")) ?>
|
|
|
</label>
|
|
</label>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="form-check u-mb10">
|
|
<div class="form-check u-mb10">
|
|
|
<input class="form-check-input" type="checkbox" name="v_ssl_forcessl" id="v_ssl_forcessl" <?php if ($v_ssl_forcessl == 'yes') echo 'checked' ?>>
|
|
<input class="form-check-input" type="checkbox" name="v_ssl_forcessl" id="v_ssl_forcessl" <?php if ($v_ssl_forcessl == 'yes') echo 'checked' ?>>
|
|
|
<label for="v_ssl_forcessl">
|
|
<label for="v_ssl_forcessl">
|
|
|
- <?= _("Enable automatic HTTPS redirection") ?>
|
|
|
|
|
|
|
+ <?= tohtml( _("Enable automatic HTTPS redirection")) ?>
|
|
|
</label>
|
|
</label>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="form-check u-mb20">
|
|
<div class="form-check u-mb20">
|
|
|
<input class="form-check-input" type="checkbox" name="v_ssl_hsts" id="ssl_hsts" <?php if ($v_ssl_hsts == 'yes') echo 'checked' ?>>
|
|
<input class="form-check-input" type="checkbox" name="v_ssl_hsts" id="ssl_hsts" <?php if ($v_ssl_hsts == 'yes') echo 'checked' ?>>
|
|
|
<label for="ssl_hsts">
|
|
<label for="ssl_hsts">
|
|
|
- <?= _("Enable HTTP Strict Transport Security (HSTS)") ?>
|
|
|
|
|
|
|
+ <?= tohtml( _("Enable HTTP Strict Transport Security (HSTS)")) ?>
|
|
|
<a href="https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security" target="_blank">
|
|
<a href="https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security" target="_blank">
|
|
|
<i class="fas fa-question-circle"></i>
|
|
<i class="fas fa-question-circle"></i>
|
|
|
</a>
|
|
</a>
|
|
@@ -192,62 +194,62 @@
|
|
|
<div x-cloak x-show="showCertificates" class="js-ssl-details">
|
|
<div x-cloak x-show="showCertificates" class="js-ssl-details">
|
|
|
<div class="u-mb10">
|
|
<div class="u-mb10">
|
|
|
<label for="ssl_crt" class="form-label">
|
|
<label for="ssl_crt" class="form-label">
|
|
|
- <?= _("SSL Certificate") ?>
|
|
|
|
|
- <span id="generate-csr"> / <a class="form-link" target="_blank" href="/generate/ssl/?domain=<?= htmlentities($v_domain) ?>"><?= _("Generate Self-Signed SSL Certificate") ?></a></span>
|
|
|
|
|
|
|
+ <?= tohtml( _("SSL Certificate")) ?>
|
|
|
|
|
+ <span id="generate-csr"> / <a class="form-link" target="_blank" href="/generate/ssl/?<?= tohtml(http_build_query(["domain" => $v_domain])) ?>"><?= tohtml( _("Generate Self-Signed SSL Certificate")) ?></a></span>
|
|
|
</label>
|
|
</label>
|
|
|
- <textarea class="form-control u-min-height100 u-console" name="v_ssl_crt" id="ssl_crt"><?= htmlentities(trim($v_ssl_crt, "'")) ?></textarea>
|
|
|
|
|
|
|
+ <textarea class="form-control u-min-height100 u-console" name="v_ssl_crt" id="ssl_crt"><?= tohtml(trim($v_ssl_crt, "'")) ?></textarea>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="u-mb10">
|
|
<div class="u-mb10">
|
|
|
- <label for="v_ssl_key" class="form-label"><?= _("SSL Private Key") ?></label>
|
|
|
|
|
- <textarea class="form-control u-min-height100 u-console" name="v_ssl_key" id="v_ssl_key"><?= htmlentities(trim($v_ssl_key, "'")) ?></textarea>
|
|
|
|
|
|
|
+ <label for="v_ssl_key" class="form-label"><?= tohtml( _("SSL Private Key")) ?></label>
|
|
|
|
|
+ <textarea class="form-control u-min-height100 u-console" name="v_ssl_key" id="v_ssl_key"><?= tohtml(trim($v_ssl_key, "'")) ?></textarea>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="u-mb20">
|
|
<div class="u-mb20">
|
|
|
<label for="v_ssl_ca" class="form-label">
|
|
<label for="v_ssl_ca" class="form-label">
|
|
|
- <?= _("SSL Certificate Authority / Intermediate") ?> <span class="optional">(<?= _("Optional") ?>)</span>
|
|
|
|
|
|
|
+ <?= tohtml( _("SSL Certificate Authority / Intermediate")) ?> <span class="optional">(<?= tohtml( _("Optional")) ?>)</span>
|
|
|
</label>
|
|
</label>
|
|
|
- <textarea class="form-control u-min-height100 u-console" name="v_ssl_ca" id="v_ssl_ca"><?= htmlentities(trim($v_ssl_ca, "'")) ?></textarea>
|
|
|
|
|
|
|
+ <textarea class="form-control u-min-height100 u-console" name="v_ssl_ca" id="v_ssl_ca"><?= tohtml(trim($v_ssl_ca, "'")) ?></textarea>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<?php if ($v_ssl != "no") { ?>
|
|
<?php if ($v_ssl != "no") { ?>
|
|
|
<ul class="values-list">
|
|
<ul class="values-list">
|
|
|
<li class="values-list-item">
|
|
<li class="values-list-item">
|
|
|
- <span class="values-list-label"><?= _("Issued To") ?></span>
|
|
|
|
|
- <span class="values-list-value"><?= $v_ssl_subject ?></span>
|
|
|
|
|
|
|
+ <span class="values-list-label"><?= tohtml( _("Issued To")) ?></span>
|
|
|
|
|
+ <span class="values-list-value"><?= tohtml($v_ssl_subject) ?></span>
|
|
|
</li>
|
|
</li>
|
|
|
<?php if ($v_ssl_aliases) {
|
|
<?php if ($v_ssl_aliases) {
|
|
|
$v_ssl_aliases = str_replace(",", ", ", $v_ssl_aliases); ?>
|
|
$v_ssl_aliases = str_replace(",", ", ", $v_ssl_aliases); ?>
|
|
|
<li class="values-list-item">
|
|
<li class="values-list-item">
|
|
|
- <span class="values-list-label"><?= _("Alternate") ?></span>
|
|
|
|
|
- <span class="values-list-value"><?= $v_ssl_aliases ?></span>
|
|
|
|
|
|
|
+ <span class="values-list-label"><?= tohtml( _("Alternate")) ?></span>
|
|
|
|
|
+ <span class="values-list-value"><?= tohtml($v_ssl_aliases) ?></span>
|
|
|
</li>
|
|
</li>
|
|
|
<?php } ?>
|
|
<?php } ?>
|
|
|
<li class="values-list-item">
|
|
<li class="values-list-item">
|
|
|
- <span class="values-list-label"><?= _("Not Before") ?></span>
|
|
|
|
|
- <span class="values-list-value"><?= $v_ssl_not_before ?></span>
|
|
|
|
|
|
|
+ <span class="values-list-label"><?= tohtml( _("Not Before")) ?></span>
|
|
|
|
|
+ <span class="values-list-value"><?= tohtml($v_ssl_not_before) ?></span>
|
|
|
</li>
|
|
</li>
|
|
|
<li class="values-list-item">
|
|
<li class="values-list-item">
|
|
|
- <span class="values-list-label"><?= _("Not After") ?></span>
|
|
|
|
|
- <span class="values-list-value"><?= $v_ssl_not_after ?></span>
|
|
|
|
|
|
|
+ <span class="values-list-label"><?= tohtml( _("Not After")) ?></span>
|
|
|
|
|
+ <span class="values-list-value"><?= tohtml($v_ssl_not_after) ?></span>
|
|
|
</li>
|
|
</li>
|
|
|
<li class="values-list-item">
|
|
<li class="values-list-item">
|
|
|
- <span class="values-list-label"><?= _("Signature") ?></span>
|
|
|
|
|
- <span class="values-list-value"><?= $v_ssl_signature ?></span>
|
|
|
|
|
|
|
+ <span class="values-list-label"><?= tohtml( _("Signature")) ?></span>
|
|
|
|
|
+ <span class="values-list-value"><?= tohtml($v_ssl_signature) ?></span>
|
|
|
</li>
|
|
</li>
|
|
|
<li class="values-list-item">
|
|
<li class="values-list-item">
|
|
|
- <span class="values-list-label"><?= _("Key Size") ?></span>
|
|
|
|
|
- <span class="values-list-value"><?= $v_ssl_pub_key ?></span>
|
|
|
|
|
|
|
+ <span class="values-list-label"><?= tohtml( _("Key Size")) ?></span>
|
|
|
|
|
+ <span class="values-list-value"><?= tohtml($v_ssl_pub_key) ?></span>
|
|
|
</li>
|
|
</li>
|
|
|
<li class="values-list-item">
|
|
<li class="values-list-item">
|
|
|
- <span class="values-list-label"><?= _("Issued By") ?></span>
|
|
|
|
|
- <span class="values-list-value"><?= $v_ssl_issuer ?></span>
|
|
|
|
|
|
|
+ <span class="values-list-label"><?= tohtml( _("Issued By")) ?></span>
|
|
|
|
|
+ <span class="values-list-value"><?= tohtml($v_ssl_issuer) ?></span>
|
|
|
</li>
|
|
</li>
|
|
|
<p x-cloak x-show="letsEncryptEnabled" id="letsinfo">
|
|
<p x-cloak x-show="letsEncryptEnabled" id="letsinfo">
|
|
|
<button
|
|
<button
|
|
|
type="button"
|
|
type="button"
|
|
|
class="form-link"
|
|
class="form-link"
|
|
|
x-on:click="showCertificates = !showCertificates"
|
|
x-on:click="showCertificates = !showCertificates"
|
|
|
- x-text="showCertificates ? '<?= _("Hide Certificate") ?>' : '<?= _("Show Certificate") ?>'">
|
|
|
|
|
- <?= _("Show Certificate") ?>
|
|
|
|
|
|
|
+ x-text="showCertificates ? <?= json_encode(_("Hide Certificate"), JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_THROW_ON_ERROR) ?> : <?= json_encode(_("Show Certificate"), JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_THROW_ON_ERROR) ?>">
|
|
|
|
|
+ <?= tohtml( _("Show Certificate")) ?>
|
|
|
</button>
|
|
</button>
|
|
|
</p>
|
|
</p>
|
|
|
</ul>
|
|
</ul>
|
|
@@ -255,14 +257,14 @@
|
|
|
</div>
|
|
</div>
|
|
|
<div class="u-mt15 u-mb20">
|
|
<div class="u-mt15 u-mb20">
|
|
|
<button x-on:click="showAdvanced = !showAdvanced" type="button" class="button button-secondary">
|
|
<button x-on:click="showAdvanced = !showAdvanced" type="button" class="button button-secondary">
|
|
|
- <?= _("Advanced Options") ?>
|
|
|
|
|
|
|
+ <?= tohtml( _("Advanced Options")) ?>
|
|
|
</button>
|
|
</button>
|
|
|
</div>
|
|
</div>
|
|
|
<div x-cloak x-show="showAdvanced">
|
|
<div x-cloak x-show="showAdvanced">
|
|
|
<?php if ($_SESSION["userContext"] === "admin" || ($_SESSION["userContext"] === "user" && $_SESSION["POLICY_USER_EDIT_WEB_TEMPLATES"] === "yes")) { ?>
|
|
<?php if ($_SESSION["userContext"] === "admin" || ($_SESSION["userContext"] === "user" && $_SESSION["POLICY_USER_EDIT_WEB_TEMPLATES"] === "yes")) { ?>
|
|
|
<div class="u-mb10">
|
|
<div class="u-mb10">
|
|
|
<label for="v_template" class="form-label">
|
|
<label for="v_template" class="form-label">
|
|
|
- <?= _("Web Template") . "<span class='optional'>" . strtoupper($_SESSION["WEB_SYSTEM"]) . "</span>" ?>
|
|
|
|
|
|
|
+ <?= tohtml( _("Web Template")) ?> <span class="optional"><?= tohtml(strtoupper($_SESSION["WEB_SYSTEM"])) ?></span>
|
|
|
</label>
|
|
</label>
|
|
|
<select class="form-select" name="v_template" id="v_template">
|
|
<select class="form-select" name="v_template" id="v_template">
|
|
|
<?php
|
|
<?php
|
|
@@ -281,7 +283,7 @@
|
|
|
<div class="form-check u-mb10">
|
|
<div class="form-check u-mb10">
|
|
|
<input x-model="nginxCacheEnabled" class="form-check-input" type="checkbox" name="v_nginx_cache_check" id="v_nginx_cache_check">
|
|
<input x-model="nginxCacheEnabled" class="form-check-input" type="checkbox" name="v_nginx_cache_check" id="v_nginx_cache_check">
|
|
|
<label for="v_nginx_cache_check">
|
|
<label for="v_nginx_cache_check">
|
|
|
- <?= _("Enable FastCGI cache") ?>
|
|
|
|
|
|
|
+ <?= tohtml( _("Enable FastCGI cache")) ?>
|
|
|
<a href="https://hestiacp.com/docs/server-administration/web-templates.html#nginx-fastcgi-cache" target="_blank" class="u-ml5">
|
|
<a href="https://hestiacp.com/docs/server-administration/web-templates.html#nginx-fastcgi-cache" target="_blank" class="u-ml5">
|
|
|
<i class="fas fa-circle-question"></i>
|
|
<i class="fas fa-circle-question"></i>
|
|
|
</a>
|
|
</a>
|
|
@@ -290,29 +292,29 @@
|
|
|
<div x-cloak x-show="nginxCacheEnabled" id="v_nginx_duration" class="u-pl30">
|
|
<div x-cloak x-show="nginxCacheEnabled" id="v_nginx_duration" class="u-pl30">
|
|
|
<div class="u-mb10">
|
|
<div class="u-mb10">
|
|
|
<label for="v_nginx_cache_duration" class="form-label">
|
|
<label for="v_nginx_cache_duration" class="form-label">
|
|
|
- <?= _("Cache Duration") ?> <span class="optional">(<?= _("For example") ?>: 30s, 10m or 1d)</span>
|
|
|
|
|
|
|
+ <?= tohtml( _("Cache Duration")) ?> <span class="optional">(<?= tohtml( _("For example")) ?>: 30s, 10m or 1d)</span>
|
|
|
</label>
|
|
</label>
|
|
|
- <input type="text" class="form-control" name="v_nginx_cache_duration" id="v_nginx_cache_duration" value="<?= htmlentities(trim($v_nginx_cache_duration, "'")) ?>">
|
|
|
|
|
|
|
+ <input type="text" class="form-control" name="v_nginx_cache_duration" id="v_nginx_cache_duration" value="<?= tohtml(trim($v_nginx_cache_duration, "'")) ?>">
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<?php } ?>
|
|
<?php } ?>
|
|
|
<?php if (!empty($_SESSION["WEB_BACKEND"])) { ?>
|
|
<?php if (!empty($_SESSION["WEB_BACKEND"])) { ?>
|
|
|
<div class="u-mb10">
|
|
<div class="u-mb10">
|
|
|
- <label for="v_backend_template" class="form-label">
|
|
|
|
|
- <?= _("Backend Template") . " <span class='optional'>" . strtoupper($_SESSION["WEB_BACKEND"]) . "</span>" ?>
|
|
|
|
|
- </label>
|
|
|
|
|
|
|
+ <label for="v_backend_template" class="form-label">
|
|
|
|
|
+ <?= tohtml( _("Backend Template")) ?> <span class="optional"><?= tohtml(strtoupper($_SESSION["WEB_BACKEND"])) ?></span>
|
|
|
|
|
+ </label>
|
|
|
<select class="form-select" name="v_backend_template" id="v_backend_template">
|
|
<select class="form-select" name="v_backend_template" id="v_backend_template">
|
|
|
<?php
|
|
<?php
|
|
|
foreach ($backend_templates as $key => $value) {
|
|
foreach ($backend_templates as $key => $value) {
|
|
|
- echo "\t\t\t\t<option value=\"".$value."\"";
|
|
|
|
|
|
|
+ echo "\t\t\t\t<option value=\"".tohtml($value)."\"";
|
|
|
$svalue = "'".$value."'";
|
|
$svalue = "'".$value."'";
|
|
|
- if ((!empty($v_backend_template)) && ( $value == $v_backend_template ) || ($svalue == $v_backend_template)){
|
|
|
|
|
|
|
+ if ((!empty($v_backend_template)) && (($value == $v_backend_template) || ($svalue == $v_backend_template))) {
|
|
|
echo ' selected' ;
|
|
echo ' selected' ;
|
|
|
}
|
|
}
|
|
|
if ((empty($v_backend_template)) && ($value == 'default')){
|
|
if ((empty($v_backend_template)) && ($value == 'default')){
|
|
|
echo ' selected' ;
|
|
echo ' selected' ;
|
|
|
}
|
|
}
|
|
|
- echo ">".htmlentities($value)."</option>\n";
|
|
|
|
|
|
|
+ echo ">".tohtml($value)."</option>\n";
|
|
|
}
|
|
}
|
|
|
?>
|
|
?>
|
|
|
</select>
|
|
</select>
|
|
@@ -322,33 +324,33 @@
|
|
|
<div style="display: none;">
|
|
<div style="display: none;">
|
|
|
<div class="form-check u-mb10">
|
|
<div class="form-check u-mb10">
|
|
|
<input x-model="proxySupportEnabled" class="form-check-input" type="checkbox" name="v_proxy" id="v_proxy">
|
|
<input x-model="proxySupportEnabled" class="form-check-input" type="checkbox" name="v_proxy" id="v_proxy">
|
|
|
- <label for="v_proxy">
|
|
|
|
|
- <?= _("Proxy Support") . "<span class='optional'>" . strtoupper($_SESSION["PROXY_SYSTEM"]) . "</span>" ?>
|
|
|
|
|
- </label>
|
|
|
|
|
|
|
+ <label for="v_proxy">
|
|
|
|
|
+ <?= tohtml( _("Proxy Support")) ?> <span class="optional"><?= tohtml(strtoupper($_SESSION["PROXY_SYSTEM"])) ?></span>
|
|
|
|
|
+ </label>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div x-cloak x-show="proxySupportEnabled" id="proxytable">
|
|
<div x-cloak x-show="proxySupportEnabled" id="proxytable">
|
|
|
<div class="u-mb10">
|
|
<div class="u-mb10">
|
|
|
- <label for="v_proxy_template" class="form-label"><?= _("Proxy Template") ?></label>
|
|
|
|
|
|
|
+ <label for="v_proxy_template" class="form-label"><?= tohtml( _("Proxy Template")) ?></label>
|
|
|
<select class="form-select js-proxy-template-select" name="v_proxy_template" id="v_proxy_template">
|
|
<select class="form-select js-proxy-template-select" name="v_proxy_template" id="v_proxy_template">
|
|
|
<?php
|
|
<?php
|
|
|
foreach ($proxy_templates as $key => $value) {
|
|
foreach ($proxy_templates as $key => $value) {
|
|
|
- echo "\t\t\t\t<option value=\"".htmlentities($value)."\"";
|
|
|
|
|
|
|
+ echo "\t\t\t\t<option value=\"".tohtml($value)."\"";
|
|
|
$svalue = "'".$value."'";
|
|
$svalue = "'".$value."'";
|
|
|
- if ((!empty($v_proxy_template)) && ( $value == $v_proxy_template ) || ($svalue == $v_proxy_template)){
|
|
|
|
|
|
|
+ if ((!empty($v_proxy_template)) && (($value == $v_proxy_template) || ($svalue == $v_proxy_template))) {
|
|
|
echo ' selected' ;
|
|
echo ' selected' ;
|
|
|
}
|
|
}
|
|
|
if ((empty($v_proxy_template)) && ($value == 'default')){
|
|
if ((empty($v_proxy_template)) && ($value == 'default')){
|
|
|
echo ' selected' ;
|
|
echo ' selected' ;
|
|
|
}
|
|
}
|
|
|
- echo ">".htmlentities($value)."</option>\n";
|
|
|
|
|
|
|
+ echo ">".tohtml($value)."</option>\n";
|
|
|
}
|
|
}
|
|
|
?>
|
|
?>
|
|
|
</select>
|
|
</select>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="u-mb10">
|
|
<div class="u-mb10">
|
|
|
- <label for="v_proxy_ext" class="form-label"><?= _("Proxy Extensions") ?></label>
|
|
|
|
|
- <textarea class="form-control u-min-height100" name="v_proxy_ext" id="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>
|
|
|
|
|
|
|
+ <label for="v_proxy_ext" class="form-label"><?= tohtml( _("Proxy Extensions")) ?></label>
|
|
|
|
|
+ <textarea class="form-control u-min-height100" name="v_proxy_ext" id="v_proxy_ext"><?php if (!empty($v_proxy_ext)) { echo tohtml(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>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<?php } ?>
|
|
<?php } ?>
|
|
@@ -356,27 +358,27 @@
|
|
|
<div class="form-check u-mb10">
|
|
<div class="form-check u-mb10">
|
|
|
<input x-model="customDocumentRootEnabled" class="form-check-input" type="checkbox" name="v_custom_doc_root_check" id="v_custom_doc_root_check">
|
|
<input x-model="customDocumentRootEnabled" class="form-check-input" type="checkbox" name="v_custom_doc_root_check" id="v_custom_doc_root_check">
|
|
|
<label for="v_custom_doc_root_check">
|
|
<label for="v_custom_doc_root_check">
|
|
|
- <?= _("Custom document root") ?>
|
|
|
|
|
|
|
+ <?= tohtml( _("Custom document root")) ?>
|
|
|
</label>
|
|
</label>
|
|
|
</div>
|
|
</div>
|
|
|
<div x-cloak x-show="customDocumentRootEnabled" id="v_custom_doc_root" class="u-pl30">
|
|
<div x-cloak x-show="customDocumentRootEnabled" id="v_custom_doc_root" class="u-pl30">
|
|
|
<div class="u-mb10">
|
|
<div class="u-mb10">
|
|
|
- <label for="v-custom-doc-domain" class="form-label"><?= _("Point to") ?></label>
|
|
|
|
|
- <input type="hidden" class="js-custom-docroot-prepath" name="v-custom-doc-root_prepath" value="<?= $v_custom_doc_root_prepath ?>">
|
|
|
|
|
|
|
+ <label for="v-custom-doc-domain" class="form-label"><?= tohtml( _("Point to")) ?></label>
|
|
|
|
|
+ <input type="hidden" class="js-custom-docroot-prepath" name="v-custom-doc-root_prepath" value="<?= tohtml($v_custom_doc_root_prepath) ?>">
|
|
|
<select class="form-select js-custom-docroot-domain" name="v-custom-doc-domain" id="v-custom-doc-domain">
|
|
<select class="form-select js-custom-docroot-domain" name="v-custom-doc-domain" id="v-custom-doc-domain">
|
|
|
<?php foreach ($user_domains as $domain): ?>
|
|
<?php foreach ($user_domains as $domain): ?>
|
|
|
- <option value="<?= htmlentities($domain) ?>"
|
|
|
|
|
- <?= $v_custom_doc_domain === $domain || (empty($v_custom_doc_domain) && $domain === $v_domain) ? ' selected="selected" ' : "" ?>>
|
|
|
|
|
- <?= htmlentities($domain) ?>
|
|
|
|
|
|
|
+ <option value="<?= tohtml($domain) ?>"
|
|
|
|
|
+ <?php if ($v_custom_doc_domain === $domain || (empty($v_custom_doc_domain) && $domain === $v_domain)) echo 'selected="selected"'; ?>>
|
|
|
|
|
+ <?= tohtml($domain) ?>
|
|
|
</option>
|
|
</option>
|
|
|
<?php endforeach; ?>
|
|
<?php endforeach; ?>
|
|
|
</select>
|
|
</select>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="u-mb10">
|
|
<div class="u-mb10">
|
|
|
<label for="v-custom-doc-folder" class="form-label">
|
|
<label for="v-custom-doc-folder" class="form-label">
|
|
|
- <?php print _("Directory"); ?> <span class="optional">(<?= _("Optional") ?>)</span>
|
|
|
|
|
|
|
+ <?= tohtml( _("Directory")) ?> <span class="optional">(<?= tohtml( _("Optional")) ?>)</span>
|
|
|
</label>
|
|
</label>
|
|
|
- <input type="text" class="form-control js-custom-docroot-dir" name="v-custom-doc-folder" id="v-custom-doc-folder" value="<?= htmlentities(trim($v_custom_doc_folder, "'")) ?>">
|
|
|
|
|
|
|
+ <input type="text" class="form-control js-custom-docroot-dir" name="v-custom-doc-folder" id="v-custom-doc-folder" value="<?= tohtml(trim($v_custom_doc_folder, "'")) ?>">
|
|
|
<small class="js-custom-docroot-hint"></small>
|
|
<small class="js-custom-docroot-hint"></small>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
@@ -384,7 +386,7 @@
|
|
|
<div class="form-check u-mb10">
|
|
<div class="form-check u-mb10">
|
|
|
<input class="form-check-input js-toggle-ftp-accounts" type="checkbox" name="v_ftp" id="v_ftp" <?php if (!empty($v_ftp_user)) echo 'checked' ?>>
|
|
<input class="form-check-input js-toggle-ftp-accounts" type="checkbox" name="v_ftp" id="v_ftp" <?php if (!empty($v_ftp_user)) echo 'checked' ?>>
|
|
|
<label for="v_ftp">
|
|
<label for="v_ftp">
|
|
|
- <?= _("Additional FTP account(s)") ?>
|
|
|
|
|
|
|
+ <?= tohtml( _("Additional FTP account(s)")) ?>
|
|
|
</label>
|
|
</label>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="js-active-ftp-accounts">
|
|
<div class="js-active-ftp-accounts">
|
|
@@ -398,40 +400,40 @@
|
|
|
?>
|
|
?>
|
|
|
<div class="js-ftp-account js-ftp-account-nrm" name="v_add_domain_ftp" style="<?php if (empty($v_ftp_user)) { echo 'display: none;'; } ?>">
|
|
<div class="js-ftp-account js-ftp-account-nrm" name="v_add_domain_ftp" style="<?php if (empty($v_ftp_user)) { echo 'display: none;'; } ?>">
|
|
|
<div class="u-mb10">
|
|
<div class="u-mb10">
|
|
|
- <?= _("FTP") ?> #<span class="js-ftp-user-number"><?= $i + 1; ?></span>
|
|
|
|
|
- <button type="button" class="form-link form-link-danger u-ml5 js-delete-ftp-account"><?= _("Delete") ?></button>
|
|
|
|
|
- <input type="hidden" class="js-ftp-user-deleted" name="v_ftp_user[<?= $i ?>][delete]" value="0">
|
|
|
|
|
- <input type="hidden" class="js-ftp-user-is-new" name="v_ftp_user[<?= $i ?>][is_new]" value="<?= htmlentities($ftp_user['is_new']) ?>">
|
|
|
|
|
|
|
+ <?= tohtml( _("FTP")) ?> #<span class="js-ftp-user-number"><?= tohtml($i + 1) ?></span>
|
|
|
|
|
+ <button type="button" class="form-link form-link-danger u-ml5 js-delete-ftp-account"><?= tohtml( _("Delete")) ?></button>
|
|
|
|
|
+ <input type="hidden" class="js-ftp-user-deleted" name="v_ftp_user[<?= tohtml($i) ?>][delete]" value="0">
|
|
|
|
|
+ <input type="hidden" class="js-ftp-user-is-new" name="v_ftp_user[<?= tohtml($i) ?>][is_new]" value="<?= tohtml($ftp_user['is_new']) ?>">
|
|
|
</div>
|
|
</div>
|
|
|
<div class="u-pl30 u-mb10">
|
|
<div class="u-pl30 u-mb10">
|
|
|
- <label for="v_ftp_user[<?= $i ?>][v_ftp_user]" class="form-label">
|
|
|
|
|
- <?= _("Username") ?><br>
|
|
|
|
|
- <span style="color:#777;"><?= sprintf(_('Prefix %s will be added to username automatically'),$user_plain."_");?></span>
|
|
|
|
|
|
|
+ <label for="v_ftp_user[<?= tohtml($i) ?>][v_ftp_user]" class="form-label">
|
|
|
|
|
+ <?= tohtml( _("Username")) ?><br>
|
|
|
|
|
+ <span style="color:#777;"><?= tohtml(sprintf(_('Prefix %s will be added to username automatically'),$user_plain."_")) ?></span>
|
|
|
</label>
|
|
</label>
|
|
|
- <input type="text" class="form-control js-ftp-user" <?= $ftp_user['is_new'] != 1 ? 'disabled="disabled"' : '' ?>
|
|
|
|
|
- name="v_ftp_user[<?= $i ?>][v_ftp_user]" id="v_ftp_user[<?= $i ?>][v_ftp_user]" value="<?= htmlentities(trim($v_ftp_user, "'")) ?>">
|
|
|
|
|
|
|
+ <input type="text" class="form-control js-ftp-user"<?= $ftp_user['is_new'] != 1 ? ' disabled="disabled"' : '' ?>
|
|
|
|
|
+ name="v_ftp_user[<?= tohtml($i) ?>][v_ftp_user]" id="v_ftp_user[<?= tohtml($i) ?>][v_ftp_user]" value="<?= tohtml(trim($v_ftp_user, "'")) ?>">
|
|
|
<small class="hint js-ftp-user-hint"></small>
|
|
<small class="hint js-ftp-user-hint"></small>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="u-pl30 u-mb10">
|
|
<div class="u-pl30 u-mb10">
|
|
|
- <label for="v_ftp_user[<?= $i ?>][v_ftp_password]" class="form-label">
|
|
|
|
|
- <?= _("Password") ?>
|
|
|
|
|
- <button type="button" title="<?= _("Generate") ?>" class="u-unstyled-button u-ml5 js-ftp-password-generate">
|
|
|
|
|
|
|
+ <label for="v_ftp_user[<?= tohtml($i) ?>][v_ftp_password]" class="form-label">
|
|
|
|
|
+ <?= tohtml( _("Password")) ?>
|
|
|
|
|
+ <button type="button" title="<?= tohtml( _("Generate")) ?>" class="u-unstyled-button u-ml5 js-ftp-password-generate">
|
|
|
<i class="fas fa-arrows-rotate icon-green"></i>
|
|
<i class="fas fa-arrows-rotate icon-green"></i>
|
|
|
</button>
|
|
</button>
|
|
|
</label>
|
|
</label>
|
|
|
- <input type="text" class="form-control js-ftp-user-psw" name="v_ftp_user[<?= $i ?>][v_ftp_password]" id="v_ftp_user[<?= $i ?>][v_ftp_password]" value="<?= htmlentities(trim($v_ftp_password, "'")) ?>">
|
|
|
|
|
|
|
+ <input type="text" class="form-control js-ftp-user-psw" name="v_ftp_user[<?= tohtml($i) ?>][v_ftp_password]" id="v_ftp_user[<?= tohtml($i) ?>][v_ftp_password]" value="<?= tohtml(trim($v_ftp_password, "'")) ?>">
|
|
|
</div>
|
|
</div>
|
|
|
<div class="u-pl30 u-mb10">
|
|
<div class="u-pl30 u-mb10">
|
|
|
- <label for="v_ftp_user[<?= $i ?>][v_ftp_path]" class="form-label"><?= _("Path") ?></label>
|
|
|
|
|
- <input type="hidden" name="v_ftp_pre_path" value="<?=!empty($v_ftp_pre_path) ? htmlentities(trim($v_ftp_pre_path, "'")) : '/'; ?>">
|
|
|
|
|
- <input type="hidden" name="v_ftp_user[<?= $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="form-control js-ftp-path" name="v_ftp_user[<?= $i ?>][v_ftp_path]" id="v_ftp_user[<?= $i ?>][v_ftp_path]" value="<?php if (!empty($v_ftp_path)) echo ($v_ftp_path[0] != '/' ? '/' : '').htmlentities(trim($v_ftp_path, "'")) ?>">
|
|
|
|
|
- <span class="hint-prefix"><?= htmlentities(trim($v_ftp_pre_path, "'")) ?></span><span class="hint js-ftp-path-hint"></span>
|
|
|
|
|
|
|
+ <label for="v_ftp_user[<?= tohtml($i) ?>][v_ftp_path]" class="form-label"><?= tohtml( _("Path")) ?></label>
|
|
|
|
|
+ <input type="hidden" name="v_ftp_pre_path" value="<?= tohtml(!empty($v_ftp_pre_path) ? trim($v_ftp_pre_path, "'") : '/') ?>">
|
|
|
|
|
+ <input type="hidden" name="v_ftp_user[<?= tohtml($i) ?>][v_ftp_path_prev]" value="<?php if (!empty($v_ftp_path)) echo tohtml(($v_ftp_path[0] != '/' ? '/' : '') . trim($v_ftp_path, "'")); ?>">
|
|
|
|
|
+ <input type="text" class="form-control js-ftp-path" name="v_ftp_user[<?= tohtml($i) ?>][v_ftp_path]" id="v_ftp_user[<?= tohtml($i) ?>][v_ftp_path]" value="<?php if (!empty($v_ftp_path)) echo tohtml(($v_ftp_path[0] != '/' ? '/' : '') . trim($v_ftp_path, "'")); ?>">
|
|
|
|
|
+ <span class="hint-prefix"><?= tohtml(trim($v_ftp_pre_path, "'")) ?></span><span class="hint js-ftp-path-hint"></span>
|
|
|
</div>
|
|
</div>
|
|
|
<?php if ($ftp_user['is_new'] == 1): ?>
|
|
<?php if ($ftp_user['is_new'] == 1): ?>
|
|
|
<div class="u-pl30 u-mb10">
|
|
<div class="u-pl30 u-mb10">
|
|
|
- <label for="v_ftp_user[<?= $i ?>][v_ftp_email]" class="form-label"><?= _("Send FTP credentials to email") ?></label>
|
|
|
|
|
- <input type="email" class="form-control js-email-alert-on-psw" name="v_ftp_user[<?= $i ?>][v_ftp_email]" id="v_ftp_user[<?= $i ?>][v_ftp_email]" value="<?= htmlentities(trim($v_ftp_email, "'")) ?>">
|
|
|
|
|
|
|
+ <label for="v_ftp_user[<?= tohtml($i) ?>][v_ftp_email]" class="form-label"><?= tohtml( _("Send FTP credentials to email")) ?></label>
|
|
|
|
|
+ <input type="email" class="form-control js-email-alert-on-psw" name="v_ftp_user[<?= tohtml($i) ?>][v_ftp_email]" id="v_ftp_user[<?= tohtml($i) ?>][v_ftp_email]" value="<?= tohtml(trim($v_ftp_email, "'")) ?>">
|
|
|
</div>
|
|
</div>
|
|
|
<?php endif; ?>
|
|
<?php endif; ?>
|
|
|
</div>
|
|
</div>
|
|
@@ -439,7 +441,7 @@
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<button type="button" class="form-link u-mt20 js-add-ftp-account" style="<?php if (empty($v_ftp_user)) echo 'display: none;' ?>">
|
|
<button type="button" class="form-link u-mt20 js-add-ftp-account" style="<?php if (empty($v_ftp_user)) echo 'display: none;' ?>">
|
|
|
- <?= _("Add FTP account") ?>
|
|
|
|
|
|
|
+ <?= tohtml( _("Add FTP account")) ?>
|
|
|
</button>
|
|
</button>
|
|
|
<?php } ?>
|
|
<?php } ?>
|
|
|
</div>
|
|
</div>
|
|
@@ -452,36 +454,36 @@
|
|
|
<div class="u-hidden js-ftp-account-template">
|
|
<div class="u-hidden js-ftp-account-template">
|
|
|
<div class="js-ftp-account js-ftp-account-nrm" name="v_add_domain_ftp">
|
|
<div class="js-ftp-account js-ftp-account-nrm" name="v_add_domain_ftp">
|
|
|
<div class="u-mb10">
|
|
<div class="u-mb10">
|
|
|
- <?= _("FTP") ?> #<span class="js-ftp-user-number"></span>
|
|
|
|
|
- <button type="button" class="form-link form-link-danger u-ml5 js-delete-ftp-account"><?= _("Delete") ?></button>
|
|
|
|
|
|
|
+ <?= tohtml( _("FTP")) ?> #<span class="js-ftp-user-number"></span>
|
|
|
|
|
+ <button type="button" class="form-link form-link-danger u-ml5 js-delete-ftp-account"><?= tohtml( _("Delete")) ?></button>
|
|
|
<input type="hidden" class="js-ftp-user-deleted" name="v_ftp_user[%INDEX%][delete]" value="0">
|
|
<input type="hidden" class="js-ftp-user-deleted" name="v_ftp_user[%INDEX%][delete]" value="0">
|
|
|
<input type="hidden" class="js-ftp-user-is-new" name="v_ftp_user[%INDEX%][is_new]" value="1">
|
|
<input type="hidden" class="js-ftp-user-is-new" name="v_ftp_user[%INDEX%][is_new]" value="1">
|
|
|
</div>
|
|
</div>
|
|
|
<div class="u-pl30 u-mb10">
|
|
<div class="u-pl30 u-mb10">
|
|
|
<label for="v_ftp_user[%INDEX%][v_ftp_user]" class="form-label">
|
|
<label for="v_ftp_user[%INDEX%][v_ftp_user]" class="form-label">
|
|
|
- <?= _("Username") ?><br>
|
|
|
|
|
- <span style="color:#777;"><?= sprintf(_("Prefix %s will be added to username automatically"), $user_plain . "_") ?></span>
|
|
|
|
|
|
|
+ <?= tohtml( _("Username")) ?><br>
|
|
|
|
|
+ <span style="color:#777;"><?= tohtml(sprintf(_("Prefix %s will be added to username automatically"), $user_plain . "_")) ?></span>
|
|
|
</label>
|
|
</label>
|
|
|
<input type="text" class="form-control js-ftp-user" name="v_ftp_user[%INDEX%][v_ftp_user]" id="v_ftp_user[%INDEX%][v_ftp_user]" value="">
|
|
<input type="text" class="form-control js-ftp-user" name="v_ftp_user[%INDEX%][v_ftp_user]" id="v_ftp_user[%INDEX%][v_ftp_user]" value="">
|
|
|
<small class="hint js-ftp-user-hint"></small>
|
|
<small class="hint js-ftp-user-hint"></small>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="u-pl30 u-mb10">
|
|
<div class="u-pl30 u-mb10">
|
|
|
<label for="v_ftp_user[%INDEX%][v_ftp_password]" class="form-label">
|
|
<label for="v_ftp_user[%INDEX%][v_ftp_password]" class="form-label">
|
|
|
- <?= _("Password") ?>
|
|
|
|
|
- <button type="button" title="<?= _("Generate") ?>" class="u-unstyled-button u-ml5 js-ftp-password-generate">
|
|
|
|
|
|
|
+ <?= tohtml( _("Password")) ?>
|
|
|
|
|
+ <button type="button" title="<?= tohtml( _("Generate")) ?>" class="u-unstyled-button u-ml5 js-ftp-password-generate">
|
|
|
<i class="fas fa-arrows-rotate icon-green"></i>
|
|
<i class="fas fa-arrows-rotate icon-green"></i>
|
|
|
</button>
|
|
</button>
|
|
|
</label>
|
|
</label>
|
|
|
<input type="text" class="form-control js-ftp-user-psw" name="v_ftp_user[%INDEX%][v_ftp_password]" id="v_ftp_user[%INDEX%][v_ftp_password]">
|
|
<input type="text" class="form-control js-ftp-user-psw" name="v_ftp_user[%INDEX%][v_ftp_password]" id="v_ftp_user[%INDEX%][v_ftp_password]">
|
|
|
</div>
|
|
</div>
|
|
|
<div class="u-pl30 u-mb10">
|
|
<div class="u-pl30 u-mb10">
|
|
|
- <label for="v_ftp_user[%INDEX%][v_ftp_path]" class="form-label"><?= _("Path") ?></label>
|
|
|
|
|
|
|
+ <label for="v_ftp_user[%INDEX%][v_ftp_path]" class="form-label"><?= tohtml( _("Path")) ?></label>
|
|
|
<input type="hidden" name="v_ftp_pre_path" value="">
|
|
<input type="hidden" name="v_ftp_pre_path" value="">
|
|
|
<input type="text" class="form-control js-ftp-path" name="v_ftp_user[%INDEX%][v_ftp_path]" id="v_ftp_user[%INDEX%][v_ftp_path]" value="">
|
|
<input type="text" class="form-control js-ftp-path" name="v_ftp_user[%INDEX%][v_ftp_path]" id="v_ftp_user[%INDEX%][v_ftp_path]" value="">
|
|
|
- <span class="hint-prefix"><?= htmlentities(trim($v_ftp_pre_path_new_user, "'")) ?></span><span class="hint js-ftp-path-hint"></span>
|
|
|
|
|
|
|
+ <span class="hint-prefix"><?= tohtml(trim($v_ftp_pre_path_new_user, "'")) ?></span><span class="hint js-ftp-path-hint"></span>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="u-pl30 u-mb10">
|
|
<div class="u-pl30 u-mb10">
|
|
|
- <label for="v_ftp_user[%INDEX%][v_ftp_email]" class="form-label"><?= _("Send FTP credentials to email") ?></label>
|
|
|
|
|
|
|
+ <label for="v_ftp_user[%INDEX%][v_ftp_email]" class="form-label"><?= tohtml( _("Send FTP credentials to email")) ?></label>
|
|
|
<input type="email" class="form-control js-email-alert-on-psw" name="v_ftp_user[%INDEX%][v_ftp_email]" id="v_ftp_user[%INDEX%][v_ftp_email]" value="">
|
|
<input type="email" class="form-control js-email-alert-on-psw" name="v_ftp_user[%INDEX%][v_ftp_email]" id="v_ftp_user[%INDEX%][v_ftp_email]" value="">
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|