コード例 #1
0
 /**
  * @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>');
 }
コード例 #2
0
ファイル: SpecialImport.php プロジェクト: k-hasan-19/wiki
/**
 * 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");
    }
}
コード例 #3
0
 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>&nbsp;</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>&nbsp;</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'>&nbsp;</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));
     }
 }
コード例 #4
0
 function buildCascadeInput()
 {
     $id = 'mwProtect-cascade';
     $ci = wfCheckLabel(wfMsg('protect-cascade'), $id, $id, $this->mCascade, $this->disabledAttrib);
     return $ci;
 }
コード例 #5
0
ファイル: SpecialEmailuser.php プロジェクト: ErdemA/wikihow
 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");
 }
コード例 #6
0
ファイル: SpecialBlockip.php プロジェクト: ErdemA/wikihow
 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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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'>&nbsp;</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));
     }
 }
コード例 #7
0
 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");
 }