r50782 - Code Review

From MediaWiki.org

Jump to: navigation, search
Repository:MediaWiki
Revision:r50781 | r50782 (on ViewVC) | r50783 >
Date:17:07, 19 May 2009
Author:demon
Status:ok
Tags:
Comment:(bug 18761) Add setting to hide a list of preferences.
Modified paths:

Diff [purge]

Index: trunk/phase3/includes/Setup.php
===================================================================
--- trunk/phase3/includes/Setup.php	(revision 50781)
+++ trunk/phase3/includes/Setup.php	(revision 50782)
@@ -201,6 +201,12 @@
 # If file cache or squid cache is on, just disable this (DWIMD).
 if( $wgUseFileCache || $wgUseSquid ) $wgShowIPinHeader = false;
 
+# $wgAllowRealName was removed in 1.16 in favor of $wgHiddenPrefs,
+# handle b/c here
+if( !$wgAllowRealName ) {
+	$wgHiddenPrefs[] = 'realname';
+}
+
 wfProfileOut( $fname.'-misc1' );
 wfProfileIn( $fname.'-memcached' );
 
Index: trunk/phase3/includes/DefaultSettings.php
===================================================================
--- trunk/phase3/includes/DefaultSettings.php	(revision 50781)
+++ trunk/phase3/includes/DefaultSettings.php	(revision 50782)
@@ -2496,9 +2496,15 @@
 	'disablemail'			  => 0,
 );
 
-/** Whether or not to allow and use real name fields. Defaults to true. */
+/** 
+ * Whether or not to allow and use real name fields. 
+ * @deprecated in 1.16, use $wgHiddenPrefs[] = 'realname' below 
+ */
 $wgAllowRealName = true;
 
+/** An array of preferences to not show for the user */
+$wgHiddenPrefs = array();
+
 /*****************************************************************************
  *  Extensions
  */
Index: trunk/phase3/includes/Preferences.php
===================================================================
--- trunk/phase3/includes/Preferences.php	(revision 50781)
+++ trunk/phase3/includes/Preferences.php	(revision 50782)
@@ -29,6 +29,14 @@
 
 		wfRunHooks( 'GetPreferences', array( $user, &$defaultPreferences ) );
 
+		## Remove preferences that wikis don't want to use
+		global $wgHiddenPrefs;
+		foreach ( $wgHiddenPrefs as $pref ) {
+			if ( isset( $defaultPreferences[$pref] ) ) {
+				unset( $defaultPreferences[ $pref ] );
+			}
+		}
+
 		## Prod in defaults from the user
 		global $wgDefaultUserOptions;
 		foreach( $defaultPreferences as $name => &$info ) {
@@ -138,19 +146,16 @@
 		}
 				
 		// Actually changeable stuff
-		global $wgAllowRealName, $wgAuth;
-		if ($wgAllowRealName) {
-			$defaultPreferences['realname'] =
-					array(
-						'type' => $wgAuth->allowPropChange( 'realname' ) ? 'text' : 'info',
-						'default' => $user->getRealName(),
-						'section' => 'personal/info',
-						'label-message' => 'yourrealname',
-						'help-message' => 'prefs-help-realname',
-					);
-		}
-		
-		
+		global $wgAuth;
+		$defaultPreferences['realname'] =
+				array(
+					'type' => $wgAuth->allowPropChange( 'realname' ) ? 'text' : 'info',
+					'default' => $user->getRealName(),
+					'section' => 'personal/info',
+					'label-message' => 'yourrealname',
+					'help-message' => 'prefs-help-realname',
+				);
+
 		$defaultPreferences['gender'] =
 				array(
 					'type' => 'select',
Index: trunk/phase3/RELEASE-NOTES
===================================================================
--- trunk/phase3/RELEASE-NOTES	(revision 50781)
+++ trunk/phase3/RELEASE-NOTES	(revision 50782)
@@ -24,6 +24,10 @@
 * $wgSessionHandler can be used to configure session.save_handler
 * $wgLocalFileRepo/$wgForeignFileRepos now have a 'fileMode' parameter to
   be used when uploading/moving files
+* (bug 18761) $wgHiddenPrefs is a new array for specifying preferences not
+  to be shown to users
+* $wgAllowRealName was deprecated in favor of $wgHiddenPrefs[] = 'realname',
+  but the former is still retained for backwards-compatibility
 
 === New features in 1.16 ===
 

Follow-up revisions

RevisionCommit summaryAuthorDate
r50955Update per r50782:robin12:09, 24 May 2009

Status & tagging log

Views
Toolbox