From 5366cd6a4ca12203147407be01a80817fa37ea3a Mon Sep 17 00:00:00 2001
From: marcus <marcus@36083f99-b078-4883-b0ff-0f9b5a30f544>
Date: Fri, 3 Oct 2008 16:11:13 +0000
Subject: 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
---
 .../actions/email/confirm.php                      | 46 ++++++++++++++++++++++
 1 file changed, 46 insertions(+)
 create mode 100644 mod/uservalidationbyemail/actions/email/confirm.php

(limited to 'mod/uservalidationbyemail/actions/email')

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
-- 
cgit v1.2.3