Ejemplo n.º 1
0
/**
 * 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();
}
Ejemplo n.º 2
0
/**
 * 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('');
}
Ejemplo n.º 3
0
 * @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);
Ejemplo n.º 4
0
<?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();