Exemplo n.º 1
0
 private function showResetForm()
 {
     if (!$this->getUser()->isAllowed('editmyoptions')) {
         throw new PermissionsError('editmyoptions');
     }
     $this->getOutput()->addWikiMsg('prefs-reset-intro');
     $context = new DerivativeContext($this->getContext());
     $context->setTitle($this->getPageTitle('reset'));
     // Reset subpage
     $htmlForm = new HTMLForm(array(), $context, 'prefs-restore');
     $htmlForm->setSubmitTextMsg('restoreprefs');
     $htmlForm->setSubmitDestructive();
     $htmlForm->setSubmitCallback(array($this, 'submitReset'));
     $htmlForm->suppressReset();
     $htmlForm->show();
 }
 /**
  * Get a form for clearing the watchlist
  *
  * @return HTMLForm
  */
 protected function getClearForm()
 {
     $context = new DerivativeContext($this->getContext());
     $context->setTitle($this->getPageTitle('clear'));
     // Reset subpage
     $form = new HTMLForm(array(), $context);
     $form->setSubmitTextMsg('watchlistedit-clear-submit');
     # Used message keys: 'accesskey-watchlistedit-clear-submit', 'tooltip-watchlistedit-clear-submit'
     $form->setSubmitTooltip('watchlistedit-clear-submit');
     $form->setWrapperLegendMsg('watchlistedit-clear-legend');
     $form->addHeaderText($this->msg('watchlistedit-clear-explain')->parse());
     $form->setSubmitCallback(array($this, 'submitClear'));
     $form->setSubmitDestructive();
     return $form;
 }
Exemplo n.º 3
0
 protected function showDeleteTagForm($tag)
 {
     $user = $this->getUser();
     if (!$user->isAllowed('deletechangetags')) {
         throw new PermissionsError('deletechangetags');
     }
     $out = $this->getOutput();
     $out->setPageTitle($this->msg('tags-delete-title'));
     $out->addBacklinkSubtitle($this->getPageTitle());
     // is the tag actually able to be deleted?
     $canDeleteResult = ChangeTags::canDeleteTag($tag, $user);
     if (!$canDeleteResult->isGood()) {
         $out->addWikiText("<div class=\"error\">\n" . $canDeleteResult->getWikiText() . "\n</div>");
         if (!$canDeleteResult->isOK()) {
             return;
         }
     }
     $preText = $this->msg('tags-delete-explanation-initial', $tag)->parseAsBlock();
     $tagUsage = ChangeTags::tagUsageStatistics();
     if (isset($tagUsage[$tag]) && $tagUsage[$tag] > 0) {
         $preText .= $this->msg('tags-delete-explanation-in-use', $tag, $tagUsage[$tag])->parseAsBlock();
     }
     $preText .= $this->msg('tags-delete-explanation-warning', $tag)->parseAsBlock();
     // see if the tag is in use
     $this->extensionActivatedTags = array_fill_keys(ChangeTags::listExtensionActivatedTags(), true);
     if (isset($this->extensionActivatedTags[$tag])) {
         $preText .= $this->msg('tags-delete-explanation-active', $tag)->parseAsBlock();
     }
     $fields = [];
     $fields['Reason'] = ['type' => 'text', 'label' => $this->msg('tags-delete-reason')->plain(), 'size' => 50];
     $fields['HiddenTag'] = ['type' => 'hidden', 'name' => 'tag', 'default' => $tag, 'required' => true];
     $form = new HTMLForm($fields, $this->getContext());
     $form->setAction($this->getPageTitle('delete')->getLocalURL());
     $form->tagAction = 'delete';
     // custom property on HTMLForm object
     $form->setSubmitCallback([$this, 'processTagForm']);
     $form->setSubmitTextMsg('tags-delete-submit');
     $form->setSubmitDestructive();
     // nasty!
     $form->addPreText($preText);
     $form->show();
 }
Exemplo n.º 4
0
 /**
  * Customizes the HTMLForm a bit
  *
  * @param HTMLForm $form
  */
 protected function alterForm(HTMLForm $form)
 {
     $form->setWrapperLegendMsg('blockip-legend');
     $form->setHeaderText('');
     $form->setSubmitDestructive();
     $msg = $this->alreadyBlocked ? 'ipb-change-block' : 'ipbsubmit';
     $form->setSubmitTextMsg($msg);
     $this->addHelpLink('Help:Blocking users');
     # Don't need to do anything if the form has been posted
     if (!$this->getRequest()->wasPosted() && $this->preErrors) {
         $s = $form->formatErrors($this->preErrors);
         if ($s) {
             $form->addHeaderText(Html::rawElement('div', array('class' => 'error'), $s));
         }
     }
 }