123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- <?php
- /**
- * All plugin hook callback functions are handled in this file
- */
- /**
- * Listen to the usersettings save hook for some notifications to the user
- *
- * @param string $hook usersettings:save
- * @param string $type user
- * @param bool $return_value not supplied for this hook
- * @param null $params not supplied for this hook
- *
- * @return void
- */
- function security_tools_usersettings_save_handler($hook, $type, $return_value, $params) {
-
- $user_guid = (int) get_input("guid");
- if (empty($user_guid)) {
- $user_guid = elgg_get_logged_in_user_guid();
- }
-
- if (empty($user_guid)) {
- return $return_value;
- }
-
- $user = get_user($user_guid);
- if (empty($user) || !$user->canEdit()) {
- return $return_value;
- }
-
- // passwords are different
- if (_elgg_set_user_password() === true) {
- // do we need to notify the user about a password change
- $setting = elgg_get_plugin_setting("mails_password_change", "security_tools");
- if ($setting != "no") {
- $site = elgg_get_site_entity();
-
- $subject = elgg_echo("security_tools:notify_user:password:subject");
- $message = elgg_echo("security_tools:notify_user:password:message", array(
- $user->name,
- $site->name,
- $site->url
- ));
-
- notify_user($user->getGUID(), $site->getGUID(), $subject, $message, null, "email");
- }
- }
-
- // email are also different
- $setting = elgg_get_plugin_setting("mails_verify_email_change", "security_tools");
- if (($setting != "no") && ($user->getGUID() == elgg_get_logged_in_user_guid())) {
- // verify new email address
- security_tools_prepare_email_change();
- } else {
- // old way, or admin changes your email
- _elgg_set_user_email();
- }
- }
|