Skip to content

Commit

Permalink
fix(settings): do not emit errors if form fields are not present
Browse files Browse the repository at this point in the history
Removing one of the forms from user settings results in errors being shown to the user.
This checks if form field was at all present before showing an error.
  • Loading branch information
hypeJunction committed Feb 3, 2016
1 parent 332bac1 commit 9f5111c
Showing 1 changed file with 36 additions and 13 deletions.
49 changes: 36 additions & 13 deletions engine/lib/user_settings.php
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -9,8 +9,10 @@


/** /**
* Set a user's password * Set a user's password
* Returns null if no change is required
* Returns true or false indicating success or failure if change was needed
* *
* @return bool * @return bool|void
* @since 1.8.0 * @since 1.8.0
* @access private * @access private
*/ */
Expand Down Expand Up @@ -68,23 +70,30 @@ function _elgg_set_user_password() {
} }
} else { } else {
// no change // no change
return null; return;
} }


return false; return false;
} }


/** /**
* Set a user's display name * Set a user's display name
* Returns null if no change is required or input is not present in the form
* Returns true or false indicating success or failure if change was needed
* *
* @return bool * @return bool|void
* @since 1.8.0 * @since 1.8.0
* @access private * @access private
*/ */
function _elgg_set_user_name() { function _elgg_set_user_name() {
$name = strip_tags(get_input('name')); $name = get_input('name');
$user_guid = get_input('guid'); $user_guid = get_input('guid');


if (!isset($name)) {
return;
}

$name = strip_tags($name);
if ($user_guid) { if ($user_guid) {
$user = get_user($user_guid); $user = get_user($user_guid);
} else { } else {
Expand All @@ -107,7 +116,7 @@ function _elgg_set_user_name() {
} }
} else { } else {
// no change // no change
return null; return;
} }
} else { } else {
register_error(elgg_echo('user:name:fail')); register_error(elgg_echo('user:name:fail'));
Expand All @@ -117,15 +126,21 @@ function _elgg_set_user_name() {


/** /**
* Set a user's language * Set a user's language
* Returns null if no change is required or input is not present in the form
* Returns true or false indicating success or failure if change was needed
* *
* @return bool * @return bool|void
* @since 1.8.0 * @since 1.8.0
* @access private * @access private
*/ */
function _elgg_set_user_language() { function _elgg_set_user_language() {
$language = get_input('language'); $language = get_input('language');
$user_guid = get_input('guid'); $user_guid = get_input('guid');


if (!isset($language)) {
return;
}

if ($user_guid) { if ($user_guid) {
$user = get_user($user_guid); $user = get_user($user_guid);
} else { } else {
Expand All @@ -143,7 +158,7 @@ function _elgg_set_user_language() {
} }
} else { } else {
// no change // no change
return null; return;
} }
} else { } else {
register_error(elgg_echo('user:language:fail')); register_error(elgg_echo('user:language:fail'));
Expand All @@ -153,15 +168,21 @@ function _elgg_set_user_language() {


/** /**
* Set a user's email address * Set a user's email address
* * Returns null if no change is required or input is not present in the form
* @return bool * Returns true or false indicating success or failure if change was needed
*
* @return bool|void
* @since 1.8.0 * @since 1.8.0
* @access private * @access private
*/ */
function _elgg_set_user_email() { function _elgg_set_user_email() {
$email = get_input('email'); $email = get_input('email');
$user_guid = get_input('guid'); $user_guid = get_input('guid');


if (!isset($email)) {
return;
}

if ($user_guid) { if ($user_guid) {
$user = get_user($user_guid); $user = get_user($user_guid);
} else { } else {
Expand Down Expand Up @@ -191,7 +212,7 @@ function _elgg_set_user_email() {
} }
} else { } else {
// no change // no change
return null; return;
} }
} else { } else {
register_error(elgg_echo('email:save:fail')); register_error(elgg_echo('email:save:fail'));
Expand All @@ -201,15 +222,17 @@ function _elgg_set_user_email() {


/** /**
* Set a user's default access level * Set a user's default access level
* Returns null if no change is required or input is not present in the form
* Returns true or false indicating success or failure if change was needed
* *
* @return bool * @return bool|void
* @since 1.8.0 * @since 1.8.0
* @access private * @access private
*/ */
function _elgg_set_user_default_access() { function _elgg_set_user_default_access() {


if (!elgg_get_config('allow_user_default_access')) { if (!elgg_get_config('allow_user_default_access')) {
return false; return;
} }


$default_access = get_input('default_access'); $default_access = get_input('default_access');
Expand All @@ -232,7 +255,7 @@ function _elgg_set_user_default_access() {
} }
} else { } else {
// no change // no change
return null; return;
} }
} else { } else {
register_error(elgg_echo('user:default_access:failure')); register_error(elgg_echo('user:default_access:failure'));
Expand Down

0 comments on commit 9f5111c

Please sign in to comment.