From 47ade32146cbbe073c834438d364ca50fabd691f Mon Sep 17 00:00:00 2001 From: Malishev Dmitry Date: Fri, 5 Sep 2014 06:09:06 -0400 Subject: [PATCH 1/2] Fixed edit empty ftp user domain; Fixed hints updates on data insertion inside inputs; Fixed bug with resetting passwords for FTP user accounts; --- web/edit/web/index.php | 66 +++++++++++++++++++++------------------- web/js/pages/add.web.js | 6 ++-- web/js/pages/edit.web.js | 4 +-- 3 files changed, 39 insertions(+), 37 deletions(-) diff --git a/web/edit/web/index.php b/web/edit/web/index.php index fad41620..d14f8e3a 100644 --- a/web/edit/web/index.php +++ b/web/edit/web/index.php @@ -431,7 +431,7 @@ if (!empty($_POST['save'])) { $v_ftp_users_updated = array(); foreach ($_POST['v_ftp_user'] as $i => $v_ftp_user_data) { $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) { + 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_password'])) $errors[] = 'ftp user password'; @@ -495,40 +495,42 @@ if (!empty($_POST['save'])) { continue; } - // Change FTP Account - 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 ) { - $error_msg = $error; - } else { - $error_msg = $error_msg.", ".$error; + if (!empty($_POST['v_ftp'])) { + // Change FTP Account + 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 ) { + $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); + + $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_user_data['v_ftp_password'] = escapeshellarg(trim($v_ftp_user_data['v_ftp_password'])); + exec (VESTA_CMD."v-change-web-domain-ftp-path ".$v_username." ".$v_domain." ".$v_ftp_username." ".$v_ftp_user_data['v_ftp_path'], $output, $return_var); + if ($v_ftp_user_data['v_ftp_password'] != "'••••••••'" && $v_ftp_user_data['v_ftp_password'] != "••••••••" && !empty($v_ftp_user_data['v_ftp_password'])) { + exec (VESTA_CMD."v-change-web-domain-ftp-password ".$v_username." ".$v_domain." ".$v_ftp_username." ".$v_ftp_user_data['v_ftp_password'], $output, $return_var); + } + check_return_code($return_var, $output); + unset($output); + + $v_ftp_password = "••••••••"; + + $v_ftp_users_updated[] = array( + 'is_new' => 0, + 'v_ftp_user' => $v_ftp_username, + 'v_ftp_password' => $v_ftp_password, + 'v_ftp_path' => $v_ftp_user_data['v_ftp_path'], + 'v_ftp_email' => $v_ftp_user_data['v_ftp_email'], + 'v_ftp_pre_path' => $v_ftp_user_prepath + ); } - - $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_user_data['v_ftp_password'] = escapeshellarg(trim($v_ftp_user_data['v_ftp_password'])); - exec (VESTA_CMD."v-change-web-domain-ftp-path ".$v_username." ".$v_domain." ".$v_ftp_username." ".$v_ftp_user_data['v_ftp_path'], $output, $return_var); - if ($v_ftp_user_data['v_ftp_password'] != "••••••••" && !empty($v_ftp_user_data['v_ftp_password'])) { - exec (VESTA_CMD."v-change-web-domain-ftp-password ".$v_username." ".$v_domain." ".$v_ftp_username." ".$v_ftp_user_data['v_ftp_password'], $output, $return_var); - } - check_return_code($return_var, $output); - unset($output); - - $v_ftp_password = "••••••••"; - - $v_ftp_users_updated[] = array( - 'is_new' => 0, - 'v_ftp_user' => $v_ftp_username, - 'v_ftp_password' => $v_ftp_password, - 'v_ftp_path' => $v_ftp_user_data['v_ftp_path'], - 'v_ftp_email' => $v_ftp_user_data['v_ftp_email'], - 'v_ftp_pre_path' => $v_ftp_user_prepath - ); } } diff --git a/web/js/pages/add.web.js b/web/js/pages/add.web.js index d350a437..e70482ab 100644 --- a/web/js/pages/add.web.js +++ b/web/js/pages/add.web.js @@ -21,7 +21,7 @@ App.Listeners.WEB.keypress_ftp_username = function() { App.Actions.WEB.update_ftp_username_hint(ref, current_val); } - ref.bind('keypress', function(evt) { + ref.bind('keypress input', function(evt) { clearTimeout(window.frp_usr_tmt); window.frp_usr_tmt = setTimeout(function() { var elm = $(evt.target); @@ -32,7 +32,7 @@ App.Listeners.WEB.keypress_ftp_username = function() { } App.Listeners.WEB.keypress_domain_name = function() { - $('#v_domain').bind('keypress', function(evt) { + $('#v_domain').bind('keypress input', function(evt) { clearTimeout(window.frp_usr_tmt); window.frp_usr_tmt = setTimeout(function() { //var elm = $(evt.target); @@ -67,7 +67,7 @@ App.Listeners.WEB.keypress_ftp_path = function() { App.Actions.WEB.update_ftp_path_hint(ref, current_val); } - ref.bind('keypress', function(evt) { + ref.bind('keypress input', function(evt) { clearTimeout(window.frp_usr_tmt); window.frp_usr_tmt = setTimeout(function() { var elm = $(evt.target); diff --git a/web/js/pages/edit.web.js b/web/js/pages/edit.web.js index 5d8ede2f..5f55f86c 100644 --- a/web/js/pages/edit.web.js +++ b/web/js/pages/edit.web.js @@ -21,7 +21,7 @@ App.Listeners.WEB.keypress_ftp_username = function() { App.Actions.WEB.update_ftp_username_hint(ref, current_val); } - ref.bind('keypress', function(evt) { + ref.bind('keypress input', function(evt) { clearTimeout(window.frp_usr_tmt); window.frp_usr_tmt = setTimeout(function() { var elm = $(evt.target); @@ -57,7 +57,7 @@ App.Listeners.WEB.keypress_ftp_path = function() { App.Actions.WEB.update_ftp_path_hint(ref, current_val); } - ref.bind('keypress', function(evt) { + ref.bind('keypress input', function(evt) { clearTimeout(window.frp_usr_tmt); window.frp_usr_tmt = setTimeout(function() { var elm = $(evt.target); From f3f7185f32eecde4eb0b075007c486079256a31a Mon Sep 17 00:00:00 2001 From: Malishev Dmitry Date: Tue, 9 Sep 2014 10:30:34 -0400 Subject: [PATCH 2/2] Ftp user Psw + blank user update --- web/add/web/index.php | 3 ++- web/edit/web/index.php | 9 +++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/web/add/web/index.php b/web/add/web/index.php index 63d8d792..3e86ee9f 100644 --- a/web/add/web/index.php +++ b/web/add/web/index.php @@ -262,7 +262,8 @@ if (!empty($_POST['ok'])) { $v_ftp_password = escapeshellarg($v_ftp_user_data['v_ftp_password']); if ($domain_added) { - exec (VESTA_CMD."v-add-web-domain-ftp ".$user." ".$v_domain." ".$v_ftp_username." ".$v_ftp_password . " " . $v_ftp_user_data['v_ftp_path'], $output, $return_var); + $v_ftp_path = escapeshellarg(trim($v_ftp_user_data['v_ftp_path'])); + exec (VESTA_CMD."v-add-web-domain-ftp ".$user." ".$v_domain." ".$v_ftp_username." ".$v_ftp_password . " " . $v_ftp_path, $output, $return_var); check_return_code($return_var,$output); unset($output); if ((!empty($v_ftp_user_data['v_ftp_email'])) && (empty($_SESSION['error_msg']))) { diff --git a/web/edit/web/index.php b/web/edit/web/index.php index d14f8e3a..6c3ae943 100644 --- a/web/edit/web/index.php +++ b/web/edit/web/index.php @@ -430,6 +430,9 @@ if (!empty($_POST['save'])) { if (!empty($_POST['v_ftp_user'])) { $v_ftp_users_updated = array(); foreach ($_POST['v_ftp_user'] as $i => $v_ftp_user_data) { + if (empty($v_ftp_user_data['v_ftp_user']) && empty($v_ftp_user_data['v_ftp_password'])) { + continue; + } $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.'); @@ -450,8 +453,9 @@ if (!empty($_POST['save'])) { $v_ftp_username_full = $user . '_' . $v_ftp_user_data['v_ftp_user']; $v_ftp_user = escapeshellarg($v_ftp_username); $v_ftp_password = escapeshellarg($v_ftp_user_data['v_ftp_password']); + $v_ftp_path = escapeshellarg(trim($v_ftp_user_data['v_ftp_path'])); if (empty($_SESSION['error_msg'])) { - exec (VESTA_CMD."v-add-web-domain-ftp ".$v_username." ".$v_domain." ".$v_ftp_username." ".$v_ftp_password . " " . $v_ftp_user_data['v_ftp_path'], $output, $return_var); + exec (VESTA_CMD."v-add-web-domain-ftp ".$v_username." ".$v_domain." ".$v_ftp_username." ".$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']; @@ -513,7 +517,8 @@ if (!empty($_POST['save'])) { $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_user_data['v_ftp_password'] = escapeshellarg(trim($v_ftp_user_data['v_ftp_password'])); - exec (VESTA_CMD."v-change-web-domain-ftp-path ".$v_username." ".$v_domain." ".$v_ftp_username." ".$v_ftp_user_data['v_ftp_path'], $output, $return_var); + $v_ftp_path = escapeshellarg(trim($v_ftp_user_data['v_ftp_path'])); + exec (VESTA_CMD."v-change-web-domain-ftp-path ".$v_username." ".$v_domain." ".$v_ftp_username." ".$v_ftp_path, $output, $return_var); if ($v_ftp_user_data['v_ftp_password'] != "'••••••••'" && $v_ftp_user_data['v_ftp_password'] != "••••••••" && !empty($v_ftp_user_data['v_ftp_password'])) { exec (VESTA_CMD."v-change-web-domain-ftp-password ".$v_username." ".$v_domain." ".$v_ftp_username." ".$v_ftp_user_data['v_ftp_password'], $output, $return_var); }