/** * Get security token, forward to action. * * @param unknown_type $page * @return unknown_type */ function uservalidationbyemail_page_handler($page) { global $CONFIG; if (isset($page[0]) && $page[0] == 'confirm') { $code = sanitise_string(get_input('c', FALSE)); $user_guid = get_input('u', FALSE); // new users are not enabled by default. $access_status = access_get_show_hidden_status(); access_show_hidden_entities(true); $user = get_entity($user_guid); if ($code && $user) { if (uservalidationbyemail_validate_email($user_guid, $code)) { system_message(elgg_echo('email:confirm:success')); $user = get_entity($user_guid); $user->enable(); notify_user($user_guid, $CONFIG->site->guid, sprintf(elgg_echo('email:validate:success:subject'), $user->username), sprintf(elgg_echo('email:validate:success:body'), $user->name), NULL, 'email'); } else { register_error(elgg_echo('email:confirm:fail')); } } else { register_error(elgg_echo('email:confirm:fail')); } access_show_hidden_entities($access_status); } else { register_error(elgg_echo('email:confirm:fail')); } forward(); }
/** * Checks sent passed validation code and user guids and validates the user. * * @param array $page * @return bool */ function uservalidationbyemail_page_handler($page) { if (isset($page[0]) && $page[0] == 'confirm') { $code = sanitise_string(get_input('c', FALSE)); $user_guid = get_input('u', FALSE); // new users are not enabled by default. $access_status = access_get_show_hidden_status(); access_show_hidden_entities(true); $user = get_entity($user_guid); if ($code && $user) { if (uservalidationbyemail_validate_email($user_guid, $code)) { elgg_push_context('uservalidationbyemail_validate_user'); system_message(elgg_echo('email:confirm:success')); $user = get_entity($user_guid); $user->enable(); elgg_pop_context(); try { login($user); } catch (LoginException $e) { register_error($e->getMessage()); } } else { register_error(elgg_echo('email:confirm:fail')); } } else { register_error(elgg_echo('email:confirm:fail')); } access_show_hidden_entities($access_status); } else { register_error(elgg_echo('email:confirm:fail')); } // forward to front page forward(''); }
* @subpackage Core * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 * @author * @copyright Curverider Ltd 2008-2009 * @link http://elgg.org/ */ global $CONFIG; // Get user id $access_status = access_get_show_hidden_status(); access_show_hidden_entities(true); $user_guid = (int) get_input('u'); $user = get_entity($user_guid); // And the code $code = sanitise_string(get_input('c')); if ($code && $user) { if (uservalidationbyemail_validate_email($user_guid, $code)) { system_message(elgg_echo('email:confirm:success')); $user = get_entity($user_guid); $user->enable(); $email_subject_key = "email:validate:success:subject"; $email_body_key = "email:validate:success:body"; $email_subject = elgg_echo($email_subject_key); $email_body = elgg_echo($email_body_key); notify_user($user_guid, $CONFIG->site->guid, sprintf($email_subject, $user->username), sprintf($email_body, $user->name), NULL, 'email'); } else { register_error(elgg_echo('email:confirm:fail')); } } else { register_error(elgg_echo('email:confirm:fail')); } access_show_hidden_entities($access_status);
<?php $code = sanitise_string(get_input('c', FALSE)); $user_guid = get_input('u', FALSE); // new users are not enabled by default. $access_status = access_get_show_hidden_status(); access_show_hidden_entities(true); $user = get_entity($user_guid); if (!$code || !$user || !uservalidationbyemail_validate_email($user_guid, $code)) { register_error(elgg_echo('email:confirm:fail')); forward(); } elgg_push_context('uservalidationbyemail_validate_user'); system_message(elgg_echo('email:confirm:success')); $user = get_entity($user_guid); $user->enable(); elgg_pop_context(); try { login($user); } catch (LoginException $e) { register_error($e->getMessage()); } access_show_hidden_entities($access_status); forward();