/**
  * Displays form to create wiki
  */
 protected function _executeCreate($wgFarmer, $wiki)
 {
     global $wgOut, $wgUser, $wgRequest;
     if (!$wgFarmer->getActiveWiki()->isDefaultWiki()) {
         $wgOut->wrapWikiMsg('== $1 ==', 'farmer-notavailable');
         $wgOut->addWikiMsg('farmer-notavailable-text');
         return;
     }
     if (!MediaWikiFarmer::userCanCreateWiki($wgUser, $wiki)) {
         $wgOut->addWikiMsg('farmercantcreatewikis');
         return;
     }
     $name = MediaWikiFarmer_Wiki::sanitizeName($wgRequest->getVal('wpName', $wiki));
     $title = MediaWikiFarmer_Wiki::sanitizeTitle($wgRequest->getVal('wpTitle'));
     $description = $wgRequest->getVal('wpDescription', '');
     $reason = $wgRequest->getVal('wpReason');
     $action = $this->getTitle('create')->escapeLocalURL();
     // if something was POST'd
     if ($wgRequest->wasPosted()) {
         // we create the wiki if the user pressed 'Confirm'
         if ($wgRequest->getCheck('wpConfirm')) {
             $wikiObj = MediaWikiFarmer_Wiki::newFromParams($name, $title, $description, $wgUser->getName());
             $wikiObj->create();
             $log = new LogPage('farmer');
             $log->addEntry('create', $this->getTitle(), $reason, array($name));
             $wgOut->wrapWikiMsg('== $1 ==', 'farmer-wikicreated');
             $wgOut->addWikiMsg('farmer-wikicreated-text', $wikiObj->getUrl(wfUrlencode(wfMessage('mainpage')->inContentLanguage()->useDatabase(false)->plain())));
             $wgOut->addWikiMsg('farmer-default', '[[' . $title . ':Special:Farmer|Special:Farmer]]');
             return;
         }
         if ($name && $title && $description) {
             $wiki = new MediaWikiFarmer_Wiki($name);
             if ($wiki->exists() || $wiki->databaseExists()) {
                 $wgOut->wrapWikiMsg("== \$1 ==\n\n\$2", 'farmer-wikiexists', array('farmer-wikiexists-text', $name));
                 return;
             }
             $url = $wiki->getUrl('');
             $wgOut->wrapWikiMsg('== $1 ==', 'farmer-confirmsetting');
             $wgOut->addHtml(Xml::openElement('table', array('class' => 'wikitable')) . "\n" . Xml::tags('tr', array(), Xml::tags('th', array(), wfMsgExt('farmer-confirmsetting-name', 'parseinline')) . Xml::element('td', array(), $name)) . "\n" . Xml::tags('tr', array(), Xml::tags('th', array(), wfMsgExt('farmer-confirmsetting-title', 'parseinline')) . Xml::element('td', array(), $title)) . "\n" . Xml::tags('tr', array(), Xml::tags('th', array(), wfMsgExt('farmer-confirmsetting-description', 'parseinline')) . Xml::element('td', array(), $description)) . "\n" . Xml::tags('tr', array(), Xml::tags('th', array(), wfMsgExt('farmer-confirmsetting-reason', 'parseinline')) . Xml::element('td', array(), $reason)) . "\n" . Xml::closeElement('table'));
             $wgOut->addWikiMsg('farmer-confirmsetting-text', $name, $title, $url);
             $nameaccount = htmlspecialchars($name);
             $nametitle = htmlspecialchars($title);
             $namedescript = htmlspecialchars($description);
             $confirmaccount = wfMsgHtml('farmer-button-confirm');
             $wgOut->addHTML("\n\n<form id=\"farmercreate2\" method=\"post\" action=\"{$action}\">\n<input type=\"hidden\" name=\"wpName\" value=\"{$nameaccount}\" />\n<input type=\"hidden\" name=\"wpTitle\" value=\"{$nametitle}\" />\n<input type=\"hidden\" name=\"wpDescription\" value=\"{$namedescript}\" />\n<input type=\"hidden\" name=\"wpReason\" value=\"{$reason}\" />\n<input type=\"submit\" name=\"wpConfirm\" value=\"{$confirmaccount}\" />\n</form>");
             return;
         }
     }
     if ($wiki && !$name) {
         $name = $wiki;
     }
     $wgOut->wrapWikiMsg("== \$1 ==\n\$2\n== \$3 ==\n\$4\n\$5\n\$6", 'farmer-createwiki-form-title', 'farmer-createwiki-form-text1', 'farmer-createwiki-form-help', 'farmer-createwiki-form-text2', 'farmer-createwiki-form-text3', 'farmer-createwiki-form-text4');
     $formURL = wfMsgHTML('farmercreateurl');
     $formSitename = wfMsgHTML('farmercreatesitename');
     $formNextStep = wfMsgHTML('farmercreatenextstep');
     $token = htmlspecialchars($wgUser->editToken());
     $wgOut->addHTML(Xml::openElement('form', array('method' => 'post', 'action' => $action)) . "\n" . Xml::buildForm(array('farmer-createwiki-user' => Xml::element('b', array(), $wgUser->getName()), 'farmer-createwiki-name' => Xml::input('wpName', 20, $name), 'farmer-createwiki-title' => Xml::input('wpTitle', 20, $title), 'farmer-createwiki-description' => Xml::textarea('wpDescription', $description), 'farmer-createwiki-reason' => Xml::input('wpReason', 20, $reason)), 'farmer-button-submit') . "\n" . Html::Hidden('token', $token) . "\n" . Xml::closeElement('form'));
 }