/** * @param WebRequest $request */ function show($request) { global $wgOut, $wgUser; $first = $this->revisions[0]; $wgOut->addWikiText(wfMsg('revdelete-selected', $this->page->getPrefixedText())); $wgOut->addHtml("<ul>"); foreach ($this->revisions as $revid) { $rev = Revision::newFromTitle($this->page, $revid); $wgOut->addHtml($this->historyLine($rev)); $bitfields[] = $rev->mDeleted; // FIXME } $wgOut->addHtml("</ul>"); $wgOut->addWikiText(wfMsg('revdelete-text')); $items = array(wfInputLabel(wfMsg('revdelete-log'), 'wpReason', 'wpReason', 60), wfSubmitButton(wfMsg('revdelete-submit'))); $hidden = array(wfHidden('wpEditToken', $wgUser->editToken()), wfHidden('target', $this->page->getPrefixedText())); foreach ($this->revisions as $revid) { $hidden[] = wfHidden('oldid[]', $revid); } $special = Title::makeTitle(NS_SPECIAL, 'Revisiondelete'); $wgOut->addHtml(wfElement('form', array('method' => 'post', 'action' => $special->getLocalUrl('action=submit')))); $wgOut->addHtml('<fieldset><legend>' . wfMsgHtml('revdelete-legend') . '</legend>'); foreach ($this->checks as $item) { list($message, $name, $field) = $item; $wgOut->addHtml('<div>' . wfCheckLabel(wfMsg($message), $name, $name, $rev->isDeleted($field)) . '</div>'); } $wgOut->addHtml('</fieldset>'); foreach ($items as $item) { $wgOut->addHtml('<p>' . $item . '</p>'); } foreach ($hidden as $item) { $wgOut->addHtml($item); } $wgOut->addHtml('</form>'); }
/** * Constructor */ function wfSpecialImport($page = '') { global $wgUser, $wgOut, $wgRequest, $wgTitle, $wgImportSources; global $wgImportTargetNamespace; $interwiki = false; $namespace = $wgImportTargetNamespace; $frompage = ''; $history = true; if ($wgRequest->wasPosted() && $wgRequest->getVal('action') == 'submit') { $isUpload = false; $namespace = $wgRequest->getIntOrNull('namespace'); switch ($wgRequest->getVal("source")) { case "upload": $isUpload = true; if ($wgUser->isAllowed('importupload')) { $source = ImportStreamSource::newFromUpload("xmlimport"); } else { return $wgOut->permissionRequired('importupload'); } break; case "interwiki": $interwiki = $wgRequest->getVal('interwiki'); $history = $wgRequest->getCheck('interwikiHistory'); $frompage = $wgRequest->getText("frompage"); $source = ImportStreamSource::newFromInterwiki($interwiki, $frompage, $history); break; default: $source = new WikiErrorMsg("importunknownsource"); } if (WikiError::isError($source)) { $wgOut->addWikiText(wfEscapeWikiText($source->getMessage())); } else { $wgOut->addWikiText(wfMsg("importstart")); $importer = new WikiImporter($source); if (!is_null($namespace)) { $importer->setTargetNamespace($namespace); } $reporter = new ImportReporter($importer, $isUpload, $interwiki); $reporter->open(); $result = $importer->doImport(); $reporter->close(); if (WikiError::isError($result)) { $wgOut->addWikiText(wfMsg("importfailed", wfEscapeWikiText($result->getMessage()))); } else { # Success! $wgOut->addWikiText(wfMsg("importsuccess")); } } } $action = $wgTitle->escapeLocalUrl('action=submit'); if ($wgUser->isAllowed('importupload')) { $wgOut->addWikiText(wfMsg("importtext")); $wgOut->addHTML("\n<fieldset>\n\t<legend>" . wfMsgHtml('upload') . "</legend>\n\t<form enctype='multipart/form-data' method='post' action=\"{$action}\">\n\t\t<input type='hidden' name='action' value='submit' />\n\t\t<input type='hidden' name='source' value='upload' />\n\t\t<input type='hidden' name='MAX_FILE_SIZE' value='2000000' />\n\t\t<input type='file' name='xmlimport' value='' size='30' />\n\t\t<input type='submit' value=\"" . wfMsgHtml("uploadbtn") . "\" />\n\t</form>\n</fieldset>\n"); } else { if (empty($wgImportSources)) { $wgOut->addWikiText(wfMsg('importnosources')); } } if (!empty($wgImportSources)) { $wgOut->addHTML("\n<fieldset>\n\t<legend>" . wfMsgHtml('importinterwiki') . "</legend>\n\t<form method='post' action=\"{$action}\">" . $wgOut->parse(wfMsg('import-interwiki-text')) . "\n\t\t<input type='hidden' name='action' value='submit' />\n\t\t<input type='hidden' name='source' value='interwiki' />\n\t\t<table>\n\t\t\t<tr>\n\t\t\t\t<td>\n\t\t\t\t\t<select name='interwiki'>"); foreach ($wgImportSources as $prefix) { $iw = htmlspecialchars($prefix); $selected = $interwiki === $prefix ? ' selected="selected"' : ''; $wgOut->addHTML("<option value=\"{$iw}\"{$selected}>{$iw}</option>\n"); } $wgOut->addHTML("\n\t\t\t\t\t</select>\n\t\t\t\t</td>\n\t\t\t\t<td>" . wfInput('frompage', 50, $frompage) . "</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td></td>\n\t\t\t\t<td>" . wfCheckLabel(wfMsg('import-interwiki-history'), 'interwikiHistory', 'interwikiHistory', $history) . "</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td></td>\n\t\t\t\t<td>\n\t\t\t\t\t" . wfMsgHtml('import-interwiki-namespace') . " " . HTMLnamespaceselector($namespace, '') . "\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td></td>\n\t\t\t\t<td>" . wfSubmitButton(wfMsg('import-interwiki-submit')) . "</td>\n\t\t\t</tr>\n\t\t</table>\n\t</form>\n</fieldset>\n"); } }
function showForm($err) { global $wgOut, $wgUser, $wgSysopUserBans; $wgOut->setPagetitle(wfMsg('blockip')); $wgOut->addWikiText(wfMsg('blockiptext')); if ($wgSysopUserBans) { $mIpaddress = wfMsgHtml('ipadressorusername'); } else { $mIpaddress = wfMsgHtml('ipaddress'); } $mIpbexpiry = wfMsgHtml('ipbexpiry'); $mIpbother = wfMsgHtml('ipbother'); $mIpbothertime = wfMsgHtml('ipbotheroption'); $mIpbreason = wfMsgHtml('ipbreason'); $mIpbsubmit = wfMsgHtml('ipbsubmit'); $titleObj = Title::makeTitle(NS_SPECIAL, 'Blockip'); $action = $titleObj->escapeLocalURL("action=submit"); if ("" != $err) { $wgOut->setSubtitle(wfMsgHtml('formerror')); $wgOut->addHTML("<p class='error'>{$err}</p>\n"); } $scBlockAddress = htmlspecialchars($this->BlockAddress); $scBlockExpiry = htmlspecialchars($this->BlockExpiry); $scBlockReason = htmlspecialchars($this->BlockReason); $scBlockOtherTime = htmlspecialchars($this->BlockOther); $scBlockExpiryOptions = htmlspecialchars(wfMsgForContent('ipboptions')); $showblockoptions = $scBlockExpiryOptions != '-'; if (!$showblockoptions) { $mIpbother = $mIpbexpiry; } $blockExpiryFormOptions = "<option value=\"other\">{$mIpbothertime}</option>"; foreach (explode(',', $scBlockExpiryOptions) as $option) { if (strpos($option, ":") === false) { $option = "{$option}:{$option}"; } list($show, $value) = explode(":", $option); $show = htmlspecialchars($show); $value = htmlspecialchars($value); $selected = ""; if ($this->BlockExpiry === $value) { $selected = ' selected="selected"'; } $blockExpiryFormOptions .= "<option value=\"{$value}\"{$selected}>{$show}</option>"; } $token = htmlspecialchars($wgUser->editToken()); $wgOut->addHTML("\n<form id=\"blockip\" method=\"post\" action=\"{$action}\">\n\t<table border='0'>\n\t\t<tr>\n\t\t\t<td align=\"right\">{$mIpaddress}:</td>\n\t\t\t<td align=\"left\">\n\t\t\t\t<input tabindex='1' type='text' size='40' name=\"wpBlockAddress\" value=\"{$scBlockAddress}\" />\n\t\t\t</td>\n\t\t</tr>\n\t\t<tr>"); if ($showblockoptions) { $wgOut->addHTML("\n\t\t\t<td align=\"right\">{$mIpbexpiry}:</td>\n\t\t\t<td align=\"left\">\n\t\t\t\t<select tabindex='2' id='wpBlockExpiry' name=\"wpBlockExpiry\" onchange=\"considerChangingExpiryFocus()\">\n\t\t\t\t\t{$blockExpiryFormOptions}\n\t\t\t\t</select>\n\t\t\t</td>\n\t\t\t"); } $wgOut->addHTML("\n\t\t</tr>\n\t\t<tr id='wpBlockOther'>\n\t\t\t<td align=\"right\">{$mIpbother}:</td>\n\t\t\t<td align=\"left\">\n\t\t\t\t<input tabindex='3' type='text' size='40' name=\"wpBlockOther\" value=\"{$scBlockOtherTime}\" />\n\t\t\t</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td align=\"right\">{$mIpbreason}:</td>\n\t\t\t<td align=\"left\">\n\t\t\t\t<input tabindex='3' type='text' size='40' name=\"wpBlockReason\" value=\"{$scBlockReason}\" />\n\t\t\t</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td> </td>\n\t\t\t<td align=\"left\">\n\t\t\t\t" . wfCheckLabel(wfMsg('ipbanononly'), 'wpAnonOnly', 'wpAnonOnly', $this->BlockAnonOnly, array('tabindex' => 4)) . "\n\t\t\t</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td> </td>\n\t\t\t<td align=\"left\">\n\t\t\t\t" . wfCheckLabel(wfMsg('ipbcreateaccount'), 'wpCreateAccount', 'wpCreateAccount', $this->BlockCreateAccount, array('tabindex' => 5)) . "\n\t\t\t</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td style='padding-top: 1em'> </td>\n\t\t\t<td style='padding-top: 1em' align=\"left\">\n\t\t\t\t<input tabindex='5' type='submit' name=\"wpBlock\" value=\"{$mIpbsubmit}\" />\n\t\t\t</td>\n\t\t</tr>\n\t</table>\n\t<input type='hidden' name='wpEditToken' value=\"{$token}\" />\n</form>\n"); $user = User::newFromName($this->BlockAddress); if (is_object($user)) { $this->showLogFragment($wgOut, $user->getUserPage()); } elseif (preg_match('/^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}/', $this->BlockAddress)) { $this->showLogFragment($wgOut, Title::makeTitle(NS_USER, $this->BlockAddress)); } }
function buildCascadeInput() { $id = 'mwProtect-cascade'; $ci = wfCheckLabel(wfMsg('protect-cascade'), $id, $id, $this->mCascade, $this->disabledAttrib); return $ci; }
function showForm() { global $wgOut, $wgUser; $wgOut->setPagetitle(wfMsg("emailpage")); $wgOut->addWikiMsg("emailpagetext"); if ($this->subject === "") { $this->subject = wfMsg("defemailsubject"); } $emf = wfMsg("emailfrom"); $sender = $wgUser->getName(); $emt = wfMsg("emailto"); $rcpt = $this->target->getName(); $emr = wfMsg("emailsubject"); $emm = wfMsg("emailmessage"); $ems = wfMsg("emailsend"); $emc = wfMsg("emailccme"); $encSubject = htmlspecialchars($this->subject); $titleObj = SpecialPage::getTitleFor("Emailuser"); $action = $titleObj->escapeLocalURL("target=" . urlencode($this->target->getName()) . "&action=submit"); $token = htmlspecialchars($wgUser->editToken()); $wgOut->addHTML("\n<form id=\"emailuser\" method=\"post\" action=\"{$action}\">\n<table border='0' id='mailheader'><tr>\n<td align='right'>{$emf}:</td>\n<td align='left'><strong>" . htmlspecialchars($sender) . "</strong></td>\n</tr><tr>\n<td align='right'>{$emt}:</td>\n<td align='left'><strong>" . htmlspecialchars($rcpt) . "</strong></td>\n</tr><tr>\n<td align='right'>{$emr}:</td>\n<td align='left'>\n<input type='text' size='60' class='input_med' maxlength='200' name=\"wpSubject\" value=\"{$encSubject}\" />\n</td>\n</tr>\n</table>\n<span id='wpTextLabel'><label for=\"wpText\">{$emm}:</label><br /></span>\n<textarea id=\"wpText\" name=\"wpText\" rows='20' cols='80' style=\"width: 100%;\">" . htmlspecialchars($this->text) . "</textarea><br /><br />\n" . wfCheckLabel($emc, 'wpCCMe', 'wpCCMe', $wgUser->getBoolOption('ccmeonemails')) . "<br /><br />\n<input type='submit' name=\"wpSend\" class='button primary' value=\"{$ems}\" />\n<input type='hidden' name='wpEditToken' value=\"{$token}\" />\n</form>\n"); }
function showForm($err) { global $wgOut, $wgUser, $wgSysopUserBans, $wgContLang; $wgOut->setPagetitle(wfMsg('blockip')); $wgOut->addWikiMsg('blockiptext', $this->BlockAddress); if ($wgSysopUserBans) { $mIpaddress = Xml::label(wfMsg('ipadressorusername'), 'mw-bi-target'); } else { $mIpaddress = Xml::label(wfMsg('ipaddress'), 'mw-bi-target'); } $mIpbexpiry = Xml::label(wfMsg('ipbexpiry'), 'wpBlockExpiry'); $mIpbother = Xml::label(wfMsg('ipbother'), 'mw-bi-other'); $mIpbothertime = wfMsgHtml('ipbotheroption'); $mIpbreasonother = Xml::label(wfMsg('ipbreason'), 'wpBlockReasonList'); $mIpbreason = Xml::label(wfMsg('ipbotherreason'), 'mw-bi-reason'); $titleObj = SpecialPage::getTitleFor('Blockip'); $action = $titleObj->escapeLocalURL("action=submit"); $alignRight = $wgContLang->isRtl() ? 'left' : 'right'; if ("" != $err) { $wgOut->setSubtitle(wfMsgHtml('formerror')); $wgOut->addHTML("<p class='error'>{$err}</p>\n"); } $scBlockExpiryOptions = wfMsgForContent('ipboptions'); $showblockoptions = $scBlockExpiryOptions != '-'; if (!$showblockoptions) { $mIpbother = $mIpbexpiry; } $blockExpiryFormOptions = "<option value=\"other\">{$mIpbothertime}</option>"; foreach (explode(',', $scBlockExpiryOptions) as $option) { if (strpos($option, ":") === false) { $option = "{$option}:{$option}"; } list($show, $value) = explode(":", $option); $show = htmlspecialchars($show); $value = htmlspecialchars($value); $selected = ""; if ($this->BlockExpiry === $value) { $selected = ' selected="selected"'; } $blockExpiryFormOptions .= "<option value=\"{$value}\"{$selected}>{$show}</option>"; } $reasonDropDown = Xml::listDropDown('wpBlockReasonList', wfMsgForContent('ipbreason-dropdown'), wfMsgForContent('ipbreasonotherlist'), '', 'wpBlockDropDown', 4); $token = $wgUser->editToken(); global $wgStylePath, $wgStyleVersion; $wgOut->addHTML("\n<script type=\"text/javascript\" src=\"{$wgStylePath}/common/block.js?{$wgStyleVersion}\">\n</script>\n<form id=\"blockip\" method=\"post\" action=\"{$action}\">\n\t<table border='0'>\n\t\t<tr>\n\t\t\t<td align=\"{$alignRight}\">{$mIpaddress}</td>\n\t\t\t<td>\n\t\t\t\t" . Xml::input('wpBlockAddress', 45, $this->BlockAddress, array('tabindex' => '1', 'id' => 'mw-bi-target', 'onchange' => 'updateBlockOptions()')) . "\n\t\t\t</td>\n\t\t</tr>\n\t\t<tr>"); if ($showblockoptions) { $wgOut->addHTML("\n\t\t\t<td align=\"{$alignRight}\">{$mIpbexpiry}</td>\n\t\t\t<td>\n\t\t\t\t<select tabindex='2' id='wpBlockExpiry' name=\"wpBlockExpiry\" onchange=\"considerChangingExpiryFocus()\">\n\t\t\t\t\t{$blockExpiryFormOptions}\n\t\t\t\t</select>\n\t\t\t</td>\n\t\t\t"); } $wgOut->addHTML("\n\t\t</tr>\n\t\t<tr id='wpBlockOther'>\n\t\t\t<td align=\"{$alignRight}\">{$mIpbother}</td>\n\t\t\t<td>\n\t\t\t\t" . Xml::input('wpBlockOther', 45, $this->BlockOther, array('tabindex' => '3', 'id' => 'mw-bi-other')) . "\n\t\t\t</td>\n\t\t</tr>"); $wgOut->addHTML("\n\t\t<tr>\n\t\t\t<td align=\"{$alignRight}\">{$mIpbreasonother}</td>\n\t\t\t<td>\n\t\t\t\t{$reasonDropDown}\n\t\t\t</td>\n\t\t</tr>"); $wgOut->addHTML("\n\t\t<tr id=\"wpBlockReason\">\n\t\t\t<td align=\"{$alignRight}\">{$mIpbreason}</td>\n\t\t\t<td>\n\t\t\t\t" . Xml::input('wpBlockReason', 45, $this->BlockReason, array('tabindex' => '5', 'id' => 'mw-bi-reason', 'maxlength' => '200')) . "\n\t\t\t</td>\n\t\t</tr>\n\t\t<tr id='wpAnonOnlyRow'>\n\t\t\t<td> </td>\n\t\t\t<td>\n\t\t\t\t" . wfCheckLabel(wfMsgHtml('ipbanononly'), 'wpAnonOnly', 'wpAnonOnly', $this->BlockAnonOnly, array('tabindex' => '6')) . "\n\t\t\t</td>\n\t\t</tr>\n\t\t<tr id='wpCreateAccountRow'>\n\t\t\t<td> </td>\n\t\t\t<td>\n\t\t\t\t" . wfCheckLabel(wfMsgHtml('ipbcreateaccount'), 'wpCreateAccount', 'wpCreateAccount', $this->BlockCreateAccount, array('tabindex' => '7')) . "\n\t\t\t</td>\n\t\t</tr>\n\t\t<tr id='wpEnableAutoblockRow'>\n\t\t\t<td> </td>\n\t\t\t<td>\n\t\t\t\t" . wfCheckLabel(wfMsgHtml('ipbenableautoblock'), 'wpEnableAutoblock', 'wpEnableAutoblock', $this->BlockEnableAutoblock, array('tabindex' => '8')) . "\n\t\t\t</td>\n\t\t</tr>\n\t\t"); global $wgSysopEmailBans; if ($wgSysopEmailBans && $wgUser->isAllowed('blockemail')) { $wgOut->addHTML("\n\t\t\t<tr id='wpEnableEmailBan'>\n\t\t\t<td> </td>\n\t\t\t\t<td>\n\t\t\t\t\t" . wfCheckLabel(wfMsgHtml('ipbemailban'), 'wpEmailBan', 'wpEmailBan', $this->BlockEmail, array('tabindex' => '10')) . "\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t\t"); } // Allow some users to hide name from block log, blocklist and listusers if ($wgUser->isAllowed('hideuser')) { $wgOut->addHTML("\n\t\t\t<tr id='wpEnableHideUser'>\n\t\t\t<td> </td>\n\t\t\t\t<td>\n\t\t\t\t\t" . wfCheckLabel(wfMsgHtml('ipbhidename'), 'wpHideName', 'wpHideName', $this->BlockHideName, array('tabindex' => '9')) . "\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t\t"); } $wgOut->addHTML("\n\t\t<tr>\n\t\t\t<td style='padding-top: 1em'> </td>\n\t\t\t<td style='padding-top: 1em'>\n\t\t\t\t" . Xml::submitButton(wfMsg('ipbsubmit'), array('name' => 'wpBlock', 'tabindex' => '11')) . "\n\t\t\t</td>\n\t\t</tr>\n\t</table>" . Xml::hidden('wpEditToken', $token) . "</form>\n<script type=\"text/javascript\">updateBlockOptions()</script>\n\n"); $wgOut->addHtml($this->getConvenienceLinks()); $user = User::newFromName($this->BlockAddress); if (is_object($user)) { $this->showLogFragment($wgOut, $user->getUserPage()); } elseif (preg_match('/^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}/', $this->BlockAddress)) { $this->showLogFragment($wgOut, Title::makeTitle(NS_USER, $this->BlockAddress)); } elseif (preg_match('/^\\w{1,4}:\\w{1,4}:\\w{1,4}:\\w{1,4}:\\w{1,4}:\\w{1,4}:\\w{1,4}:\\w{1,4}/', $this->BlockAddress)) { $this->showLogFragment($wgOut, Title::makeTitle(NS_USER, $this->BlockAddress)); } }
function showForm() { global $wgOut, $wgUser, $wgContactSender; #TODO: show captcha $wgOut->setPagetitle(wfMsg("contactpage-title")); $wgOut->addWikiText(wfMsg("contactpage-pagetext")); if ($this->subject === "") { $this->subject = wfMsgForContent("contactpage-defsubject"); } #$emf = wfMsg( "emailfrom" ); #$sender = $wgContactSender; $emt = wfMsg("emailto"); $rcpt = $this->target->getName(); $emr = wfMsg("emailsubject"); $emm = wfMsg("emailmessage"); $ems = wfMsg("emailsend"); $emc = wfMsg("emailccme"); $emfn = wfMsg("contactpage-fromname"); $emfa = wfMsg("contactpage-fromaddress"); $encSubject = htmlspecialchars($this->subject); $encFromName = htmlspecialchars($this->fromname); $encFromAddress = htmlspecialchars($this->fromaddress); $titleObj = SpecialPage::getTitleFor("Contact"); $action = $titleObj->escapeLocalURL("action=submit"); $token = $wgUser->isAnon() ? EDIT_TOKEN_SUFFIX : $wgUser->editToken(); //this kind of sucks, really... $token = htmlspecialchars($token); $wgOut->addHTML("\n<form id=\"emailuser\" method=\"post\" action=\"{$action}\">\n<table border='0' id='mailheader'>\n<tr>\n<td align='right'>{$emr}:</td>\n<td align='left'>\n<input type='text' size='60' maxlength='200' name=\"wpSubject\" value=\"{$encSubject}\" />\n</td>\n</tr><tr>\n<td align='right'>{$emfn}:</td>\n<td align='left'>\n<input type='text' size='60' maxlength='200' name=\"wpFromName\" value=\"{$encFromName}\" />\n</td>\n<tr>\n<td align='right'>{$emfa}:</td>\n<td align='left'>\n<input type='text' size='60' maxlength='200' name=\"wpFromAddress\" value=\"{$encFromAddress}\" />\n</td>\n</tr>\n<tr>\n<td></td>\n<td align='left'>\n<small>" . wfMsg("contactpage-formfootnotes") . "</small>\n</td>\n</tr>\n</table>\n<span id='wpTextLabel'><label for=\"wpText\">{$emm}:</label><br /></span>\n<textarea name=\"wpText\" rows='20' cols='80' wrap='virtual' style=\"width: 100%;\">" . htmlspecialchars($this->text) . "</textarea>\n" . wfCheckLabel($emc, 'wpCCMe', 'wpCCMe', $wgUser->getBoolOption('ccmeonemails')) . "<br />\n" . $this->getCaptcha() . "\n<input type='submit' name=\"wpSend\" value=\"{$ems}\" />\n<input type='hidden' name='wpEditToken' value=\"{$token}\" />\n</form>\n"); }