+if ($postbutton && $can_edit_profile)
+{
+ // Goes via core:
+ $array['update_fname'] = (isset($_POST['first_name']) && strlen($_POST['first_name'])) ? $_POST['first_name'] : false;
+ $array['update_lname'] = (isset($_POST['last_name']) && strlen($_POST['last_name'])) ? $_POST['last_name'] : false;
+ $array['update_bio'] = (isset($_POST['bio']) && strlen($_POST['bio'])) ? $_POST['bio'] : false;
+ $array['update_email'] = (isset($_POST['email']) && strlen($_POST['email'])) ? $_POST['email'] : false;
+ $array['update_pass'] = (isset($_POST['password']) && strlen($_POST['password'])) ? $_POST['password'] : false;
+ $array['update_pass_conf'] = (isset($_POST['passwordconfirm']) && strlen($_POST['passwordconfirm'])) ? $_POST['passwordconfirm'] : false;
+ // Goes via meta:
+ $session_timeout = (isset($_POST['session_timeout']) && strlen($_POST['session_timeout'])) ? $_POST['session_timeout'] : 3600;
+
+ if (!$array['update_pass'])
+ {
+ unset($array['update_pass']);
+ unset($array['update_pass_conf']);
+ }
+ elseif ($array['update_pass'] == $array['update_pass_conf'])
+ {
+ $array['update_pass_conf'] = PanelUser::password_hash($array['update_pass_conf']);
+ $edit_user->delete_meta("hibp");
+ $edit_user->HIBP(sha1($array['update_pass']));
+ unset($array['update_pass']);
+ }
+ else
+ {
+ Message::Fail("Could not update password: Passwords did not match");
+ unset($array['update_pass']);
+ unset($array['update_pass_conf']);
+ }
+ $edit_user->update_core_info($array);
+ $edit_user->add_meta("session_timeout", $session_timeout);
+ $edit_user = new PanelUser($edit_user->username);
+}