From 31c5b57b92b2b2442527cc601eab113e047b0e93 Mon Sep 17 00:00:00 2001 From: ben Date: Thu, 26 Jun 2008 15:48:28 +0000 Subject: Unified user settings form git-svn-id: https://code.elgg.org/elgg/trunk@1149 36083f99-b078-4883-b0ff-0f9b5a30f544 --- actions/email/save.php | 22 ++++++++++--------- .../notifications/settings/usersettings/save.php | 6 +++--- actions/user/language.php | 4 ++-- actions/user/name.php | 4 ++-- actions/user/password.php | 6 ++---- actions/usersettings/save.php | 21 ++++++++++++++++++ engine/lib/notification.php | 12 ++++++++++- engine/lib/users.php | 25 +++++++++++++++++----- settings/user/index.php | 6 +++++- .../notifications/settings/usersettings.php | 11 +--------- views/default/user/settings/email.php | 10 --------- views/default/user/settings/language.php | 10 --------- views/default/user/settings/name.php | 10 --------- views/default/user/settings/password.php | 10 --------- views/default/usersettings/form.php | 12 +++++++++++ 15 files changed, 91 insertions(+), 78 deletions(-) create mode 100644 actions/usersettings/save.php create mode 100644 views/default/usersettings/form.php diff --git a/actions/email/save.php b/actions/email/save.php index 08fcc7647..79cc40c6d 100644 --- a/actions/email/save.php +++ b/actions/email/save.php @@ -25,19 +25,21 @@ $user = get_entity($user_id); if ($user) - { - $user->email = $email; - if ($user->save()) - { - request_email_validation($user->getGUID()); - system_message(elgg_echo('email:save:success')); + { + if ($user->email != $email) { + $user->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')); } else system_message(elgg_echo('email:save:fail')); - forward($_SERVER['HTTP_REFERER']); - exit; + //forward($_SERVER['HTTP_REFERER']); + //exit; ?> \ No newline at end of file diff --git a/actions/notifications/settings/usersettings/save.php b/actions/notifications/settings/usersettings/save.php index 79970421a..2748a7150 100644 --- a/actions/notifications/settings/usersettings/save.php +++ b/actions/notifications/settings/usersettings/save.php @@ -22,9 +22,9 @@ if (!$result) { system_message(elgg_echo('notifications:usersettings:save:fail')); - forward($_SERVER['HTTP_REFERER']); + //forward($_SERVER['HTTP_REFERER']); - exit; + //exit; } } @@ -33,5 +33,5 @@ else system_message(elgg_echo('notifications:usersettings:save:fail')); - forward($_SERVER['HTTP_REFERER']); + //forward($_SERVER['HTTP_REFERER']); ?> \ No newline at end of file diff --git a/actions/user/language.php b/actions/user/language.php index f6a815858..f0b91791e 100644 --- a/actions/user/language.php +++ b/actions/user/language.php @@ -35,6 +35,6 @@ else system_message(elgg_echo('user:language:fail')); - forward($_SERVER['HTTP_REFERER']); - exit; + //forward($_SERVER['HTTP_REFERER']); + //exit; ?> \ No newline at end of file diff --git a/actions/user/name.php b/actions/user/name.php index bbeed85ec..b93c804b3 100644 --- a/actions/user/name.php +++ b/actions/user/name.php @@ -35,6 +35,6 @@ else system_message(elgg_echo('user:name:fail')); - forward($_SERVER['HTTP_REFERER']); - exit; + //forward($_SERVER['HTTP_REFERER']); + //exit; ?> \ No newline at end of file diff --git a/actions/user/password.php b/actions/user/password.php index 4c7ceb65c..ec3252644 100644 --- a/actions/user/password.php +++ b/actions/user/password.php @@ -43,9 +43,7 @@ else system_message(elgg_echo('user:password:fail:tooshort')); } - else - system_message(elgg_echo('user:password:fail')); - forward($_SERVER['HTTP_REFERER']); - exit; + //forward($_SERVER['HTTP_REFERER']); + //exit; ?> \ No newline at end of file diff --git a/actions/usersettings/save.php b/actions/usersettings/save.php new file mode 100644 index 000000000..6322369bc --- /dev/null +++ b/actions/usersettings/save.php @@ -0,0 +1,21 @@ + diff --git a/engine/lib/notification.php b/engine/lib/notification.php index aa2ecbfdd..c5b3cacf1 100644 --- a/engine/lib/notification.php +++ b/engine/lib/notification.php @@ -250,7 +250,17 @@ // Add settings view to user settings & register action extend_elgg_settings_page('notifications/settings/usersettings', 'usersettings/user'); - register_action("notifications/settings/usersettings/save"); + + register_plugin_hook('usersettings:save','user','notification_user_settings_save'); + + //register_action("notifications/settings/usersettings/save"); + } + + function notification_user_settings_save() { + + global $CONFIG; + @include($CONFIG->path . "actions/notifications/settings/usersettings/save.php"); + } // Register a startup event diff --git a/engine/lib/users.php b/engine/lib/users.php index 644c5000b..d8fc53f79 100644 --- a/engine/lib/users.php +++ b/engine/lib/users.php @@ -914,22 +914,37 @@ register_action("friends/add"); register_action("friends/remove"); register_action("email/confirm"); - + + register_action("usersettings/save"); + // User name change extend_elgg_settings_page('user/settings/name', 'usersettings/user', 1); - register_action("user/name"); + //register_action("user/name"); // User password change extend_elgg_settings_page('user/settings/password', 'usersettings/user', 1); - register_action("user/password"); + //register_action("user/password"); // Add email settings extend_elgg_settings_page('user/settings/email', 'usersettings/user', 1); - register_action("email/save"); + //register_action("email/save"); // Add language settings extend_elgg_settings_page('user/settings/language', 'usersettings/user', 1); - register_action("user/language"); + //register_action("user/language"); + + register_plugin_hook('usersettings:save','user','users_settings_save'); + + } + + function users_settings_save() { + + global $CONFIG; + @include($CONFIG->path . "actions/user/name.php"); + @include($CONFIG->path . "actions/user/password.php"); + @include($CONFIG->path . "actions/email/save.php"); + @include($CONFIG->path . "actions/user/language.php"); + } //register actions ************************************************************* diff --git a/settings/user/index.php b/settings/user/index.php index 274e86e9b..99701a83d 100644 --- a/settings/user/index.php +++ b/settings/user/index.php @@ -18,5 +18,9 @@ // Display main admin menu - page_draw(elgg_echo("usersettings:user"),elgg_view_layout("one_column",elgg_view("usersettings/user"))); + page_draw( + elgg_echo("usersettings:user"), + elgg_view_layout("one_column", + elgg_view("usersettings/form")) + ); ?> \ No newline at end of file diff --git a/views/default/notifications/settings/usersettings.php b/views/default/notifications/settings/usersettings.php index 71c12fdc5..af7c6cf54 100644 --- a/views/default/notifications/settings/usersettings.php +++ b/views/default/notifications/settings/usersettings.php @@ -13,7 +13,6 @@ global $NOTIFICATION_HANDLERS; $notification_settings = get_user_notification_settings(); ?> -

