lead to this hook being called (it was previously only called from within Article.php
* Maximum execution time for shell processes on linux is now configured with
$wgMaxShellTime (180 seconds by default)
-
+* (bug 1306) 'Email user' link no longer shown on user page when emailing
+ is not available due to lack of confirmed address or disabled preference
+
=== Bug fixes in 1.14 ===
* (bug 14907) DatabasePostgres::fieldType now defined.
}
function showEmailUser( $id ) {
- global $wgEnableEmail, $wgEnableUserEmail, $wgUser;
- return $wgEnableEmail &&
- $wgEnableUserEmail &&
- $wgUser->isLoggedIn() && # show only to signed in users
- 0 != $id; # we can only email to non-anons ..
-# '' != $id->getEmail() && # who must have an email address stored ..
-# 0 != $id->getEmailauthenticationtimestamp() && # .. which is authenticated
-# 1 != $wgUser->getOption('disablemail'); # and not disabled
+ global $wgUser;
+ $targetUser = User::newFromId( $id );
+ return $wgUser->canSendEmail() && # the sending user must have a confirmed email address
+ $targetUser->canReceiveEmail(); # the target user must have a confirmed email address and allow emails from users
}
function emailUserLink() {
);
wfRunHooks( 'UserSaveSettings', array( $this ) );
$this->clearSharedCache();
+ $this->getUserPage()->invalidateCache();
}
/**
* @return \type{\bool} True if allowed
*/
function canSendEmail() {
+ global $wgEnableEmail, $wgEnableUserEmail;
+ if( !$wgEnableEmail || !$wgEnableUserEmail ) {
+ return false;
+ }
$canSend = $this->isEmailConfirmed();
wfRunHooks( 'UserCanSendEmail', array( &$this, &$canSend ) );
return $canSend;