/**
* Generate an email activation code.
*
- * @param int $user_guid The guid of the user
+ * @param int $user_guid The guid of the user
* @param string $email_address Email address
* @return string
*/
* Request user validation email.
* Send email out to the address and request a confirmation.
*
- * @param int $user_guid The user
+ * @param int $user_guid The user's GUID
* @return mixed
*/
function uservalidationbyemail_request_validation($user_guid) {
/**
* Validate a user
*
- * @param unknown_type $user_guid
- * @param unknown_type $code
- * @return unknown
+ * @param int $user_guid
+ * @param string $code
+ * @return bool
*/
function uservalidationbyemail_validate_email($user_guid, $code) {
$user = get_entity($user_guid);
/**
* Set the validation status for a user.
*
- * @param bool $status Validated (true) or false
+ * @param int $user_guid The user's GUID
+ * @param bool $status Validated (true) or false
* @param string $method Optional method to say how a user was validated
* @return bool
*/
function uservalidationbyemail_set_user_validation_status($user_guid, $status, $method = '') {
- if (!$status) {
- $method = '';
- }
- if ($status) {
- if (
- (create_metadata($user_guid, 'validated', $status,'', 0, ACCESS_PUBLIC)) &&
- (create_metadata($user_guid, 'validated_method', $method,'', 0, ACCESS_PUBLIC))
- ) {
- return TRUE;
- }
+ $result1 = create_metadata($user_guid, 'validated', $status, '', 0, ACCESS_PUBLIC, false);
+ $result2 = create_metadata($user_guid, 'validated_method', $method, '', 0, ACCESS_PUBLIC, false);
+ if ($result1 && $result2) {
+ return true;
} else {
- $validated = get_metadata_byname($user_guid, 'validated');
- $validated_method = get_metadata_byname($user_guid, 'validated_method');
-
- if (
- ($validated) &&
- ($validated_method) &&
- (delete_metadata($validated->id)) &&
- (delete_metadata($validated_method->id))
- )
- return TRUE;
+ return false;
}
-
- return FALSE;
}
/**
* Returns the validation status of a user.
*
- * @param unknown_type $user_guid
- * @return int|null
+ * @param int $user_guid The user's GUID
+ * @return bool
*/
function uservalidationbyemail_get_user_validation_status($user_guid) {
$md = get_metadata_byname($user_guid, 'validated');
/**
* Disables a user upon registration.
*
- * @param unknown_type $hook
- * @param unknown_type $type
- * @param unknown_type $value
- * @param unknown_type $params
+ * @param string $hook
+ * @param string $type
+ * @param bool $value
+ * @param array $params
+ * @return bool
*/
function uservalidationbyemail_disable_new_user($hook, $type, $value, $params) {
$user = elgg_get_array_value('user', $params);
// no clue what's going on, so don't react.
if (!$user instanceof ElggUser) {
- return NULL;
+ return;
}
// disable user to prevent showing up on the site
- // set context to our canEdit() override works
+ // set context so our canEdit() override works
elgg_push_context('uservalidationbyemail_new_user');
$hidden_entities = access_get_show_hidden_status();
access_show_hidden_entities(TRUE);
elgg_pop_context();
access_show_hidden_entities($hidden_entities);
- return TRUE;
+ return $value;
}
/**
access_show_hidden_entities(TRUE);
$user = get_user_by_username($username);
- if ($user && !$user->validated) {
+ if ($user && isset($user->validated) && !$user->validated) {
// show an error and resend validation email
uservalidationbyemail_request_validation($user->guid);
access_show_hidden_entities($access_status);