protected $permissionManager;
/**
- * TODO Make this a const when we drop HHVM support (T192166)
- *
* @var array
* @since 1.34
*/
- public static $constructorOptions = [
+ public const CONSTRUCTOR_OPTIONS = [
'AllowRequiringEmailForResets',
'AllowUserCss',
'AllowUserCssPrefs',
NamespaceInfo $nsInfo,
PermissionManager $permissionManager
) {
- $options->assertRequiredOptions( self::$constructorOptions );
+ $options->assertRequiredOptions( self::CONSTRUCTOR_OPTIONS );
$this->options = $options;
$this->contLang = $contLang;
}
/**
- * @var HTMLForm $htmlForm
+ * @var PreferencesFormOOUI $htmlForm
*/
$htmlForm = new $formClass( $formDescriptor, $context, 'prefs' );
] ) );
$htmlForm->setModifiedUser( $user );
+ $htmlForm->setOptionsEditable( $this->permissionManager
+ ->userHasRight( $user, 'editmyoptions' ) );
+ $htmlForm->setPrivateInfoEditable( $this->permissionManager
+ ->userHasRight( $user, 'editmyprivateinfo' ) );
$htmlForm->setId( 'mw-prefs-form' );
$htmlForm->setAutocomplete( 'off' );
$htmlForm->setSubmitText( $context->msg( 'saveprefs' )->text() );
$htmlForm->setSubmitTooltip( 'preferences-save' );
$htmlForm->setSubmitID( 'prefcontrol' );
$htmlForm->setSubmitCallback(
- function ( array $formData, HTMLForm $form ) use ( $formDescriptor ) {
+ function ( array $formData, PreferencesFormOOUI $form ) use ( $formDescriptor ) {
return $this->submitForm( $formData, $form, $formDescriptor );
}
);