public function execute($par = '')
 {
     $this->setHeaders();
     $this->outputHeader();
     $out = $this->getOutput();
     $out->disallowUserJs();
     # Prevent hijacked user scripts from sniffing passwords etc.
     $this->requireLogin('prefsnologintext2');
     $this->checkReadOnly();
     if ($this->getRequest()->getCheck('success')) {
         $out->addHtml(MobileUI::successBox(wfMessage('savedprefs')));
     }
     if ($par && in_array($par, $this->validTabs)) {
         $htmlForm = $this->getPreferencesForm($par);
         $htmlForm->setSubmitCallback(array('Preferences', 'tryUISubmit'));
         $htmlForm->show();
     } else {
         foreach ($this->validTabs as $tabName) {
             $attrs = array('class' => $baseClass = MobileUI::buttonClass('block'), 'href' => SpecialPage::getTitleFor($this->getName(), $tabName)->getLocalUrl());
             $button = Html::element('a', $attrs, $this->msg("prefs-{$tabName}"));
             $out->addHtml($button);
         }
     }
 }