| 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();
 
- 	}
 
- }
 
 
  |