From c991ed82b95187210f810505dc184559186bf542 Mon Sep 17 00:00:00 2001
From: Jaap Marcus <9754650+jaapmarcus@users.noreply.github.com>
Date: Fri, 10 Sep 2021 11:33:51 +0200
Subject: [PATCH 1/4] Rewrite session token check to prevent juggling
+ Remove /edit/server/theme as is not being used
---
web/add/cron/autoupdate/index.php | 10 +-
web/add/cron/index.php | 40 +-
web/add/cron/reports/index.php | 10 +-
web/add/db/index.php | 86 ++-
web/add/dns/index.php | 97 +--
web/add/firewall/banlist/index.php | 26 +-
web/add/firewall/index.php | 47 +-
web/add/firewall/ipset/index.php | 34 +-
web/add/ip/index.php | 43 +-
web/add/key/index.php | 47 +-
web/add/mail/index.php | 138 ++--
web/add/package/index.php | 5 +-
web/add/user/index.php | 80 ++-
web/add/web/index.php | 379 +++++-----
web/add/webapp/index.php | 50 +-
web/bulk/backup/exclusions/index.php | 10 +-
web/bulk/backup/index.php | 10 +-
web/bulk/cron/index.php | 20 +-
web/bulk/db/index.php | 10 +-
web/bulk/dns/index.php | 16 +-
web/bulk/firewall/banlist/index.php | 14 +-
web/bulk/firewall/index.php | 12 +-
web/bulk/firewall/ipset/index.php | 12 +-
web/bulk/hestia/index.php | 10 +-
web/bulk/ip/index.php | 10 +-
web/bulk/mail/index.php | 14 +-
web/bulk/package/index.php | 10 +-
web/bulk/restore/index.php | 34 +-
web/bulk/service/index.php | 12 +-
web/bulk/user/index.php | 10 +-
web/copy/package/index.php | 18 +-
web/delete/backup/exclusion/index.php | 12 +-
web/delete/backup/index.php | 12 +-
web/delete/cron/autoupdate/index.php | 10 +-
web/delete/cron/index.php | 12 +-
web/delete/cron/reports/index.php | 10 +-
web/delete/db/index.php | 12 +-
web/delete/dns/index.php | 20 +-
web/delete/firewall/banlist/index.php | 14 +-
web/delete/firewall/index.php | 14 +-
web/delete/firewall/ipset/index.php | 14 +-
web/delete/ip/index.php | 13 +-
web/delete/key/index.php | 14 +-
web/delete/log/auth/index.php | 20 +-
web/delete/log/index.php | 12 +-
web/delete/mail/index.php | 20 +-
web/delete/notification/index.php | 20 +-
web/delete/package/index.php | 12 +-
web/delete/user/index.php | 12 +-
web/delete/web/cache/index.php | 12 +-
web/delete/web/index.php | 10 +-
web/download/backup/index.php | 30 +-
web/download/web-log/index.php | 7 +-
web/edit/backup/exclusions/index.php | 29 +-
web/edit/cron/index.php | 18 +-
web/edit/db/index.php | 32 +-
web/edit/dns/index.php | 66 +-
web/edit/firewall/index.php | 65 +-
web/edit/ip/index.php | 46 +-
web/edit/mail/index.php | 279 ++++----
web/edit/package/index.php | 148 ++--
web/edit/server/apache2/index.php | 23 +-
web/edit/server/bind9/index.php | 31 +-
web/edit/server/clamav-daemon/index.php | 23 +-
web/edit/server/cron/index.php | 6 +-
web/edit/server/dovecot/index.php | 121 ++--
web/edit/server/exim/index.php | 23 +-
web/edit/server/exim4/index.php | 23 +-
web/edit/server/fail2ban/index.php | 23 +-
web/edit/server/httpd/index.php | 23 +-
web/edit/server/index.php | 894 +++++++++++++++---------
web/edit/server/mariadb/index.php | 25 +-
web/edit/server/mysql/index.php | 25 +-
web/edit/server/mysqld/index.php | 25 +-
web/edit/server/named/index.php | 23 +-
web/edit/server/nginx/index.php | 25 +-
web/edit/server/php-fpm/index.php | 25 +-
web/edit/server/php/index.php | 25 +-
web/edit/server/php5-fpm/index.php | 25 +-
web/edit/server/postgresql/index.php | 33 +-
web/edit/server/proftpd/index.php | 23 +-
web/edit/server/spamassassin/index.php | 23 +-
web/edit/server/spamd/index.php | 23 +-
web/edit/server/ssh/index.php | 23 +-
web/edit/server/theme/index.php | 58 --
web/edit/server/vsftpd/index.php | 26 +-
web/edit/user/index.php | 190 ++---
web/edit/web/index.php | 598 ++++++++--------
web/generate/ssl/index.php | 40 +-
web/inc/main.php | 174 +++--
web/inc/prevent_csrf.php | 62 +-
web/login/index.php | 7 +-
web/logout/index.php | 6 +-
web/reset/index.php | 10 +-
web/reset2fa/index.php | 5 +-
web/restart/service/index.php | 18 +-
web/restart/system/index.php | 12 +-
web/schedule/backup/index.php | 11 +-
web/schedule/restore/index.php | 34 +-
web/search/index.php | 12 +-
web/start/service/index.php | 18 +-
web/stop/service/index.php | 12 +-
web/suspend/cron/index.php | 12 +-
web/suspend/db/index.php | 12 +-
web/suspend/dns/index.php | 20 +-
web/suspend/firewall/index.php | 14 +-
web/suspend/mail/index.php | 22 +-
web/suspend/user/index.php | 14 +-
web/suspend/web/index.php | 12 +-
web/unsuspend/cron/index.php | 12 +-
web/unsuspend/db/index.php | 12 +-
web/unsuspend/dns/index.php | 24 +-
web/unsuspend/firewall/index.php | 14 +-
web/unsuspend/mail/index.php | 24 +-
web/unsuspend/user/index.php | 14 +-
web/unsuspend/web/index.php | 12 +-
web/update/hestia/index.php | 12 +-
117 files changed, 2874 insertions(+), 2471 deletions(-)
delete mode 100644 web/edit/server/theme/index.php
diff --git a/web/add/cron/autoupdate/index.php b/web/add/cron/autoupdate/index.php
index a114a202ea..03f51e922b 100644
--- a/web/add/cron/autoupdate/index.php
+++ b/web/add/cron/autoupdate/index.php
@@ -1,18 +1,16 @@
$error) {
- if ( $i == 0 ) {
+ if ($i == 0) {
$error_msg = $error;
} else {
$error_msg = $error_msg.", ".$error;
}
}
- $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'),$error_msg);
+ $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'), $error_msg);
}
// Protect input
@@ -43,8 +53,8 @@
// Add cron job
if (empty($_SESSION['error_msg'])) {
- exec (HESTIA_CMD."v-add-cron-job ".$user." ".$v_min." ".$v_hour." ".$v_day." ".$v_month." ".$v_wday." ".$v_cmd, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-cron-job ".$user." ".$v_min." ".$v_hour." ".$v_day." ".$v_month." ".$v_wday." ".$v_cmd, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
diff --git a/web/add/cron/reports/index.php b/web/add/cron/reports/index.php
index f1fe7a9d78..06002472f7 100644
--- a/web/add/cron/reports/index.php
+++ b/web/add/cron/reports/index.php
@@ -1,17 +1,15 @@
$error) {
- if ( $i == 0 ) {
+ if ($i == 0) {
$error_msg = $error;
} else {
$error_msg = $error_msg.", ".$error;
}
}
- $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'),$error_msg);
+ $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'), $error_msg);
}
// Validate email
@@ -42,7 +52,9 @@
// Check password length
if (empty($_SESSION['error_msg'])) {
- if (!validate_password($_POST['v_password'])) { $_SESSION['error_msg'] = _('Password does not match the minimum requirements');}
+ if (!validate_password($_POST['v_password'])) {
+ $_SESSION['error_msg'] = _('Password does not match the minimum requirements');
+ }
}
// Protect input
@@ -58,12 +70,12 @@
$v_type = escapeshellarg($_POST['v_type']);
$v_charset = escapeshellarg($_POST['v_charset']);
$v_host = escapeshellarg($_POST['v_host']);
- $v_password = tempnam("/tmp","vst");
+ $v_password = tempnam("/tmp", "vst");
$fp = fopen($v_password, "w");
fwrite($fp, $_POST['v_password']."\n");
fclose($fp);
- exec (HESTIA_CMD."v-add-database ".$user." ".$v_database." ".$v_dbuser." ".$v_password." ".$v_type." ".$v_host." ".$v_charset, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-database ".$user." ".$v_database." ".$v_dbuser." ".$v_password." ".$v_type." ".$v_host." ".$v_charset, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
unlink($v_password);
$v_password = escapeshellarg($_POST['v_password']);
@@ -75,13 +87,27 @@
// Get database manager url
if (empty($_SESSION['error_msg'])) {
list($http_host, $port) = explode(':', $_SERVER["HTTP_HOST"] . ":");
- if ($_POST['v_host'] != 'localhost' ) $http_host = $_POST['v_host'];
- if ($_POST['v_type'] == 'mysql') $db_admin = "phpMyAdmin";
- if ($_POST['v_type'] == 'mysql') $db_admin_link = "http://".$http_host."/phpmyadmin/";
- if (($_POST['v_type'] == 'mysql') && (!empty($_SESSION['DB_PMA_ALIAS']))) $db_admin_link = "http://".$http_host."/".$_SESSION['DB_PMA_ALIAS'];
- if ($_POST['v_type'] == 'pgsql') $db_admin = "phpPgAdmin";
- if ($_POST['v_type'] == 'pgsql') $db_admin_link = "http://".$http_host."/phppgadmin/";
- if (($_POST['v_type'] == 'pgsql') && (!empty($_SESSION['DB_PGA_ALIAS']))) $db_admin_link = "http://".$http_host."/".$_SESSION['DB_PGA_ALIAS'];
+ if ($_POST['v_host'] != 'localhost') {
+ $http_host = $_POST['v_host'];
+ }
+ if ($_POST['v_type'] == 'mysql') {
+ $db_admin = "phpMyAdmin";
+ }
+ if ($_POST['v_type'] == 'mysql') {
+ $db_admin_link = "http://".$http_host."/phpmyadmin/";
+ }
+ if (($_POST['v_type'] == 'mysql') && (!empty($_SESSION['DB_PMA_ALIAS']))) {
+ $db_admin_link = "http://".$http_host."/".$_SESSION['DB_PMA_ALIAS'];
+ }
+ if ($_POST['v_type'] == 'pgsql') {
+ $db_admin = "phpPgAdmin";
+ }
+ if ($_POST['v_type'] == 'pgsql') {
+ $db_admin_link = "http://".$http_host."/phppgadmin/";
+ }
+ if (($_POST['v_type'] == 'pgsql') && (!empty($_SESSION['DB_PGA_ALIAS']))) {
+ $db_admin_link = "http://".$http_host."/".$_SESSION['DB_PGA_ALIAS'];
+ }
}
// Email login credentials
@@ -91,14 +117,14 @@
$hostname = exec('hostname');
$from = "noreply@".$hostname;
$from_name = _('Hestia Control Panel');
- $mailtext = sprintf(_('DATABASE_READY'),$user."_".$_POST['v_database'],$user."_".$_POST['v_dbuser'],$_POST['v_password'],$db_admin_link);
+ $mailtext = sprintf(_('DATABASE_READY'), $user."_".$_POST['v_database'], $user."_".$_POST['v_dbuser'], $_POST['v_password'], $db_admin_link);
send_email($to, $subject, $mailtext, $from, $from_name);
}
// Flush field values on success
if (empty($_SESSION['error_msg'])) {
- $_SESSION['ok_msg'] = sprintf(_('DATABASE_CREATED_OK'),htmlentities($user)."_".htmlentities($_POST['v_database']),htmlentities($user)."_".htmlentities($_POST['v_database']));
- $_SESSION['ok_msg'] .= " / " . sprintf(_('open %s'),$db_admin) . "";
+ $_SESSION['ok_msg'] = sprintf(_('DATABASE_CREATED_OK'), htmlentities($user)."_".htmlentities($_POST['v_database']), htmlentities($user)."_".htmlentities($_POST['v_database']));
+ $_SESSION['ok_msg'] .= " / " . sprintf(_('open %s'), $db_admin) . "";
unset($v_database);
unset($v_dbuser);
unset($v_password);
@@ -114,9 +140,11 @@
$db_types = explode(',', $_SESSION['DB_SYSTEM']);
// List available database servers
-exec (HESTIA_CMD."v-list-database-hosts json", $output, $return_var);
+exec(HESTIA_CMD."v-list-database-hosts json", $output, $return_var);
$db_hosts_tmp1 = json_decode(implode('', $output), true);
-$db_hosts_tmp2 = array_map(function($host){return $host['HOST'];}, $db_hosts_tmp1);
+$db_hosts_tmp2 = array_map(function ($host) {
+ return $host['HOST'];
+}, $db_hosts_tmp1);
$db_hosts = array_values(array_unique($db_hosts_tmp2));
unset($output);
unset($db_hosts_tmp1);
diff --git a/web/add/dns/index.php b/web/add/dns/index.php
index 30910a38e7..4fd970dd48 100644
--- a/web/add/dns/index.php
+++ b/web/add/dns/index.php
@@ -1,5 +1,6 @@
$error) {
- if ( $i == 0 ) {
+ if ($i == 0) {
$error_msg = $error;
} else {
$error_msg = $error_msg.", ".$error;
}
}
- $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'),$error_msg);
+ $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'), $error_msg);
}
// Protect input
@@ -50,16 +52,16 @@
// Add dns domain
if (empty($_SESSION['error_msg'])) {
- exec (HESTIA_CMD."v-add-dns-domain ".$user." ".$v_domain." ".escapeshellarg($v_ip)." ".$v_ns1." ".$v_ns2." ".$v_ns3." ".$v_ns4." ".$v_ns5." ".$v_ns6." ".$v_ns7." ".$v_ns8." no", $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-dns-domain ".$user." ".$v_domain." ".escapeshellarg($v_ip)." ".$v_ns1." ".$v_ns2." ".$v_ns3." ".$v_ns4." ".$v_ns5." ".$v_ns6." ".$v_ns7." ".$v_ns8." no", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
-
+
// Change domain template
if (($v_template != $_POST['v_template']) && (empty($_SESSION['error_msg']))) {
$v_template = escapeshellarg($_POST['v_template']);
- exec (HESTIA_CMD."v-change-dns-domain-tpl ".$user." ".$v_domain." ".$v_template." 'no'", $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-dns-domain-tpl ".$user." ".$v_domain." ".$v_template." 'no'", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
@@ -67,8 +69,8 @@
if (empty($_SESSION['error_msg'])) {
if ((!empty($_POST['v_exp'])) && ($_POST['v_exp'] != date('Y-m-d', strtotime('+1 year')))) {
$v_exp = escapeshellarg($_POST['v_exp']);
- exec (HESTIA_CMD."v-change-dns-domain-exp ".$user." ".$v_domain." ".$v_exp." no", $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-dns-domain-exp ".$user." ".$v_domain." ".$v_exp." no", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
}
@@ -77,22 +79,22 @@
if (empty($_SESSION['error_msg'])) {
if ((!empty($_POST['v_ttl'])) && ($_POST['v_ttl'] != '14400') && (empty($_SESSION['error_msg']))) {
$v_ttl = escapeshellarg($_POST['v_ttl']);
- exec (HESTIA_CMD."v-change-dns-domain-ttl ".$user." ".$v_domain." ".$v_ttl." no", $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-dns-domain-ttl ".$user." ".$v_domain." ".$v_ttl." no", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
}
// Restart dns server
if (empty($_SESSION['error_msg'])) {
- exec (HESTIA_CMD."v-restart-dns", $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-restart-dns", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
// Flush field values on success
if (empty($_SESSION['error_msg'])) {
- $_SESSION['ok_msg'] = sprintf(_('DNS_DOMAIN_CREATED_OK'),htmlentities($_POST['v_domain']),htmlentities($_POST['v_domain']));
+ $_SESSION['ok_msg'] = sprintf(_('DNS_DOMAIN_CREATED_OK'), htmlentities($_POST['v_domain']), htmlentities($_POST['v_domain']));
unset($v_domain);
}
}
@@ -108,19 +110,27 @@
}
// Check empty fields
- if (empty($_POST['v_domain'])) $errors[] = 'domain';
- if (empty($_POST['v_rec'])) $errors[] = 'record';
- if (empty($_POST['v_type'])) $errors[] = 'type';
- if (empty($_POST['v_val'])) $errors[] = 'value';
+ if (empty($_POST['v_domain'])) {
+ $errors[] = 'domain';
+ }
+ if (empty($_POST['v_rec'])) {
+ $errors[] = 'record';
+ }
+ if (empty($_POST['v_type'])) {
+ $errors[] = 'type';
+ }
+ if (empty($_POST['v_val'])) {
+ $errors[] = 'value';
+ }
if (!empty($errors[0])) {
foreach ($errors as $i => $error) {
- if ( $i == 0 ) {
+ if ($i == 0) {
$error_msg = $error;
} else {
$error_msg = $error_msg.", ".$error;
}
}
- $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'),$error_msg);
+ $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'), $error_msg);
}
// Protect input
@@ -132,16 +142,15 @@
$v_ttl = escapeshellarg($_POST['v_ttl']);
// Add dns record
if (empty($_SESSION['error_msg'])) {
- exec (HESTIA_CMD."v-add-dns-record ".$user." ".$v_domain." ".$v_rec." ".$v_type." ".$v_val." ".$v_priority." '' false ".$v_ttl, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-dns-record ".$user." ".$v_domain." ".$v_rec." ".$v_type." ".$v_val." ".$v_priority." '' false ".$v_ttl, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
-
}
$v_type = $_POST['v_type'];
-
+
// Flush field values on success
if (empty($_SESSION['error_msg'])) {
- $_SESSION['ok_msg'] = sprintf(_('DNS_RECORD_CREATED_OK'),htmlentities($_POST['v_rec']),htmlentities($_POST['v_domain']));
+ $_SESSION['ok_msg'] = sprintf(_('DNS_RECORD_CREATED_OK'), htmlentities($_POST['v_rec']), htmlentities($_POST['v_domain']));
unset($v_domain);
unset($v_rec);
unset($v_val);
@@ -159,17 +168,17 @@
$v_ns7 = str_replace("'", "", $v_ns7);
$v_ns8 = str_replace("'", "", $v_ns8);
-if(empty($v_ip) && count($v_ips) > 0) {
+if (empty($v_ip) && count($v_ips) > 0) {
$ip = array_key_first($v_ips);
- $v_ip = (empty($v_ips[$ip]['NAT'])?$ip:$v_ips[$ip]['NAT']);
+ $v_ip = (empty($v_ips[$ip]['NAT']) ? $ip : $v_ips[$ip]['NAT']);
}
// List dns templates
-exec (HESTIA_CMD."v-list-dns-templates json", $output, $return_var);
+exec(HESTIA_CMD."v-list-dns-templates json", $output, $return_var);
$templates = json_decode(implode('', $output), true);
unset($output);
-exec (HESTIA_CMD."v-list-user ".$user." json", $output, $return_var);
+exec(HESTIA_CMD."v-list-user ".$user." json", $output, $return_var);
$user_config = json_decode(implode('', $output), true);
unset($output);
$v_template = $user_config[$user]['DNS_TEMPLATE'];
@@ -177,10 +186,14 @@
if (empty($_GET['domain'])) {
// Display body for dns domain
- if (empty($v_ttl)) $v_ttl = 14400;
- if (empty($v_exp)) $v_exp = date('Y-m-d', strtotime('+1 year'));
+ if (empty($v_ttl)) {
+ $v_ttl = 14400;
+ }
+ if (empty($v_exp)) {
+ $v_exp = date('Y-m-d', strtotime('+1 year'));
+ }
if (empty($v_ns1)) {
- exec (HESTIA_CMD."v-list-user-ns ".$user." json", $output, $return_var);
+ exec(HESTIA_CMD."v-list-user-ns ".$user." json", $output, $return_var);
$nameservers = json_decode(implode('', $output), true);
$v_ns1 = str_replace("'", "", $nameservers[0]);
$v_ns2 = str_replace("'", "", $nameservers[1]);
@@ -197,8 +210,8 @@
} else {
// Display body for dns record
$v_domain = $_GET['domain'];
- if (empty($v_rec)){
- $v_rec = '@';
+ if (empty($v_rec)) {
+ $v_rec = '@';
}
render_page($user, $TAB, 'add_dns_rec');
}
diff --git a/web/add/firewall/banlist/index.php b/web/add/firewall/banlist/index.php
index c2d8041840..e30b0ae791 100644
--- a/web/add/firewall/banlist/index.php
+++ b/web/add/firewall/banlist/index.php
@@ -1,5 +1,6 @@
$error) {
- if ( $i == 0 ) {
+ if ($i == 0) {
$error_msg = $error;
} else {
$error_msg = $error_msg.", ".$error;
}
}
- $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'),$error_msg);
+ $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'), $error_msg);
}
// Protect input
@@ -41,8 +43,8 @@
// Add firewall rule
if (empty($_SESSION['error_msg'])) {
- exec (HESTIA_CMD."v-add-firewall-ban ".$v_ip." ".$v_chain, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-firewall-ban ".$v_ip." ".$v_chain, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
diff --git a/web/add/firewall/index.php b/web/add/firewall/index.php
index db02d843df..c8524ab257 100644
--- a/web/add/firewall/index.php
+++ b/web/add/firewall/index.php
@@ -1,5 +1,6 @@
$value) {
- if(isset($value['SUSPENDED']) && $value['SUSPENDED'] === 'yes') {
+foreach ($data as $key => $value) {
+ if (isset($value['SUSPENDED']) && $value['SUSPENDED'] === 'yes') {
continue;
}
- if(isset($value['IP_VERSION']) && $value['IP_VERSION'] !== 'v4') {
+ if (isset($value['IP_VERSION']) && $value['IP_VERSION'] !== 'v4') {
continue;
}
array_push($ipset_lists, ['name'=>$key]);
@@ -31,31 +32,37 @@
// Check POST request
if (!empty($_POST['ok'])) { // Check token
- if ((!isset($_POST['token'])) || ($_SESSION['token'] != $_POST['token'])) {
- header('location: /login/');
- exit();
- }
+ // Check token
+ verify_csrf($_POST);
// Check empty fields
- if (empty($_POST['v_action'])) $errors[] = _('action');
- if (empty($_POST['v_protocol'])) $errors[] = _('protocol');
- if (empty($_POST['v_port']) && strlen($_POST['v_port']) == 0) $errors[] = _('port');
- if (empty($_POST['v_ip'])) $errors[] = _('ip address');
+ if (empty($_POST['v_action'])) {
+ $errors[] = _('action');
+ }
+ if (empty($_POST['v_protocol'])) {
+ $errors[] = _('protocol');
+ }
+ if (empty($_POST['v_port']) && strlen($_POST['v_port']) == 0) {
+ $errors[] = _('port');
+ }
+ if (empty($_POST['v_ip'])) {
+ $errors[] = _('ip address');
+ }
if (!empty($errors[0])) {
foreach ($errors as $i => $error) {
- if ( $i == 0 ) {
+ if ($i == 0) {
$error_msg = $error;
} else {
$error_msg = $error_msg.", ".$error;
}
}
- $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'),$error_msg);
+ $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'), $error_msg);
}
// Protect input
$v_action = escapeshellarg($_POST['v_action']);
$v_protocol = escapeshellarg($_POST['v_protocol']);
- $v_port = str_replace(" ",",", $_POST['v_port']);
+ $v_port = str_replace(" ", ",", $_POST['v_port']);
$v_port = preg_replace('/\,+/', ',', $v_port);
$v_port = trim($v_port, ",");
$v_port = escapeshellarg($v_port);
@@ -64,8 +71,8 @@
// Add firewall rule
if (empty($_SESSION['error_msg'])) {
- exec (HESTIA_CMD."v-add-firewall-rule ".$v_action." ".$v_ip." ".$v_port." ".$v_protocol." ".$v_comment, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-firewall-rule ".$v_action." ".$v_ip." ".$v_port." ".$v_protocol." ".$v_comment, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
diff --git a/web/add/firewall/ipset/index.php b/web/add/firewall/ipset/index.php
index 7f5e6d5060..8b0f574687 100644
--- a/web/add/firewall/ipset/index.php
+++ b/web/add/firewall/ipset/index.php
@@ -1,5 +1,6 @@
$error) {
- if ( $i == 0 ) {
+ if ($i == 0) {
$error_msg = $error;
} else {
$error_msg = $error_msg.", ".$error;
}
}
- $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'),$error_msg);
+ $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'), $error_msg);
}
$v_ipname = $_POST['v_ipname'];
@@ -45,8 +51,8 @@
// Add firewall ipset list
if (empty($_SESSION['error_msg'])) {
- exec (HESTIA_CMD."v-add-firewall-ipset ".escapeshellarg($v_ipname)." ".escapeshellarg($v_datasource)." ".escapeshellarg($v_ipver)." ".escapeshellarg($v_autoupdate), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-firewall-ipset ".escapeshellarg($v_ipname)." ".escapeshellarg($v_datasource)." ".escapeshellarg($v_ipver)." ".escapeshellarg($v_autoupdate), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
diff --git a/web/add/ip/index.php b/web/add/ip/index.php
index d78aba7151..310fa8a11b 100644
--- a/web/add/ip/index.php
+++ b/web/add/ip/index.php
@@ -1,5 +1,6 @@
$error) {
- if ( $i == 0 ) {
+ if ($i == 0) {
$error_msg = $error;
} else {
$error_msg = $error_msg.", ".$error;
}
}
- $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'),$error_msg);
+ $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'), $error_msg);
}
// Protect input
@@ -53,13 +59,12 @@
} else {
$ip_status = 'dedicated';
$v_dedicated = 'yes';
-
}
// Add IP
if (empty($_SESSION['error_msg'])) {
- exec (HESTIA_CMD."v-add-sys-ip ".$v_ip." ".$v_netmask." ".$v_interface." ".$v_owner." ".escapeshellarg($ip_status)." ".$v_name." ".$v_nat." ".$v_helo, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-sys-ip ".$v_ip." ".$v_netmask." ".$v_interface." ".$v_owner." ".escapeshellarg($ip_status)." ".$v_name." ".$v_nat." ".$v_helo, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
$v_owner = $_POST['v_owner'];
$v_interface = $_POST['v_interface'];
@@ -67,7 +72,7 @@
// Flush field values on success
if (empty($_SESSION['error_msg'])) {
- $_SESSION['ok_msg'] = sprintf(_('IP_CREATED_OK'),htmlentities($_POST['v_ip']),htmlentities($_POST['v_ip']));
+ $_SESSION['ok_msg'] = sprintf(_('IP_CREATED_OK'), htmlentities($_POST['v_ip']), htmlentities($_POST['v_ip']));
unset($v_ip);
unset($v_netmask);
unset($v_name);
@@ -77,12 +82,12 @@
}
// List network interfaces
-exec (HESTIA_CMD."v-list-sys-interfaces 'json'", $output, $return_var);
+exec(HESTIA_CMD."v-list-sys-interfaces 'json'", $output, $return_var);
$interfaces = json_decode(implode('', $output), true);
unset($output);
// List users
-exec (HESTIA_CMD."v-list-sys-users 'json'", $output, $return_var);
+exec(HESTIA_CMD."v-list-sys-users 'json'", $output, $return_var);
$users = json_decode(implode('', $output), true);
unset($output);
diff --git a/web/add/key/index.php b/web/add/key/index.php
index 0a27d82686..cfa0bec724 100644
--- a/web/add/key/index.php
+++ b/web/add/key/index.php
@@ -1,4 +1,5 @@
$value){
+ foreach ($data as $key => $value) {
$idlist[] = trim($data[$key]['ID']);
$keylist[] = trim($data[$key]['KEY']);
}
-
- $v_key_parts = explode(' ',$_POST['v_key']);
+
+ $v_key_parts = explode(' ', $_POST['v_key']);
$key_id = trim($v_key_parts[2]);
- if($v_key_parts[2] == ''){
+ if ($v_key_parts[2] == '') {
$v_key_parts[2] = md5(time());
$_POST['v_key'] .= ' '.$v_key_parts[2];
}
-
+
//for deleting / revoking key the last part user@domain is used therefore needs to be unique
//maybe consider adding random generated message or even an human read able string set by user?
- if(in_array($v_key_parts[2], $idlist)){
+ if (in_array($v_key_parts[2], $idlist)) {
$_SESSION['error_msg'] = _('SSH KEY already exists');
}
- if(in_array($v_key_parts[1], $keylist)){
+ if (in_array($v_key_parts[1], $keylist)) {
$_SESSION['error_msg'] = _('SSH KEY already exists');
}
$v_key = escapeshellarg(trim($_POST['v_key']));
}
}
-
+
if (empty($_SESSION['error_msg'])) {
- exec (HESTIA_CMD."v-add-user-ssh-key ".$user." ".$v_key, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-user-ssh-key ".$user." ".$v_key, $output, $return_var);
+ check_return_code($return_var, $output);
}
unset($output);
// Flush field values on success
if (empty($_SESSION['error_msg'])) {
- $_SESSION['ok_msg'] = _('SSH KEY created');
+ $_SESSION['ok_msg'] = _('SSH KEY created');
}
-
}
render_page($user, $TAB, 'add_key');
// Flush session messages
unset($_SESSION['error_msg']);
-unset($_SESSION['ok_msg']);
\ No newline at end of file
+unset($_SESSION['ok_msg']);
diff --git a/web/add/mail/index.php b/web/add/mail/index.php
index 4866f6eca7..d233ac6386 100644
--- a/web/add/mail/index.php
+++ b/web/add/mail/index.php
@@ -1,4 +1,5 @@
$error) {
- if ( $i == 0 ) {
+ if ($i == 0) {
$error_msg = $error;
} else {
$error_msg = $error_msg.", ".$error;
}
}
- $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'),$error_msg);
+ $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'), $error_msg);
}
// Check antispam option
@@ -79,32 +79,32 @@
// Add mail domain
if (empty($_SESSION['error_msg'])) {
- exec (HESTIA_CMD."v-add-mail-domain ".$user." ".$v_domain." ".$v_antispam." ".$v_antivirus." ".$v_dkim, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-mail-domain ".$user." ".$v_domain." ".$v_antispam." ".$v_antivirus." ".$v_dkim, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
-
- if (!empty($_SESSION['IMAP_SYSTEM']) && !empty($_SESSION['WEBMAIL_SYSTEM'])){
+
+ if (!empty($_SESSION['IMAP_SYSTEM']) && !empty($_SESSION['WEBMAIL_SYSTEM'])) {
if (empty($_SESSION['error_msg'])) {
- if (!empty($_POST['v_webmail'])) {
- $v_webmail = escapeshellarg($_POST['v_webmail']);
- exec (HESTIA_CMD."v-add-mail-domain-webmail ".$user." ".$v_domain." ".$v_webmail." yes", $output, $return_var);
- check_return_code($return_var,$output);
- unset($output);
- }
+ if (!empty($_POST['v_webmail'])) {
+ $v_webmail = escapeshellarg($_POST['v_webmail']);
+ exec(HESTIA_CMD."v-add-mail-domain-webmail ".$user." ".$v_domain." ".$v_webmail." yes", $output, $return_var);
+ check_return_code($return_var, $output);
+ unset($output);
+ }
}
}
-
+
if (!empty($_SESSION['IMAP_SYSTEM']) && !empty($_SESSION['WEBMAIL_SYSTEM'])) {
if (empty($_POST['v_webmail'])) {
if (empty($_SESSION['error_msg'])) {
- exec (HESTIA_CMD."v-delete-mail-domain-webmail ".$user." ".$v_domain." yes", $output, $return_var);
- check_return_code($return_var,$output);
- unset($output);
+ exec(HESTIA_CMD."v-delete-mail-domain-webmail ".$user." ".$v_domain." yes", $output, $return_var);
+ check_return_code($return_var, $output);
+ unset($output);
}
}
}
-
+
// Add SMTP Relay Support
if (empty($_SESSION['error_msg'])) {
if (isset($_POST['v_smtp_relay']) && (!empty($_POST['v_smtp_relay_host'])) && (!empty($_POST['v_smtp_relay_user']))) {
@@ -112,7 +112,7 @@
($_POST['v_smtp_relay_user'] != $v_smtp_relay_user) ||
($_POST['v_smtp_relay_port'] != $v_smtp_relay_port)) {
if (!empty($_POST['v_smtp_relay_pass'])) {
- $v_smtp_relay = true;
+ $v_smtp_relay = true;
$v_smtp_relay_host = escapeshellarg($_POST['v_smtp_relay_host']);
$v_smtp_relay_user = escapeshellarg($_POST['v_smtp_relay_user']);
$v_smtp_relay_pass = escapeshellarg($_POST['v_smtp_relay_pass']);
@@ -121,8 +121,8 @@
} else {
$v_smtp_relay_port = '587';
}
- exec (HESTIA_CMD."v-add-mail-domain-smtp-relay ".$user." ".$v_domain." ".$v_smtp_relay_host." ".$v_smtp_relay_user." ".$v_smtp_relay_pass." ".$v_smtp_relay_port, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-mail-domain-smtp-relay ".$user." ".$v_domain." ".$v_smtp_relay_host." ".$v_smtp_relay_user." ".$v_smtp_relay_pass." ".$v_smtp_relay_port, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
} else {
$_SESSION['error_msg'] = _('SMTP Relay Password is required');
@@ -130,10 +130,10 @@
}
}
}
-
+
// Flush field values on success
if (empty($_SESSION['error_msg'])) {
- $_SESSION['ok_msg'] = sprintf(_('MAIL_DOMAIN_CREATED_OK'),htmlentities($_POST['v_domain']),htmlentities($_POST['v_domain']));
+ $_SESSION['ok_msg'] = sprintf(_('MAIL_DOMAIN_CREATED_OK'), htmlentities($_POST['v_domain']), htmlentities($_POST['v_domain']));
unset($v_domain, $v_webmail);
}
}
@@ -147,8 +147,8 @@
header('location: /login/');
exit();
}
-
-
+
+
// Check antispam option
if (!empty($_POST['v_blackhole'])) {
$v_blackhole = 'yes';
@@ -156,20 +156,26 @@
$v_blackhole = 'no';
}
// Check empty fields
- if (empty($_POST['v_domain'])) $errors[] = _('domain');
- if (empty($_POST['v_account'])) $errors[] = _('account');
+ if (empty($_POST['v_domain'])) {
+ $errors[] = _('domain');
+ }
+ if (empty($_POST['v_account'])) {
+ $errors[] = _('account');
+ }
if ((empty($_POST['v_fwd_only']) && empty($_POST['v_password']))) {
- if (empty($_POST['v_password'])) $errors[] = _('password');
+ if (empty($_POST['v_password'])) {
+ $errors[] = _('password');
+ }
}
if (!empty($errors[0])) {
foreach ($errors as $i => $error) {
- if ( $i == 0 ) {
+ if ($i == 0) {
$error_msg = $error;
} else {
$error_msg = $error_msg.", ".$error;
}
}
- $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'),$error_msg);
+ $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'), $error_msg);
}
// Validate email
@@ -178,10 +184,12 @@
$_SESSION['error_msg'] = _('Please enter valid email address.');
}
}
-
+
// Check password length
if (empty($_SESSION['error_msg']) && (empty($_POST['v_fwd_only']))) {
- if (!validate_password($_POST['v_password'])) { $_SESSION['error_msg'] = _('Password does not match the minimum requirements');}
+ if (!validate_password($_POST['v_password'])) {
+ $_SESSION['error_msg'] = _('Password does not match the minimum requirements');
+ }
}
// Protect input
@@ -193,17 +201,21 @@
$v_credentials = $_POST['v_credentials'];
$v_aliases = $_POST['v_aliases'];
$v_fwd = $_POST['v_fwd'];
- if (empty($_POST['v_quota'])) $v_quota = 0;
- if ((!empty($_POST['v_quota'])) || (!empty($_POST['v_aliases'])) || (!empty($_POST['v_fwd'])) ) $v_adv = 'yes';
+ if (empty($_POST['v_quota'])) {
+ $v_quota = 0;
+ }
+ if ((!empty($_POST['v_quota'])) || (!empty($_POST['v_aliases'])) || (!empty($_POST['v_fwd']))) {
+ $v_adv = 'yes';
+ }
// Add Mail Account
if (empty($_SESSION['error_msg'])) {
- $v_password = tempnam("/tmp","vst");
+ $v_password = tempnam("/tmp", "vst");
$fp = fopen($v_password, "w");
fwrite($fp, $_POST['v_password']."\n");
fclose($fp);
- exec (HESTIA_CMD."v-add-mail-account ".$user." ".$v_domain." ".$v_account." ".$v_password." ".$v_quota, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-mail-account ".$user." ".$v_domain." ".$v_account." ".$v_password." ".$v_quota, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
unlink($v_password);
$v_password = escapeshellarg($_POST['v_password']);
@@ -213,22 +225,22 @@
if ((!empty($_POST['v_aliases'])) && (empty($_SESSION['error_msg']))) {
$valiases = preg_replace("/\n/", " ", $_POST['v_aliases']);
$valiases = preg_replace("/,/", " ", $valiases);
- $valiases = preg_replace('/\s+/', ' ',$valiases);
+ $valiases = preg_replace('/\s+/', ' ', $valiases);
$valiases = trim($valiases);
$aliases = explode(" ", $valiases);
foreach ($aliases as $alias) {
$alias = escapeshellarg($alias);
if (empty($_SESSION['error_msg'])) {
- exec (HESTIA_CMD."v-add-mail-account-alias ".$user." ".$v_domain." ".$v_account." ".$alias, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-mail-account-alias ".$user." ".$v_domain." ".$v_account." ".$alias, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
}
}
- if ((!empty($_POST['v_blackhole'])) && (empty($_SESSION['error_msg']))){
- exec (HESTIA_CMD."v-add-mail-account-forward ".$user." ".$v_domain." ".$v_account." :blackhole:", $output, $return_var);
- check_return_code($return_var,$output);
+ if ((!empty($_POST['v_blackhole'])) && (empty($_SESSION['error_msg']))) {
+ exec(HESTIA_CMD."v-add-mail-account-forward ".$user." ".$v_domain." ".$v_account." :blackhole:", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
//disable any input in v_fwd
$_POST['v_fwd'] = '';
@@ -237,14 +249,14 @@
if ((!empty($_POST['v_fwd'])) && (empty($_SESSION['error_msg']))) {
$vfwd = preg_replace("/\n/", " ", $_POST['v_fwd']);
$vfwd = preg_replace("/,/", " ", $vfwd);
- $vfwd = preg_replace('/\s+/', ' ',$vfwd);
+ $vfwd = preg_replace('/\s+/', ' ', $vfwd);
$vfwd = trim($vfwd);
$fwd = explode(" ", $vfwd);
foreach ($fwd as $forward) {
$forward = escapeshellarg($forward);
if (empty($_SESSION['error_msg'])) {
- exec (HESTIA_CMD."v-add-mail-account-forward ".$user." ".$v_domain." ".$v_account." ".$forward, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-mail-account-forward ".$user." ".$v_domain." ".$v_account." ".$forward, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
}
@@ -252,8 +264,8 @@
// Add fwd_only flag
if ((!empty($_POST['v_fwd_only'])) && (empty($_SESSION['error_msg']))) {
- exec (HESTIA_CMD."v-add-mail-account-fwd-only ".$user." ".$v_domain." ".$v_account, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-mail-account-fwd-only ".$user." ".$v_domain." ".$v_account, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
@@ -261,7 +273,9 @@
if (empty($_SESSION['error_msg'])) {
list($http_host, $port) = explode(':', $_SERVER["HTTP_HOST"].":");
$webmail = "http://".$hostname."/".$v_webmail_alias."/";
- if (!empty($_SESSION['WEBMAIL_ALIAS'])) $webmail = $_SESSION['WEBMAIL_ALIAS'];
+ if (!empty($_SESSION['WEBMAIL_ALIAS'])) {
+ $webmail = $_SESSION['WEBMAIL_ALIAS'];
+ }
}
// Email login credentials
@@ -277,7 +291,7 @@
// Flush field values on success
if (empty($_SESSION['error_msg'])) {
- $_SESSION['ok_msg'] = sprintf(_('MAIL_ACCOUNT_CREATED_OK'),htmlentities(strtolower($_POST['v_account'])),htmlentities($_POST['v_domain']),htmlentities(strtolower($_POST['v_account'])),htmlentities($_POST['v_domain']));
+ $_SESSION['ok_msg'] = sprintf(_('MAIL_ACCOUNT_CREATED_OK'), htmlentities(strtolower($_POST['v_account'])), htmlentities($_POST['v_domain']), htmlentities(strtolower($_POST['v_account'])), htmlentities($_POST['v_domain']));
unset($v_account);
unset($v_password);
unset($v_aliases);
@@ -289,9 +303,9 @@
// Render page
if (empty($_GET['domain'])) {
// Display body for mail domain
- if( !empty($_POST['v_webmail']) ){
+ if (!empty($_POST['v_webmail'])) {
$v_webmail = $_POST['v_webmail'];
- }else{
+ } else {
//default is always roundcube unless it hasn't been installed. Then picks the first one in order
$v_webmail = 'roundcube';
}
diff --git a/web/add/package/index.php b/web/add/package/index.php
index 9cbc65a937..e24fcfeec9 100644
--- a/web/add/package/index.php
+++ b/web/add/package/index.php
@@ -17,10 +17,7 @@
if (!empty($_POST['ok'])) {
// Check token
- if ((!isset($_POST['token'])) || ($_SESSION['token'] != $_POST['token'])) {
- header('location: /login/');
- exit();
- }
+ verify_csrf($_POST);
// Check empty fields
if (empty($_POST['v_package'])) {
diff --git a/web/add/user/index.php b/web/add/user/index.php
index dfde44adcf..a9b12563d8 100644
--- a/web/add/user/index.php
+++ b/web/add/user/index.php
@@ -1,5 +1,6 @@
$error) {
- if ( $i == 0 ) {
+ if ($i == 0) {
$error_msg = $error;
} else {
$error_msg = $error_msg.", ".$error;
}
}
- $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'),$error_msg);
+ $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'), $error_msg);
}
// Validate email
@@ -45,7 +53,9 @@
// Check password length
if (empty($_SESSION['error_msg'])) {
- if (!validate_password($_POST['v_password'])) { $_SESSION['error_msg'] = _('Password does not match the minimum requirements'); }
+ if (!validate_password($_POST['v_password'])) {
+ $_SESSION['error_msg'] = _('Password does not match the minimum requirements');
+ }
}
// Protect input
@@ -59,12 +69,12 @@
// Add user
if (empty($_SESSION['error_msg'])) {
- $v_password = tempnam("/tmp","vst");
+ $v_password = tempnam("/tmp", "vst");
$fp = fopen($v_password, "w");
fwrite($fp, $_POST['v_password']."\n");
fclose($fp);
- exec (HESTIA_CMD."v-add-user ".$v_username." ".$v_password." ".$v_email." ".$v_package." ".$v_name, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-user ".$v_username." ".$v_password." ".$v_email." ".$v_package." ".$v_name, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
unlink($v_password);
$v_password = escapeshellarg($_POST['v_password']);
@@ -72,25 +82,29 @@
// Set language
if (empty($_SESSION['error_msg'])) {
- exec (HESTIA_CMD."v-change-user-language ".$v_username." ".$v_language, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-user-language ".$v_username." ".$v_language, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
// Set Role
if (empty($_SESSION['error_msg'])) {
$v_role = escapeshellarg($_POST['v_role']);
- exec (HESTIA_CMD."v-change-user-role ".$v_username." ".$v_role, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-user-role ".$v_username." ".$v_role, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
// Set login restriction
if (empty($_SESSION['error_msg'])) {
if ($_POST['v_login_disabled']) {
- if ($_POST['v_login_disabled'] == 'on') { $_POST['v_login_disabled'] = 'yes'; } else { $_POST['v_login_disabled'] = 'no'; }
- exec (HESTIA_CMD."v-change-user-config-value ".$v_username." LOGIN_DISABLED ".escapeshellarg($_POST['v_login_disabled']), $output, $return_var);
- check_return_code($return_var,$output);
+ if ($_POST['v_login_disabled'] == 'on') {
+ $_POST['v_login_disabled'] = 'yes';
+ } else {
+ $_POST['v_login_disabled'] = 'no';
+ }
+ exec(HESTIA_CMD."v-change-user-config-value ".$v_username." LOGIN_DISABLED ".escapeshellarg($_POST['v_login_disabled']), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
}
@@ -98,9 +112,9 @@
// Send email to the new user
if ((empty($_SESSION['error_msg'])) && (!empty($v_notify))) {
$to = $_POST['v_notify'];
- // send email in "users" language
+ // send email in "users" language
putenv("LANGUAGE=".$_POST['v_language']);
-
+
$subject = _("Welcome to Hestia Control Panel");
$hostname = exec('hostname');
unset($output);
@@ -108,19 +122,19 @@
$from_name = _('Hestia Control Panel');
if (!empty($_POST['v_name'])) {
- $mailtext = sprintf(_('GREETINGS_GORDON'),$_POST['v_name'])."\r\n";
+ $mailtext = sprintf(_('GREETINGS_GORDON'), $_POST['v_name'])."\r\n";
} else {
$mailtext = _('GREETINGS')."\r\n";
}
-
- $mailtext .= sprintf(_('ACCOUNT_READY'),$_SERVER['HTTP_HOST'],$_POST['v_username'],$_POST['v_password']);
+
+ $mailtext .= sprintf(_('ACCOUNT_READY'), $_SERVER['HTTP_HOST'], $_POST['v_username'], $_POST['v_password']);
send_email($to, $subject, $mailtext, $from, $from_name, $_POST['name']);
putenv("LANGUAGE=".detect_user_language());
}
// Flush field values on success
if (empty($_SESSION['error_msg'])) {
- $_SESSION['ok_msg'] = sprintf(_('USER_CREATED_OK'),htmlentities($_POST['v_username']),htmlentities($_POST['v_username']));
+ $_SESSION['ok_msg'] = sprintf(_('USER_CREATED_OK'), htmlentities($_POST['v_username']), htmlentities($_POST['v_username']));
$_SESSION['ok_msg'] .= " / " . _('login as') ." ".htmlentities($_POST['v_username']). "";
unset($v_username);
unset($v_password);
@@ -132,15 +146,15 @@
// List hosting packages
-exec (HESTIA_CMD."v-list-user-packages json", $output, $return_var);
+exec(HESTIA_CMD."v-list-user-packages json", $output, $return_var);
check_error($return_var);
$data = json_decode(implode('', $output), true);
unset($output);
// List languages
-exec (HESTIA_CMD."v-list-sys-languages json", $output, $return_var);
+exec(HESTIA_CMD."v-list-sys-languages json", $output, $return_var);
$language = json_decode(implode('', $output), true);
-foreach($language as $lang){
+foreach ($language as $lang) {
$languages[$lang] = translate_json($lang);
}
asort($languages);
diff --git a/web/add/web/index.php b/web/add/web/index.php
index 02ac8bfe57..a7da60c290 100644
--- a/web/add/web/index.php
+++ b/web/add/web/index.php
@@ -1,5 +1,6 @@
$error) {
- if ( $i == 0 ) {
+ if ($i == 0) {
$error_msg = $error;
} else {
$error_msg = $error_msg.", ".$error;
}
}
- $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'),$error_msg);
+ $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'), $error_msg);
}
// Check stats password length
if ((!empty($v_stats)) && (empty($_SESSION['error_msg']))) {
if (!empty($_POST['v_stats_user'])) {
$pw_len = strlen($_POST['v_stats_password']);
- if ($pw_len < 6 ) $_SESSION['error_msg'] = _('Password is too short.',$error_msg);
+ if ($pw_len < 6) {
+ $_SESSION['error_msg'] = _('Password is too short.', $error_msg);
+ }
}
}
@@ -46,11 +54,11 @@
// Define domain ip address
$v_ip = escapeshellarg($_POST['v_ip']);
- // Using public IP instead of internal IP when creating DNS
+ // Using public IP instead of internal IP when creating DNS
// Gets public IP from 'v-list-user-ips' command (that reads /hestia/data/ips/ip), precisely from 'NAT' field
$v_public_ip = $v_ip;
$v_clean_ip = $_POST['v_ip']; // clean_ip = IP without quotas
- exec (HESTIA_CMD."v-list-user-ips ".$user." json", $output, $return_var);
+ exec(HESTIA_CMD."v-list-user-ips ".$user." json", $output, $return_var);
$ips = json_decode(implode('', $output), true);
unset($output);
if (isset($ips[$v_clean_ip]) && isset($ips[$v_clean_ip]['NAT']) && trim($ips[$v_clean_ip]['NAT'])!='') {
@@ -67,9 +75,11 @@
$aliases_arr = explode(",", $aliases);
$aliases_arr = array_unique($aliases_arr);
$aliases_arr = array_filter($aliases_arr);
- $aliases = implode(",",$aliases_arr);
+ $aliases = implode(",", $aliases_arr);
$aliases = escapeshellarg($aliases);
- if (empty($_POST['v_aliases'])) $aliases = 'none';
+ if (empty($_POST['v_aliases'])) {
+ $aliases = 'none';
+ }
// Define proxy extensions
$v_proxy_ext = $_POST['v_proxy_ext'];
@@ -80,7 +90,7 @@
$proxy_ext_arr = explode(",", $proxy_ext);
$proxy_ext_arr = array_unique($proxy_ext_arr);
$proxy_ext_arr = array_filter($proxy_ext_arr);
- $proxy_ext = implode(",",$proxy_ext_arr);
+ $proxy_ext = implode(",", $proxy_ext_arr);
$proxy_ext = escapeshellarg($proxy_ext);
// Define other options
@@ -97,49 +107,77 @@
$v_custom_doc_domain = $_POST['v-custom-doc-domain'];
$v_custom_doc_folder = $_POST['v-custom-doc-folder'];
$v_custom_doc_root_prepath = '/home/'.$user.'/web/';
-
+
$v_ftp = $_POST['v_ftp'];
$v_ftp_user = $_POST['v_ftp_user'];
$v_ftp_password = $_POST['v_ftp_password'];
$v_ftp_email = $_POST['v_ftp_email'];
- if (!empty($v_domain)) $v_ftp_user_prepath .= $v_domain;
+ if (!empty($v_domain)) {
+ $v_ftp_user_prepath .= $v_domain;
+ }
- exec (HESTIA_CMD."v-list-user ".$user." json", $output, $return_var);
+ exec(HESTIA_CMD."v-list-user ".$user." json", $output, $return_var);
$user_config = json_decode(implode('', $output), true);
unset($output);
-
+
$v_template = $user_config[$user]['TEMPLATE'];
$v_backend_template = $user_config[$user]['BACKEND_TEMPLATE'];
$v_proxy_template = $user_config[$user]['PROXY_TEMPLATE'];
-
+
// Set advanced option checkmark
- if (!empty($_POST['v_proxy'])) $v_adv = 'yes'; $v_proxy = "yes";
- if (!empty($_POST['v_ftp'])) $v_adv = 'yes';
- if ($_POST['v_proxy_ext'] != $v_proxy_ext) $v_adv = 'yes';
- if ((!empty($_POST['v_aliases'])) && ($_POST['v_aliases'] != 'www.'.$_POST['v_domain'])) $v_adv = 'yes';
- if ((!empty($_POST['v_ssl'])) || (!empty($_POST['v_elog']))) $v_adv = 'yes';
- if ((!empty($_POST['v_ssl_crt'])) || (!empty($_POST['v_ssl_key']))) $v_adv = 'yes';
- if ((!empty($_POST['v_ssl_ca'])) || ($_POST['v_stats'] != 'none')) $v_adv = 'yes';
- if ((!empty($_POST['v_letsencrypt']))) $v_adv = 'yes';
- if (!empty($_POST['v_custom_doc_root_check'])){$v_adv = 'yes'; $v_custom_doc_root = 1; }
-
+ if (!empty($_POST['v_proxy'])) {
+ $v_adv = 'yes';
+ }
+ $v_proxy = "yes";
+ if (!empty($_POST['v_ftp'])) {
+ $v_adv = 'yes';
+ }
+ if ($_POST['v_proxy_ext'] != $v_proxy_ext) {
+ $v_adv = 'yes';
+ }
+ if ((!empty($_POST['v_aliases'])) && ($_POST['v_aliases'] != 'www.'.$_POST['v_domain'])) {
+ $v_adv = 'yes';
+ }
+ if ((!empty($_POST['v_ssl'])) || (!empty($_POST['v_elog']))) {
+ $v_adv = 'yes';
+ }
+ if ((!empty($_POST['v_ssl_crt'])) || (!empty($_POST['v_ssl_key']))) {
+ $v_adv = 'yes';
+ }
+ if ((!empty($_POST['v_ssl_ca'])) || ($_POST['v_stats'] != 'none')) {
+ $v_adv = 'yes';
+ }
+ if ((!empty($_POST['v_letsencrypt']))) {
+ $v_adv = 'yes';
+ }
+ if (!empty($_POST['v_custom_doc_root_check'])) {
+ $v_adv = 'yes';
+ $v_custom_doc_root = 1;
+ }
+
// Check advanced features
- if (empty($_POST['v_dns'])) $v_dns = 'off';
- if (empty($_POST['v_mail'])) $v_mail = 'off';
- if (empty($_POST['v_proxy'])) $v_proxy = 'off';
+ if (empty($_POST['v_dns'])) {
+ $v_dns = 'off';
+ }
+ if (empty($_POST['v_mail'])) {
+ $v_mail = 'off';
+ }
+ if (empty($_POST['v_proxy'])) {
+ $v_proxy = 'off';
+ }
// Add web domain
if (empty($_SESSION['error_msg'])) {
- exec (HESTIA_CMD."v-add-web-domain ".$user." ".escapeshellarg($v_domain)." ".$v_ip." 'yes' ".$aliases." ".$proxy_ext, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-web-domain ".$user." ".escapeshellarg($v_domain)." ".$v_ip." 'yes' ".$aliases." ".$proxy_ext, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
$domain_added = empty($_SESSION['error_msg']);
}
// Add DNS domain
if (($_POST['v_dns'] == 'on') && (empty($_SESSION['error_msg']))) {
- exec (HESTIA_CMD."v-add-dns-domain ".$user." ".escapeshellarg($v_domain)." ".$v_public_ip." '' '' '' '' '' '' '' '' 'no'", $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-dns-domain ".$user." ".escapeshellarg($v_domain)." ".$v_public_ip." '' '' '' '' '' '' '' '' 'no'", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
@@ -148,8 +186,8 @@
foreach ($aliases_arr as $alias) {
if ($alias != "www.".$v_domain) {
$alias = escapeshellarg($alias);
- exec (HESTIA_CMD."v-add-dns-on-web-alias ".$user." ".$alias." ".$v_ip." 'no'", $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-dns-on-web-alias ".$user." ".$alias." ".$v_ip." 'no'", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
}
@@ -157,178 +195,184 @@
// Add mail domain
if (($_POST['v_mail'] == 'on') && (empty($_SESSION['error_msg']))) {
- exec (HESTIA_CMD."v-add-mail-domain ".$user." ".escapeshellarg($v_domain), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-mail-domain ".$user." ".escapeshellarg($v_domain), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
// Delete proxy support
if ((!empty($_SESSION['PROXY_SYSTEM'])) && ($_POST['v_proxy'] == 'off') && (empty($_SESSION['error_msg']))) {
$ext = escapeshellarg($ext);
- exec (HESTIA_CMD."v-delete-web-domain-proxy ".$user." ".escapeshellarg($v_domain)." 'no'", $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-delete-web-domain-proxy ".$user." ".escapeshellarg($v_domain)." 'no'", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
$restart_web = 'yes';
}
-
+
// Change template
if (($v_template != $_POST['v_template']) && (empty($_SESSION['error_msg']))) {
- exec (HESTIA_CMD."v-change-web-domain-tpl ".$user." ".escapeshellarg($v_domain)." ".escapeshellarg($_POST['v_template'])." 'no'", $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-web-domain-tpl ".$user." ".escapeshellarg($v_domain)." ".escapeshellarg($_POST['v_template'])." 'no'", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
$restart_web = 'yes';
}
// Change backend template
- if ((!empty($_SESSION['WEB_BACKEND'])) && ( $v_backend_template != $_POST['v_backend_template']) && (empty($_SESSION['error_msg']))) {
+ if ((!empty($_SESSION['WEB_BACKEND'])) && ($v_backend_template != $_POST['v_backend_template']) && (empty($_SESSION['error_msg']))) {
$v_backend_template = $_POST['v_backend_template'];
- exec (HESTIA_CMD."v-change-web-domain-backend-tpl ".$user." ".escapeshellarg($v_domain)." ".escapeshellarg($v_backend_template), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-web-domain-backend-tpl ".$user." ".escapeshellarg($v_domain)." ".escapeshellarg($v_backend_template), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
// Change proxy template / Update extension list
- if ((!empty($_SESSION['PROXY_SYSTEM'])) && (!empty($v_proxy)) && (!empty($_POST['v_proxy'])) && (empty($_SESSION['error_msg'])) ) {
+ if ((!empty($_SESSION['PROXY_SYSTEM'])) && (!empty($v_proxy)) && (!empty($_POST['v_proxy'])) && (empty($_SESSION['error_msg']))) {
$ext = preg_replace("/\n/", " ", $_POST['v_proxy_ext']);
$ext = preg_replace("/,/", " ", $ext);
- $ext = preg_replace('/\s+/', ' ',$ext);
+ $ext = preg_replace('/\s+/', ' ', $ext);
$ext = trim($ext);
$ext = str_replace(' ', ", ", $ext);
- if (( $v_proxy_template != $_POST['v_proxy_template']) || ($v_proxy_ext != $ext)) {
+ if (($v_proxy_template != $_POST['v_proxy_template']) || ($v_proxy_ext != $ext)) {
$ext = str_replace(', ', ",", $ext);
- if (!empty($_POST['v_proxy_template'])) $v_proxy_template = $_POST['v_proxy_template'];
- exec (HESTIA_CMD."v-change-web-domain-proxy-tpl ".$user." ".escapeshellarg($v_domain)." ".escapeshellarg($v_proxy_template)." ".escapeshellarg($ext)." 'no'", $output, $return_var);
- check_return_code($return_var,$output);
+ if (!empty($_POST['v_proxy_template'])) {
+ $v_proxy_template = $_POST['v_proxy_template'];
+ }
+ exec(HESTIA_CMD."v-change-web-domain-proxy-tpl ".$user." ".escapeshellarg($v_domain)." ".escapeshellarg($v_proxy_template)." ".escapeshellarg($ext)." 'no'", $output, $return_var);
+ check_return_code($return_var, $output);
$v_proxy_ext = str_replace(',', ', ', $ext);
unset($output);
$restart_proxy = 'yes';
}
}
-
+
// Add Lets Encrypt support
- if ((!empty($_POST['v_letsencrypt'])) && (empty($_SESSION['error_msg']))) {
- exec (HESTIA_CMD."v-schedule-letsencrypt-domain ".$user." ".escapeshellarg($v_domain), $output, $return_var);
- check_return_code($return_var,$output);
+ if ((!empty($_POST['v_letsencrypt'])) && (empty($_SESSION['error_msg']))) {
+ exec(HESTIA_CMD."v-schedule-letsencrypt-domain ".$user." ".escapeshellarg($v_domain), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
-
- if(!empty($_POST['v_ssl_forcessl']) && $_POST['v_ssl_forcessl'] = 'yes'){
- exec (HESTIA_CMD."v-add-web-domain-ssl-preset ".$user." ".escapeshellarg($v_domain)." 'yes'", $output, $return_var);
- check_return_code($return_var,$output);
- unset ($output);
- }
-
- } else {
+
+ if (!empty($_POST['v_ssl_forcessl']) && $_POST['v_ssl_forcessl'] = 'yes') {
+ exec(HESTIA_CMD."v-add-web-domain-ssl-preset ".$user." ".escapeshellarg($v_domain)." 'yes'", $output, $return_var);
+ check_return_code($return_var, $output);
+ unset($output);
+ }
+ } else {
// Add SSL certificates only if Lets Encrypt is off
- if ((!empty($_POST['v_ssl'])) && (empty($_SESSION['error_msg']))) {
- exec ('mktemp -d', $output, $return_var);
- $tmpdir = $output[0];
- unset($output);
-
- // Save certificate
- if (!empty($_POST['v_ssl_crt'])) {
- $fp = fopen($tmpdir."/".$_POST['v_domain'].".crt", 'w');
- fwrite($fp, str_replace("\r\n", "\n", $_POST['v_ssl_crt']));
- fwrite($fp, "\n");
- fclose($fp);
- }
-
- // Save private key
- if (!empty($_POST['v_ssl_key'])) {
- $fp = fopen($tmpdir."/".$_POST['v_domain'].".key", 'w');
- fwrite($fp, str_replace("\r\n", "\n", $_POST['v_ssl_key']));
- fwrite($fp, "\n");
- fclose($fp);
- }
-
- // Save CA bundle
- if (!empty($_POST['v_ssl_ca'])) {
- $fp = fopen($tmpdir."/".$_POST['v_domain'].".ca", 'w');
- fwrite($fp, str_replace("\r\n", "\n", $_POST['v_ssl_ca']));
- fwrite($fp, "\n");
- fclose($fp);
- }
-
- $v_ssl_home = escapeshellarg($_POST['v_ssl_home']);
- exec (HESTIA_CMD."v-add-web-domain-ssl ".$user." ".escapeshellarg($v_domain)." ".$tmpdir." ".$v_ssl_home." 'no'", $output, $return_var);
- check_return_code($return_var,$output);
- unset($output);
-
- if(!empty($_POST['v_ssl_forcessl']) && $_POST['v_ssl_forcessl'] = 'yes'){
- exec (HESTIA_CMD."v-add-web-domain-ssl-force ".$user." ".escapeshellarg($v_domain), $output, $return_var);
- check_return_code($return_var,$output);
- unset ($output);
- }
+ if ((!empty($_POST['v_ssl'])) && (empty($_SESSION['error_msg']))) {
+ exec('mktemp -d', $output, $return_var);
+ $tmpdir = $output[0];
+ unset($output);
+
+ // Save certificate
+ if (!empty($_POST['v_ssl_crt'])) {
+ $fp = fopen($tmpdir."/".$_POST['v_domain'].".crt", 'w');
+ fwrite($fp, str_replace("\r\n", "\n", $_POST['v_ssl_crt']));
+ fwrite($fp, "\n");
+ fclose($fp);
+ }
+
+ // Save private key
+ if (!empty($_POST['v_ssl_key'])) {
+ $fp = fopen($tmpdir."/".$_POST['v_domain'].".key", 'w');
+ fwrite($fp, str_replace("\r\n", "\n", $_POST['v_ssl_key']));
+ fwrite($fp, "\n");
+ fclose($fp);
+ }
+
+ // Save CA bundle
+ if (!empty($_POST['v_ssl_ca'])) {
+ $fp = fopen($tmpdir."/".$_POST['v_domain'].".ca", 'w');
+ fwrite($fp, str_replace("\r\n", "\n", $_POST['v_ssl_ca']));
+ fwrite($fp, "\n");
+ fclose($fp);
+ }
+
+ $v_ssl_home = escapeshellarg($_POST['v_ssl_home']);
+ exec(HESTIA_CMD."v-add-web-domain-ssl ".$user." ".escapeshellarg($v_domain)." ".$tmpdir." ".$v_ssl_home." 'no'", $output, $return_var);
+ check_return_code($return_var, $output);
+ unset($output);
+
+ if (!empty($_POST['v_ssl_forcessl']) && $_POST['v_ssl_forcessl'] = 'yes') {
+ exec(HESTIA_CMD."v-add-web-domain-ssl-force ".$user." ".escapeshellarg($v_domain), $output, $return_var);
+ check_return_code($return_var, $output);
+ unset($output);
+ }
// Cleanup certificate tempfiles
- if (!empty($_POST['v_ssl_crt'])) unlink($tmpdir."/".$v_domain.".crt");
- if (!empty($_POST['v_ssl_key'])) unlink($tmpdir."/".$v_domain.".key");
- if (!empty($_POST['v_ssl_ca'])) unlink($tmpdir."/".$v_domain.".ca");
+ if (!empty($_POST['v_ssl_crt'])) {
+ unlink($tmpdir."/".$v_domain.".crt");
+ }
+ if (!empty($_POST['v_ssl_key'])) {
+ unlink($tmpdir."/".$v_domain.".key");
+ }
+ if (!empty($_POST['v_ssl_ca'])) {
+ unlink($tmpdir."/".$v_domain.".ca");
+ }
rmdir($tmpdir);
- }
- }
+ }
+ }
// Add web stats
- if ((!empty($_POST['v_stats'])) && ($_POST['v_stats'] != 'none' ) && (empty($_SESSION['error_msg']))) {
+ if ((!empty($_POST['v_stats'])) && ($_POST['v_stats'] != 'none') && (empty($_SESSION['error_msg']))) {
$v_stats = escapeshellarg($_POST['v_stats']);
- exec (HESTIA_CMD."v-add-web-domain-stats ".$user." ".escapeshellarg($v_domain)." ".$v_stats, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-web-domain-stats ".$user." ".escapeshellarg($v_domain)." ".$v_stats, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
// Add web stats password
if ((!empty($_POST['v_stats_user'])) && (empty($_SESSION['error_msg']))) {
$v_stats_user = escapeshellarg($_POST['v_stats_user']);
- $v_stats_password = tempnam("/tmp","vst");
+ $v_stats_password = tempnam("/tmp", "vst");
$fp = fopen($v_stats_password, "w");
fwrite($fp, $_POST['v_stats_password']."\n");
fclose($fp);
- exec (HESTIA_CMD."v-add-web-domain-stats-user ".$user." ".escapeshellarg($v_domain)." ".$v_stats_user." ".$v_stats_password, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-web-domain-stats-user ".$user." ".escapeshellarg($v_domain)." ".$v_stats_user." ".$v_stats_password, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
unlink($v_stats_password);
$v_stats_password = escapeshellarg($_POST['v_stats_password']);
}
-
- if ( !empty($_POST['v-custom-doc-domain']) && !empty($_POST['v_custom_doc_root_check']) && $v_custom_doc_root_prepath.$v_custom_doc_domain.'/public_html'.$v_custom_doc_folder != $v_custom_doc_root){
- if($_POST['v-custom-doc-domain'] == $v_domain && empty($_POST['v-custom-doc-folder'])){
- }else{
+ if (!empty($_POST['v-custom-doc-domain']) && !empty($_POST['v_custom_doc_root_check']) && $v_custom_doc_root_prepath.$v_custom_doc_domain.'/public_html'.$v_custom_doc_folder != $v_custom_doc_root) {
+ if ($_POST['v-custom-doc-domain'] == $v_domain && empty($_POST['v-custom-doc-folder'])) {
+ } else {
$v_custom_doc_domain = escapeshellarg($_POST['v-custom-doc-domain']);
- if(substr($_POST['v-custom-doc-folder'], -1) == '/'){
- $v_custom_doc_folder = escapeshellarg(substr($_POST['v-custom-doc-folder'],0,-1));
- }else{
- $v_custom_doc_folder = escapeshellarg($_POST['v-custom-doc-folder']);
+ if (substr($_POST['v-custom-doc-folder'], -1) == '/') {
+ $v_custom_doc_folder = escapeshellarg(substr($_POST['v-custom-doc-folder'], 0, -1));
+ } else {
+ $v_custom_doc_folder = escapeshellarg($_POST['v-custom-doc-folder']);
}
$v_custom_doc_folder = escapeshellarg($_POST['v-custom-doc-folder']);
$v_domain = escapeshellarg(trim($_POST['v_domain']));
-
- exec(HESTIA_CMD."v-change-web-domain-docroot ".$user." ".$v_domain." ".$v_custom_doc_domain." ".$v_custom_doc_folder." yes", $output, $return_var);
- check_return_code($return_var,$output);
- unset($output);
- $v_custom_doc_root = 1;
+
+ exec(HESTIA_CMD."v-change-web-domain-docroot ".$user." ".$v_domain." ".$v_custom_doc_domain." ".$v_custom_doc_folder." yes", $output, $return_var);
+ check_return_code($return_var, $output);
+ unset($output);
+ $v_custom_doc_root = 1;
}
- }else{
+ } else {
unset($v_custom_doc_root);
- }
-
+ }
+
// Restart DNS server
if (($_POST['v_dns'] == 'on') && (empty($_SESSION['error_msg']))) {
- exec (HESTIA_CMD."v-restart-dns", $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-restart-dns", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
// Restart web server
if (empty($_SESSION['error_msg'])) {
- exec (HESTIA_CMD."v-restart-web", $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-restart-web", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
// Restart proxy server
if ((!empty($_SESSION['PROXY_SYSTEM'])) && ($_POST['v_proxy'] == 'on') && (empty($_SESSION['error_msg']))) {
- exec (HESTIA_CMD."v-restart-proxy", $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-restart-proxy", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
@@ -337,18 +381,24 @@
$v_ftp_users_updated = array();
foreach ($_POST['v_ftp_user'] as $i => $v_ftp_user_data) {
if ($v_ftp_user_data['is_new'] == 1) {
- if ((!empty($v_ftp_user_data['v_ftp_email'])) && (!filter_var($v_ftp_user_data['v_ftp_email'], FILTER_VALIDATE_EMAIL))) $_SESSION['error_msg'] = _('Please enter valid email address.');
- if (empty($v_ftp_user_data['v_ftp_user'])) $errors[] = 'ftp user';
- if (empty($v_ftp_user_data['v_ftp_password'])) $errors[] = 'ftp user password';
+ if ((!empty($v_ftp_user_data['v_ftp_email'])) && (!filter_var($v_ftp_user_data['v_ftp_email'], FILTER_VALIDATE_EMAIL))) {
+ $_SESSION['error_msg'] = _('Please enter valid email address.');
+ }
+ if (empty($v_ftp_user_data['v_ftp_user'])) {
+ $errors[] = 'ftp user';
+ }
+ if (empty($v_ftp_user_data['v_ftp_password'])) {
+ $errors[] = 'ftp user password';
+ }
if (!empty($errors[0])) {
foreach ($errors as $i => $error) {
- if ( $i == 0 ) {
+ if ($i == 0) {
$error_msg = $error;
} else {
$error_msg = $error_msg.", ".$error;
}
}
- $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'),$error_msg);
+ $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'), $error_msg);
}
// Validate email
@@ -360,7 +410,9 @@
if ((!empty($v_ftp_user_data['v_ftp']))) {
if (!empty($v_ftp_user_data['v_ftp_user'])) {
$pw_len = strlen($v_ftp_user_data['v_ftp_password']);
- if ($pw_len < 6 ) $_SESSION['error_msg'] = _('Password is too short.',$error_msg);
+ if ($pw_len < 6) {
+ $_SESSION['error_msg'] = _('Password is too short.', $error_msg);
+ }
}
}
@@ -370,12 +422,12 @@
$v_ftp_user = escapeshellarg($v_ftp_user_data['v_ftp_user']);
if ($domain_added) {
$v_ftp_path = escapeshellarg(trim($v_ftp_user_data['v_ftp_path']));
- $v_ftp_password = tempnam("/tmp","vst");
+ $v_ftp_password = tempnam("/tmp", "vst");
$fp = fopen($v_ftp_password, "w");
fwrite($fp, $v_ftp_user_data['v_ftp_password']."\n");
fclose($fp);
- exec (HESTIA_CMD."v-add-web-domain-ftp ".$user." ".escapeshellarg($v_domain)." ".$v_ftp_user." ".$v_ftp_password . " " . $v_ftp_path, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-web-domain-ftp ".$user." ".escapeshellarg($v_domain)." ".$v_ftp_user." ".$v_ftp_password . " " . $v_ftp_path, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
unlink($v_ftp_password);
if ((!empty($v_ftp_user_data['v_ftp_email'])) && (empty($_SESSION['error_msg']))) {
@@ -383,7 +435,7 @@
$subject = _("FTP login credentials");
$from = "noreply@".$v_domain;
$from_name = _('Hestia Control Panel');
- $mailtext = sprintf(_('FTP_ACCOUNT_READY'),$v_domain,$user,$v_ftp_user_data['v_ftp_user'],$v_ftp_user_data['v_ftp_password']);
+ $mailtext = sprintf(_('FTP_ACCOUNT_READY'), $v_domain, $user, $v_ftp_user_data['v_ftp_user'], $v_ftp_user_data['v_ftp_password']);
send_email($to, $subject, $mailtext, $from, $from_name);
unset($v_ftp_email);
}
@@ -412,7 +464,7 @@
}
if (!empty($_SESSION['error_msg']) && $domain_added) {
- $_SESSION['ok_msg'] = sprintf(_('WEB_DOMAIN_CREATED_OK'),htmlentities($v_domain),htmlentities($v_domain));
+ $_SESSION['ok_msg'] = sprintf(_('WEB_DOMAIN_CREATED_OK'), htmlentities($v_domain), htmlentities($v_domain));
$_SESSION['flash_error_msg'] = $_SESSION['error_msg'];
$url = '/edit/web/?domain='.strtolower(preg_replace("/^www\./i", "", $v_domain));
header('Location: ' . $url);
@@ -422,7 +474,7 @@
// Flush field values on success
if (empty($_SESSION['error_msg'])) {
- $_SESSION['ok_msg'] = sprintf(_('WEB_DOMAIN_CREATED_OK'),htmlentities($v_domain),htmlentities($v_domain));
+ $_SESSION['ok_msg'] = sprintf(_('WEB_DOMAIN_CREATED_OK'), htmlentities($v_domain), htmlentities($v_domain));
unset($v_domain);
unset($v_aliases);
unset($v_ssl);
@@ -440,24 +492,24 @@
$v_ftp_email = $panel[$user]['CONTACT'];
$v_custom_doc_root_prepath = '/home/'.$user.'/web/';
-if( $_POST['v_ssl_forcessl'] != 'no' ){
+if ($_POST['v_ssl_forcessl'] != 'no') {
$v_ssl_forcessl = 'yes';
-}else{
+} else {
$v_ssl_forcessl = 'no';
}
// List user package
-exec (HESTIA_CMD."v-list-user ".$user." json", $output, $return_var);
+exec(HESTIA_CMD."v-list-user ".$user." json", $output, $return_var);
$user_config = json_decode(implode('', $output), true);
unset($output);
// List web templates and set default values
-exec (HESTIA_CMD."v-list-web-templates json", $output, $return_var);
+exec(HESTIA_CMD."v-list-web-templates json", $output, $return_var);
$templates = json_decode(implode('', $output), true);
unset($output);
$v_template = (!empty($_POST['v_template'])) ? $_POST['v_template'] : $user_config[$user]['WEB_TEMPLATE'];
// List backend templates
if (!empty($_SESSION['WEB_BACKEND'])) {
- exec (HESTIA_CMD."v-list-web-templates-backend json", $output, $return_var);
+ exec(HESTIA_CMD."v-list-web-templates-backend json", $output, $return_var);
$backend_templates = json_decode(implode('', $output), true);
unset($output);
$v_backend_template = (!empty($_POST['v_backend_template'])) ? $_POST['v_backend_template'] : $user_config[$user]['BACKEND_TEMPLATE'];
@@ -465,25 +517,24 @@
// List proxy templates
if (!empty($_SESSION['PROXY_SYSTEM'])) {
- exec (HESTIA_CMD."v-list-web-templates-proxy json", $output, $return_var);
+ exec(HESTIA_CMD."v-list-web-templates-proxy json", $output, $return_var);
$proxy_templates = json_decode(implode('', $output), true);
unset($output);
$v_proxy_template = (!empty($_POST['v_proxy_template'])) ? $_POST['v_proxy_template'] : $user_config[$user]['PROXY_TEMPLATE'];
-
}
// List IP addresses
-exec (HESTIA_CMD."v-list-user-ips ".$user." json", $output, $return_var);
+exec(HESTIA_CMD."v-list-user-ips ".$user." json", $output, $return_var);
$ips = json_decode(implode('', $output), true);
unset($output);
// List web stat engines
-exec (HESTIA_CMD."v-list-web-stats json", $output, $return_var);
+exec(HESTIA_CMD."v-list-web-stats json", $output, $return_var);
$stats = json_decode(implode('', $output), true);
unset($output);
-// Get all user domains
-exec (HESTIA_CMD."v-list-web-domains ".escapeshellarg($user)." json", $output, $return_var);
+// Get all user domains
+exec(HESTIA_CMD."v-list-web-domains ".escapeshellarg($user)." json", $output, $return_var);
$user_domains = json_decode(implode('', $output), true);
$user_domains = array_keys($user_domains);
unset($output);
diff --git a/web/add/webapp/index.php b/web/add/webapp/index.php
index 3e33b8a77d..d32153d6ec 100644
--- a/web/add/webapp/index.php
+++ b/web/add/webapp/index.php
@@ -1,4 +1,5 @@
info();
- if ($info['enabled'] != true){
- $_SESSION['error_msg'] = sprintf(_('%s installer missing'),$app);
- }else{
+ if ($info['enabled'] != true) {
+ $_SESSION['error_msg'] = sprintf(_('%s installer missing'), $app);
+ } else {
$installer = new \Hestia\WebApp\AppWizard($app_installer, $v_domain, $hestia);
$GLOBALS['WebappInstaller'] = $installer;
}
@@ -52,51 +53,48 @@
exit();
}
} else {
- $_SESSION['error_msg'] = sprintf(_('%s installer missing'),$app);
+ $_SESSION['error_msg'] = sprintf(_('%s installer missing'), $app);
}
}
// Check POST request
-if (!empty($_POST['ok']) && !empty($app) ) {
+if (!empty($_POST['ok']) && !empty($app)) {
// Check token
- if ((!isset($_POST['token'])) || ($_SESSION['token'] != $_POST['token'])) {
- header('location: /login/');
- exit();
- }
+ verify_csrf($_POST);
if ($installer) {
- try{
- if (!$installer->execute($_POST)){
+ try {
+ if (!$installer->execute($_POST)) {
$result = $installer->getStatus();
- if(!empty($result))
+ if (!empty($result)) {
$_SESSION['error_msg'] = implode(PHP_EOL, $result);
+ }
} else {
- $_SESSION['ok_msg'] = sprintf(_('%s App was installed succesfully!'),htmlspecialchars($app));
+ $_SESSION['ok_msg'] = sprintf(_('%s App was installed succesfully!'), htmlspecialchars($app));
header('Location: /add/webapp/?domain=' . $v_domain);
exit();
}
} catch (Exception $e) {
- $_SESSION['error_msg'] = $e->getMessage();
- header('Location: /add/webapp/?app='.rawurlencode($app).'&domain=' . $v_domain);
- exit();
+ $_SESSION['error_msg'] = $e->getMessage();
+ header('Location: /add/webapp/?app='.rawurlencode($app).'&domain=' . $v_domain);
+ exit();
}
}
}
-if(!empty($installer)) {
+if (!empty($installer)) {
render_page($user, $TAB, 'setup_webapp');
} else {
$appInstallers = glob(__DIR__.'/../../src/app/WebApp/Installers/*/*.php');
$v_web_apps = array();
- foreach($appInstallers as $app){
+ foreach ($appInstallers as $app) {
$hestia = new \Hestia\System\HestiaApp();
- if( preg_match('/Installers\/([a-zA-Z][a-zA-Z0,9].*)\/([a-zA-Z][a-zA-Z0,9].*).php/', $app, $matches)){
- if ($matches[1] != "Resources"){
+ if (preg_match('/Installers\/([a-zA-Z][a-zA-Z0,9].*)\/([a-zA-Z][a-zA-Z0,9].*).php/', $app, $matches)) {
+ if ($matches[1] != "Resources") {
$app_installer_class = '\Hestia\WebApp\Installers\\'.$matches[1].'\\' . $matches[1] . 'Setup';
$app_installer = new $app_installer_class($v_domain, $hestia);
$v_web_apps[] = $app_installer -> info();
-
}
}
}
diff --git a/web/bulk/backup/exclusions/index.php b/web/bulk/backup/exclusions/index.php
index b9f270f3f3..192ce6382e 100644
--- a/web/bulk/backup/exclusions/index.php
+++ b/web/bulk/backup/exclusions/index.php
@@ -1,6 +1,7 @@
', $output);
- if (empty($error)) $error = 'Error: unable to copy package.';
- $_SESSION['error_msg'] = $error;
+ if (empty($error)) {
+ $error = 'Error: unable to copy package.';
+ }
+ $_SESSION['error_msg'] = $error;
}
unset($output);
}
diff --git a/web/delete/backup/exclusion/index.php b/web/delete/backup/exclusion/index.php
index 54db872746..80737d9ad4 100644
--- a/web/delete/backup/exclusion/index.php
+++ b/web/delete/backup/exclusion/index.php
@@ -1,6 +1,7 @@
', $output);
if (empty($_SESSION['error_msg'])) {
$_SESSION['error_msg'] = _('Error: Hestia did not return any output.');
- }
+ }
}
unset($output);
header("Location: /list/backup/");
exit;
-
-}else{
+} else {
if ($_SESSION['userContext'] === 'admin') {
header('Content-type: application/gzip');
- header("Content-Disposition: attachment; filename=\"".$backup."\";" );
+ header("Content-Disposition: attachment; filename=\"".$backup."\";");
header("X-Accel-Redirect: /backup/" . $backup);
}
- if ((!empty($_SESSION['user'])) && ($_SESSION['userContext'] != 'admin') ) {
+ if ((!empty($_SESSION['user'])) && ($_SESSION['userContext'] != 'admin')) {
if (strpos($backup, $user.'.') === 0) {
header('Content-type: application/gzip');
- header("Content-Disposition: attachment; filename=\"".$backup."\";" );
+ header("Content-Disposition: attachment; filename=\"".$backup."\";");
header("X-Accel-Redirect: /backup/" . $backup);
}
}
-}
\ No newline at end of file
+}
diff --git a/web/download/web-log/index.php b/web/download/web-log/index.php
index 8af6d35f8a..6de6d649fd 100644
--- a/web/download/web-log/index.php
+++ b/web/download/web-log/index.php
@@ -4,10 +4,9 @@
error_reporting(null);
session_start();
include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
-if ((!$_GET['token']) || ($_SESSION['token'] != $_GET['token'])) {
- header('location: /list/user/');
- exit();
-}
+
+// Check token
+verify_csrf($_GET);
$v_domain = $_GET['domain'];
$v_domain = escapeshellarg($_GET['domain']);
diff --git a/web/edit/backup/exclusions/index.php b/web/edit/backup/exclusions/index.php
index 8cbab334df..d030c4dc13 100644
--- a/web/edit/backup/exclusions/index.php
+++ b/web/edit/backup/exclusions/index.php
@@ -1,6 +1,7 @@
$value) {
- if (!empty($value)){
+ if (!empty($value)) {
$v_web .= $key . ":" . str_replace(",", ":", $value) . "\n";
} else {
$v_web .= $key . "\n";
@@ -29,7 +30,7 @@
// Parse dns
foreach ($data['DNS'] as $key => $value) {
- if (!empty($value)){
+ if (!empty($value)) {
$v_dns .= $key . ":" . $value. "\n";
} else {
$v_dns .= $key . "\n";
@@ -38,7 +39,7 @@
// Parse mail
foreach ($data['MAIL'] as $key => $value) {
- if (!empty($value)){
+ if (!empty($value)) {
$v_mail .= $key . ":" . $value. "\n";
} else {
$v_mail .= $key . "\n";
@@ -47,7 +48,7 @@
// Parse databases
foreach ($data['DB'] as $key => $value) {
- if (!empty($value)){
+ if (!empty($value)) {
$v_db .= $key . ":" . $value. "\n";
} else {
$v_db .= $key . "\n";
@@ -56,7 +57,7 @@
// Parse user directories
foreach ($data['USER'] as $key => $value) {
- if (!empty($value)){
+ if (!empty($value)) {
$v_userdir .= $key . ":" . $value. "\n";
} else {
$v_userdir .= $key . "\n";
@@ -65,12 +66,8 @@
// Check POST request
if (!empty($_POST['save'])) {
-
// Check token
- if ((!isset($_POST['token'])) || ($_SESSION['token'] != $_POST['token'])) {
- header('location: /login/');
- exit();
- }
+ verify_csrf($_POST);
$v_web = $_POST['v_web'];
$v_web_tmp = str_replace("\r\n", ",", $_POST['v_web']);
@@ -103,7 +100,7 @@
$v_userdir_tmp = "USER=" . escapeshellarg($v_userdir_tmp);
// Create temporary exeption list on a filesystem
- exec ('mktemp', $mktemp_output, $return_var);
+ exec('mktemp', $mktemp_output, $return_var);
$tmp = $mktemp_output[0];
$fp = fopen($tmp, 'w');
fwrite($fp, $v_web_tmp . "\n" . $v_dns_tmp . "\n" . $v_mail_tmp . "\n" . $v_db_tmp . "\n" . $v_userdir_tmp . "\n");
@@ -111,8 +108,8 @@
unset($mktemp_output);
// Save changes
- exec (HESTIA_CMD."v-update-user-backup-exclusions ".$user." ".$tmp, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-update-user-backup-exclusions ".$user." ".$tmp, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
// Set success message
diff --git a/web/edit/cron/index.php b/web/edit/cron/index.php
index 587992482b..38bb04e7ee 100644
--- a/web/edit/cron/index.php
+++ b/web/edit/cron/index.php
@@ -1,6 +1,7 @@
$value) {
- if(isset($value['SUSPENDED']) && $value['SUSPENDED'] === 'yes') {
+foreach ($data as $key => $value) {
+ if (isset($value['SUSPENDED']) && $value['SUSPENDED'] === 'yes') {
continue;
}
- if(isset($value['IP_VERSION']) && $value['IP_VERSION'] !== 'v4') {
+ if (isset($value['IP_VERSION']) && $value['IP_VERSION'] !== 'v4') {
continue;
}
array_push($ipset_lists, ['name'=>$key]);
@@ -62,59 +63,65 @@
if (!empty($_POST['save'])) {
// Check token
- if ((!isset($_POST['token'])) || ($_SESSION['token'] != $_POST['token'])) {
- header('location: /login/');
- exit();
- }
+ verify_csrf($_POST);
+
// Check empty fields
- if (empty($_POST['v_action'])) $errors[] = _('action');
- if (empty($_POST['v_protocol'])) $errors[] = _('protocol');
- if (empty($_POST['v_port']) && strlen($_POST['v_port']) == 0) $errors[] = _('port');
- if (empty($_POST['v_ip'])) $errors[] = _('ip address');
+ if (empty($_POST['v_action'])) {
+ $errors[] = _('action');
+ }
+ if (empty($_POST['v_protocol'])) {
+ $errors[] = _('protocol');
+ }
+ if (empty($_POST['v_port']) && strlen($_POST['v_port']) == 0) {
+ $errors[] = _('port');
+ }
+ if (empty($_POST['v_ip'])) {
+ $errors[] = _('ip address');
+ }
if (!empty($errors[0])) {
foreach ($errors as $i => $error) {
- if ( $i == 0 ) {
+ if ($i == 0) {
$error_msg = $error;
} else {
$error_msg = $error_msg.", ".$error;
}
}
- $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'),$error_msg);
+ $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'), $error_msg);
}
if (empty($_SESSION['error_msg'])) {
$v_rule = escapeshellarg($_GET['rule']);
$v_action = escapeshellarg($_POST['v_action']);
$v_protocol = escapeshellarg($_POST['v_protocol']);
- $v_port = str_replace(" ",",", $_POST['v_port']);
+ $v_port = str_replace(" ", ",", $_POST['v_port']);
$v_port = preg_replace('/\,+/', ',', $v_port);
$v_port = trim($v_port, ",");
$v_port = escapeshellarg($v_port);
$v_ip = escapeshellarg($_POST['v_ip']);
$v_comment = escapeshellarg($_POST['v_comment']);
-
+
// Change Status
- exec (HESTIA_CMD."v-change-firewall-rule ".$v_rule." ".$v_action." ".$v_ip." ".$v_port." ".$v_protocol." ".$v_comment, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-firewall-rule ".$v_rule." ".$v_action." ".$v_ip." ".$v_port." ".$v_protocol." ".$v_comment, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
-
+
$v_rule = $_GET['v_rule'];
$v_action = $_POST['v_action'];
$v_protocol = $_POST['v_protocol'];
- $v_port = str_replace(" ",",", $_POST['v_port']);
+ $v_port = str_replace(" ", ",", $_POST['v_port']);
$v_port = preg_replace('/\,+/', ',', $v_port);
$v_port = trim($v_port, ",");
$v_ip = $_POST['v_ip'];
$v_comment = $_POST['v_comment'];
-
+
// Set success message
if (empty($_SESSION['error_msg'])) {
$_SESSION['ok_msg'] = _('Changes has been saved.');
}
- }else{
+ } else {
$v_rule = $_GET['v_rule'];
$v_action = $_POST['v_action'];
$v_protocol = $_POST['v_protocol'];
- $v_port = str_replace(" ",",", $_POST['v_port']);
+ $v_port = str_replace(" ", ",", $_POST['v_port']);
$v_port = preg_replace('/\,+/', ',', $v_port);
$v_port = trim($v_port, ",");
$v_ip = $_POST['v_ip'];
diff --git a/web/edit/ip/index.php b/web/edit/ip/index.php
index a72a467463..2c6c6aff3f 100644
--- a/web/edit/ip/index.php
+++ b/web/edit/ip/index.php
@@ -1,5 +1,6 @@
$error) {
- if ( $i == 0 ) {
+ if ($i == 0) {
$error_msg = $error;
} else {
$error_msg = $error_msg.", ".$error;
}
}
- $_SESSION['error_msg'] = _('Field "%s" can not be blank.',$error_msg);
+ $_SESSION['error_msg'] = _('Field "%s" can not be blank.', $error_msg);
} else {
- exec ('mktemp -d', $mktemp_output, $return_var);
+ exec('mktemp -d', $mktemp_output, $return_var);
$tmpdir = $mktemp_output[0];
// Certificate
@@ -378,14 +386,14 @@
fwrite($fp, str_replace("\r\n", "\n", $_POST['v_ssl_ca']));
fclose($fp);
}
- exec (HESTIA_CMD."v-add-mail-domain-ssl ".$user." ".escapeshellarg($v_domain)." ".$tmpdir." 'no'", $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-mail-domain-ssl ".$user." ".escapeshellarg($v_domain)." ".$tmpdir." 'no'", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
$v_ssl = 'yes';
$restart_web = 'yes';
$restart_proxy = 'yes';
- exec (HESTIA_CMD."v-list-mail-domain-ssl ".$user." ".escapeshellarg($v_domain)." json", $output, $return_var);
+ exec(HESTIA_CMD."v-list-mail-domain-ssl ".$user." ".escapeshellarg($v_domain)." json", $output, $return_var);
$ssl_str = json_decode(implode('', $output), true);
unset($output);
$v_ssl_crt = $ssl_str[$v_domain]['CRT'];
@@ -400,22 +408,28 @@
$v_ssl_issuer = $ssl_str[$v_domain]['ISSUER'];
// Cleanup certificate tempfiles
- if (!empty($_POST['v_ssl_crt'])) unlink($tmpdir."/".$v_domain.".crt");
- if (!empty($_POST['v_ssl_key'])) unlink($tmpdir."/".$v_domain.".key");
- if (!empty($_POST['v_ssl_ca'])) unlink($tmpdir."/".$v_domain.".ca");
+ if (!empty($_POST['v_ssl_crt'])) {
+ unlink($tmpdir."/".$v_domain.".crt");
+ }
+ if (!empty($_POST['v_ssl_key'])) {
+ unlink($tmpdir."/".$v_domain.".key");
+ }
+ if (!empty($_POST['v_ssl_ca'])) {
+ unlink($tmpdir."/".$v_domain.".ca");
+ }
rmdir($tmpdir);
}
}
// Add SMTP Relay Support
if (empty($_SESSION['error_msg'])) {
- if (isset($_POST['v_smtp_relay']) && (!empty($_POST['v_smtp_relay_host'])) && (!empty($_POST['v_smtp_relay_user']))) {
+ if (isset($_POST['v_smtp_relay']) && (!empty($_POST['v_smtp_relay_host'])) && (!empty($_POST['v_smtp_relay_user']))) {
if (($_POST['v_smtp_relay_host'] != $v_smtp_relay_host) ||
($_POST['v_smtp_relay_user'] != $v_smtp_relay_user) ||
($_POST['v_smtp_relay_port'] != $v_smtp_relay_port) ||
(!empty($_POST['v_smtp_relay_pass']))) {
if (!empty($_POST['v_smtp_relay_pass'])) {
- $v_smtp_relay = true;
+ $v_smtp_relay = true;
$v_smtp_relay_host = escapeshellarg($_POST['v_smtp_relay_host']);
$v_smtp_relay_user = escapeshellarg($_POST['v_smtp_relay_user']);
$v_smtp_relay_pass = escapeshellarg($_POST['v_smtp_relay_pass']);
@@ -424,9 +438,9 @@
} else {
$v_smtp_relay_port = '587';
}
- exec (HESTIA_CMD."v-add-mail-domain-smtp-relay ".$v_username." ".escapeshellarg($v_domain)." ".$v_smtp_relay_host." ".$v_smtp_relay_user." ".$v_smtp_relay_pass." ".$v_smtp_relay_port, $output, $return_var);
- check_return_code($return_var,$output);
- unset($output);
+ exec(HESTIA_CMD."v-add-mail-domain-smtp-relay ".$v_username." ".escapeshellarg($v_domain)." ".$v_smtp_relay_host." ".$v_smtp_relay_user." ".$v_smtp_relay_pass." ".$v_smtp_relay_port, $output, $return_var);
+ check_return_code($return_var, $output);
+ unset($output);
} else {
$_SESSION['error_msg'] = _('SMTP Relay Password is required');
}
@@ -435,8 +449,8 @@
if ((!isset($_POST['v_smtp_relay'])) && ($v_smtp_relay == true)) {
$v_smtp_relay = false;
$v_smtp_relay_host = $v_smtp_relay_user = $v_smtp_relay_pass = $v_smtp_relay_port = '';
- exec (HESTIA_CMD."v-delete-mail-domain-smtp-relay ".$v_username." ".escapeshellarg($v_domain), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-delete-mail-domain-smtp-relay ".$v_username." ".escapeshellarg($v_domain), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
}
@@ -451,10 +465,7 @@
if ((!empty($_POST['save'])) && (!empty($_GET['domain'])) && (!empty($_GET['account']))) {
// Check token
- if ((!isset($_POST['token'])) || ($_SESSION['token'] != $_POST['token'])) {
- header('location: /login/');
- exit();
- }
+ verify_csrf($_POST);
// Validate email
if ((!empty($_POST['v_send_email'])) && (empty($_SESSION['error_msg']))) {
@@ -464,7 +475,7 @@
}
$v_domain = $_POST['v_domain'];
- if(!in_array($v_domain, $user_domains)) {
+ if (!in_array($v_domain, $user_domains)) {
check_return_code(3, ["Unknown domain"]);
}
@@ -474,15 +485,15 @@
// Change password
if ((!empty($_POST['v_password'])) && (empty($_SESSION['error_msg']))) {
- if (!validate_password($_POST['v_password'])) {
+ if (!validate_password($_POST['v_password'])) {
$_SESSION['error_msg'] = _('Password does not match the minimum requirements');
- }else{
- $v_password = tempnam("/tmp","vst");
+ } else {
+ $v_password = tempnam("/tmp", "vst");
$fp = fopen($v_password, "w");
fwrite($fp, $_POST['v_password']."\n");
fclose($fp);
- exec (HESTIA_CMD."v-change-mail-account-password ".$v_username." ".escapeshellarg($v_domain)." ".escapeshellarg($v_account)." ".$v_password, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-mail-account-password ".$v_username." ".escapeshellarg($v_domain)." ".escapeshellarg($v_account)." ".$v_password, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
unlink($v_password);
$v_password = escapeshellarg($_POST['v_password']);
@@ -496,8 +507,8 @@
} else {
$v_quota = escapeshellarg($_POST['v_quota']);
}
- exec (HESTIA_CMD."v-change-mail-account-quota ".$v_username." ".escapeshellarg($v_domain)." ".escapeshellarg($v_account)." ".$v_quota, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-mail-account-quota ".$v_username." ".escapeshellarg($v_domain)." ".escapeshellarg($v_account)." ".$v_quota, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
@@ -505,63 +516,63 @@
if (empty($_SESSION['error_msg'])) {
$waliases = preg_replace("/\n/", " ", $_POST['v_aliases']);
$waliases = preg_replace("/,/", " ", $waliases);
- $waliases = preg_replace('/\s+/', ' ',$waliases);
+ $waliases = preg_replace('/\s+/', ' ', $waliases);
$waliases = trim($waliases);
$aliases = explode(" ", $waliases);
$v_aliases = str_replace(' ', "\n", $waliases);
$result = array_diff($valiases, $aliases);
foreach ($result as $alias) {
if ((empty($_SESSION['error_msg'])) && (!empty($alias))) {
- exec (HESTIA_CMD."v-delete-mail-account-alias ".$v_username." ".escapeshellarg($v_domain)." ".escapeshellarg($v_account)." ".escapeshellarg($alias), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-delete-mail-account-alias ".$v_username." ".escapeshellarg($v_domain)." ".escapeshellarg($v_account)." ".escapeshellarg($alias), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
}
$result = array_diff($aliases, $valiases);
foreach ($result as $alias) {
if ((empty($_SESSION['error_msg'])) && (!empty($alias))) {
- exec (HESTIA_CMD."v-add-mail-account-alias ".$v_username." ".escapeshellarg($v_domain)." ".escapeshellarg($v_account)." ".escapeshellarg($alias), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-mail-account-alias ".$v_username." ".escapeshellarg($v_domain)." ".escapeshellarg($v_account)." ".escapeshellarg($alias), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
}
}
- // Change forwarders to :blackhole:
+ // Change forwarders to :blackhole:
if (empty($_SESSION['error_msg']) && !empty($_POST['v_blackhole'])) {
foreach ($vfwd as $forward) {
if ((empty($_SESSION['error_msg'])) && (!empty($forward))) {
- exec (HESTIA_CMD."v-delete-mail-account-forward ".$v_username." ".escapeshellarg($v_domain)." ".escapeshellarg($v_account)." ".escapeshellarg($forward), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-delete-mail-account-forward ".$v_username." ".escapeshellarg($v_domain)." ".escapeshellarg($v_account)." ".escapeshellarg($forward), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
- exec (HESTIA_CMD."v-add-mail-account-forward ".$v_username." ".escapeshellarg($v_domain)." ".escapeshellarg($v_account)." :blackhole:", $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-mail-account-forward ".$v_username." ".escapeshellarg($v_domain)." ".escapeshellarg($v_account)." :blackhole:", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
$v_fwd = '';
$v_blackhole = "yes";
- }
+ }
}
// Change forwarders
if (empty($_SESSION['error_msg']) && empty($_POST['v_blackhole'])) {
$wfwd = preg_replace("/\n/", " ", $_POST['v_fwd']);
$wfwd = preg_replace("/,/", " ", $wfwd);
- $wfwd = preg_replace('/\s+/', ' ',$wfwd);
+ $wfwd = preg_replace('/\s+/', ' ', $wfwd);
$wfwd = trim($wfwd);
$fwd = explode(" ", $wfwd);
$v_fwd = str_replace(' ', "\n", $wfwd);
$result = array_diff($vfwd, $fwd);
foreach ($result as $forward) {
if ((empty($_SESSION['error_msg'])) && (!empty($forward))) {
- exec (HESTIA_CMD."v-delete-mail-account-forward ".$v_username." ".escapeshellarg($v_domain)." ".escapeshellarg($v_account)." ".escapeshellarg($forward), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-delete-mail-account-forward ".$v_username." ".escapeshellarg($v_domain)." ".escapeshellarg($v_account)." ".escapeshellarg($forward), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
}
$result = array_diff($fwd, $vfwd);
foreach ($result as $forward) {
if ((empty($_SESSION['error_msg'])) && (!empty($forward))) {
- exec (HESTIA_CMD."v-add-mail-account-forward ".$v_username." ".escapeshellarg($v_domain)." ".escapeshellarg($v_account)." ".escapeshellarg($forward), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-mail-account-forward ".$v_username." ".escapeshellarg($v_domain)." ".escapeshellarg($v_account)." ".escapeshellarg($forward), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
}
@@ -570,24 +581,24 @@
// Delete FWD_ONLY flag
if (($v_fwd_only == 'yes') && (empty($_POST['v_fwd_only'])) && (empty($_SESSION['error_msg']))) {
- exec (HESTIA_CMD."v-delete-mail-account-fwd-only ".$v_username." ".escapeshellarg($v_domain)." ".escapeshellarg($v_account), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-delete-mail-account-fwd-only ".$v_username." ".escapeshellarg($v_domain)." ".escapeshellarg($v_account), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
$v_fwd_only = '';
}
// Add FWD_ONLY flag
if (($v_fwd_only != 'yes') && (!empty($_POST['v_fwd_only'])) && (empty($_SESSION['error_msg']))) {
- exec (HESTIA_CMD."v-add-mail-account-fwd-only ".$v_username." ".escapeshellarg($v_domain)." ".escapeshellarg($v_account), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-mail-account-fwd-only ".$v_username." ".escapeshellarg($v_domain)." ".escapeshellarg($v_account), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
$v_fwd_only = 'yes';
}
// Delete autoreply
if (($v_autoreply == 'yes') && (empty($_POST['v_autoreply'])) && (empty($_SESSION['error_msg']))) {
- exec (HESTIA_CMD."v-delete-mail-account-autoreply ".$v_username." ".escapeshellarg($v_domain)." ".escapeshellarg($v_account), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-delete-mail-account-autoreply ".$v_username." ".escapeshellarg($v_domain)." ".escapeshellarg($v_account), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
$v_autoreply = 'no';
$v_autoreply_message = '';
@@ -595,11 +606,11 @@
// Add autoreply
if ((!empty($_POST['v_autoreply'])) && (empty($_SESSION['error_msg']))) {
- if ( $v_autoreply_message != str_replace("\r\n", "\n", $_POST['v_autoreply_message'])) {
+ if ($v_autoreply_message != str_replace("\r\n", "\n", $_POST['v_autoreply_message'])) {
$v_autoreply_message = str_replace("\r\n", "\n", $_POST['v_autoreply_message']);
$v_autoreply_message = escapeshellarg($v_autoreply_message);
- exec (HESTIA_CMD."v-add-mail-account-autoreply ".$v_username." ".escapeshellarg($v_domain)." ".escapeshellarg($v_account)." ".$v_autoreply_message, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-mail-account-autoreply ".$v_username." ".escapeshellarg($v_domain)." ".escapeshellarg($v_account)." ".$v_autoreply_message, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
$v_autoreply = 'yes';
$v_autoreply_message = $_POST['v_autoreply_message'];
@@ -625,7 +636,7 @@
// Render page
-if (empty($_GET['account'])) {
+if (empty($_GET['account'])) {
// Display body for mail domain
render_page($user, $TAB, 'edit_mail');
} else {
diff --git a/web/edit/package/index.php b/web/edit/package/index.php
index 3b0fd6eba0..1511d5d93d 100644
--- a/web/edit/package/index.php
+++ b/web/edit/package/index.php
@@ -1,5 +1,6 @@
$error) {
- if ( $i == 0 ) {
+ if ($i == 0) {
$error_msg = $error;
} else {
$error_msg = $error_msg.", ".$error;
}
}
- $_SESSION['error_msg'] = _('Field "%s" can not be blank.',$error_msg);
+ $_SESSION['error_msg'] = _('Field "%s" can not be blank.', $error_msg);
}
// Protect input
@@ -175,18 +211,30 @@
$v_ns7 = trim($_POST['v_ns7'], '.');
$v_ns8 = trim($_POST['v_ns8'], '.');
$v_ns = $v_ns1.",".$v_ns2;
- if (!empty($v_ns3)) $v_ns .= ",".$v_ns3;
- if (!empty($v_ns4)) $v_ns .= ",".$v_ns4;
- if (!empty($v_ns5)) $v_ns .= ",".$v_ns5;
- if (!empty($v_ns6)) $v_ns .= ",".$v_ns6;
- if (!empty($v_ns7)) $v_ns .= ",".$v_ns7;
- if (!empty($v_ns8)) $v_ns .= ",".$v_ns8;
+ if (!empty($v_ns3)) {
+ $v_ns .= ",".$v_ns3;
+ }
+ if (!empty($v_ns4)) {
+ $v_ns .= ",".$v_ns4;
+ }
+ if (!empty($v_ns5)) {
+ $v_ns .= ",".$v_ns5;
+ }
+ if (!empty($v_ns6)) {
+ $v_ns .= ",".$v_ns6;
+ }
+ if (!empty($v_ns7)) {
+ $v_ns .= ",".$v_ns7;
+ }
+ if (!empty($v_ns8)) {
+ $v_ns .= ",".$v_ns8;
+ }
$v_ns = escapeshellarg($v_ns);
$v_time = escapeshellarg(date('H:i:s'));
$v_date = escapeshellarg(date('Y-m-d'));
// Create temprorary directory
- exec ('mktemp -d', $output, $return_var);
+ exec('mktemp -d', $output, $return_var);
$tmpdir = $output[0];
unset($output);
@@ -215,22 +263,22 @@
fclose($fp);
// Save changes
- exec (HESTIA_CMD."v-add-user-package ".$tmpdir." ".$v_package." 'yes'", $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-user-package ".$tmpdir." ".$v_package." 'yes'", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
// Remove temporary dir
- exec ('rm -rf '.$tmpdir, $output, $return_var);
+ exec('rm -rf '.$tmpdir, $output, $return_var);
unset($output);
// Propogate new package
- exec (HESTIA_CMD."v-update-user-package ".$v_package." 'json'", $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-update-user-package ".$v_package." 'json'", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
-
- if($v_package_new != $v_package){
- exec (HESTIA_CMD."v-rename-user-package " . $v_package . " " . $v_package_new, $output, $return_var);
- check_return_code($return_var,$output);
+
+ if ($v_package_new != $v_package) {
+ exec(HESTIA_CMD."v-rename-user-package " . $v_package . " " . $v_package_new, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
// Set success message
diff --git a/web/edit/server/apache2/index.php b/web/edit/server/apache2/index.php
index a590ce0195..b34c752c3b 100644
--- a/web/edit/server/apache2/index.php
+++ b/web/edit/server/apache2/index.php
@@ -1,12 +1,13 @@
$php_version,
- "tpl" => strtoupper(str_replace('.', '_', $php_version)),
- "version" => str_ireplace('php-', '', $php_version),
- "usedby" => [],
- "installed" => false,
- "protected" => false,
- ];
+ "name" => $php_version,
+ "tpl" => strtoupper(str_replace('.', '_', $php_version)),
+ "version" => str_ireplace('php-', '', $php_version),
+ "usedby" => [],
+ "installed" => false,
+ "protected" => false,
+ ];
if (in_array($phpinfo->tpl, $backend_templates)) {
$phpinfo->installed = true;
@@ -73,18 +102,20 @@
if (array_key_exists($phpinfo->tpl, $backends_active)) {
// Prevent used php version to be removed
- if($phpinfo->installed)
+ if ($phpinfo->installed) {
$phpinfo->protected = true;
+ }
$phpinfo->usedby = $backends_active[$phpinfo->tpl];
}
if ($phpinfo->name == DEFAULT_PHP_VERSION) {
// Prevent default php version to be removed
- if ($phpinfo->installed)
+ if ($phpinfo->installed) {
$phpinfo->protected = true;
+ }
if (!empty($backends_active['default'])) {
- $phpinfo->usedby = array_merge_recursive($phpinfo->usedby,$backends_active['default'] );
+ $phpinfo->usedby = array_merge_recursive($phpinfo->usedby, $backends_active['default']);
}
}
@@ -92,7 +123,7 @@
}, $v_php_versions);
// List languages
-exec (HESTIA_CMD."v-list-sys-languages json", $output, $return_var);
+exec(HESTIA_CMD."v-list-sys-languages json", $output, $return_var);
$language = json_decode(implode('', $output), true);
foreach ($language as $lang) {
$languages[$lang] = translate_json($lang);
@@ -101,12 +132,12 @@
unset($output);
// List themes
-exec (HESTIA_CMD."v-list-sys-themes json", $output, $return_var);
+exec(HESTIA_CMD."v-list-sys-themes json", $output, $return_var);
$theme = json_decode(implode('', $output), true);
unset($output);
// List dns cluster hosts
-exec (HESTIA_CMD."v-list-remote-dns-hosts json", $output, $return_var);
+exec(HESTIA_CMD."v-list-remote-dns-hosts json", $output, $return_var);
$dns_cluster = json_decode(implode('', $output), true);
unset($output);
if (is_array($dns_cluster)) {
@@ -116,37 +147,55 @@
}
// List smtp relay settings
-if (!empty($_SESSION['SMTP_RELAY'])) $v_smtp_relay = $_SESSION['SMTP_RELAY'];
-if (!empty($_SESSION['SMTP_RELAY_HOST'])) $v_smtp_relay_host = $_SESSION['SMTP_RELAY_HOST'];
-if (!empty($_SESSION['SMTP_RELAY_PORT'])) $v_smtp_relay_port = $_SESSION['SMTP_RELAY_PORT'];
-if (!empty($_SESSION['SMTP_RELAY_USER'])) $v_smtp_relay_user = $_SESSION['SMTP_RELAY_USER'];
+if (!empty($_SESSION['SMTP_RELAY'])) {
+ $v_smtp_relay = $_SESSION['SMTP_RELAY'];
+}
+if (!empty($_SESSION['SMTP_RELAY_HOST'])) {
+ $v_smtp_relay_host = $_SESSION['SMTP_RELAY_HOST'];
+}
+if (!empty($_SESSION['SMTP_RELAY_PORT'])) {
+ $v_smtp_relay_port = $_SESSION['SMTP_RELAY_PORT'];
+}
+if (!empty($_SESSION['SMTP_RELAY_USER'])) {
+ $v_smtp_relay_user = $_SESSION['SMTP_RELAY_USER'];
+}
// List Database hosts
-exec (HESTIA_CMD."v-list-database-hosts json", $output, $return_var);
+exec(HESTIA_CMD."v-list-database-hosts json", $output, $return_var);
$db_hosts = json_decode(implode('', $output), true);
unset($output);
-$v_mysql_hosts = array_values(array_filter($db_hosts, function($host){return $host['TYPE'] === 'mysql';}));
+$v_mysql_hosts = array_values(array_filter($db_hosts, function ($host) {
+ return $host['TYPE'] === 'mysql';
+}));
$v_mysql = count($v_mysql_hosts) ? 'yes' : 'no';
-$v_pgsql_hosts = array_values(array_filter($db_hosts, function($host){return $host['TYPE'] === 'pgsql';}));
+$v_pgsql_hosts = array_values(array_filter($db_hosts, function ($host) {
+ return $host['TYPE'] === 'pgsql';
+}));
$v_pgsql = count($v_pgsql_hosts) ? 'yes' : 'no';
unset($db_hosts);
// List backup settings
$v_backup_dir = "/backup";
-if (!empty($_SESSION['BACKUP'])) $v_backup_dir = $_SESSION['BACKUP'];
+if (!empty($_SESSION['BACKUP'])) {
+ $v_backup_dir = $_SESSION['BACKUP'];
+}
$v_backup_gzip = '5';
-if (!empty($_SESSION['BACKUP_GZIP'])) $v_backup_gzip = $_SESSION['BACKUP_GZIP'];
+if (!empty($_SESSION['BACKUP_GZIP'])) {
+ $v_backup_gzip = $_SESSION['BACKUP_GZIP'];
+}
$v_backup_mode = 'gzip';
-if (!empty($_SESSION['BACKUP_MODE'])) $v_backup_mode = $_SESSION['BACKUP_MODE'];
-$backup_types = explode(",",$_SESSION['BACKUP_SYSTEM']);
+if (!empty($_SESSION['BACKUP_MODE'])) {
+ $v_backup_mode = $_SESSION['BACKUP_MODE'];
+}
+$backup_types = explode(",", $_SESSION['BACKUP_SYSTEM']);
foreach ($backup_types as $backup_type) {
if ($backup_type == 'local') {
$v_backup = 'yes';
} else {
- exec (HESTIA_CMD."v-list-backup-host ".escapeshellarg($backup_type)." json", $output, $return_var);
+ exec(HESTIA_CMD."v-list-backup-host ".escapeshellarg($backup_type)." json", $output, $return_var);
$v_remote_backup = json_decode(implode('', $output), true);
unset($output);
- if (in_array($backup_type , array('ftp','sftp'))) {
+ if (in_array($backup_type, array('ftp','sftp'))) {
$v_backup_host = $v_remote_backup[$backup_type]['HOST'];
$v_backup_type = $v_remote_backup[$backup_type]['TYPE'];
$v_backup_username = $v_remote_backup[$backup_type]['USERNAME'];
@@ -154,7 +203,7 @@
$v_backup_port = $v_remote_backup[$backup_type]['PORT'];
$v_backup_bpath = $v_remote_backup[$backup_type]['BPATH'];
$v_backup_remote_adv = "yes";
- } else if ( in_array($backup_type , array('b2')) ) {
+ } elseif (in_array($backup_type, array('b2'))) {
$v_backup_bucket = $v_remote_backup[$backup_type]['BUCKET'];
$v_backup_type = $v_remote_backup[$backup_type]['TYPE'];
$v_backup_application_id = $v_remote_backup[$backup_type]['B2_KEY_ID'];
@@ -165,7 +214,7 @@
}
// List ssl certificate info
-exec (HESTIA_CMD."v-list-sys-hestia-ssl json", $output, $return_var);
+exec(HESTIA_CMD."v-list-sys-hestia-ssl json", $output, $return_var);
$ssl_str = json_decode(implode('', $output), true);
unset($output);
$v_ssl_crt = $ssl_str['HESTIA']['CRT'];
@@ -183,41 +232,39 @@
if (!empty($_POST['save'])) {
$require_refresh = false;
// Check token
- if ((!isset($_POST['token'])) || ($_SESSION['token'] != $_POST['token'])) {
- header('location: /login/');
- exit();
- }
+ verify_csrf($_POST);
// Change hostname
if ((!empty($_POST['v_hostname'])) && ($v_hostname != $_POST['v_hostname'])) {
- exec (HESTIA_CMD."v-change-sys-hostname ".escapeshellarg($_POST['v_hostname']), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-sys-hostname ".escapeshellarg($_POST['v_hostname']), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
$v_hostname = $_POST['v_hostname'];
}
// Install/remove php versions
if (empty($_SESSION['error_msg'])) {
- if(!empty($v_php_versions)) {
+ if (!empty($v_php_versions)) {
$post_php = $_POST['v_php_versions'];
- array_map(function($php_version) use ($post_php) {
-
+ array_map(function ($php_version) use ($post_php) {
if (array_key_exists($php_version->tpl, $post_php)) {
if (!$php_version->installed) {
- exec (HESTIA_CMD . "v-add-web-php " . escapeshellarg($php_version->version), $output, $return_var);
+ exec(HESTIA_CMD . "v-add-web-php " . escapeshellarg($php_version->version), $output, $return_var);
check_return_code($return_var, $output);
unset($output);
- if(empty($_SESSION['error_msg']))
+ if (empty($_SESSION['error_msg'])) {
$php_version->installed = true;
+ }
}
} else {
if ($php_version->installed && !$php_version->protected) {
- exec (HESTIA_CMD . "v-delete-web-php " . escapeshellarg($php_version->version), $output, $return_var);
+ exec(HESTIA_CMD . "v-delete-web-php " . escapeshellarg($php_version->version), $output, $return_var);
check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg']))
+ if (empty($_SESSION['error_msg'])) {
$php_version->installed = false;
+ }
}
}
@@ -230,23 +277,49 @@
if (empty($_SESSION['error_msg'])) {
if (!empty($_POST['v_timezone'])) {
$v_tz = $_POST['v_timezone'];
- if ($v_tz == 'UTC' ) $v_tz = 'Etc/UTC';
- if ($v_tz == 'HAST' ) $v_tz = 'Pacific/Honolulu';
- if ($v_tz == 'HADT' ) $v_tz = 'US/Aleutian';
- if ($v_tz == 'AKST' ) $v_tz = 'Etc/GMT+9';
- if ($v_tz == 'AKDT' ) $v_tz = 'America/Anchorage';
- if ($v_tz == 'PST' ) $v_tz = 'America/Dawson_Creek';
- if ($v_tz == 'PDT' ) $v_tz = 'PST8PDT';
- if ($v_tz == 'MDT' ) $v_tz = 'MST7MDT';
- if ($v_tz == 'CST' ) $v_tz = 'Canada/Saskatchewan';
- if ($v_tz == 'CDT' ) $v_tz = 'CST6CDT';
- if ($v_tz == 'EDT' ) $v_tz = 'EST5EDT';
- if ($v_tz == 'AST' ) $v_tz = 'America/Puerto_Rico';
- if ($v_tz == 'ADT' ) $v_tz = 'America/Halifax';
+ if ($v_tz == 'UTC') {
+ $v_tz = 'Etc/UTC';
+ }
+ if ($v_tz == 'HAST') {
+ $v_tz = 'Pacific/Honolulu';
+ }
+ if ($v_tz == 'HADT') {
+ $v_tz = 'US/Aleutian';
+ }
+ if ($v_tz == 'AKST') {
+ $v_tz = 'Etc/GMT+9';
+ }
+ if ($v_tz == 'AKDT') {
+ $v_tz = 'America/Anchorage';
+ }
+ if ($v_tz == 'PST') {
+ $v_tz = 'America/Dawson_Creek';
+ }
+ if ($v_tz == 'PDT') {
+ $v_tz = 'PST8PDT';
+ }
+ if ($v_tz == 'MDT') {
+ $v_tz = 'MST7MDT';
+ }
+ if ($v_tz == 'CST') {
+ $v_tz = 'Canada/Saskatchewan';
+ }
+ if ($v_tz == 'CDT') {
+ $v_tz = 'CST6CDT';
+ }
+ if ($v_tz == 'EDT') {
+ $v_tz = 'EST5EDT';
+ }
+ if ($v_tz == 'AST') {
+ $v_tz = 'America/Puerto_Rico';
+ }
+ if ($v_tz == 'ADT') {
+ $v_tz = 'America/Halifax';
+ }
if ($v_timezone != $v_tz) {
- exec (HESTIA_CMD."v-change-sys-timezone ".escapeshellarg($v_tz), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-sys-timezone ".escapeshellarg($v_tz), $output, $return_var);
+ check_return_code($return_var, $output);
$v_timezone = $v_tz;
unset($output);
}
@@ -257,71 +330,90 @@
if (empty($_SESSION['error_msg'])) {
if ((!empty($_POST['v_language'])) && ($_SESSION['LANGUAGE'] != $_POST['v_language'])) {
if (isset($_POST['v_language_update'])) {
- exec (HESTIA_CMD."v-change-sys-language ".escapeshellarg($_POST['v_language'])." yes", $output, $return_var);
- if (empty($_SESSION['error_msg'])) $_SESSION['LANGUAGE'] = $_POST['v_language'];
+ exec(HESTIA_CMD."v-change-sys-language ".escapeshellarg($_POST['v_language'])." yes", $output, $return_var);
+ if (empty($_SESSION['error_msg'])) {
+ $_SESSION['LANGUAGE'] = $_POST['v_language'];
+ }
}
- exec (HESTIA_CMD."v-change-sys-language ".escapeshellarg($_POST['v_language']), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-sys-language ".escapeshellarg($_POST['v_language']), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $_SESSION['LANGUAGE'] = $_POST['v_language'];
-
+ if (empty($_SESSION['error_msg'])) {
+ $_SESSION['LANGUAGE'] = $_POST['v_language'];
+ }
}
}
// Update theme
if (empty($_SESSION['error_msg'])) {
if ($_POST['v_theme'] != $_SESSION['THEME']) {
- exec (HESTIA_CMD."v-change-sys-config-value THEME ".escapeshellarg($_POST['v_theme']), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-sys-config-value THEME ".escapeshellarg($_POST['v_theme']), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
}
- // Update debug mode status
+ // Update debug mode status
if (empty($_SESSION['error_msg'])) {
- if ($_POST['v_debug_mode'] == 'on') { $_POST['v_debug_mode'] = 'true'; } else { $_POST['v_debug_mode'] = 'false'; }
+ if ($_POST['v_debug_mode'] == 'on') {
+ $_POST['v_debug_mode'] = 'true';
+ } else {
+ $_POST['v_debug_mode'] = 'false';
+ }
if ($_POST['v_debug_mode'] != $_SESSION['DEBUG_MODE']) {
- exec (HESTIA_CMD."v-change-sys-config-value DEBUG_MODE ".escapeshellarg($_POST['v_debug_mode']), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-sys-config-value DEBUG_MODE ".escapeshellarg($_POST['v_debug_mode']), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
$v_debug_mode_adv = 'yes';
}
}
- // Enable/Disable Quick App Installer
+ // Enable/Disable Quick App Installer
if (empty($_SESSION['error_msg'])) {
if ($_POST['v_plugin_app_installer'] != $_SESSION['PLUGIN_APP_INSTALLER']) {
- if ($_POST['v_plugin_app_installer'] == 'true') { $_POST['v_plugin_app_installer'] = 'true'; } else { $_POST['v_plugin_app_installer'] = 'false'; }
- exec (HESTIA_CMD."v-change-sys-config-value PLUGIN_APP_INSTALLER ".escapeshellarg($_POST['v_plugin_app_installer']), $output, $return_var);
- check_return_code($return_var,$output);
+ if ($_POST['v_plugin_app_installer'] == 'true') {
+ $_POST['v_plugin_app_installer'] = 'true';
+ } else {
+ $_POST['v_plugin_app_installer'] = 'false';
+ }
+ exec(HESTIA_CMD."v-change-sys-config-value PLUGIN_APP_INSTALLER ".escapeshellarg($_POST['v_plugin_app_installer']), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
}
// Update experimental features status
if (empty($_SESSION['error_msg'])) {
- if ($_POST['v_experimental_features'] == 'on') { $_POST['v_experimental_features'] = 'true'; } else { $_POST['v_experimental_features'] = 'false'; }
+ if ($_POST['v_experimental_features'] == 'on') {
+ $_POST['v_experimental_features'] = 'true';
+ } else {
+ $_POST['v_experimental_features'] = 'false';
+ }
if ($_POST['v_experimental_features'] != $_SESSION['POLICY_SYSTEM_ENABLE_BACON']) {
- exec (HESTIA_CMD."v-change-sys-config-value POLICY_SYSTEM_ENABLE_BACON ".escapeshellarg($_POST['v_experimental_features']), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-sys-config-value POLICY_SYSTEM_ENABLE_BACON ".escapeshellarg($_POST['v_experimental_features']), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
$v_debug_mode_adv = 'yes';
}
}
- // Set File Manager support
+ // Set File Manager support
if (empty($_SESSION['error_msg'])) {
if ((!empty($_POST['v_filemanager'])) && ($_SESSION['FILE_MANAGER'] != $_POST['v_filemanager'])) {
if ($_POST['v_filemanager'] == 'true') {
- exec (HESTIA_CMD."v-add-sys-filemanager", $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-sys-filemanager", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $_SESSION['FILE_MANAGER'] = 'true';
+ if (empty($_SESSION['error_msg'])) {
+ $_SESSION['FILE_MANAGER'] = 'true';
+ }
} else {
- exec (HESTIA_CMD."v-delete-sys-filemanager", $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-delete-sys-filemanager", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $_SESSION['FILE_MANAGER'] = 'false';
+ if (empty($_SESSION['error_msg'])) {
+ $_SESSION['FILE_MANAGER'] = 'false';
+ }
}
}
}
@@ -329,15 +421,19 @@
if (empty($_SESSION['error_msg'])) {
if (!empty($_POST['v_phpmyadmin_key'])) {
if ($_POST['v_phpmyadmin_key'] == 'yes' && $_SESSION['PHPMYADMIN_KEY'] == '') {
- exec (HESTIA_CMD."v-add-sys-pma-sso quiet", $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-sys-pma-sso quiet", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $_SESSION['PHPMYADMIN_KEY'] != "";
- } else if ($_POST['v_phpmyadmin_key'] == 'no' && $_SESSION['PHPMYADMIN_KEY'] != '') {
- exec (HESTIA_CMD."v-delete-sys-pma-sso quiet", $output, $return_var);
- check_return_code($return_var,$output);
+ if (empty($_SESSION['error_msg'])) {
+ $_SESSION['PHPMYADMIN_KEY'] != "";
+ }
+ } elseif ($_POST['v_phpmyadmin_key'] == 'no' && $_SESSION['PHPMYADMIN_KEY'] != '') {
+ exec(HESTIA_CMD."v-delete-sys-pma-sso quiet", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $_SESSION['PHPMYADMIN_KEY'] = '';
+ if (empty($_SESSION['error_msg'])) {
+ $_SESSION['PHPMYADMIN_KEY'] = '';
+ }
}
}
}
@@ -346,34 +442,46 @@
if (empty($_SESSION['error_msg'])) {
if ((!empty($_POST['v_quota'])) && ($_SESSION['DISK_QUOTA'] != $_POST['v_quota'])) {
if ($_POST['v_quota'] == 'yes') {
- exec (HESTIA_CMD."v-add-sys-quota", $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-sys-quota", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $_SESSION['DISK_QUOTA'] = 'yes';
+ if (empty($_SESSION['error_msg'])) {
+ $_SESSION['DISK_QUOTA'] = 'yes';
+ }
} else {
- exec (HESTIA_CMD."v-delete-sys-quota", $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-delete-sys-quota", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $_SESSION['DISK_QUOTA'] = 'no';
+ if (empty($_SESSION['error_msg'])) {
+ $_SESSION['DISK_QUOTA'] = 'no';
+ }
}
}
}
// Set firewall support
if (empty($_SESSION['error_msg'])) {
- if ($_SESSION['FIREWALL_SYSTEM'] == 'iptables') $v_firewall = 'yes';
- if ($_SESSION['FIREWALL_SYSTEM'] != 'iptables') $v_firewall = 'no';
+ if ($_SESSION['FIREWALL_SYSTEM'] == 'iptables') {
+ $v_firewall = 'yes';
+ }
+ if ($_SESSION['FIREWALL_SYSTEM'] != 'iptables') {
+ $v_firewall = 'no';
+ }
if ((!empty($_POST['v_firewall'])) && ($v_firewall != $_POST['v_firewall'])) {
if ($_POST['v_firewall'] == 'yes') {
- exec (HESTIA_CMD."v-add-sys-firewall", $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-sys-firewall", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $_SESSION['FIREWALL_SYSTEM'] = 'iptables';
+ if (empty($_SESSION['error_msg'])) {
+ $_SESSION['FIREWALL_SYSTEM'] = 'iptables';
+ }
} else {
- exec (HESTIA_CMD."v-delete-sys-firewall", $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-delete-sys-firewall", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $_SESSION['FIREWALL_SYSTEM'] = '';
+ if (empty($_SESSION['error_msg'])) {
+ $_SESSION['FIREWALL_SYSTEM'] = '';
+ }
}
}
}
@@ -381,8 +489,8 @@
// Update mysql pasword
if (empty($_SESSION['error_msg'])) {
if (!empty($_POST['v_mysql_password'])) {
- exec (HESTIA_CMD."v-change-database-host-password mysql localhost root ".escapeshellarg($_POST['v_mysql_password']), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-database-host-password mysql localhost root ".escapeshellarg($_POST['v_mysql_password']), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
$v_db_adv = 'yes';
}
@@ -391,8 +499,8 @@
// Update webmail url
if (empty($_SESSION['error_msg'])) {
if ($_POST['v_webmail_alias'] != $_SESSION['WEBMAIL_ALIAS']) {
- exec (HESTIA_CMD."v-change-sys-webmail ".escapeshellarg($_POST['v_webmail_alias']), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-sys-webmail ".escapeshellarg($_POST['v_webmail_alias']), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
$v_mail_adv = 'yes';
}
@@ -402,11 +510,11 @@
if (empty($_SESSION['error_msg'])) {
if (isset($_POST['v_smtp_relay']) && (!empty($_POST['v_smtp_relay_host'])) && (!empty($_POST['v_smtp_relay_user']))) {
if (($_POST['v_smtp_relay_host'] != $v_smtp_relay_host) ||
- ($_POST['v_smtp_relay_user'] != $v_smtp_relay_user) ||
- ($_POST['v_smtp_relay_port'] != $v_smtp_relay_port) ||
- (!empty($_POST['v_smtp_relay_pass']))) {
- if (!empty($_POST['v_smtp_relay_pass'])) {
- $v_smtp_relay = true;
+ ($_POST['v_smtp_relay_user'] != $v_smtp_relay_user) ||
+ ($_POST['v_smtp_relay_port'] != $v_smtp_relay_port) ||
+ (!empty($_POST['v_smtp_relay_pass']))) {
+ if (!empty($_POST['v_smtp_relay_pass'])) {
+ $v_smtp_relay = true;
$v_smtp_relay_host = escapeshellarg($_POST['v_smtp_relay_host']);
$v_smtp_relay_user = escapeshellarg($_POST['v_smtp_relay_user']);
$v_smtp_relay_pass = escapeshellarg($_POST['v_smtp_relay_pass']);
@@ -415,8 +523,8 @@
} else {
$v_smtp_relay_port = '587';
}
- exec (HESTIA_CMD."v-add-sys-smtp-relay ".$v_smtp_relay_host." ".$v_smtp_relay_user." ".$v_smtp_relay_pass." ".$v_smtp_relay_port, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-sys-smtp-relay ".$v_smtp_relay_host." ".$v_smtp_relay_user." ".$v_smtp_relay_pass." ".$v_smtp_relay_port, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
} else {
$_SESSION['error_msg'] = _('SMTP Relay Password is required');
@@ -426,8 +534,8 @@
if ((!isset($_POST['v_smtp_relay'])) && ($v_smtp_relay == true)) {
$v_smtp_relay = false;
$v_smtp_relay_host = $v_smtp_relay_user = $v_smtp_relay_pass = $v_smtp_relay_port = '';
- exec (HESTIA_CMD."v-delete-sys-smtp-relay", $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-delete-sys-smtp-relay", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
}
@@ -435,8 +543,8 @@
// Update phpMyAdmin url
if (empty($_SESSION['error_msg'])) {
if ($_POST['v_mysql_url'] != $_SESSION['DB_PMA_ALIAS']) {
- exec (HESTIA_CMD."v-change-sys-db-alias pma ".escapeshellarg($_POST['v_mysql_url']), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-sys-db-alias pma ".escapeshellarg($_POST['v_mysql_url']), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
$v_db_adv = 'yes';
}
@@ -445,8 +553,8 @@
// Update phpPgAdmin url
if (empty($_SESSION['error_msg'])) {
if ($_POST['v_pgsql_url'] != $_SESSION['DB_PGA_ALIAS']) {
- exec (HESTIA_CMD."v-change-sys-db-alias pga ".escapeshellarg($_POST['v_pgsql_url']), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-sys-db-alias pga ".escapeshellarg($_POST['v_pgsql_url']), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
$v_db_adv = 'yes';
}
@@ -455,8 +563,8 @@
// Update release branch
if (empty($_SESSION['error_msg'])) {
if ($_POST['v_release_branch'] != $_SESSION['RELEASE_BRANCH']) {
- exec (HESTIA_CMD."v-change-sys-release ".escapeshellarg($_POST['v_release_branch']), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-sys-release ".escapeshellarg($_POST['v_release_branch']), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
$v_release_adv = 'yes';
}
@@ -464,11 +572,19 @@
// Update send notification setting
if (empty($_SESSION['error_msg'])) {
- if ( $_SESSION['UPGRADE_SEND_EMAIL'] == 'true' ){ $ugrade_send_mail = 'on'; }else{ $ugrade_send_mail = ''; }
- if ( $_POST['v_upgrade_send_notification_email'] != $ugrade_send_mail ) {
- if ($_POST['v_upgrade_send_notification_email'] == 'on') { $_POST['v_upgrade_send_notification_email'] = 'true'; } else { $_POST['v_upgrade_send_notification_email'] = 'false'; }
- exec (HESTIA_CMD."v-change-sys-config-value UPGRADE_SEND_EMAIL ".escapeshellarg($_POST['v_upgrade_send_notification_email']), $output, $return_var);
- check_return_code($return_var,$output);
+ if ($_SESSION['UPGRADE_SEND_EMAIL'] == 'true') {
+ $ugrade_send_mail = 'on';
+ } else {
+ $ugrade_send_mail = '';
+ }
+ if ($_POST['v_upgrade_send_notification_email'] != $ugrade_send_mail) {
+ if ($_POST['v_upgrade_send_notification_email'] == 'on') {
+ $_POST['v_upgrade_send_notification_email'] = 'true';
+ } else {
+ $_POST['v_upgrade_send_notification_email'] = 'false';
+ }
+ exec(HESTIA_CMD."v-change-sys-config-value UPGRADE_SEND_EMAIL ".escapeshellarg($_POST['v_upgrade_send_notification_email']), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
$v_upgrade_notification_adv = 'yes';
}
@@ -476,11 +592,19 @@
// Update send log by email setting
if (empty($_SESSION['error_msg'])) {
- if ( $_SESSION['UPGRADE_SEND_EMAIL_LOG'] == 'true' ){ $send_email_log = 'on'; }else{ $send_email_log = ''; }
- if ( $_POST['v_upgrade_send_email_log'] != $send_email_log ) {
- if ($_POST['v_upgrade_send_email_log'] == 'on') { $_POST['v_upgrade_send_email_log'] = 'true'; } else { $_POST['v_upgrade_send_email_log'] = 'false'; }
- exec (HESTIA_CMD."v-change-sys-config-value UPGRADE_SEND_EMAIL_LOG ".escapeshellarg($_POST['v_upgrade_send_email_log']), $output, $return_var);
- check_return_code($return_var,$output);
+ if ($_SESSION['UPGRADE_SEND_EMAIL_LOG'] == 'true') {
+ $send_email_log = 'on';
+ } else {
+ $send_email_log = '';
+ }
+ if ($_POST['v_upgrade_send_email_log'] != $send_email_log) {
+ if ($_POST['v_upgrade_send_email_log'] == 'on') {
+ $_POST['v_upgrade_send_email_log'] = 'true';
+ } else {
+ $_POST['v_upgrade_send_email_log'] = 'false';
+ }
+ exec(HESTIA_CMD."v-change-sys-config-value UPGRADE_SEND_EMAIL_LOG ".escapeshellarg($_POST['v_upgrade_send_email_log']), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
$v_upgrade_send_log_adv = 'yes';
}
@@ -488,74 +612,85 @@
// Disable local backup
if (empty($_SESSION['error_msg'])) {
- if (($_POST['v_backup'] == 'no') && ($v_backup == 'yes' )) {
- exec (HESTIA_CMD."v-delete-backup-host local", $output, $return_var);
- check_return_code($return_var,$output);
+ if (($_POST['v_backup'] == 'no') && ($v_backup == 'yes')) {
+ exec(HESTIA_CMD."v-delete-backup-host local", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $v_backup = 'no';
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup = 'no';
+ }
$v_backup_adv = 'yes';
}
}
// Enable local backups
if (empty($_SESSION['error_msg'])) {
- if (($_POST['v_backup'] == 'yes') && ($v_backup != 'yes' )) {
- exec (HESTIA_CMD."v-add-backup-host local", $output, $return_var);
- check_return_code($return_var,$output);
+ if (($_POST['v_backup'] == 'yes') && ($v_backup != 'yes')) {
+ exec(HESTIA_CMD."v-add-backup-host local", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $v_backup = 'yes';
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup = 'yes';
+ }
$v_backup_adv = 'yes';
}
}
// Change backup gzip level
if (empty($_SESSION['error_msg'])) {
- if ($_POST['v_backup_gzip'] != $v_backup_gzip ) {
- if ( $_POST['v_backup_mode'] == 'gzip' ){
+ if ($_POST['v_backup_gzip'] != $v_backup_gzip) {
+ if ($_POST['v_backup_mode'] == 'gzip') {
$_POST['v_backup_gzip'] = 9;
}
- exec (HESTIA_CMD."v-change-sys-config-value BACKUP_GZIP ".escapeshellarg($_POST['v_backup_gzip']), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-sys-config-value BACKUP_GZIP ".escapeshellarg($_POST['v_backup_gzip']), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $v_backup_gzip = $_POST['v_backup_gzip'];
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_gzip = $_POST['v_backup_gzip'];
+ }
$v_backup_adv = 'yes';
}
}
// Change backup mode
if (empty($_SESSION['error_msg'])) {
- if ($_POST['v_backup_mode'] != $v_backup_mode ) {
- exec (HESTIA_CMD."v-change-sys-config-value BACKUP_MODE ".escapeshellarg($_POST['v_backup_mode']), $output, $return_var);
- check_return_code($return_var,$output);
+ if ($_POST['v_backup_mode'] != $v_backup_mode) {
+ exec(HESTIA_CMD."v-change-sys-config-value BACKUP_MODE ".escapeshellarg($_POST['v_backup_mode']), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $v_backup_mode = $_POST['v_backup_mode'];
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_mode = $_POST['v_backup_mode'];
+ }
$v_backup_adv = 'yes';
- if ( $_POST['v_backup_mode'] == 'gzip' ){
+ if ($_POST['v_backup_mode'] == 'gzip') {
$_POST['v_backup_gzip'] = 9;
- if (empty($_SESSION['error_msg'])) $v_backup_gzip = $_POST['v_backup_gzip'];
- exec (HESTIA_CMD."v-change-sys-config-value BACKUP_GZIP ".escapeshellarg($_POST['v_backup_gzip']), $output, $return_var);
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_gzip = $_POST['v_backup_gzip'];
+ }
+ exec(HESTIA_CMD."v-change-sys-config-value BACKUP_GZIP ".escapeshellarg($_POST['v_backup_gzip']), $output, $return_var);
}
-
}
}
// Change backup path
if (empty($_SESSION['error_msg'])) {
- if ($_POST['v_backup_dir'] != $v_backup_dir ) {
+ if ($_POST['v_backup_dir'] != $v_backup_dir) {
/*
- See #1655
+ See #1655
exec (HESTIA_CMD."v-change-sys-config-value BACKUP ".escapeshellarg($_POST['v_backup_dir']), $output, $return_var);
check_return_code($return_var,$output);
unset($output);
*/
- if (empty($_SESSION['error_msg'])) $v_backup_dir = $_POST['v_backup_dir'];
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_dir = $_POST['v_backup_dir'];
+ }
#$v_backup_adv = 'yes';
}
}
-
+
// Add remote backup host
if (empty($_SESSION['error_msg'])) {
- if ((empty($v_backup_host) && empty($v_backup_bucket) && ((!empty($_POST['v_backup_host'])) || !empty($_POST['v_backup_bucket']))) ) {
+ if ((empty($v_backup_host) && empty($v_backup_bucket) && ((!empty($_POST['v_backup_host'])) || !empty($_POST['v_backup_bucket'])))) {
if (in_array($_POST['v_backup_type'], array('ftp','sftp'))) {
$v_backup_host = escapeshellarg($_POST['v_backup_host']);
$v_backup_port = escapeshellarg($_POST['v_backup_port']);
@@ -563,29 +698,47 @@
$v_backup_username = escapeshellarg($_POST['v_backup_username']);
$v_backup_password = escapeshellcmd($_POST['v_backup_password']);
$v_backup_bpath = escapeshellarg($_POST['v_backup_bpath']);
- exec (HESTIA_CMD."v-add-backup-host ". $v_backup_type ." ". $v_backup_host ." ". $v_backup_username ." ". $v_backup_password ." ". $v_backup_bpath." ".$v_backup_port, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-backup-host ". $v_backup_type ." ". $v_backup_host ." ". $v_backup_username ." ". $v_backup_password ." ". $v_backup_bpath." ".$v_backup_port, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $v_backup_host = $_POST['v_backup_host'];
- if (empty($_SESSION['error_msg'])) $v_backup_type = $_POST['v_backup_type'];
- if (empty($_SESSION['error_msg'])) $v_backup_username = $_POST['v_backup_username'];
- if (empty($_SESSION['error_msg'])) $v_backup_password = $_POST['v_backup_password'];
- if (empty($_SESSION['error_msg'])) $v_backup_bpath = $_POST['v_backup_bpath'];
- if (empty($_SESSION['error_msg'])) $v_backup_port = $_POST['v_backup_port'];
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_host = $_POST['v_backup_host'];
+ }
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_type = $_POST['v_backup_type'];
+ }
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_username = $_POST['v_backup_username'];
+ }
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_password = $_POST['v_backup_password'];
+ }
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_bpath = $_POST['v_backup_bpath'];
+ }
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_port = $_POST['v_backup_port'];
+ }
$v_backup_new = 'yes';
$v_backup_adv = 'yes';
$v_backup_remote_adv = 'yes';
- } else if (in_array($_POST['v_backup_type'], array('b2'))) {
+ } elseif (in_array($_POST['v_backup_type'], array('b2'))) {
$v_backup_type = escapeshellarg($_POST['v_backup_type']);
$v_backup_bucket = escapeshellarg($_POST['v_backup_bucket']);
$v_backup_application_id = escapeshellarg($_POST['v_backup_application_id']);
$v_backup_application_key = escapeshellarg($_POST['v_backup_application_key']);
- exec (HESTIA_CMD."v-add-backup-host ". $v_backup_type ." ". $v_backup_bucket ." ". $v_backup_application_id ." ". $v_backup_application_key, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-backup-host ". $v_backup_type ." ". $v_backup_bucket ." ". $v_backup_application_id ." ". $v_backup_application_key, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $v_backup_bucket = escapeshellarg($_POST['v_backup_bucket']);
- if (empty($_SESSION['error_msg'])) $v_backup_application_id = escapeshellarg($_POST['v_backup_application_id']);
- if (empty($_SESSION['error_msg'])) $v_backup_application_key = escapeshellarg($_POST['v_backup_application_key']);
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_bucket = escapeshellarg($_POST['v_backup_bucket']);
+ }
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_application_id = escapeshellarg($_POST['v_backup_application_id']);
+ }
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_application_key = escapeshellarg($_POST['v_backup_application_key']);
+ }
$v_backup_new = 'yes';
$v_backup_adv = 'yes';
$v_backup_remote_adv = 'yes';
@@ -596,7 +749,7 @@
// Change remote backup host type
if (empty($_SESSION['error_msg'])) {
if ((!empty($_POST['v_backup_host'])) && ($_POST['v_backup_type'] != $v_backup_type)) {
- exec (HESTIA_CMD."v-delete-backup-host " . escapeshellarg($v_backup_type) , $output, $return_var);
+ exec(HESTIA_CMD."v-delete-backup-host " . escapeshellarg($v_backup_type), $output, $return_var);
unset($output);
if (in_array($_POST['v_backup_type'], array('ftp','sftp'))) {
$v_backup_host = escapeshellarg($_POST['v_backup_host']);
@@ -605,28 +758,46 @@
$v_backup_username = escapeshellarg($_POST['v_backup_username']);
$v_backup_password = escapeshellcmd($_POST['v_backup_password']);
$v_backup_bpath = escapeshellarg($_POST['v_backup_bpath']);
- exec (HESTIA_CMD."v-add-backup-host ". $v_backup_type ." ". $v_backup_host ." ". $v_backup_username ." ". $v_backup_password ." ". $v_backup_bpath." ".$v_backup_port, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-backup-host ". $v_backup_type ." ". $v_backup_host ." ". $v_backup_username ." ". $v_backup_password ." ". $v_backup_bpath." ".$v_backup_port, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $v_backup_host = $_POST['v_backup_host'];
- if (empty($_SESSION['error_msg'])) $v_backup_type = $_POST['v_backup_type'];
- if (empty($_SESSION['error_msg'])) $v_backup_username = $_POST['v_backup_username'];
- if (empty($_SESSION['error_msg'])) $v_backup_password = $_POST['v_backup_password'];
- if (empty($_SESSION['error_msg'])) $v_backup_bpath = $_POST['v_backup_bpath'];
- if (empty($_SESSION['error_msg'])) $v_backup_port = $_POST['v_backup_port'];
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_host = $_POST['v_backup_host'];
+ }
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_type = $_POST['v_backup_type'];
+ }
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_username = $_POST['v_backup_username'];
+ }
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_password = $_POST['v_backup_password'];
+ }
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_bpath = $_POST['v_backup_bpath'];
+ }
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_port = $_POST['v_backup_port'];
+ }
$v_backup_adv = 'yes';
$v_backup_remote_adv = 'yes';
- } else if(in_array($_POST['v_backup_type'], array('b2'))) {
+ } elseif (in_array($_POST['v_backup_type'], array('b2'))) {
$v_backup_bucket = escapeshellarg($_POST['v_backup_bucket']);
$v_backup_application_id = escapeshellarg($_POST['v_backup_application_id']);
$v_backup_application_key = escapeshellarg($_POST['v_backup_application_key']);
- exec (HESTIA_CMD."v-add-backup-host ". $v_backup_type ." ". $v_backup_bucket ." ". $v_backup_application_id ." ". $v_backup_application_key, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-backup-host ". $v_backup_type ." ". $v_backup_bucket ." ". $v_backup_application_id ." ". $v_backup_application_key, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
$v_backup_type = escapeshellarg($_POST['v_backup_type']);
- if (empty($_SESSION['error_msg'])) $v_backup_bucket = escapeshellarg($_POST['v_backup_bucket']);
- if (empty($_SESSION['error_msg'])) $v_backup_application_id = escapeshellarg($_POST['v_backup_application_id']);
- if (empty($_SESSION['error_msg'])) $v_backup_application_key = escapeshellarg($_POST['v_backup_application_key']);
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_bucket = escapeshellarg($_POST['v_backup_bucket']);
+ }
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_application_id = escapeshellarg($_POST['v_backup_application_id']);
+ }
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_application_key = escapeshellarg($_POST['v_backup_application_key']);
+ }
$v_backup_adv = 'yes';
$v_backup_remote_adv = 'yes';
}
@@ -644,33 +815,51 @@
$v_backup_username = escapeshellarg($_POST['v_backup_username']);
$v_backup_password = escapeshellcmd($_POST['v_backup_password']);
$v_backup_bpath = escapeshellarg($_POST['v_backup_bpath']);
- exec (HESTIA_CMD."v-add-backup-host ". $v_backup_type ." ". $v_backup_host ." ". $v_backup_username ." ". $v_backup_password ." ". $v_backup_bpath." ".$v_backup_port, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-backup-host ". $v_backup_type ." ". $v_backup_host ." ". $v_backup_username ." ". $v_backup_password ." ". $v_backup_bpath." ".$v_backup_port, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $v_backup_host = $_POST['v_backup_host'];
- if (empty($_SESSION['error_msg'])) $v_backup_type = $_POST['v_backup_type'];
- if (empty($_SESSION['error_msg'])) $v_backup_username = $_POST['v_backup_username'];
- if (empty($_SESSION['error_msg'])) $v_backup_password = $_POST['v_backup_password'];
- if (empty($_SESSION['error_msg'])) $v_backup_bpath = $_POST['v_backup_bpath'];
- if (empty($_SESSION['error_msg'])) $v_backup_port = $_POST['v_backup_port'];
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_host = $_POST['v_backup_host'];
+ }
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_type = $_POST['v_backup_type'];
+ }
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_username = $_POST['v_backup_username'];
+ }
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_password = $_POST['v_backup_password'];
+ }
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_bpath = $_POST['v_backup_bpath'];
+ }
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_port = $_POST['v_backup_port'];
+ }
$v_backup_adv = 'yes';
$v_backup_remote_adv = 'yes';
}
- } else if(in_array($_POST['v_backup_type'], array('b2'))) {
+ } elseif (in_array($_POST['v_backup_type'], array('b2'))) {
if (($_POST['v_backup_bucket'] != $v_backup_bucket) || ($_POST['v_backup_application_key'] != $v_backup_application_key) || ($_POST['v_backup_application_id'] != $v_backup_application_id)) {
$v_backup_type = escapeshellarg($_POST['v_backup_type']);
$v_backup_bucket = escapeshellarg($_POST['v_backup_bucket']);
$v_backup_application_id = escapeshellarg($_POST['v_backup_application_id']);
$v_backup_application_key = escapeshellarg($_POST['v_backup_application_key']);
- exec (HESTIA_CMD."v-add-backup-host ". $v_backup_type ." ". $v_backup_bucket ." ". $v_backup_application_id ." ". $v_backup_application_key, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-backup-host ". $v_backup_type ." ". $v_backup_bucket ." ". $v_backup_application_id ." ". $v_backup_application_key, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $v_backup_bucket = escapeshellarg($_POST['v_backup_bucket']);
- if (empty($_SESSION['error_msg'])) $v_backup_application_id = escapeshellarg($_POST['v_backup_application_id']);
- if (empty($_SESSION['error_msg'])) $v_backup_application_key = escapeshellarg($_POST['v_backup_application_key']);
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_bucket = escapeshellarg($_POST['v_backup_bucket']);
+ }
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_application_id = escapeshellarg($_POST['v_backup_application_id']);
+ }
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_application_key = escapeshellarg($_POST['v_backup_application_key']);
+ }
$v_backup_adv = 'yes';
$v_backup_remote_adv = 'yes';
- }
+ }
}
}
}
@@ -678,17 +867,33 @@
// Delete remote backup host
if (empty($_SESSION['error_msg'])) {
if (empty($_POST['v_backup_remote_adv']) && isset($v_backup_remote_adv)) {
- exec (HESTIA_CMD."v-delete-backup-host ".escapeshellarg($v_backup_type), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-delete-backup-host ".escapeshellarg($v_backup_type), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $v_backup_host = '';
- if (empty($_SESSION['error_msg'])) $v_backup_type = '';
- if (empty($_SESSION['error_msg'])) $v_backup_username = '';
- if (empty($_SESSION['error_msg'])) $v_backup_password = '';
- if (empty($_SESSION['error_msg'])) $v_backup_bpath = '';
- if (empty($_SESSION['error_msg'])) $v_backup_bucket = '';
- if (empty($_SESSION['error_msg'])) $v_backup_application_id = '';
- if (empty($_SESSION['error_msg'])) $v_backup_application_key = '';
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_host = '';
+ }
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_type = '';
+ }
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_username = '';
+ }
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_password = '';
+ }
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_bpath = '';
+ }
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_bucket = '';
+ }
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_application_id = '';
+ }
+ if (empty($_SESSION['error_msg'])) {
+ $v_backup_application_key = '';
+ }
$v_backup_adv = '';
$v_backup_remote_adv = '';
}
@@ -697,36 +902,42 @@
// Change INACTIVE_SESSION_TIMEOUT
if (empty($_SESSION['error_msg'])) {
if ($_POST['v_inactive_session_timeout'] != $_SESSION['INACTIVE_SESSION_TIMEOUT']) {
- if($_POST['v_inactive_session_timeout'] < 1){
- $_SESSION['error_msg'] = _('Inactive session timeout can not lower than 1 minute');
- }else{
- exec (HESTIA_CMD."v-change-sys-config-value INACTIVE_SESSION_TIMEOUT ".escapeshellarg($_POST['v_inactive_session_timeout']), $output, $return_var);
- check_return_code($return_var,$output);
- unset($output);
- if (empty($_SESSION['error_msg'])) $v_inactive_session_timeout = $_POST['v_inactive_session_timeout'];
+ if ($_POST['v_inactive_session_timeout'] < 1) {
+ $_SESSION['error_msg'] = _('Inactive session timeout can not lower than 1 minute');
+ } else {
+ exec(HESTIA_CMD."v-change-sys-config-value INACTIVE_SESSION_TIMEOUT ".escapeshellarg($_POST['v_inactive_session_timeout']), $output, $return_var);
+ check_return_code($return_var, $output);
+ unset($output);
+ if (empty($_SESSION['error_msg'])) {
+ $v_inactive_session_timeout = $_POST['v_inactive_session_timeout'];
+ }
}
$v_security_adv = 'yes';
}
}
-
- // Change POLICY_CSRF_STRICTNESS
+
+ // Change POLICY_CSRF_STRICTNESS
if (empty($_SESSION['error_msg'])) {
if ($_POST['v_policy_csrf_strictness'] != $_SESSION['POLICY_CSRF_STRICTNESS']) {
- exec (HESTIA_CMD."v-change-sys-config-value POLICY_CSRF_STRICTNESS ".escapeshellarg($_POST['v_policy_csrf_strictness']), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-sys-config-value POLICY_CSRF_STRICTNESS ".escapeshellarg($_POST['v_policy_csrf_strictness']), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $v_policy_csrf_strictness = $_POST['v_inactive_session_timeout'];
+ if (empty($_SESSION['error_msg'])) {
+ $v_policy_csrf_strictness = $_POST['v_inactive_session_timeout'];
+ }
$v_security_adv = 'yes';
}
}
-
+
// Change ENFORCE_SUBDOMAIN_OWNERSHIP
if (empty($_SESSION['error_msg'])) {
if ($_POST['v_enforce_subdomain_ownership'] != $_SESSION['ENFORCE_SUBDOMAIN_OWNERSHIP']) {
- exec (HESTIA_CMD."v-change-sys-config-value ENFORCE_SUBDOMAIN_OWNERSHIP ".escapeshellarg($_POST['v_enforce_subdomain_ownership']), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-sys-config-value ENFORCE_SUBDOMAIN_OWNERSHIP ".escapeshellarg($_POST['v_enforce_subdomain_ownership']), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $v_enforce_subdomain_ownership = $_POST['v_enforce_subdomain_ownership'];
+ if (empty($_SESSION['error_msg'])) {
+ $v_enforce_subdomain_ownership = $_POST['v_enforce_subdomain_ownership'];
+ }
$v_security_adv = 'yes';
}
}
@@ -734,10 +945,12 @@
// Change POLICY_USER_EDIT_DETAILS
if (empty($_SESSION['error_msg'])) {
if ($_POST['v_policy_user_edit_details'] != $_SESSION['POLICY_USER_EDIT_DETAILS']) {
- exec (HESTIA_CMD."v-change-sys-config-value POLICY_USER_EDIT_DETAILS ".escapeshellarg($_POST['v_policy_user_edit_details']), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-sys-config-value POLICY_USER_EDIT_DETAILS ".escapeshellarg($_POST['v_policy_user_edit_details']), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $v_policy_user_edit_details = $_POST['v_policy_user_edit_details'];
+ if (empty($_SESSION['error_msg'])) {
+ $v_policy_user_edit_details = $_POST['v_policy_user_edit_details'];
+ }
$v_security_adv = 'yes';
}
}
@@ -745,10 +958,12 @@
// Change POLICY_USER_EDIT_WEB_TEMPLATES
if (empty($_SESSION['error_msg'])) {
if ($_POST['v_policy_user_edit_web_templates'] != $_SESSION['POLICY_USER_EDIT_WEB_TEMPLATES']) {
- exec (HESTIA_CMD."v-change-sys-config-value POLICY_USER_EDIT_WEB_TEMPLATES ".escapeshellarg($_POST['v_policy_user_edit_web_templates']), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-sys-config-value POLICY_USER_EDIT_WEB_TEMPLATES ".escapeshellarg($_POST['v_policy_user_edit_web_templates']), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $v_policy_user_edit_details = $_POST['v_policy_user_edit_web_templates'];
+ if (empty($_SESSION['error_msg'])) {
+ $v_policy_user_edit_details = $_POST['v_policy_user_edit_web_templates'];
+ }
$v_security_adv = 'yes';
}
}
@@ -756,10 +971,12 @@
// Change POLICY_USER_EDIT_DNS_TEMPLATES
if (empty($_SESSION['error_msg'])) {
if ($_POST['v_policy_user_edit_dns_templates'] != $_SESSION['POLICY_USER_EDIT_DNS_TEMPLATES']) {
- exec (HESTIA_CMD."v-change-sys-config-value POLICY_USER_EDIT_DNS_TEMPLATES ".escapeshellarg($_POST['v_policy_user_edit_dns_templates']), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-sys-config-value POLICY_USER_EDIT_DNS_TEMPLATES ".escapeshellarg($_POST['v_policy_user_edit_dns_templates']), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $v_policy_user_edit_details = $_POST['v_policy_user_edit_dns_templates'];
+ if (empty($_SESSION['error_msg'])) {
+ $v_policy_user_edit_details = $_POST['v_policy_user_edit_dns_templates'];
+ }
$v_security_adv = 'yes';
}
}
@@ -767,10 +984,12 @@
// Change POLICY_USER_VIEW_LOGS
if (empty($_SESSION['error_msg'])) {
if ($_POST['v_policy_user_view_logs'] != $_SESSION['POLICY_USER_VIEW_LOGS']) {
- exec (HESTIA_CMD."v-change-sys-config-value POLICY_USER_VIEW_LOGS ".escapeshellarg($_POST['v_policy_user_view_logs']), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-sys-config-value POLICY_USER_VIEW_LOGS ".escapeshellarg($_POST['v_policy_user_view_logs']), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $v_policy_user_view_logs = $_POST['v_policy_user_view_logs'];
+ if (empty($_SESSION['error_msg'])) {
+ $v_policy_user_view_logs = $_POST['v_policy_user_view_logs'];
+ }
$v_security_adv = 'yes';
}
}
@@ -778,10 +997,12 @@
// Change POLICY_USER_DELETE_LOGS
if (empty($_SESSION['error_msg'])) {
if ($_POST['v_policy_user_delete_logs'] != $_SESSION['POLICY_USER_DELETE_LOGS']) {
- exec (HESTIA_CMD."v-change-sys-config-value POLICY_USER_DELETE_LOGS ".escapeshellarg($_POST['v_policy_user_delete_logs']), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-sys-config-value POLICY_USER_DELETE_LOGS ".escapeshellarg($_POST['v_policy_user_delete_logs']), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $v_policy_user_delete_logs = $_POST['v_policy_user_delete_logs'];
+ if (empty($_SESSION['error_msg'])) {
+ $v_policy_user_delete_logs = $_POST['v_policy_user_delete_logs'];
+ }
$v_security_adv = 'yes';
}
}
@@ -789,10 +1010,12 @@
// Change POLICY_SYSTEM_PASSWORD_RESET
if (empty($_SESSION['error_msg'])) {
if ($_POST['v_policy_system_password_reset'] != $_SESSION['POLICY_SYSTEM_PASSWORD_RESET']) {
- exec (HESTIA_CMD."v-change-sys-config-value POLICY_SYSTEM_PASSWORD_RESET ".escapeshellarg($_POST['v_policy_system_password_reset']), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-sys-config-value POLICY_SYSTEM_PASSWORD_RESET ".escapeshellarg($_POST['v_policy_system_password_reset']), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $v_policy_system_password_reset = $_POST['v_policy_system_password_reset'];
+ if (empty($_SESSION['error_msg'])) {
+ $v_policy_system_password_reset = $_POST['v_policy_system_password_reset'];
+ }
$v_security_adv = 'yes';
}
}
@@ -800,10 +1023,12 @@
// Change POLICY_SYSTEM_PROTECTED_ADMIN
if (empty($_SESSION['error_msg'])) {
if ($_POST['v_policy_system_protected_admin'] != $_SESSION['POLICY_SYSTEM_PROTECTED_ADMIN']) {
- exec (HESTIA_CMD."v-change-sys-config-value POLICY_SYSTEM_PROTECTED_ADMIN ".escapeshellarg($_POST['v_policy_system_protected_admin']), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-sys-config-value POLICY_SYSTEM_PROTECTED_ADMIN ".escapeshellarg($_POST['v_policy_system_protected_admin']), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $v_policy_system_protected_admin = $_POST['v_policy_system_protected_admin'];
+ if (empty($_SESSION['error_msg'])) {
+ $v_policy_system_protected_admin = $_POST['v_policy_system_protected_admin'];
+ }
$v_security_adv = 'yes';
}
}
@@ -811,37 +1036,48 @@
// Change POLICY_USER_VIEW_SUSPENDED
if (empty($_SESSION['error_msg'])) {
if ($_POST['v_policy_user_view_suspended'] != $_SESSION['POLICY_USER_VIEW_SUSPENDED'] && !empty($_SESSION['POLICY_USER_VIEW_SUSPENDED'])) {
- exec (HESTIA_CMD."v-change-sys-config-value POLICY_USER_VIEW_SUSPENDED ".escapeshellarg($_POST['v_policy_user_view_suspended']), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-sys-config-value POLICY_USER_VIEW_SUSPENDED ".escapeshellarg($_POST['v_policy_user_view_suspended']), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $v_policy_system_hide_admin = $_POST['v_policy_user_view_suspended'];
+ if (empty($_SESSION['error_msg'])) {
+ $v_policy_system_hide_admin = $_POST['v_policy_user_view_suspended'];
+ }
$v_security_adv = 'yes';
}
}
// Change POLICY_USER_CHANGE_THEME
if (empty($_SESSION['error_msg'])) {
- if ($_POST['v_policy_user_change_theme'] == 'on') { $_POST['v_policy_user_change_theme'] = 'no'; } else { $_POST['v_policy_user_change_theme'] = 'yes'; } {
- if ($_POST['v_policy_user_change_theme'] != $_SESSION['POLICY_USER_CHANGE_THEME']) {
- exec (HESTIA_CMD."v-change-sys-config-value POLICY_USER_CHANGE_THEME ".escapeshellarg($_POST['v_policy_user_change_theme']), $output, $return_var);
- check_return_code($return_var,$output);
- unset($output);
- if ($_POST['v_policy_user_change_theme']) {
- unset ($_SESSION['userTheme']);
- $require_refresh = true;
- }
- if (empty($_SESSION['error_msg'])) $v_policy_user_change_theme = $_POST['v_policy_user_change_theme'];
- }
+ if ($_POST['v_policy_user_change_theme'] == 'on') {
+ $_POST['v_policy_user_change_theme'] = 'no';
+ } else {
+ $_POST['v_policy_user_change_theme'] = 'yes';
}
+ {
+ if ($_POST['v_policy_user_change_theme'] != $_SESSION['POLICY_USER_CHANGE_THEME']) {
+ exec(HESTIA_CMD."v-change-sys-config-value POLICY_USER_CHANGE_THEME ".escapeshellarg($_POST['v_policy_user_change_theme']), $output, $return_var);
+ check_return_code($return_var, $output);
+ unset($output);
+ if ($_POST['v_policy_user_change_theme']) {
+ unset($_SESSION['userTheme']);
+ $require_refresh = true;
+ }
+ if (empty($_SESSION['error_msg'])) {
+ $v_policy_user_change_theme = $_POST['v_policy_user_change_theme'];
+ }
+ }
+ }
}
// Change POLICY_SYSTEM_HIDE_ADMIN
if (empty($_SESSION['error_msg'])) {
if ($_POST['v_policy_system_hide_admin'] != $_SESSION['POLICY_SYSTEM_HIDE_ADMIN']) {
- exec (HESTIA_CMD."v-change-sys-config-value POLICY_SYSTEM_HIDE_ADMIN ".escapeshellarg($_POST['v_policy_system_hide_admin']), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-sys-config-value POLICY_SYSTEM_HIDE_ADMIN ".escapeshellarg($_POST['v_policy_system_hide_admin']), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $v_policy_system_hide_admin = $_POST['v_policy_system_hide_admin'];
+ if (empty($_SESSION['error_msg'])) {
+ $v_policy_system_hide_admin = $_POST['v_policy_system_hide_admin'];
+ }
$v_security_adv = 'yes';
}
}
@@ -850,10 +1086,12 @@
// Change POLICY_SYSTEM_HIDE_SERVICES
if (empty($_SESSION['error_msg'])) {
if ($_POST['v_policy_system_hide_services'] != $_SESSION['POLICY_SYSTEM_HIDE_SERVICES']) {
- exec (HESTIA_CMD."v-change-sys-config-value POLICY_SYSTEM_HIDE_SERVICES ".escapeshellarg($_POST['v_policy_system_hide_services']), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-sys-config-value POLICY_SYSTEM_HIDE_SERVICES ".escapeshellarg($_POST['v_policy_system_hide_services']), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $v_policy_system_hide_services = $_POST['v_policy_system_hide_services'];
+ if (empty($_SESSION['error_msg'])) {
+ $v_policy_system_hide_services = $_POST['v_policy_system_hide_services'];
+ }
$v_security_adv = 'yes';
}
}
@@ -861,60 +1099,66 @@
// Change login style
if (empty($_SESSION['error_msg'])) {
if ($_POST['v_login_style'] != $_SESSION['LOGIN_STYLE']) {
- exec (HESTIA_CMD."v-change-sys-config-value LOGIN_STYLE ".escapeshellarg($_POST['v_login_style']), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-sys-config-value LOGIN_STYLE ".escapeshellarg($_POST['v_login_style']), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $v_login_style = $_POST['v_login_style'];
+ if (empty($_SESSION['error_msg'])) {
+ $v_login_style = $_POST['v_login_style'];
+ }
$v_security_adv = 'yes';
}
}
-
+
if (empty($_SESSION['error_msg'])) {
if ($_POST['v_api_allowed_ip'] != $_SESSION['API_ALLOWED_IP']) {
$ips = array();
- foreach(explode("\n",$_POST['v_api_allowed_ip']) as $ip){
+ foreach (explode("\n", $_POST['v_api_allowed_ip']) as $ip) {
if ($ip != "allow-all") {
- if(filter_var(trim($ip), FILTER_VALIDATE_IP)){
+ if (filter_var(trim($ip), FILTER_VALIDATE_IP)) {
$ips[] = trim($ip);
}
- }else{
+ } else {
$ips[] = trim($ip);
}
}
- if(implode(',',$ips) != $_SESSION['API_ALLOWED_IP']){
- exec (HESTIA_CMD."v-change-sys-config-value API_ALLOWED_IP ".escapeshellarg(implode(',',$ips)), $output, $return_var);
- check_return_code($return_var,$output);
- unset($output);
- if (empty($_SESSION['error_msg'])) $v_login_style = $_POST['v_api_allowed_ip'];
+ if (implode(',', $ips) != $_SESSION['API_ALLOWED_IP']) {
+ exec(HESTIA_CMD."v-change-sys-config-value API_ALLOWED_IP ".escapeshellarg(implode(',', $ips)), $output, $return_var);
+ check_return_code($return_var, $output);
+ unset($output);
+ if (empty($_SESSION['error_msg'])) {
+ $v_login_style = $_POST['v_api_allowed_ip'];
+ }
$v_security_adv = 'yes';
}
}
}
-
+
if (empty($_SESSION['error_msg'])) {
if ($_POST['v_api'] != $_SESSION['API']) {
$api_status = 'disable';
- if ($_POST['v_api'] == 'yes'){
+ if ($_POST['v_api'] == 'yes') {
$api_status = 'enable';
}
- exec (HESTIA_CMD."v-change-sys-api ".escapeshellarg($api_status), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-sys-api ".escapeshellarg($api_status), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
- if (empty($_SESSION['error_msg'])) $v_login_style = $_POST['v_api'];
+ if (empty($_SESSION['error_msg'])) {
+ $v_login_style = $_POST['v_api'];
+ }
$v_security_adv = 'yes';
}
}
// Update SSL certificate
if ((!empty($_POST['v_ssl_crt'])) && (empty($_SESSION['error_msg']))) {
- if (($v_ssl_crt != str_replace("\r\n", "\n", $_POST['v_ssl_crt'])) || ($v_ssl_key != str_replace("\r\n", "\n", $_POST['v_ssl_key']))) {
- exec ('mktemp -d', $mktemp_output, $return_var);
+ if (($v_ssl_crt != str_replace("\r\n", "\n", $_POST['v_ssl_crt'])) || ($v_ssl_key != str_replace("\r\n", "\n", $_POST['v_ssl_key']))) {
+ exec('mktemp -d', $mktemp_output, $return_var);
$tmpdir = $mktemp_output[0];
// Certificate
if (!empty($_POST['v_ssl_crt'])) {
$fp = fopen($tmpdir."/certificate.crt", 'w');
- fwrite($fp, str_replace("\r\n", "\n", $_POST['v_ssl_crt']));
+ fwrite($fp, str_replace("\r\n", "\n", $_POST['v_ssl_crt']));
fwrite($fp, "\n");
fclose($fp);
}
@@ -927,12 +1171,12 @@
fclose($fp);
}
- exec (HESTIA_CMD."v-change-sys-hestia-ssl ".$tmpdir, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-sys-hestia-ssl ".$tmpdir, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
// List ssl certificate info
- exec (HESTIA_CMD."v-list-sys-hestia-ssl json", $output, $return_var);
+ exec(HESTIA_CMD."v-list-sys-hestia-ssl json", $output, $return_var);
$ssl_str = json_decode(implode('', $output), true);
unset($output);
$v_ssl_crt = $ssl_str['HESTIA']['CRT'];
@@ -947,8 +1191,12 @@
$v_ssl_issuer = $ssl_str['HESTIA']['ISSUER'];
// Cleanup certificate tempfiles
- if (file_exists($tmpdir . '/certificate.crt')) unlink($tmpdir . '/certificate.crt');
- if (file_exists($tmpdir . '/certificate.key')) unlink($tmpdir . '/certificate.key');
+ if (file_exists($tmpdir . '/certificate.crt')) {
+ unlink($tmpdir . '/certificate.crt');
+ }
+ if (file_exists($tmpdir . '/certificate.key')) {
+ unlink($tmpdir . '/certificate.key');
+ }
rmdir($tmpdir);
}
}
@@ -957,16 +1205,16 @@
if (empty($_SESSION['error_msg'])) {
$_SESSION['ok_msg'] = _('Changes has been saved.');
}
- if ($require_refresh == true){
+ if ($require_refresh == true) {
$refresh = $_SERVER['REQUEST_URI'];
$_SESSION['ok_msg'] = _('Changes has been saved.');
header("Location: $refresh");
die();
}
}
-
+
// Check system configuration
-exec (HESTIA_CMD . "v-list-sys-config json", $output, $return_var);
+exec(HESTIA_CMD . "v-list-sys-config json", $output, $return_var);
$data = json_decode(implode('', $output), true);
unset($output);
diff --git a/web/edit/server/mariadb/index.php b/web/edit/server/mariadb/index.php
index 5eb4975bcc..9b21d8745d 100644
--- a/web/edit/server/mariadb/index.php
+++ b/web/edit/server/mariadb/index.php
@@ -1,12 +1,13 @@
$error) {
- if ( $i == 0 ) {
+ if ($i == 0) {
$error_msg = $error;
} else {
$error_msg = $error_msg.", ".$error;
}
}
- $_SESSION['error_msg'] = _('Field "%s" can not be blank.',$error_msg);
+ $_SESSION['error_msg'] = _('Field "%s" can not be blank.', $error_msg);
} else {
- exec ('mktemp -d', $mktemp_output, $return_var);
+ exec('mktemp -d', $mktemp_output, $return_var);
$tmpdir = $mktemp_output[0];
// Certificate
@@ -565,14 +584,14 @@
fwrite($fp, str_replace("\r\n", "\n", $_POST['v_ssl_ca']));
fclose($fp);
}
- exec (HESTIA_CMD."v-add-web-domain-ssl ".$user." ".escapeshellarg($v_domain)." ".$tmpdir." ".$v_ssl_home." 'no'", $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-web-domain-ssl ".$user." ".escapeshellarg($v_domain)." ".$tmpdir." ".$v_ssl_home." 'no'", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
$v_ssl = 'yes';
$restart_web = 'yes';
$restart_proxy = 'yes';
- exec (HESTIA_CMD."v-list-web-domain-ssl ".$user." ".escapeshellarg($v_domain)." json", $output, $return_var);
+ exec(HESTIA_CMD."v-list-web-domain-ssl ".$user." ".escapeshellarg($v_domain)." json", $output, $return_var);
$ssl_str = json_decode(implode('', $output), true);
unset($output);
$v_ssl_crt = $ssl_str[$v_domain]['CRT'];
@@ -587,17 +606,23 @@
$v_ssl_issuer = $ssl_str[$v_domain]['ISSUER'];
// Cleanup certificate tempfiles
- if (!empty($_POST['v_ssl_crt'])) unlink($tmpdir."/".$v_domain.".crt");
- if (!empty($_POST['v_ssl_key'])) unlink($tmpdir."/".$v_domain.".key");
- if (!empty($_POST['v_ssl_ca'])) unlink($tmpdir."/".$v_domain.".ca");
+ if (!empty($_POST['v_ssl_crt'])) {
+ unlink($tmpdir."/".$v_domain.".crt");
+ }
+ if (!empty($_POST['v_ssl_key'])) {
+ unlink($tmpdir."/".$v_domain.".key");
+ }
+ if (!empty($_POST['v_ssl_ca'])) {
+ unlink($tmpdir."/".$v_domain.".ca");
+ }
rmdir($tmpdir);
}
}
-
+
// Add Force SSL
if ((!empty($_POST['v_ssl_forcessl'])) && (!empty($_POST['v_ssl'])) && (empty($_SESSION['error_msg']))) {
- exec (HESTIA_CMD."v-add-web-domain-ssl-force ".$user." ".escapeshellarg($v_domain), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-web-domain-ssl-force ".$user." ".escapeshellarg($v_domain), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
$v_ssl_forcessl = 'yes';
$restart_web = 'yes';
@@ -606,18 +631,18 @@
// Add SSL HSTS
if ((!empty($_POST['v_ssl_hsts'])) && (!empty($_POST['v_ssl'])) && (empty($_SESSION['error_msg']))) {
- exec (HESTIA_CMD."v-add-web-domain-ssl-hsts ".$user." ".escapeshellarg($v_domain), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-web-domain-ssl-hsts ".$user." ".escapeshellarg($v_domain), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
$v_ssl_hsts = 'yes';
$restart_web = 'yes';
$restart_proxy = 'yes';
}
-
+
// Delete Force SSL
- if (( $v_ssl_forcessl == 'yes' ) && (empty($_POST['v_ssl_forcessl'])) && (empty($_SESSION['error_msg']))) {
- exec (HESTIA_CMD."v-delete-web-domain-ssl-force ".$user." ".escapeshellarg($v_domain), $output, $return_var);
- check_return_code($return_var,$output);
+ if (($v_ssl_forcessl == 'yes') && (empty($_POST['v_ssl_forcessl'])) && (empty($_SESSION['error_msg']))) {
+ exec(HESTIA_CMD."v-delete-web-domain-ssl-force ".$user." ".escapeshellarg($v_domain), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
$v_ssl_forcessl = 'no';
$restart_web = 'yes';
@@ -625,9 +650,9 @@
}
// Delete SSL HSTS
- if (( $v_ssl_hsts == 'yes' ) && (empty($_POST['v_ssl_hsts'])) && (empty($_SESSION['error_msg']))) {
- exec (HESTIA_CMD."v-delete-web-domain-ssl-hsts ".$user." ".escapeshellarg($v_domain), $output, $return_var);
- check_return_code($return_var,$output);
+ if (($v_ssl_hsts == 'yes') && (empty($_POST['v_ssl_hsts'])) && (empty($_SESSION['error_msg']))) {
+ exec(HESTIA_CMD."v-delete-web-domain-ssl-hsts ".$user." ".escapeshellarg($v_domain), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
$v_ssl_hsts = 'no';
$restart_web = 'yes';
@@ -636,8 +661,8 @@
// Delete web stats
if ((!empty($v_stats)) && ($_POST['v_stats'] == 'none') && (empty($_SESSION['error_msg']))) {
- exec (HESTIA_CMD."v-delete-web-domain-stats ".$v_username." ".escapeshellarg($v_domain), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-delete-web-domain-stats ".$v_username." ".escapeshellarg($v_domain), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
$v_stats = '';
}
@@ -645,23 +670,23 @@
// Change web stats engine
if ((!empty($v_stats)) && ($_POST['v_stats'] != $v_stats) && (empty($_SESSION['error_msg']))) {
$v_stats = escapeshellarg($_POST['v_stats']);
- exec (HESTIA_CMD."v-change-web-domain-stats ".$v_username." ".escapeshellarg($v_domain)." ".$v_stats, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-change-web-domain-stats ".$v_username." ".escapeshellarg($v_domain)." ".$v_stats, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
// Add web stats
if ((empty($v_stats)) && ($_POST['v_stats'] != 'none') && (empty($_SESSION['error_msg']))) {
$v_stats = escapeshellarg($_POST['v_stats']);
- exec (HESTIA_CMD."v-add-web-domain-stats ".$v_username." ".escapeshellarg($v_domain)." ".$v_stats, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-web-domain-stats ".$v_username." ".escapeshellarg($v_domain)." ".$v_stats, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
// Delete web stats authorization
if ((!empty($v_stats_user)) && (empty($_POST['v_stats_auth'])) && (empty($_SESSION['error_msg']))) {
- exec (HESTIA_CMD."v-delete-web-domain-stats-user ".$v_username." ".escapeshellarg($v_domain), $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-delete-web-domain-stats-user ".$v_username." ".escapeshellarg($v_domain), $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
$v_stats_user = '';
$v_stats_password = '';
@@ -669,24 +694,26 @@
// Change web stats user or password
if ((empty($v_stats_user)) && (!empty($_POST['v_stats_auth'])) && (empty($_SESSION['error_msg']))) {
- if (empty($_POST['v_stats_user'])) $errors[] = _('stats username');
+ if (empty($_POST['v_stats_user'])) {
+ $errors[] = _('stats username');
+ }
if (!empty($errors[0])) {
foreach ($errors as $i => $error) {
- if ( $i == 0 ) {
+ if ($i == 0) {
$error_msg = $error;
} else {
$error_msg = $error_msg.", ".$error;
}
}
- $_SESSION['error_msg'] = _('Field "%s" can not be blank.',$error_msg);
+ $_SESSION['error_msg'] = _('Field "%s" can not be blank.', $error_msg);
} else {
$v_stats_user = escapeshellarg($_POST['v_stats_user']);
- $v_stats_password = tempnam("/tmp","vst");
+ $v_stats_password = tempnam("/tmp", "vst");
$fp = fopen($v_stats_password, "w");
fwrite($fp, $_POST['v_stats_password']."\n");
fclose($fp);
- exec (HESTIA_CMD."v-add-web-domain-stats-user ".$v_username." ".escapeshellarg($v_domain)." ".$v_stats_user." ".$v_stats_password, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-web-domain-stats-user ".$v_username." ".escapeshellarg($v_domain)." ".$v_stats_user." ".$v_stats_password, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
unlink($v_stats_password);
$v_stats_password = escapeshellarg($_POST['v_stats_password']);
@@ -695,25 +722,27 @@
// Add web stats authorization
if ((!empty($v_stats_user)) && (!empty($_POST['v_stats_auth'])) && (empty($_SESSION['error_msg']))) {
- if (empty($_POST['v_stats_user'])) $errors[] = _('stats user');
+ if (empty($_POST['v_stats_user'])) {
+ $errors[] = _('stats user');
+ }
if (!empty($errors[0])) {
foreach ($errors as $i => $error) {
- if ( $i == 0 ) {
+ if ($i == 0) {
$error_msg = $error;
} else {
$error_msg = $error_msg.", ".$error;
}
}
- $_SESSION['error_msg'] = _('Field "%s" can not be blank.',$error_msg);
+ $_SESSION['error_msg'] = _('Field "%s" can not be blank.', $error_msg);
}
if (($v_stats_user != $_POST['v_stats_user']) || (!empty($_POST['v_stats_password'])) && (empty($_SESSION['error_msg']))) {
$v_stats_user = escapeshellarg($_POST['v_stats_user']);
- $v_stats_password = tempnam("/tmp","vst");
+ $v_stats_password = tempnam("/tmp", "vst");
$fp = fopen($v_stats_password, "w");
fwrite($fp, $_POST['v_stats_password']."\n");
fclose($fp);
- exec (HESTIA_CMD."v-add-web-domain-stats-user ".$v_username." ".escapeshellarg($v_domain)." ".$v_stats_user." ".$v_stats_password, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-web-domain-stats-user ".$v_username." ".escapeshellarg($v_domain)." ".$v_stats_user." ".$v_stats_password, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
unlink($v_stats_password);
$v_stats_password = escapeshellarg($_POST['v_stats_password']);
@@ -730,17 +759,21 @@
$v_ftp_user_data['v_ftp_user'] = preg_replace("/^".$user."_/i", "", $v_ftp_user_data['v_ftp_user']);
if ($v_ftp_user_data['is_new'] == 1 && !empty($_POST['v_ftp'])) {
- if ((!empty($v_ftp_user_data['v_ftp_email'])) && (!filter_var($v_ftp_user_data['v_ftp_email'], FILTER_VALIDATE_EMAIL))) $_SESSION['error_msg'] = _('Please enter valid email address.');
- if (empty($v_ftp_user_data['v_ftp_user'])) $errors[] = 'ftp user';
+ if ((!empty($v_ftp_user_data['v_ftp_email'])) && (!filter_var($v_ftp_user_data['v_ftp_email'], FILTER_VALIDATE_EMAIL))) {
+ $_SESSION['error_msg'] = _('Please enter valid email address.');
+ }
+ if (empty($v_ftp_user_data['v_ftp_user'])) {
+ $errors[] = 'ftp user';
+ }
if (!empty($errors[0])) {
foreach ($errors as $i => $error) {
- if ( $i == 0 ) {
+ if ($i == 0) {
$error_msg = $error;
} else {
$error_msg = $error_msg.", ".$error;
}
}
- $_SESSION['error_msg'] = _('Field "%s" can not be blank.',$error_msg);
+ $_SESSION['error_msg'] = _('Field "%s" can not be blank.', $error_msg);
}
// Add ftp account
@@ -749,19 +782,19 @@
$v_ftp_user = escapeshellarg($v_ftp_username);
$v_ftp_path = escapeshellarg(trim($v_ftp_user_data['v_ftp_path']));
if (empty($_SESSION['error_msg'])) {
- $v_ftp_password = tempnam("/tmp","vst");
+ $v_ftp_password = tempnam("/tmp", "vst");
$fp = fopen($v_ftp_password, "w");
fwrite($fp, $v_ftp_user_data['v_ftp_password']."\n");
fclose($fp);
- exec (HESTIA_CMD."v-add-web-domain-ftp ".$v_username." ".escapeshellarg($v_domain)." ".$v_ftp_user." ".$v_ftp_password . " " . $v_ftp_path, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-add-web-domain-ftp ".$v_username." ".escapeshellarg($v_domain)." ".$v_ftp_user." ".$v_ftp_password . " " . $v_ftp_path, $output, $return_var);
+ check_return_code($return_var, $output);
if ((!empty($v_ftp_user_data['v_ftp_email'])) && (empty($_SESSION['error_msg']))) {
$to = $v_ftp_user_data['v_ftp_email'];
$subject = _("FTP login credentials");
$hostname = exec('hostname');
$from = "noreply@".$hostname;
$from_name = _('Hestia Control Panel');
- $mailtext = sprintf(_('FTP_ACCOUNT_READY'),escapeshellarg($_GET['domain']),$user,$v_ftp_username,$v_ftp_user_data['v_ftp_password']);
+ $mailtext = sprintf(_('FTP_ACCOUNT_READY'), escapeshellarg($_GET['domain']), $user, $v_ftp_username, $v_ftp_user_data['v_ftp_password']);
send_email($to, $subject, $mailtext, $from, $from_name);
unset($v_ftp_email);
}
@@ -773,8 +806,7 @@
if ($return_var == 0) {
$v_ftp_password = "";
$v_ftp_user_data['is_new'] = 0;
- }
- else {
+ } else {
$v_ftp_user_data['is_new'] = 1;
}
@@ -793,42 +825,44 @@
// Delete FTP account
if ($v_ftp_user_data['delete'] == 1) {
$v_ftp_username = $user . '_' . $v_ftp_user_data['v_ftp_user'];
- exec (HESTIA_CMD."v-delete-web-domain-ftp ".$v_username." ".escapeshellarg($v_domain)." ".$v_ftp_username, $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-delete-web-domain-ftp ".$v_username." ".escapeshellarg($v_domain)." ".$v_ftp_username, $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
continue;
}
if (!empty($_POST['v_ftp'])) {
- if (empty($v_ftp_user_data['v_ftp_user'])) $errors[] = _('ftp user');
+ if (empty($v_ftp_user_data['v_ftp_user'])) {
+ $errors[] = _('ftp user');
+ }
if (!empty($errors[0])) {
foreach ($errors as $i => $error) {
- if ( $i == 0 ) {
+ if ($i == 0) {
$error_msg = $error;
} else {
$error_msg = $error_msg.", ".$error;
}
}
- $_SESSION['error_msg'] = _('Field "%s" can not be blank.',$error_msg);
+ $_SESSION['error_msg'] = _('Field "%s" can not be blank.', $error_msg);
}
// Change FTP account path
$v_ftp_username_for_emailing = $v_ftp_user_data['v_ftp_user'];
$v_ftp_username = $user . '_' . $v_ftp_user_data['v_ftp_user']; //preg_replace("/^".$user."_/", "", $v_ftp_user_data['v_ftp_user']);
$v_ftp_username = escapeshellarg($v_ftp_username);
- $v_ftp_path = escapeshellarg(trim($v_ftp_user_data['v_ftp_path']));
- if(escapeshellarg(trim($v_ftp_user_data['v_ftp_path_prev'])) != $v_ftp_path) {
- exec (HESTIA_CMD."v-change-web-domain-ftp-path ".$v_username." ".escapeshellarg($v_domain)." ".$v_ftp_username." ".$v_ftp_path, $output, $return_var);
- }
+ $v_ftp_path = escapeshellarg(trim($v_ftp_user_data['v_ftp_path']));
+ if (escapeshellarg(trim($v_ftp_user_data['v_ftp_path_prev'])) != $v_ftp_path) {
+ exec(HESTIA_CMD."v-change-web-domain-ftp-path ".$v_username." ".escapeshellarg($v_domain)." ".$v_ftp_username." ".$v_ftp_path, $output, $return_var);
+ }
// Change FTP account password
if (!empty($v_ftp_user_data['v_ftp_password'])) {
- $v_ftp_password = tempnam("/tmp","vst");
+ $v_ftp_password = tempnam("/tmp", "vst");
$fp = fopen($v_ftp_password, "w");
fwrite($fp, $v_ftp_user_data['v_ftp_password']."\n");
fclose($fp);
- exec (HESTIA_CMD."v-change-web-domain-ftp-password ".$v_username." ".escapeshellarg($v_domain)." ".$v_ftp_username." ".$v_ftp_password, $output, $return_var);
+ exec(HESTIA_CMD."v-change-web-domain-ftp-password ".$v_username." ".escapeshellarg($v_domain)." ".$v_ftp_username." ".$v_ftp_password, $output, $return_var);
unlink($v_ftp_password);
$to = $v_ftp_user_data['v_ftp_email'];
@@ -836,7 +870,7 @@
$hostname = exec('hostname');
$from = "noreply@".$hostname;
$from_name = _('Hestia Control Panel');
- $mailtext = _('FTP_ACCOUNT_READY',escapeshellarg($_GET['domain']),$user,$v_ftp_username_for_emailing,$v_ftp_user_data['v_ftp_password']);
+ $mailtext = _('FTP_ACCOUNT_READY', escapeshellarg($_GET['domain']), $user, $v_ftp_username_for_emailing, $v_ftp_user_data['v_ftp_password']);
send_email($to, $subject, $mailtext, $from, $from_name);
unset($v_ftp_email);
}
@@ -854,92 +888,89 @@
}
}
}
- //custom docoot with check box disabled
- if( !empty($v_custom_doc_root) && empty($_POST['v_custom_doc_root_check']) ){
- exec(HESTIA_CMD."v-change-web-domain-docroot ".$v_username." ".escapeshellarg($v_domain)." default", $output, $return_var);
- check_return_code($return_var,$output);
- unset($output);
+ //custom docoot with check box disabled
+ if (!empty($v_custom_doc_root) && empty($_POST['v_custom_doc_root_check'])) {
+ exec(HESTIA_CMD."v-change-web-domain-docroot ".$v_username." ".escapeshellarg($v_domain)." default", $output, $return_var);
+ check_return_code($return_var, $output);
+ unset($output);
unset($_POST['v-custom-doc-domain'], $_POST['v-custom-doc-folder']);
$restart_web = 'yes';
- $restart_proxy = 'yes';
+ $restart_proxy = 'yes';
}
- if ( !empty($_POST['v-custom-doc-domain']) && !empty($_POST['v_custom_doc_root_check']) && $v_custom_doc_root_prepath.$v_custom_doc_domain.'/public_html'.$v_custom_doc_folder != $v_custom_doc_root){
- if($_POST['v-custom-doc-domain'] == $v_domain && empty($_POST['v-custom-doc-folder'])){
- exec(HESTIA_CMD."v-change-web-domain-docroot ".$v_username." ".escapeshellarg($v_domain)." default", $output, $return_var);
- check_return_code($return_var,$output);
- unset($output);
- }else{
- $v_custom_doc_folder = escapeshellarg(rtrim($_POST['v-custom-doc-folder'],'/'));
+ if (!empty($_POST['v-custom-doc-domain']) && !empty($_POST['v_custom_doc_root_check']) && $v_custom_doc_root_prepath.$v_custom_doc_domain.'/public_html'.$v_custom_doc_folder != $v_custom_doc_root) {
+ if ($_POST['v-custom-doc-domain'] == $v_domain && empty($_POST['v-custom-doc-folder'])) {
+ exec(HESTIA_CMD."v-change-web-domain-docroot ".$v_username." ".escapeshellarg($v_domain)." default", $output, $return_var);
+ check_return_code($return_var, $output);
+ unset($output);
+ } else {
+ $v_custom_doc_folder = escapeshellarg(rtrim($_POST['v-custom-doc-folder'], '/'));
$v_custom_doc_domain = escapeshellarg($_POST['v-custom-doc-domain']);
-
- exec(HESTIA_CMD."v-change-web-domain-docroot ".$v_username." ".escapeshellarg($v_domain)." ".$v_custom_doc_domain." ".$v_custom_doc_folder ." yes", $output, $return_var);
- check_return_code($return_var,$output);
- unset($output);
- $v_custom_doc_root = 1;
-
+
+ exec(HESTIA_CMD."v-change-web-domain-docroot ".$v_username." ".escapeshellarg($v_domain)." ".$v_custom_doc_domain." ".$v_custom_doc_folder ." yes", $output, $return_var);
+ check_return_code($return_var, $output);
+ unset($output);
+ $v_custom_doc_root = 1;
}
$restart_web = 'yes';
$restart_proxy = 'yes';
- }else{
+ } else {
unset($v_custom_doc_root);
- }
-
- if ( !empty($v_redirect) && empty($_POST['v-redirect-checkbox']) ) {
- exec(HESTIA_CMD."v-delete-web-domain-redirect ".$v_username." ".escapeshellarg($v_domain), $output, $return_var);
- check_return_code($return_var,$output);
- unset($output);
+ }
+
+ if (!empty($v_redirect) && empty($_POST['v-redirect-checkbox'])) {
+ exec(HESTIA_CMD."v-delete-web-domain-redirect ".$v_username." ".escapeshellarg($v_domain), $output, $return_var);
+ check_return_code($return_var, $output);
+ unset($output);
unset($_POST['v-redirect']);
$restart_web = 'yes';
$restart_proxy = 'yes';
}
-
- if (!empty($_POST['v-redirect']) && !empty($_POST['v-redirect-checkbox']) ){
- if (empty($v_redirect)){
- if ($_POST['v-redirect'] == 'custom' && empty($_POST['v-redirect-custom'])){
- }else{
- if($_POST['v-redirect'] == 'custom'){
+
+ if (!empty($_POST['v-redirect']) && !empty($_POST['v-redirect-checkbox'])) {
+ if (empty($v_redirect)) {
+ if ($_POST['v-redirect'] == 'custom' && empty($_POST['v-redirect-custom'])) {
+ } else {
+ if ($_POST['v-redirect'] == 'custom') {
$_POST['v-redirect'] = $_POST['v-redirect-custom'];
}
- exec(HESTIA_CMD."v-add-web-domain-redirect ".$v_username." ".escapeshellarg($v_domain)." ".escapeshellarg($_POST['v-redirect'])." ".escapeshellarg($_POST['v-redirect-code']), $output, $return_var);
- check_return_code($return_var,$output);
- unset($output);
- $restart_web = 'yes';
- $restart_proxy = 'yes';
+ exec(HESTIA_CMD."v-add-web-domain-redirect ".$v_username." ".escapeshellarg($v_domain)." ".escapeshellarg($_POST['v-redirect'])." ".escapeshellarg($_POST['v-redirect-code']), $output, $return_var);
+ check_return_code($return_var, $output);
+ unset($output);
+ $restart_web = 'yes';
+ $restart_proxy = 'yes';
+ }
+ } else {
+ if ($_POST['v-redirect'] == 'custom') {
+ $_POST['v-redirect'] = $_POST['v-redirect-custom'];
+ }
+ if ($_POST['v-redirect'] != $v_redirect || $_POST['v-redirect-code'] != $v_redirect_code) {
+ exec(HESTIA_CMD."v-add-web-domain-redirect ".$v_username." ".escapeshellarg($v_domain)." ".escapeshellarg($_POST['v-redirect'])." ".escapeshellarg($_POST['v-redirect-code']), $output, $return_var);
+ check_return_code($return_var, $output);
+ unset($output);
+ $restart_web = 'yes';
+ $restart_proxy = 'yes';
}
-
- }else {
- if ($_POST['v-redirect'] == 'custom') {
- $_POST['v-redirect'] = $_POST['v-redirect-custom'];
- }
- if ( $_POST['v-redirect'] != $v_redirect || $_POST['v-redirect-code'] != $v_redirect_code ) {
- exec(HESTIA_CMD."v-add-web-domain-redirect ".$v_username." ".escapeshellarg($v_domain)." ".escapeshellarg($_POST['v-redirect'])." ".escapeshellarg($_POST['v-redirect-code']), $output, $return_var);
- check_return_code($return_var,$output);
- unset($output);
- $restart_web = 'yes';
- $restart_proxy = 'yes';
- }
}
-
}
// Restart web server
if (!empty($restart_web) && (empty($_SESSION['error_msg']))) {
- exec (HESTIA_CMD."v-restart-web", $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-restart-web", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
// Restart proxy server
if ((!empty($_SESSION['PROXY_SYSTEM'])) && !empty($restart_proxy) && (empty($_SESSION['error_msg']))) {
- exec (HESTIA_CMD."v-restart-proxy", $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-restart-proxy", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
// Restart dns server
if (!empty($restart_dns) && (empty($_SESSION['error_msg']))) {
- exec (HESTIA_CMD."v-restart-dns", $output, $return_var);
- check_return_code($return_var,$output);
+ exec(HESTIA_CMD."v-restart-dns", $output, $return_var);
+ check_return_code($return_var, $output);
unset($output);
}
@@ -949,7 +980,6 @@
header("Location: /edit/web/?domain=" . $v_domain);
exit();
}
-
}
diff --git a/web/generate/ssl/index.php b/web/generate/ssl/index.php
index 3ff577d9a9..dcf0d5eb1e 100644
--- a/web/generate/ssl/index.php
+++ b/web/generate/ssl/index.php
@@ -1,5 +1,6 @@
$error) {
- if ( $i == 0 ) {
+ if ($i == 0) {
$error_msg = $error;
} else {
$error_msg = $error_msg.", ".$error;
}
}
- $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'),$error_msg);
+ $_SESSION['error_msg'] = sprintf(_('Field "%s" can not be blank.'), $error_msg);
render_page($user, $TAB, 'generate_ssl');
unset($_SESSION['error_msg']);
exit;
@@ -66,7 +74,7 @@
$v_domain = escapeshellarg($_POST['v_domain']);
$waliases = preg_replace("/\n/", " ", $_POST['v_aliases']);
$waliases = preg_replace("/,/", " ", $waliases);
-$waliases = preg_replace('/\s+/', ' ',$waliases);
+$waliases = preg_replace('/\s+/', ' ', $waliases);
$waliases = trim($waliases);
$aliases = explode(" ", $waliases);
$v_aliases = escapeshellarg(str_replace(' ', "\n", $waliases));
@@ -77,7 +85,7 @@
$v_locality = escapeshellarg($_POST['v_locality']);
$v_org = escapeshellarg($_POST['v_org']);
-exec (HESTIA_CMD."v-generate-ssl-cert ".$v_domain." ".$v_email." ".$v_country." ".$v_state." ".$v_locality." ".$v_org." IT '".$v_aliases."' json", $output, $return_var);
+exec(HESTIA_CMD."v-generate-ssl-cert ".$v_domain." ".$v_email." ".$v_country." ".$v_state." ".$v_locality." ".$v_org." IT '".$v_aliases."' json", $output, $return_var);
// Revert to raw values
$v_domain = $_POST['v_domain'];
$v_email = $_POST['v_email'];
@@ -89,7 +97,9 @@
// Check return code
if ($return_var != 0) {
$error = implode('
', $output);
- if (empty($error)) $error = sprintf(_('Error code:'),$return_var);
+ if (empty($error)) {
+ $error = sprintf(_('Error code:'), $return_var);
+ }
$_SESSION['error_msg'] = $error;
render_page($user, $TAB, 'generate_ssl');
unset($_SESSION['error_msg']);
diff --git a/web/inc/main.php b/web/inc/main.php
index 87f0ec352d..78874d856d 100644
--- a/web/inc/main.php
+++ b/web/inc/main.php
@@ -11,9 +11,9 @@
define('HESTIA_CMD', '/usr/bin/sudo /usr/local/hestia/bin/');
if ($_SESSION['RELEASE_BRANCH'] == 'release' && $_SESSION['DEBUG_MODE'] == 'false') {
- define('JS_LATEST_UPDATE','v=' . $_SESSION['VERSION']);
-}else{
- define('JS_LATEST_UPDATE','r=' . time());
+ define('JS_LATEST_UPDATE', 'v=' . $_SESSION['VERSION']);
+} else {
+ define('JS_LATEST_UPDATE', 'r=' . time());
}
define('DEFAULT_PHP_VERSION', 'php-' . exec('php -r "echo (float)phpversion();"'));
@@ -22,7 +22,8 @@
require_once(dirname(__FILE__) . '/prevent_csrf.php');
-function destroy_sessions(){
+function destroy_sessions()
+{
unset($_SESSION);
session_unset();
session_destroy();
@@ -50,7 +51,7 @@ function destroy_sessions(){
}
if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) {
if (!empty($_SERVER['HTTP_CF_CONNECTING_IP'])) {
- $user_combined_ip = $_SERVER['HTTP_CF_CONNECTING_IP'];
+ $user_combined_ip = $_SERVER['HTTP_CF_CONNECTING_IP'];
}
}
@@ -59,7 +60,7 @@ function destroy_sessions(){
}
// Checking user to use session from the same IP he has been logged in
-if ($_SESSION['user_combined_ip'] != $user_combined_ip && $_SERVER['REMOTE_ADDR'] != '127.0.0.1'){
+if ($_SESSION['user_combined_ip'] != $user_combined_ip && $_SERVER['REMOTE_ADDR'] != '127.0.0.1') {
$v_user = escapeshellarg($_SESSION['user']);
$v_session_id = escapeshellarg($_SESSION['token']);
exec(HESTIA_CMD . 'v-log-user-logout ' . $v_user . ' ' . $v_session_id, $output, $return_var);
@@ -85,14 +86,14 @@ function destroy_sessions(){
// Generate CSRF Token
if (isset($_SESSION['user'])) {
- if (!isset($_SESSION['token'])){
+ if (!isset($_SESSION['token'])) {
$token = bin2hex(file_get_contents('/dev/urandom', false, null, 0, 16));
$_SESSION['token'] = $token;
}
}
-if (!defined('NO_AUTH_REQUIRED')){
- if (empty($_SESSION['LAST_ACTIVITY']) || empty($_SESSION['INACTIVE_SESSION_TIMEOUT'])){
+if (!defined('NO_AUTH_REQUIRED')) {
+ if (empty($_SESSION['LAST_ACTIVITY']) || empty($_SESSION['INACTIVE_SESSION_TIMEOUT'])) {
destroy_sessions();
header('Location: /login/');
} elseif ($_SESSION['INACTIVE_SESSION_TIMEOUT'] * 60 + $_SESSION['LAST_ACTIVITY'] < time()) {
@@ -117,22 +118,27 @@ function destroy_sessions(){
require_once(dirname(__FILE__) . '/i18n.php');
-function check_error($return_var) {
- if ( $return_var > 0 ) {
+function check_error($return_var)
+{
+ if ($return_var > 0) {
header('Location: /error/');
exit;
}
}
-function check_return_code($return_var,$output) {
+function check_return_code($return_var, $output)
+{
if ($return_var != 0) {
$error = implode('
', $output);
- if (empty($error)) $error = sprintf(_('Error code:'), $return_var);
+ if (empty($error)) {
+ $error = sprintf(_('Error code:'), $return_var);
+ }
$_SESSION['error_msg'] = $error;
}
}
-function render_page($user, $TAB, $page) {
+function render_page($user, $TAB, $page)
+{
$__template_dir = dirname(__DIR__) . '/templates/';
$__pages_js_dir = dirname(__DIR__) . '/js/pages/';
@@ -155,18 +161,37 @@ function render_page($user, $TAB, $page) {
// Including common js files
@include_once(dirname(__DIR__) . '/templates/includes/end_js.html');
// Including page specific js file
- if(file_exists($__pages_js_dir . $page . '.js'))
- echo '';
+ if (file_exists($__pages_js_dir . $page . '.js')) {
+ echo '';
+ }
// Footer
include($__template_dir . 'footer.html');
}
-function top_panel($user, $TAB) {
+// Match $_SESSION['token'] against $_GET['token'] or $_POST['token']
+// Usage: verify_csrf($_POST) or verify_csrf($_GET); Use verify_csrf($_POST,true) to return on failure instead of redirect
+function verify_csrf($method, $return = false)
+{
+ if ($method['token'] !== $_SESSION['token'] || empty($method['token'] || empty($_SESSION['token'])) {
+ if ($return === true) {
+ return false;
+ } else {
+ header('Location: /login/');
+ die();
+ }
+ } else {
+ return true;
+ }
+ }
+}
+
+function top_panel($user, $TAB)
+{
global $panel;
$command = HESTIA_CMD . 'v-list-user ' . escapeshellarg($user) . " 'json'";
- exec ($command, $output, $return_var);
- if ( $return_var > 0 ) {
+ exec($command, $output, $return_var);
+ if ($return_var > 0) {
echo 'ERROR: Unable to retrieve account details.
Please log in again.';
destroy_sessions();
header('Location: /login/');
@@ -189,10 +214,10 @@ function top_panel($user, $TAB) {
}
// Load user's selected theme and do not change it when impersonting user
- if ( (isset($panel[$user]['THEME'])) && (!isset($_SESSION['look']) )) {
+ if ((isset($panel[$user]['THEME'])) && (!isset($_SESSION['look']))) {
$_SESSION['userTheme'] = $panel[$user]['THEME'];
}
-
+
// Unset userTheme override variable if POLICY_USER_CHANGE_THEME is set to no
if ($_SESSION['POLICY_USER_CHANGE_THEME'] === 'no') {
unset($_SESSION['userTheme']);
@@ -202,7 +227,7 @@ function top_panel($user, $TAB) {
if (!isset($_SESSION['look'])) {
$_SESSION['userSortOrder'] = $panel[$user]['PREF_UI_SORT'];
}
-
+
// Set home location URLs
if (($_SESSION['userContext'] === 'admin') && (!isset($_SESSION['look']))) {
// Display users list for administrators unless they are impersonating a user account
@@ -227,18 +252,20 @@ function top_panel($user, $TAB) {
include(dirname(__FILE__) . '/../templates/includes/panel.html');
}
-function translate_date($date){
+function translate_date($date)
+{
$date = strtotime($date);
return strftime('%d ', $date) . _(strftime('%b', $date)) . strftime(' %Y', $date);
}
-function humanize_time($usage) {
- if ( $usage > 60 ) {
+function humanize_time($usage)
+{
+ if ($usage > 60) {
$usage = $usage / 60;
- if ( $usage > 24 ) {
- $usage = $usage / 24;
- $usage = number_format($usage);
- return sprintf(ngettext('%d day', '%d days', $usage), $usage);
+ if ($usage > 24) {
+ $usage = $usage / 24;
+ $usage = number_format($usage);
+ return sprintf(ngettext('%d day', '%d days', $usage), $usage);
} else {
return sprintf(ngettext('%d hour', '%d hours', $usage), $usage);
}
@@ -247,12 +274,13 @@ function humanize_time($usage) {
}
}
-function humanize_usage_size($usage) {
- if ( $usage > 1024 ) {
+function humanize_usage_size($usage)
+{
+ if ($usage > 1024) {
$usage = $usage / 1024;
- if ( $usage > 1024 ) {
+ if ($usage > 1024) {
$usage = $usage / 1024 ;
- if ( $usage > 1024 ) {
+ if ($usage > 1024) {
$usage = $usage / 1024 ;
$usage = number_format($usage, 2);
} else {
@@ -265,13 +293,14 @@ function humanize_usage_size($usage) {
return $usage;
}
-function humanize_usage_measure($usage) {
+function humanize_usage_measure($usage)
+{
$measure = 'kb';
- if ( $usage > 1024 ) {
+ if ($usage > 1024) {
$usage = $usage / 1024;
- if ( $usage > 1024 ) {
- $usage = $usage / 1024 ;
- $measure = ( $usage > 1024 ) ? 'pb' : 'tb';
+ if ($usage > 1024) {
+ $usage = $usage / 1024 ;
+ $measure = ($usage > 1024) ? 'pb' : 'tb';
} else {
$measure = 'gb';
}
@@ -281,25 +310,31 @@ function humanize_usage_measure($usage) {
return $measure;
}
-function get_percentage($used,$total) {
- if (!isset($total)) $total = 0;
- if (!isset($used)) $used = 0;
- if ( $total == 0 ) {
+function get_percentage($used, $total)
+{
+ if (!isset($total)) {
+ $total = 0;
+ }
+ if (!isset($used)) {
+ $used = 0;
+ }
+ if ($total == 0) {
$percent = 0;
} else {
$percent = $used / $total;
$percent = $percent * 100;
$percent = number_format($percent, 0, '', '');
- if ( $percent < 0 ) {
+ if ($percent < 0) {
$percent = 0;
- } elseif ( $percent > 100 ) {
+ } elseif ($percent > 100) {
$percent = 100;
}
}
return $percent;
}
-function send_email($to, $subject, $mailtext, $from, $from_name, $to_name = '') {
+function send_email($to, $subject, $mailtext, $from, $from_name, $to_name = '')
+{
$mail = new PHPMailer();
if (isset($_SESSION['USE_SERVER_SMTP']) && $_SESSION['USE_SERVER_SMTP'] == "true") {
@@ -308,7 +343,7 @@ function send_email($to, $subject, $mailtext, $from, $from_name, $to_name = '')
$mail->IsSMTP();
$mail->Mailer = "smtp";
$mail->SMTPDebug = 0;
- $mail->SMTPAuth = TRUE;
+ $mail->SMTPAuth = true;
$mail->SMTPSecure = $_SESSION['SERVER_SMTP_SECURITY'];
$mail->Port = $_SESSION['SERVER_SMTP_PORT'];
$mail->Host = $_SESSION['SERVER_SMTP_HOST'];
@@ -318,9 +353,9 @@ function send_email($to, $subject, $mailtext, $from, $from_name, $to_name = '')
$mail->IsHTML(true);
$mail->ClearReplyTos();
- if (empty($to_name)){
+ if (empty($to_name)) {
$mail->AddAddress($to);
- }else{
+ } else {
$mail->AddAddress($to, $to_name);
}
$mail->SetFrom($from, $from_name);
@@ -333,20 +368,21 @@ function send_email($to, $subject, $mailtext, $from, $from_name, $to_name = '')
$mail->Send();
}
-function list_timezones() {
- foreach(['AKST', 'AKDT', 'PST', 'PDT', 'MST', 'MDT', 'CST', 'CDT', 'EST', 'EDT', 'AST', 'ADT'] as $timezone) {
+function list_timezones()
+{
+ foreach (['AKST', 'AKDT', 'PST', 'PDT', 'MST', 'MDT', 'CST', 'CDT', 'EST', 'EDT', 'AST', 'ADT'] as $timezone) {
$tz = new DateTimeZone($timezone);
- $timezone_offsets[$timezone] = $tz->getOffset(new DateTime);
+ $timezone_offsets[$timezone] = $tz->getOffset(new DateTime());
}
-
- foreach(DateTimeZone::listIdentifiers() as $timezone) {
+
+ foreach (DateTimeZone::listIdentifiers() as $timezone) {
$tz = new DateTimeZone($timezone);
- $timezone_offsets[$timezone] = $tz->getOffset(new DateTime);
+ $timezone_offsets[$timezone] = $tz->getOffset(new DateTime());
}
- foreach($timezone_offsets as $timezone => $offset) {
+ foreach ($timezone_offsets as $timezone => $offset) {
$offset_prefix = $offset < 0 ? '-' : '+';
- $offset_formatted = gmdate( 'H:i', abs($offset) );
+ $offset_formatted = gmdate('H:i', abs($offset));
$pretty_offset = "UTC${offset_prefix}${offset_formatted}";
$t = new DateTimeZone($timezone);
$c = new DateTime(null, $t);
@@ -370,18 +406,22 @@ function list_timezones() {
*
* @return string
*/
-function is_it_mysql_or_mariadb() {
- exec (HESTIA_CMD . 'v-list-sys-services json', $output, $return_var);
+function is_it_mysql_or_mariadb()
+{
+ exec(HESTIA_CMD . 'v-list-sys-services json', $output, $return_var);
$data = json_decode(implode('', $output), true);
unset($output);
$mysqltype = 'mysql';
- if (isset($data['mariadb'])) $mysqltype = 'mariadb';
+ if (isset($data['mariadb'])) {
+ $mysqltype = 'mariadb';
+ }
return $mysqltype;
}
-function load_hestia_config() {
+function load_hestia_config()
+{
// Check system configuration
- exec (HESTIA_CMD . "v-list-sys-config json", $output, $return_var);
+ exec(HESTIA_CMD . "v-list-sys-config json", $output, $return_var);
$data = json_decode(implode('', $output), true);
$sys_arr = $data['config'];
foreach ($sys_arr as $key => $value) {
@@ -394,14 +434,15 @@ function load_hestia_config() {
*
* @return array
*/
-function backendtpl_with_webdomains() {
- exec (HESTIA_CMD . 'v-list-users json', $output, $return_var);
+function backendtpl_with_webdomains()
+{
+ exec(HESTIA_CMD . 'v-list-users json', $output, $return_var);
$users = json_decode(implode('', $output), true);
unset($output);
$backend_list=[];
foreach ($users as $user => $user_details) {
- exec (HESTIA_CMD . 'v-list-web-domains '. escapeshellarg($user) . ' json', $output, $return_var);
+ exec(HESTIA_CMD . 'v-list-web-domains '. escapeshellarg($user) . ' json', $output, $return_var);
$domains = json_decode(implode('', $output), true);
unset($output);
@@ -419,6 +460,7 @@ function backendtpl_with_webdomains() {
*
* @return int; 1 / 0
*/
-function validate_password($password){
+function validate_password($password)
+{
return preg_match('/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(.){8,}$/', $password);
-}
+}
\ No newline at end of file
diff --git a/web/inc/prevent_csrf.php b/web/inc/prevent_csrf.php
index ff7c549095..8b74376861 100644
--- a/web/inc/prevent_csrf.php
+++ b/web/inc/prevent_csrf.php
@@ -1,30 +1,41 @@
= $_SESSION['POLICY_CSRF_STRICTNESS']) {
return true;
- }else{
+ } else {
echo "
Please disable any plugins/add-ons inside your browser or contact your system administrator. If you are the system administrator you can run v-change-sys-config-value 'POLICY_CSRF_STRICTNESS' '0' as root to disable this check.
". "
If you folowed a bookmark or an static link please click here";
die();
}
}
- function prevent_post_csrf(){
- if ($_SERVER['REQUEST_METHOD']=='POST') {
- $hostname = explode( ':', $_SERVER['HTTP_HOST']);
+ function prevent_post_csrf()
+ {
+ if ($_SERVER['REQUEST_METHOD']==='POST') {
+ $hostname = explode(':', $_SERVER['HTTP_HOST']);
$port=$hostname[1];
$hostname=$hostname[0];
- if (strpos($_SERVER['HTTP_ORIGIN'],gethostname()) !== false && in_array($port, array('443',$_SERVER['SERVER_PORT'])) ) {
+ if (strpos($_SERVER['HTTP_ORIGIN'], gethostname()) !== false && in_array($port, array('443',$_SERVER['SERVER_PORT']))) {
return checkStrictness(2);
- }else{
- if (strpos($_SERVER['HTTP_ORIGIN'],$hostname) !== false && in_array($port, array('443',$_SERVER['SERVER_PORT'])) ){
+ } else {
+ if (strpos($_SERVER['HTTP_ORIGIN'], $hostname) !== false && in_array($port, array('443',$_SERVER['SERVER_PORT']))) {
return checkStrictness(1);
} else {
return checkStrictness(0);
@@ -32,20 +43,21 @@ function prevent_post_csrf(){
}
}
}
-
- function prevent_get_csrf(){
- if ($_SERVER['REQUEST_METHOD']=='GET') {
- $hostname = explode( ':', $_SERVER['HTTP_HOST']);
+
+ function prevent_get_csrf()
+ {
+ if ($_SERVER['REQUEST_METHOD']==='GET') {
+ $hostname = explode(':', $_SERVER['HTTP_HOST']);
$port=$hostname[1];
$hostname=$hostname[0];
//list of possible entries route and these should never be blocked
- if (in_array($_SERVER['DOCUMENT_URI'], array('/list/user/index.php', '/login/index.php','/list/web/index.php','/list/dns/index.php','/list/mail/index.php','/list/db/index.php','/list/cron/index.php','/list/backup/index.php','/reset/index.php'))){
+ if (in_array($_SERVER['DOCUMENT_URI'], array('/list/user/index.php', '/login/index.php','/list/web/index.php','/list/dns/index.php','/list/mail/index.php','/list/db/index.php','/list/cron/index.php','/list/backup/index.php','/reset/index.php'))) {
return true;
}
- if (strpos($_SERVER['HTTP_REFERER'],gethostname()) !== false && in_array($port, array('443',$_SERVER['SERVER_PORT'])) ) {
+ if (strpos($_SERVER['HTTP_REFERER'], gethostname()) !== false && in_array($port, array('443',$_SERVER['SERVER_PORT']))) {
return checkStrictness(2);
- }else{
- if (strpos($_SERVER['HTTP_REFERER'],$hostname) !== false && in_array($port, array('443',$_SERVER['SERVER_PORT'])) ){
+ } else {
+ if (strpos($_SERVER['HTTP_REFERER'], $hostname) !== false && in_array($port, array('443',$_SERVER['SERVER_PORT']))) {
return checkStrictness(1);
} else {
return checkStrictness(0);
@@ -53,8 +65,8 @@ function prevent_get_csrf(){
}
}
}
-
- if ( $check_csrf == true){
+
+ if ($check_csrf == true) {
prevent_post_csrf();
prevent_get_csrf();
- }
\ No newline at end of file
+ }
diff --git a/web/login/index.php b/web/login/index.php
index debc1add9f..1f5213b715 100644
--- a/web/login/index.php
+++ b/web/login/index.php
@@ -21,10 +21,7 @@
// Allow administrators to view and manipulate contents of other user accounts
if (($_SESSION['userContext'] === 'admin') && (!empty($_GET['loginas']))) {
// Ensure token is passed and matches before granting user impersonation access
- if ((!$_GET['token']) || ($_SESSION['token'] != $_GET['token'])) {
- header('location: /list/user/');
- exit();
- } else {
+ if (verify_csrf($_GET)) {
$v_user = escapeshellarg($_GET['loginas']);
$v_impersonator = escapeshellarg($_SESSION['user']);
exec(HESTIA_CMD . "v-list-user ".$v_user." json", $output, $return_var);
@@ -90,7 +87,7 @@
function authenticate_user($user, $password, $twofa = '')
{
unset($_SESSION['login']);
- if (isset($_SESSION['token']) && isset($_POST['token']) && $_POST['token'] == $_SESSION['token']) {
+ if (verify_csrf($_POST, true)) {
$v_user = escapeshellarg($user);
$ip = $_SERVER['REMOTE_ADDR'];
$user_agent = $_SERVER['HTTP_USER_AGENT'];
diff --git a/web/logout/index.php b/web/logout/index.php
index 20c4855414..6c38ccac35 100644
--- a/web/logout/index.php
+++ b/web/logout/index.php
@@ -4,10 +4,8 @@
// Main include
include($_SERVER['DOCUMENT_ROOT'] . '/inc/main.php');
-if ((!$_GET['token']) || ($_SESSION['token'] != $_GET['token'])) {
- header('location: /list/user/');
- exit();
-}
+// Check token
+verify_csrf($_POST);
if (!empty($_SESSION['look'])) {
$v_user = escapeshellarg($_SESSION['look']);
diff --git a/web/reset/index.php b/web/reset/index.php
index 3deac64cfa..e52a190034 100644
--- a/web/reset/index.php
+++ b/web/reset/index.php
@@ -12,9 +12,8 @@
include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
if ((!empty($_POST['user'])) && (empty($_POST['code']))) {
- if ($_POST['token'] != $_SESSION['token']) {
- header('Location: /');
- }
+ // Check token
+ verify_csrf($_POST);
$v_user = escapeshellarg($_POST['user']);
$user = $_POST['user'];
$email = $_POST['email'];
@@ -61,9 +60,8 @@
}
if ((!empty($_POST['user'])) && (!empty($_POST['code'])) && (!empty($_POST['password']))) {
- if ($_POST['token'] != $_SESSION['token']) {
- header('Location: /');
- }
+ // Check token
+ verify_csrf($_POST);
if ($_POST['password'] == $_POST['password_confirm']) {
$v_user = escapeshellarg($_POST['user']);
$user = $_POST['user'];
diff --git a/web/reset2fa/index.php b/web/reset2fa/index.php
index 69bcc3805c..576d6fb0dc 100644
--- a/web/reset2fa/index.php
+++ b/web/reset2fa/index.php
@@ -13,9 +13,8 @@
//Check values
if (!empty($_POST['user']) && !empty($_POST['twofa'])) {
- if ($_POST['token'] != $_SESSION['token']) {
- header('Location: /');
- }
+ // Check token
+ verify_csrf($_POST);
$error = true;
$v_user = escapeshellarg($_POST['user']);
$user = $_POST['user'];
diff --git a/web/restart/service/index.php b/web/restart/service/index.php
index 23c052432a..27bd1a822a 100644
--- a/web/restart/service/index.php
+++ b/web/restart/service/index.php
@@ -1,29 +1,29 @@
', $output);
- if (empty($error)) $error = _('Restart "%s" failed',$v_service);
- $_SESSION['error_msg'] = $error;
+ if (empty($error)) {
+ $error = _('Restart "%s" failed', $v_service);
+ }
+ $_SESSION['error_msg'] = $error;
}
unset($output);
}
diff --git a/web/restart/system/index.php b/web/restart/system/index.php
index 04de90c40f..73c6ad25c2 100644
--- a/web/restart/system/index.php
+++ b/web/restart/system/index.php
@@ -1,18 +1,16 @@
', $output);
- if (empty($error)) $error = _('Start "%s" failed',$v_service);;
- $_SESSION['error_srv'] = $error;
+ if (empty($error)) {
+ $error = _('Start "%s" failed', $v_service);
+ };
+ $_SESSION['error_srv'] = $error;
}
unset($output);
}
diff --git a/web/stop/service/index.php b/web/stop/service/index.php
index 1756df9b3d..8637a735d4 100644
--- a/web/stop/service/index.php
+++ b/web/stop/service/index.php
@@ -1,23 +1,21 @@
', $output);
- if (empty($error)) $error = _('Error: Hestia did not return any output.');
+ if (empty($error)) {
+ $error = _('Error: Hestia did not return any output.');
+ }
$_SESSION['error_msg'] = $error;
}
unset($output);
@@ -32,14 +32,16 @@
}
// DNS record
-if ((!empty($_GET['domain'])) && (!empty($_GET['record_id']))) {
+if ((!empty($_GET['domain'])) && (!empty($_GET['record_id']))) {
$v_username = escapeshellarg($user);
$v_domain = escapeshellarg($_GET['domain']);
$v_record_id = escapeshellarg($_GET['record_id']);
- exec (HESTIA_CMD."v-unsuspend-dns-record ".$v_username." ".$v_domain." ".$v_record_id, $output, $return_var);
+ exec(HESTIA_CMD."v-unsuspend-dns-record ".$v_username." ".$v_domain." ".$v_record_id, $output, $return_var);
if ($return_var != 0) {
$error = implode('
', $output);
- if (empty($error)) $error = _('Error: Hestia did not return any output.');
+ if (empty($error)) {
+ $error = _('Error: Hestia did not return any output.');
+ }
$_SESSION['error_msg'] = $error;
}
unset($output);
diff --git a/web/unsuspend/firewall/index.php b/web/unsuspend/firewall/index.php
index 92d404b7c4..88192694d7 100644
--- a/web/unsuspend/firewall/index.php
+++ b/web/unsuspend/firewall/index.php
@@ -1,27 +1,25 @@
', $output);
- if (empty($error)) $error = _('Error: Hestia did not return any output.');
+ if (empty($error)) {
+ $error = _('Error: Hestia did not return any output.');
+ }
$_SESSION['error_msg'] = $error;
}
unset($output);
@@ -32,14 +32,16 @@
}
// Mail account
-if ((!empty($_GET['domain'])) && (!empty($_GET['account']))) {
+if ((!empty($_GET['domain'])) && (!empty($_GET['account']))) {
$v_username = escapeshellarg($user);
$v_domain = escapeshellarg($_GET['domain']);
$v_account = escapeshellarg($_GET['account']);
- exec (HESTIA_CMD."v-unsuspend-mail-account ".$v_username." ".$v_domain." ".$v_account, $output, $return_var);
+ exec(HESTIA_CMD."v-unsuspend-mail-account ".$v_username." ".$v_domain." ".$v_account, $output, $return_var);
if ($return_var != 0) {
$error = implode('
', $output);
- if (empty($error)) $error = _('Error: Hestia did not return any output.');
+ if (empty($error)) {
+ $error = _('Error: Hestia did not return any output.');
+ }
$_SESSION['error_msg'] = $error;
}
unset($output);
diff --git a/web/unsuspend/user/index.php b/web/unsuspend/user/index.php
index 232abe8eba..bc9fc2a687 100644
--- a/web/unsuspend/user/index.php
+++ b/web/unsuspend/user/index.php
@@ -1,28 +1,26 @@
', $output);
if (empty($error)) {
- $error = sprintf(_('Error: %s update failed',$v_pkg));
+ $error = sprintf(_('Error: %s update failed', $v_pkg));
$_SESSION['error_msg'] = $error;
}
}
From cb462e729dcb0ea8cbd52ecf776319da61eaa022 Mon Sep 17 00:00:00 2001
From: Jaap Marcus <9754650+jaapmarcus@users.noreply.github.com>
Date: Fri, 10 Sep 2021 11:45:49 +0200
Subject: [PATCH 2/4] Fix php error + add remove script for /edit/server/theme
---
install/upgrade/versions/1.4.13.sh | 5 +++++
web/inc/main.php | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/install/upgrade/versions/1.4.13.sh b/install/upgrade/versions/1.4.13.sh
index cebeb2c2fe..08dbf05f05 100644
--- a/install/upgrade/versions/1.4.13.sh
+++ b/install/upgrade/versions/1.4.13.sh
@@ -48,3 +48,8 @@ fi
if [ -d "$HESTIA/web/edit/file/" ]; then
rm -fr $HESTIA/web/edit/file/
fi
+
+# Not used any more
+if [ -d "$HESTIA/web/edit/server/theme/" ]; then
+ rm -fr $HESTIA/web/edit/server/theme/
+fi
diff --git a/web/inc/main.php b/web/inc/main.php
index 78874d856d..73a899d0a7 100644
--- a/web/inc/main.php
+++ b/web/inc/main.php
@@ -173,7 +173,7 @@ function render_page($user, $TAB, $page)
// Usage: verify_csrf($_POST) or verify_csrf($_GET); Use verify_csrf($_POST,true) to return on failure instead of redirect
function verify_csrf($method, $return = false)
{
- if ($method['token'] !== $_SESSION['token'] || empty($method['token'] || empty($_SESSION['token'])) {
+ if ($method['token'] !== $_SESSION['token'] || empty($method['token']) || empty($_SESSION['token'])) {
if ($return === true) {
return false;
} else {
From 3fec4353b3d834640d10e2ee38fe70e8f436460c Mon Sep 17 00:00:00 2001
From: Jaap Marcus <9754650+jaapmarcus@users.noreply.github.com>
Date: Fri, 10 Sep 2021 11:56:04 +0200
Subject: [PATCH 3/4] Fix if else statement
---
web/inc/main.php | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/web/inc/main.php b/web/inc/main.php
index 73a899d0a7..62068dbe57 100644
--- a/web/inc/main.php
+++ b/web/inc/main.php
@@ -175,14 +175,13 @@ function verify_csrf($method, $return = false)
{
if ($method['token'] !== $_SESSION['token'] || empty($method['token']) || empty($_SESSION['token'])) {
if ($return === true) {
- return false;
- } else {
- header('Location: /login/');
- die();
- }
+ return false;
} else {
- return true;
+ header('Location: /login/');
+ die();
}
+ } else {
+ return true;
}
}
@@ -463,4 +462,4 @@ function backendtpl_with_webdomains()
function validate_password($password)
{
return preg_match('/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(.){8,}$/', $password);
-}
\ No newline at end of file
+}
From 2d4295c81555b096e8bf76c85ba3904e36cb925d Mon Sep 17 00:00:00 2001
From: Jaap Marcus <9754650+jaapmarcus@users.noreply.github.com>
Date: Fri, 10 Sep 2021 14:41:54 +0200
Subject: [PATCH 4/4] Fix bug on logout page
Ue HESTIA_CMD every where instead
Remove rand()
---
web/logout/index.php | 2 +-
web/reset/index.php | 14 +++++---------
2 files changed, 6 insertions(+), 10 deletions(-)
diff --git a/web/logout/index.php b/web/logout/index.php
index 6c38ccac35..60551e33b3 100644
--- a/web/logout/index.php
+++ b/web/logout/index.php
@@ -5,7 +5,7 @@
// Main include
include($_SERVER['DOCUMENT_ROOT'] . '/inc/main.php');
// Check token
-verify_csrf($_POST);
+verify_csrf($_GET);
if (!empty($_SESSION['look'])) {
$v_user = escapeshellarg($_SESSION['look']);
diff --git a/web/reset/index.php b/web/reset/index.php
index e52a190034..5954fa53d3 100644
--- a/web/reset/index.php
+++ b/web/reset/index.php
@@ -22,14 +22,13 @@
if ($return_var == 0) {
$data = json_decode(implode('', $output), true);
if ($email == $data[$user]['CONTACT']) {
- //genrate new rkey
- $rkey = substr(password_hash(rand(0, 10), PASSWORD_DEFAULT), 5, 12);
+ $rkey = substr(password_hash("", PASSWORD_DEFAULT), 8, 12);
$hash = password_hash($rkey, PASSWORD_DEFAULT);
$v_rkey = tempnam("/tmp", "vst");
$fp = fopen($v_rkey, "w");
fwrite($fp, $hash."\n");
fclose($fp);
- exec("/usr/bin/sudo /usr/local/hestia/bin/v-change-user-rkey ".$v_user." ".$v_rkey."", $output, $return_var);
+ exec(HESTIA_CMD . "v-change-user-rkey ".$v_user." ".$v_rkey."", $output, $return_var);
unset($output);
unlink($v_rkey);
$name = $data[$user]['NAME'];
@@ -65,21 +64,19 @@
if ($_POST['password'] == $_POST['password_confirm']) {
$v_user = escapeshellarg($_POST['user']);
$user = $_POST['user'];
- $cmd="/usr/bin/sudo /usr/local/hestia/bin/v-list-user";
- exec($cmd." ".$v_user." json", $output, $return_var);
+ exec(HESTIA_CMD . "v-list-user ".$v_user." json", $output, $return_var);
if ($return_var == 0) {
$data = json_decode(implode('', $output), true);
$rkey = $data[$user]['RKEY'];
if (password_verify($_POST['code'], $rkey)) {
unset($output);
- exec("/usr/bin/sudo /usr/local/hestia/bin/v-get-user-value ".$v_user." RKEYEXP", $output, $return_var);
+ exec(HESTIA_CMD . "v-get-user-value ".$v_user." RKEYEXP", $output, $return_var);
if ($output[0] > time() - 900) {
$v_password = tempnam("/tmp", "vst");
$fp = fopen($v_password, "w");
fwrite($fp, $_POST['password']."\n");
fclose($fp);
- $cmd="/usr/bin/sudo /usr/local/hestia/bin/v-change-user-password";
- exec($cmd." ".$v_user." ".$v_password, $output, $return_var);
+ exec(HESTIA_CMD . "v-change-user-password ".$v_user." ".$v_password, $output, $return_var);
unlink($v_password);
if ($return_var > 0) {
sleep(5);
@@ -102,7 +99,6 @@
} else {
sleep(5);
$ERROR = ""._('Invalid username or code')."";
- exec(HESTIA_CMD . 'v-log-user-login ' . $v_user . ' ' . $v_ip . ' failed ' . $v_session_id . ' ' . $v_user_agent .' yes "Invalid Username or Code"', $output, $return_var);
}
} else {
$ERROR = ""._('Passwords not match')."";