diff options
author | marcus <marcus@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2008-10-03 16:11:13 +0000 |
---|---|---|
committer | marcus <marcus@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2008-10-03 16:11:13 +0000 |
commit | 5366cd6a4ca12203147407be01a80817fa37ea3a (patch) | |
tree | 690afeb8cfd3d4ca1cb41700b40fe2454b29b10d /mod/uservalidationbyemail/actions/email/confirm.php | |
parent | 8dd1515697fcef1968d062c18222eb21d520f5e2 (diff) | |
download | elgg-5366cd6a4ca12203147407be01a80817fa37ea3a.tar.gz elgg-5366cd6a4ca12203147407be01a80817fa37ea3a.tar.bz2 |
Fixes #311, closes #345: Validation now called via event 'user', 'validate'. Email validation now a plugin.
git-svn-id: https://code.elgg.org/elgg/trunk@2177 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'mod/uservalidationbyemail/actions/email/confirm.php')
-rw-r--r-- | mod/uservalidationbyemail/actions/email/confirm.php | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/mod/uservalidationbyemail/actions/email/confirm.php b/mod/uservalidationbyemail/actions/email/confirm.php new file mode 100644 index 000000000..6f96a076f --- /dev/null +++ b/mod/uservalidationbyemail/actions/email/confirm.php @@ -0,0 +1,46 @@ +<?php + /** + * Action which confirms an email when it is registered or changed, based on a code. + * + * @package Elgg + * @subpackage Core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 + * @author + * @copyright Curverider Ltd 2008 + * @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(); + + 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); + + forward($_SERVER['HTTP_REFERER']); + exit; + +?>
\ No newline at end of file |