wfRunHooks( 'GetPreferences', array( $user, &$defaultPreferences ) );
+ self::loadPreferenceValues( $user, $context, $defaultPreferences );
+ self::$defaultPreferences = $defaultPreferences;
+ return $defaultPreferences;
+ }
+
+ /**
+ * Loads existing values for a given array of preferences
+ * @throws MWException
+ * @param User $user
+ * @param IContextSource $context
+ * @param array defaultPreferences to load values for
+ * @return array|null
+ */
+ static function loadPreferenceValues( $user, $context, &$defaultPreferences ) {
## Remove preferences that wikis don't want to use
global $wgHiddenPrefs;
foreach ( $wgHiddenPrefs as $pref ) {
}
}
- self::$defaultPreferences = $defaultPreferences;
-
return $defaultPreferences;
}
* @param array $defaultPreferences
*/
static function searchPreferences( $user, IContextSource $context, &$defaultPreferences ) {
- global $wgContLang;
-
- $defaultPreferences['searcheverything'] = array(
- 'type' => 'toggle',
- 'label-message' => 'searcheverything-enable',
- 'section' => 'searchoptions/advancedsearchoptions',
- );
-
- $nsOptions = $wgContLang->getFormattedNamespaces();
- $nsOptions[0] = $context->msg( 'blanknamespace' )->text();
- foreach ( $nsOptions as $ns => $name ) {
- if ( $ns < 0 ) {
- unset( $nsOptions[$ns] );
- }
+ foreach ( MWNamespace::getValidNamespaces() as $n ) {
+ $defaultPreferences[ 'searchNs' . $n ] = array(
+ 'type' => 'api',
+ );
}
-
- $defaultPreferences['searchnamespaces'] = array(
- 'type' => 'multiselect',
- 'label-message' => 'defaultns',
- 'options' => array_flip( $nsOptions ),
- 'section' => 'searchoptions/advancedsearchoptions',
- 'prefix' => 'searchNs',
- );
}
/**
return array( $result, 'mailerror' );
}
}
-
- /**
- * @deprecated since 1.19
- * @param User $user
- * @return array
- */
- public static function loadOldSearchNs( $user ) {
- wfDeprecated( __METHOD__, '1.19' );
-
- $searchableNamespaces = SearchEngine::searchableNamespaces();
- // Back compat with old format
- $arr = array();
-
- foreach ( $searchableNamespaces as $ns => $name ) {
- if ( $user->getOption( 'searchNs' . $ns ) ) {
- $arr[] = $ns;
- }
- }
-
- return $arr;
- }
}
/** Some tweaks to allow js prefs to work */