mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 14:18:52 +00:00
[ticket/13960] Profile field validation breaks ACP
Make sure new step is calculated only if no error has been identified during validation. Also, cleanup redundant code in acp_profile.php. PHPBB3-13960
This commit is contained in:
parent
558d604d83
commit
bd40f2f619
1 changed files with 6 additions and 9 deletions
|
@ -511,13 +511,14 @@ class acp_profile
|
|||
}
|
||||
}
|
||||
|
||||
$step = (isset($_REQUEST['next'])) ? $step + 1 : ((isset($_REQUEST['prev'])) ? $step - 1 : $step);
|
||||
|
||||
if (sizeof($error))
|
||||
{
|
||||
$step--;
|
||||
$submit = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$step = (isset($_REQUEST['next'])) ? $step + 1 : ((isset($_REQUEST['prev'])) ? $step - 1 : $step);
|
||||
}
|
||||
|
||||
// Build up the specific hidden fields
|
||||
foreach ($exclude as $num => $key_ary)
|
||||
|
@ -535,7 +536,7 @@ class acp_profile
|
|||
$var = $profile_field->prepare_hidden_fields($step, $key, $action, $field_data);
|
||||
if ($var !== null)
|
||||
{
|
||||
$_new_key_ary[$key] = $profile_field->prepare_hidden_fields($step, $key, $action, $field_data);
|
||||
$_new_key_ary[$key] = $var;
|
||||
}
|
||||
}
|
||||
$cp->vars = $field_data;
|
||||
|
@ -545,11 +546,7 @@ class acp_profile
|
|||
|
||||
if (!sizeof($error))
|
||||
{
|
||||
if ($step == 3 && (sizeof($this->lang_defs['iso']) == 1 || $save))
|
||||
{
|
||||
$this->save_profile_field($cp, $field_type, $action);
|
||||
}
|
||||
else if ($action == 'edit' && $save)
|
||||
if (($step == 3 && (sizeof($this->lang_defs['iso']) == 1 || $save)) || ($action == 'edit' && $save))
|
||||
{
|
||||
$this->save_profile_field($cp, $field_type, $action);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue