asort( $userGroups );
asort( $userMembers );
- $lang = $context->getLang();
+ $lang = $context->getLanguage();
$defaultPreferences['usergroups'] = array(
'type' => 'info',
}
// show a preview of the old signature first
- $oldsigWikiText = $wgParser->preSaveTransform( "~~~", $context->getTitle(), $user, new ParserOptions );
+ $oldsigWikiText = $wgParser->preSaveTransform( "~~~", $context->getTitle(), $user, ParserOptions::newFromContext( $context ) );
$oldsigHTML = $context->getOutput()->parseInline( $oldsigWikiText, true, true );
$defaultPreferences['oldsig'] = array(
'type' => 'info',
$defaultPreferences['commoncssjs'] = array(
'type' => 'info',
'raw' => true,
- 'default' => $context->getLang()->pipeList( $linkTools ),
+ 'default' => $context->getLanguage()->pipeList( $linkTools ),
'label-message' => 'prefs-common-css-js',
'section' => 'rendering/skin',
);
$selectedSkin = $user->getOption( 'skin' );
if ( in_array( $selectedSkin, array( 'cologneblue', 'standard' ) ) ) {
- $settings = array_flip( $context->getLang()->getQuickbarSettings() );
+ $settings = array_flip( $context->getLanguage()->getQuickbarSettings() );
$defaultPreferences['quickbar'] = array(
'type' => 'radio',
// Info
$now = wfTimestampNow();
- $lang = $context->getLang();
+ $lang = $context->getLanguage();
$nowlocal = Xml::element( 'span', array( 'id' => 'wpLocalTime' ),
$lang->time( $now, true ) );
$nowserver = $lang->time( $now, false ) .
$linkTools[] = Linker::link( $jsPage, $context->msg( 'prefs-custom-js' )->escaped() );
}
- $display = $sn . ' ' . $context->msg( 'parentheses', $context->getLang()->pipeList( $linkTools ) )->text();
+ $display = $sn . ' ' . $context->msg( 'parentheses', $context->getLanguage()->pipeList( $linkTools ) )->text();
$ret[$display] = $skinkey;
}
* @return array
*/
static function getDateOptions( IContextSource $context ) {
- $dateopts = $context->getLang()->getDatePreferences();
+ $dateopts = $context->getLanguage()->getDatePreferences();
$ret = array();
if ( $key == 'default' ) {
$formatted = $context->msg( 'datedefault' )->escaped();
} else {
- $formatted = htmlspecialchars( $context->getLang()->timeanddate( $epoch, false, $key ) );
+ $formatted = htmlspecialchars( $context->getLanguage()->timeanddate( $epoch, false, $key ) );
}
$ret[$formatted] = $key;
}
}
/**
- * @param $signature
- * @param $alldata
+ * @param $signature string
+ * @param $alldata array
+ * @param $form HTMLForm
* @return bool|string
*/
- static function validateSignature( $signature, $alldata ) {
+ static function validateSignature( $signature, $alldata, $form ) {
global $wgParser, $wgMaxSigChars;
if ( mb_strlen( $signature ) > $wgMaxSigChars ) {
return Xml::element( 'span', array( 'class' => 'error' ),
- wfMessage( 'badsiglength' )->numParams( $wgMaxSigChars )->text() );
+ $form->msg( 'badsiglength' )->numParams( $wgMaxSigChars )->text() );
} elseif ( isset( $alldata['fancysig'] ) &&
$alldata['fancysig'] &&
false === $wgParser->validateSig( $signature ) ) {
- return Xml::element( 'span', array( 'class' => 'error' ), wfMsg( 'badsig' ) );
+ return Xml::element( 'span', array( 'class' => 'error' ), $form->msg( 'badsig' )->text() );
} else {
return true;
}
/**
* @param $signature string
* @param $alldata array
+ * @param $form HTMLForm
* @return string
*/
- static function cleanSignature( $signature, $alldata ) {
+ static function cleanSignature( $signature, $alldata, $form ) {
global $wgParser;
if ( isset( $alldata['fancysig'] ) && $alldata['fancysig'] ) {
$signature = $wgParser->cleanSig( $signature );
return $signature;
}
- /**
- * @param $email
- * @param $alldata
- * @return bool|String
- */
- static function validateEmail( $email, $alldata ) {
- if ( $email && !Sanitizer::validateEmail( $email ) ) {
- return wfMsgExt( 'invalidemailaddress', 'parseinline' );
- }
-
- global $wgEmailConfirmToEdit;
- if ( $wgEmailConfirmToEdit && !$email ) {
- return wfMsgExt( 'noemailtitle', 'parseinline' );
- }
- return true;
- }
-
/**
* @param $user User
* @param $context IContextSource
$htmlForm->setModifiedUser( $user );
$htmlForm->setId( 'mw-prefs-form' );
- $htmlForm->setSubmitText( wfMsg( 'saveprefs' ) );
+ $htmlForm->setSubmitText( $context->msg( 'saveprefs' )->text() );
# Used message keys: 'accesskey-preferences-save', 'tooltip-preferences-save'
$htmlForm->setSubmitTooltip( 'preferences-save' );
$htmlForm->setSubmitID( 'prefsubmit' );
return Status::newGood();
}
- /*
+ /**
* Try to set a user's email address.
* This does *not* try to validate the address.
* Caller is responsible for checking $wgAuth.
/** Some tweaks to allow js prefs to work */
class PreferencesForm extends HTMLForm {
+ // Override default value from HTMLForm
+ protected $mSubSectionBeforeFields = false;
+
private $modifiedUser;
public function setModifiedUser( $user ) {
$t = SpecialPage::getTitleFor( 'Preferences', 'reset' );
- $html .= "\n" . Linker::link( $t, wfMsgHtml( 'restoreprefs' ) );
+ $html .= "\n" . Linker::link( $t, $this->msg( 'restoreprefs' )->escaped() );
$html = Xml::tags( 'div', array( 'class' => 'mw-prefs-buttons' ), $html );
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.
+ */
+ function getLegend( $key ) {
+ $legend = parent::getLegend( $key );
+ wfRunHooks( 'PreferencesGetLegend', array( $this, $key, &$legend ) );
+ return $legend;
+ }
}