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); } } }