]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Refs #617 put user validation functions back in users lib
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Mon, 15 Nov 2010 12:50:46 +0000 (12:50 +0000)
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Mon, 15 Nov 2010 12:50:46 +0000 (12:50 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@7321 36083f99-b078-4883-b0ff-0f9b5a30f544

engine/lib/users.php

index c9a534b626b8bbef3c199bde6380f8e7ae490a33..b22e93ca248111bd44864fe4af309dca894fb946 100644 (file)
@@ -1223,6 +1223,42 @@ function generate_invite_code($username) {
        return md5($username . $secret);
 }
 
+/**
+ * Set the validation status for a user.
+ *
+ * @param bool   $status Validated (true) or false
+ * @param string $method Optional method to say how a user was validated
+ * @return bool
+ */
+function set_user_validation_status($user_guid, $status, $method = '') {
+       $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 {
+               return false;
+       }
+}
+
+/**
+ * Trigger an event requesting that a user guid be validated somehow - either by email address or some other way.
+ *
+ * This function invalidates any existing validation value.
+ *
+ * @param int $user_guid User's GUID
+ */
+function request_user_validation($user_guid) {
+       $user = get_entity($user_guid);
+
+       if (($user) && ($user instanceof ElggUser)) {
+               // invalidate any existing validations
+               set_user_validation_status($user_guid, false);
+
+               // request validation
+               trigger_elgg_event('validate', 'user', $user);
+       }
+}
+
 /**
  * Adds collection submenu items
  *