// Already set, no problem
continue;
} elseif ( !is_null( $prefFromUser ) && // Make sure we're not just pulling nothing
- $field->validate( $prefFromUser, $user->mOptions ) === true ) {
+ $field->validate( $prefFromUser, $user->getOptions() ) === true ) {
$info['default'] = $prefFromUser;
- } elseif ( $field->validate( $globalDefault, $user->mOptions ) === true ) {
+ } elseif ( $field->validate( $globalDefault, $user->getOptions() ) === true ) {
$info['default'] = $globalDefault;
} else {
throw new MWException( "Global default '$globalDefault' is invalid for field $name" );
}
// Language
- $languages = Language::getLanguageNames( false );
+ $languages = Language::fetchLanguageNames( null, 'mw' );
if ( !array_key_exists( $wgLanguageCode, $languages ) ) {
$languages[$wgLanguageCode] = $wgLanguageCode;
}
$emailAddress .= $emailAddress == '' ? $link : " ($link)";
}
+
$defaultPreferences['emailaddress'] = array(
'type' => 'info',
'raw' => true,
'default' => $emailAddress,
'label-message' => 'youremail',
'section' => 'personal/email',
+ # 'cssclass' chosen below
);
$disableEmailPrefs = false;
+ $emailauthenticationclass = 'mw-email-not-authenticated';
if ( $wgEmailAuthentication ) {
if ( $user->getEmail() ) {
if ( $user->getEmailAuthenticationTimestamp() ) {
$emailauthenticated = $context->msg( 'emailauthenticated',
$time, $d, $t )->parse() . '<br />';
$disableEmailPrefs = false;
+ $emailauthenticationclass = 'mw-email-authenticated';
} else {
$disableEmailPrefs = true;
$emailauthenticated = $context->msg( 'emailnotauthenticated' )->parse() . '<br />' .
SpecialPage::getTitleFor( 'Confirmemail' ),
$context->msg( 'emailconfirmlink' )->escaped()
) . '<br />';
+ $emailauthenticationclass="mw-email-not-authenticated";
}
} else {
$disableEmailPrefs = true;
$emailauthenticated = $context->msg( 'noemailprefs' )->escaped();
+ $emailauthenticationclass = 'mw-email-none';
}
$defaultPreferences['emailauthentication'] = array(
'section' => 'personal/email',
'label-message' => 'prefs-emailconfirm-label',
'default' => $emailauthenticated,
+ # Apply the same CSS class used on the input to the message:
+ 'cssclass' => $emailauthenticationclass,
);
-
}
+ $defaultPreferences['emailaddress']['cssclass'] = $emailauthenticationclass;
if ( $wgEnableUserEmail && $user->isAllowed( 'sendemail' ) ) {
$defaultPreferences['disablemail'] = array(
);
if ( $wgAllowUserCssPrefs ) {
- $defaultPreferences['highlightbroken'] = array(
- 'type' => 'toggle',
- 'section' => 'rendering/advancedrendering',
- 'label' => $context->msg( 'tog-highlightbroken' )->text(), // Raw HTML
- );
$defaultPreferences['showtoc'] = array(
'type' => 'toggle',
'section' => 'rendering/advancedrendering',
$removeKeys = array_flip( $remove );
$formDescriptor = array_diff_key( $formDescriptor, $removeKeys );
}
+
+ /**
+ * @var $htmlForm PreferencesForm
+ */
$htmlForm = new $formClass( $formDescriptor, $context, 'prefs' );
$htmlForm->setModifiedUser( $user );
/**
* @param $formData
- * @param $form HTMLForm
+ * @param $form PreferencesForm
* @param $entryPoint string
* @return bool|Status|string
*/
/**
* @param $formData
+ * @param $form PreferencesForm
* @return Status
*/
public static function tryUISubmit( $formData, $form ) {
}
/**
+ * @deprecated in 1.19; will be removed in 1.20.
* @param $user User
* @return array
*/
public static function loadOldSearchNs( $user ) {
+ wfDeprecated( __METHOD__, '1.19' );
+
$searchableNamespaces = SearchEngine::searchableNamespaces();
// Back compat with old format
$arr = array();
private $modifiedUser;
+ /**
+ * @param $user User
+ */
public function setModifiedUser( $user ) {
$this->modifiedUser = $user;
}
+ /**
+ * @return User
+ */
public function getModifiedUser() {
if ( $this->modifiedUser === null ) {
return $this->getUser();
return $data;
}
+
/**
* Get the whole body of the form.
+ * @return string
*/
function getBody() {
return $this->displaySection( $this->mFieldTree, '', 'mw-prefsection-' );
/**
* Get the <legend> for a given section key. Normally this is the
* prefs-$key message but we'll allow extensions to override it.
+ * @param $key string
+ * @return string
*/
function getLegend( $key ) {
$legend = parent::getLegend( $key );