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);