@@ -35,12 +34,4 @@ - -

- -

-
\ No newline at end of file + \ No newline at end of file diff --git a/views/default/user/settings/email.php b/views/default/user/settings/email.php index fdd509cba..24fcc7a0d 100644 --- a/views/default/user/settings/email.php +++ b/views/default/user/settings/email.php @@ -15,18 +15,8 @@ if ($user) { ?>

-

:

- -

- -

-
\ No newline at end of file diff --git a/views/default/user/settings/language.php b/views/default/user/settings/language.php index 476f21924..dcc20e8ef 100644 --- a/views/default/user/settings/language.php +++ b/views/default/user/settings/language.php @@ -16,7 +16,6 @@ if ($user) { ?>

-

:

- -

- -

-
\ No newline at end of file diff --git a/views/default/user/settings/name.php b/views/default/user/settings/name.php index 3525dc958..da0ded99a 100644 --- a/views/default/user/settings/name.php +++ b/views/default/user/settings/name.php @@ -15,18 +15,8 @@ if ($user) { ?>

-

:

- -

- -

-
\ No newline at end of file diff --git a/views/default/user/settings/password.php b/views/default/user/settings/password.php index 27b48e63d..b40a131e6 100644 --- a/views/default/user/settings/password.php +++ b/views/default/user/settings/password.php @@ -15,19 +15,9 @@ if ($user) { ?>

-

: :

- -

- -

-
\ No newline at end of file diff --git a/views/default/usersettings/form.php b/views/default/usersettings/form.php new file mode 100644 index 000000000..c6f2f4968 --- /dev/null +++ b/views/default/usersettings/form.php @@ -0,0 +1,12 @@ +
+ + +

+ +

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