From bc50cfe5538d8e558164f9a5df0bd418ccde4378 Mon Sep 17 00:00:00 2001 From: marcus Date: Thu, 26 Jun 2008 09:20:24 +0000 Subject: Closes #89: Provide functionality for a user to set their email address in user settings http://trac.elgg.org/elgg/ticket/89 git-svn-id: https://code.elgg.org/elgg/trunk@1138 36083f99-b078-4883-b0ff-0f9b5a30f544 --- actions/email/save.php | 43 ++++++++++++++++++++++++++ engine/lib/notification.php | 4 +++ languages/en.php | 6 ++++ views/default/notifications/settings/email.php | 32 +++++++++++++++++++ 4 files changed, 85 insertions(+) create mode 100644 actions/email/save.php create mode 100644 views/default/notifications/settings/email.php diff --git a/actions/email/save.php b/actions/email/save.php new file mode 100644 index 000000000..97065d8b4 --- /dev/null +++ b/actions/email/save.php @@ -0,0 +1,43 @@ +email = $email; + if ($user->save()) + { + request_email_validation($user->getGUID()); + system_message(elgg_echo('email:save:success')); + } + else + system_message(elgg_echo('email:save:fail')); + } + else + system_message(elgg_echo('email:save:fail')); + + forward($_SERVER['HTTP_REFERER']); + exit; +?> \ No newline at end of file diff --git a/engine/lib/notification.php b/engine/lib/notification.php index aa2ecbfdd..8a2f2c432 100644 --- a/engine/lib/notification.php +++ b/engine/lib/notification.php @@ -248,6 +248,10 @@ // Register a notification handler for the default email method register_notification_handler("email", "email_notify_handler"); + // Add email settings + extend_elgg_settings_page('notifications/settings/email', 'usersettings/user'); + register_action("email/save"); + // Add settings view to user settings & register action extend_elgg_settings_page('notifications/settings/usersettings', 'usersettings/user'); register_action("notifications/settings/usersettings/save"); diff --git a/languages/en.php b/languages/en.php index 7b17489dc..d8814f682 100644 --- a/languages/en.php +++ b/languages/en.php @@ -442,6 +442,12 @@ Alternatively, you can enter your database settings below and we will try and do /** * Emails */ + 'email:settings' => "Email settings", + 'email:address:label' => "Your email address", + + 'email:save:success' => "New email address saved, verification requested.", + 'email:save:fail' => "Your new email address could not be saved.", + 'email:confirm:success' => "You have confirmed your email address!", 'email:confirm:fail' => "Your email address could not be verified...", diff --git a/views/default/notifications/settings/email.php b/views/default/notifications/settings/email.php new file mode 100644 index 000000000..fdd509cba --- /dev/null +++ b/views/default/notifications/settings/email.php @@ -0,0 +1,32 @@ + +

+
+

+ : +

+ +

+ +

+
+ + \ No newline at end of file -- cgit v1.2.3