-
- $nt = Title::newFromURL( $target );
- if ( is_null( $nt ) ) {
- wfDebug( "Target is invalid title.\n" );
- return array( "notargettitle", "notargettext" );
- }
-
- $nu = User::newFromName( $nt->getText() );
- if( is_null( $nu ) || !$nu->canReceiveEmail() ) {
- wfDebug( "Target is invalid user or can't receive.\n" );
- return array( "noemailtitle", "noemailtext" );
- }
-
- return $nu;
- }
- static function getPermissionsError ( $user, $editToken ) {
- if( !$user->canSendEmail() ) {
- wfDebug( "User can't send.\n" );
- return array( "mailnologin", "mailnologintext" );
- }
-
- if( $user->isBlockedFromEmailuser() ) {
- wfDebug( "User is blocked from sending e-mail.\n" );
- return array( "blockedemailuser", "" );
- }
-
- if( $user->pingLimiter( 'emailuser' ) ) {
- wfDebug( "Ping limiter triggered.\n" );
- return array( 'actionthrottledtext', '' );
- }
-
- if( !$user->matchEditToken( $editToken ) ) {
- wfDebug( "Matching edit token failed.\n" );
- return array( 'sessionfailure', '' );
- }
-
- return;
- }
-
- static function newFromURL( $target, $text, $subject, $cc_me )
- {
- $nt = Title::newFromURL( $target );
- $nu = User::newFromName( $nt->getText() );
- return new EmailUserForm( $nu, $text, $subject, $cc_me );