/** * Validates the user through uncaptcha. * * @param $event * @param $object_type * @param $object * @return unknown_type */ function uncaptcha_validate_user($event, $object_type, $object) { global $CONFIG; if (get_plugin_setting('instant_validate', 'uncaptcha')) { $validated = set_user_validation_status($object->guid, true, 'uncaptcha'); } }
/** * Validate a user * * @param unknown_type $user_guid * @param unknown_type $code * @return unknown */ function uservalidationbyemail_validate_email($user_guid, $code) { $user = get_entity($user_guid); if ($code == uservalidationbyemail_generate_code($user_guid, $user->email)) { return set_user_validation_status($user_guid, true, 'email'); } 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 * @deprecated 1.8 Hook into the register, user plugin hook and request validation. */ function request_user_validation($user_guid) { elgg_deprecated_notice("request_user_validation() is deprecated.\n\t\tPlugins should register for the 'register, user' plugin hook", 1.8); $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); } }
* * @package Elgg * @subpackage Core * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 * @author Curverider Ltd * @copyright Curverider Ltd 2008-2009 * @link http://elgg.org/ */ require_once dirname(dirname(dirname(dirname(__FILE__)))) . "/engine/start.php"; // block non-admin users admin_gatekeeper(); action_gatekeeper(); $access_status = access_get_show_hidden_status(); access_show_hidden_entities(true); // Get the user $guid = get_input('guid'); $obj = get_entity($guid); if ($obj instanceof ElggUser && $obj->canEdit()) { set_user_validation_status($guid, true, 'admin'); // Now actually disable it if ($obj->unban()) { system_message(elgg_echo('admin:user:unban:yes')); } else { register_error(elgg_echo('admin:user:unban:no')); } } else { register_error(elgg_echo('admin:user:unban:no')); } access_show_hidden_entities($access_status); forward($_SERVER['HTTP_REFERER']); exit;
/** * Trigger an event requesting that a user guid be validated somehow - either by email address or some other way. * * This event invalidates any existing values and returns * * @param unknown_type $user_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); } }
/** * createUsers Create the users in Elgg * * @return boolean */ function createUsers($post_data) { global $CONFIG; $final_report = array(); /// Final report of the creation process foreach ($post_data['header'] as $header => $mapping) { $metadata_name = $mapping['mapping']; if ($metadata_name == 'custom') { $metadata_name = $mapping['custom']; } $mapped_headers[$header] = $metadata_name; } $this->headers = $mapped_headers; /// Create the users from the $users array for ($i = 0; $i < $post_data['num_of_users']; $i++) { $user = array(); /// Get the user details from POST data for all headers foreach ($this->headers as $header => $metadata_name) { if ($value = $post_data[$header][$i]) { $user[$metadata_name] = $value; } else { unset($user[$metadata_name]); } } /// Add the basic fields to the report $report = array('username' => $user['username'], 'password' => $user['password'], 'name' => $user['name'], 'email' => $user['email']); /// Try to create the user try { if ($guid = register_user($user['username'], $user['password'], $user['name'], $user['email'])) { $new_user = get_entity($guid); /// Validate the user. set_user_validation_status($guid, true); //$new_user->user_role = 'student'; /// Add all other fields as metadata foreach ($this->headers as $header => $metadata_name) { switch ($metadata_name) { case 'username': case 'password': case 'name': case 'email': continue; break; default: $hook_params = array('header' => $header, 'metadata_name' => $metadata_name, 'value' => $user[$metadata_name], 'user' => $new_user); if (elgg_trigger_plugin_hook('header:custom_method', 'upload_users', $hook_params, false)) { continue; } /// Metadata could be a comma separated list if the delimiter is something else than a comma if ($this->delimiter != ',' && strpos($user[$metadata_name], ',')) { /// Multiple tags found $tags = string_to_tag_array($user[$metadata_name]); foreach ($tags as $tag) { create_metadata($guid, $metadata_name, $tag, 'text', $guid, ACCESS_PRIVATE, true); } } else { create_metadata($guid, $metadata_name, $user[$metadata_name], 'text', $guid); } break; } /// Add this metadata field to the report $report[$metadata_name] = $user[$metadata_name]; } /// Add status message to the report $report['status'] = elgg_echo('upload_users:success'); /// Send an email to the user if this was needed if ($this->notification) { $subject = sprintf(elgg_echo('upload_users:email:subject'), $CONFIG->sitename); $message = sprintf(elgg_echo('upload_users:email:message'), $user['name'], $CONFIG->sitename, $user['username'], $user['password'], $CONFIG->wwwroot); notify_user($guid, 1, $subject, $message); } } } catch (RegistrationException $r) { //register_error($r->getMessage()); $report['status'] = '<span class="error">' . $r->getMessage() . '</span>'; $report['password'] = ''; /// Reset password in failed cases $this->number_of_failed_users++; } $final_report[] = $report; } $this->creation_report = $final_report; return true; }
<?php // Upgrade to solve login issue if ($users = get_entities_from_metadata('validated_email', '', 'user', '', 0, 9999)) { foreach ($users as $user) { set_user_validation_status($user->guid, true, 'email'); } }
global $CONFIG; $username = get_input('username'); $password = get_input('password'); $password2 = get_input('password2'); $email = get_input('email'); $name = get_input('name'); $admin = get_input('admin'); if (is_array($admin)) { $admin = $admin[0]; } // For now, just try and register the user try { $guid = register_user($username, $password, $name, $email, true); if (trim($password) != "" && strcmp($password, $password2) == 0 && $guid) { $new_user = get_entity($guid); if ($guid && $admin) { $new_user->admin = 'yes'; } $new_user->admin_created = true; $new_user->created_by_guid = get_loggedin_userid(); set_user_validation_status($new_user->getGUID(), TRUE, 'admin_created'); notify_user($new_user->guid, $CONFIG->site->guid, elgg_echo('useradd:subject'), sprintf(elgg_echo('useradd:body'), $name, $CONFIG->site->name, $CONFIG->site->url, $username, $password)); system_message(sprintf(elgg_echo("adduser:ok"), $CONFIG->sitename)); } else { register_error(elgg_echo("adduser:bad")); } } catch (RegistrationException $r) { register_error($r->getMessage()); } forward($_SERVER['HTTP_REFERER']); exit;
<?php /**^M * Elgg registration action^M * ^M * @package Elgg^M * @subpackage Core^M * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2^M * @author Curverider Ltd^M * @copyright Curverider Ltd 2008-2009^M * @link http://elgg.org/^M */ // Get variables if (isadminloggedin()) { if (get_input("disable") == "true") { set_user_validation_status(get_input('guid'), false, 'admin'); system_message('user invalidated'); } else { set_user_validation_status(get_input('guid'), true, 'admin'); system_message('user validated'); } forward("/"); }
* Elgg ban user * * @package Elgg * @subpackage Core * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 * @author Curverider Ltd * @copyright Curverider Ltd 2008-2009 * @link http://elgg.org/ */ require_once dirname(dirname(dirname(dirname(__FILE__)))) . "/engine/start.php"; // block non-admin users admin_gatekeeper(); action_gatekeeper(); // Get the user $guid = get_input('guid'); $obj = get_entity($guid); if ($obj instanceof ElggUser && $obj->canEdit()) { set_user_validation_status($guid, false, 'admin'); // Now actually disable it if ($obj->ban('banned')) { system_message(elgg_echo('admin:user:ban:yes')); } else { register_error(elgg_echo('admin:user:ban:no')); } } else { $canedit = $obj->canEdit(); $isinstance = $obj instanceof ElggUser; register_error(elgg_echo('admin:user:ban:no')); } forward('pg/admin/user/'); exit;
/** * Registers a user, returning false if the username already exists * * @param string $username The username of the new user * @param string $password The password * @param string $name The user's display name * @param string $email Their email address * @param bool $allow_multiple_emails Allow the same email address to be registered multiple times? * @param int $friend_guid Optionally, GUID of a user this user will friend once fully registered * @return int|false The new user's GUID; false on failure */ function register_user($username, $password, $name, $email, $allow_multiple_emails = false, $friend_guid = 0, $invitecode = '') { // Load the configuration global $CONFIG; $username = trim($username); // no need to trim password. $password = $password; $name = trim($name); $email = trim($email); // A little sanity checking if (empty($username) || empty($password) || empty($name) || empty($email)) { return false; } // See if it exists and is disabled $access_status = access_get_show_hidden_status(); access_show_hidden_entities(true); // Validate email address if (!validate_email_address($email)) { throw new RegistrationException(elgg_echo('registration:emailnotvalid')); } // Validate password if (!validate_password($password)) { throw new RegistrationException(elgg_echo('registration:passwordnotvalid')); } // Validate the username if (!validate_username($username)) { throw new RegistrationException(elgg_echo('registration:usernamenotvalid')); } // Check to see if $username exists already if ($user = get_user_by_username($username)) { //return false; throw new RegistrationException(elgg_echo('registration:userexists')); } // If we're not allowed multiple emails then see if this address has been used before if (!$allow_multiple_emails && get_user_by_email($email)) { throw new RegistrationException(elgg_echo('registration:dupeemail')); } access_show_hidden_entities($access_status); // Check to see if we've registered the first admin yet. // If not, this is the first admin user! $have_admin = datalist_get('admin_registered'); // Otherwise ... $user = new ElggUser(); $user->username = $username; $user->email = $email; $user->name = $name; $user->access_id = ACCESS_PUBLIC; $user->salt = generate_random_cleartext_password(); // Note salt generated before password! $user->password = generate_user_password($user, $password); $user->owner_guid = 0; // Users aren't owned by anyone, even if they are admin created. $user->container_guid = 0; // Users aren't contained by anyone, even if they are admin created. $user->save(); // If $friend_guid has been set, make mutual friends if ($friend_guid) { if ($friend_user = get_user($friend_guid)) { if ($invitecode == generate_invite_code($friend_user->username)) { $user->addFriend($friend_guid); $friend_user->addFriend($user->guid); // @todo Should this be in addFriend? add_to_river('friends/river/create', 'friend', $user->getGUID(), $friend_guid); add_to_river('friends/river/create', 'friend', $friend_guid, $user->getGUID()); } } } global $registering_admin; if (!$have_admin) { $user->admin = true; set_user_validation_status($user->getGUID(), TRUE, 'first_run'); datalist_set('admin_registered', 1); $registering_admin = true; } else { $registering_admin = false; } // Turn on email notifications by default set_user_notification_setting($user->getGUID(), 'email', true); return $user->getGUID(); }
function siteaccess_validate_email($user_guid, $code) { $user = get_entity($user_guid); $valid = $code == siteaccess_generate_code($user_guid, $user->email); if ($valid) { create_metadata($user_guid, 'validated_email', true, '', 0, ACCESS_PUBLIC); if (siteaccess_email_enabled()) { set_user_validation_status($user_guid, true, 'email'); siteaccess_add_to_river($user, 'activate'); } } return $valid; }
function method_toggleDisable($params, $error) { if (!$this->is_loggedin()) { return array("err" => SESSION_ERROR); } if (!$this->is_admin()) { return array("err" => ADMIN_ERROR); } access_show_hidden_entities(true); $ids = $params[0]; $disable = $params[1]; // true or false $done = 'deactivated recursive'; if (!$disable) { $done = 'enabled'; } $msg = array(); access_show_hidden_entities(true); if (is_array($ids)) { foreach ($ids as $id) { $obj = westorElggMan_get_entity($id); if ($obj instanceof ElggUser) { if ($disable) { if ($obj->disable("elggMan", true)) { $msg["yes"][] = $obj->username; } else { $msg["no"][] = $obj->username; } } else { if ($obj->enable()) { if (function_exists("set_user_validation_status")) { set_user_validation_status($obj->getGUID(), false, 'admin_modified'); set_user_validation_status($obj->getGUID(), true, 'admin_modified'); } $msg["yes"][] = $obj->username; } else { $msg["no"][] = $obj->username; } } } } } return array("msg" => $this->createAnswerStr($msg)); }