* Implicit group "emailconfirmed" for all users whose email addresses are confirmed
authorRob Church <robchurch@users.mediawiki.org>
Thu, 6 Jul 2006 17:33:33 +0000 (17:33 +0000)
committerRob Church <robchurch@users.mediawiki.org>
Thu, 6 Jul 2006 17:33:33 +0000 (17:33 +0000)
RELEASE-NOTES
includes/DefaultSettings.php
includes/User.php

index 3d7146c..03f2349 100644 (file)
@@ -652,7 +652,7 @@ Some default configuration options have changed:
 * (bug 6560) Avoid PHP notice when trimming ISBN whitespace
 * Added namespace translation to Kannada (ka)
 * (bug 6566) Improve input validation on timestamp conversion
-
+* Implicit group "emailconfirmed" for all users whose email addresses are confirmed
 
 == Compatibility ==
 
index c869d7f..1aa745a 100644 (file)
@@ -882,6 +882,10 @@ $wgGroupPermissions['user' ]['minoredit']       = true;
 // Implicit group for accounts that pass $wgAutoConfirmAge
 $wgGroupPermissions['autoconfirmed']['autoconfirmed'] = true;
 
+// Implicit group for accounts with confirmed email addresses
+// This has little use when email address confirmation is off
+$wgGroupPermissions['emailconfirmed']['emailconfirmed'] = true;
+
 // Users with bot privilege can have their edits hidden
 // from various log pages by default
 $wgGroupPermissions['bot'  ]['bot']             = true;
index f695d1d..36af6ba 100644 (file)
@@ -773,6 +773,17 @@ class User {
                        if( $accountAge >= $wgAutoConfirmAge ) {
                                $implicitGroups[] = 'autoconfirmed';
                        }
+                       
+                       # Implicit group for users whose email addresses are confirmed
+                       global $wgEmailAuthentication;
+                       if( $this->isValidEmailAddr( $this->mEmail ) ) {
+                               if( $wgEmailAuthentication ) {
+                                       if( $this->mEmailAuthenticated )
+                                               $implicitGroups[] = 'emailconfirmed';
+                               } else {
+                                       $implicitGroups[] = 'emailconfirmed';
+                               }
+                       }
 
                        $effectiveGroups = array_merge( $implicitGroups, $this->mGroups );
                        $this->mRights = $this->getGroupPermissions( $effectiveGroups );