Example #1
0
 /**
  * Executes the Easyimageupload special page and all its sub-calls
  */
 public function execute($par)
 {
     global $wgRequest, $wgUser, $wgOut, $wgLang, $wgServer;
     wfLoadExtensionMessages('Easyimageupload');
     self::setTemplatePath();
     if ($wgUser->isBlocked()) {
         $wgOut->blockedPage();
         return;
     }
     $wgOut->setArticleBodyOnly(true);
     if ($wgRequest->getVal('getuploadform')) {
         $wgOut->addHTML(self::getUploadBox());
     } elseif ($wgRequest->getVal('uploadform1')) {
         $wgOut->addHTML(EasyTemplate::html('eiu_error_box.tmpl.php'));
         $this->uploadImage($wgRequest->getVal('src'));
     } elseif ($wgRequest->getVal('uploadform2')) {
         $wgOut->addHTML(EasyTemplate::html('eiu_error_box.tmpl.php'));
         $type = $wgRequest->getVal('type');
         $name = $wgRequest->getVal('name');
         $mwname = $wgRequest->getVal('mwname');
         $error = $this->insertImage($type, $name, $mwname);
         $vars = !empty($error) ? array('error' => $error) : array();
         $wgOut->addHTML(EasyTemplate::html('eiu_add_error.tmpl.php', $vars));
     } elseif ($wgRequest->getVal('ImageIsConflict')) {
         $wgOut->addHTML(EasyTemplate::html('eiu_error_box.tmpl.php'));
         if ($wgRequest->getVal('ImageUploadUseExisting')) {
             $name = $wgRequest->getVal('ImageUploadExistingName');
             $wgRequest->setVal('type', 'existing');
         } elseif ($wgRequest->getVal('ImageUploadRename')) {
             $name = $wgRequest->getVal('ImageUploadRenameName') . '.' . $wgRequest->getVal('ImageUploadRenameExtension');
             $wgRequest->setVal('type', 'overwrite');
         }
         $wgRequest->setVal('name', $name);
         $type = $wgRequest->getVal('type');
         $name = $wgRequest->getVal('name');
         $mwname = $wgRequest->getVal('mwname');
         $error = $this->insertImage($type, $name, $mwname);
         $vars = !empty($error) ? array('error' => $error) : array();
         $wgOut->addHTML(EasyTemplate::html('eiu_add_error.tmpl.php', $vars));
     } elseif ($wgRequest->getVal('preview-resize')) {
         $url = $wgRequest->getVal('url');
         self::resizeAndDisplayImage($url);
     } elseif ($wgRequest->getVal('intro-image-adder')) {
         $separator = EasyTemplate::html('eiu_separator.tmpl.php');
         $articleTitle = $wgRequest->getVal('article-title');
         $searchterms = $wgRequest->getVal('searchterms');
         $t = Title::newFromText($articleTitle);
         $whow = WikihowArticleEditor::newFromTitle($t);
         $intro = $whow->getSection("summary");
         $intro = WikihowArticleEditor::removeWikitext($intro);
         $articleTitleLink = $t->getLocalURL();
         $vars = array('title' => $articleTitle, 'titlelink' => $articleTitleLink, 'searchterms' => $searchterms, 'intro' => $intro);
         $html = EasyTemplate::html('iia_eiu_header.tmpl.php', $vars);
         $wgOut->addHTML($html);
         $wgOut->addHTML(EasyTemplate::html('eiu_error_box.tmpl.php'));
         $wgOut->addHTML(EasyTemplate::html('iia_eiu_find_box.tmpl.php', $vars));
         $wgOut->addHTML($html);
         $html = EasyTemplate::html('eiu_footer.tmpl.php');
         $wgOut->addHTML($html);
     } elseif ($wgRequest->getVal('intro-image-adder2')) {
         $this->uploadImage($wgRequest->getVal('src'), true);
     } else {
         // initial menu
         $separator = EasyTemplate::html('eiu_separator.tmpl.php');
         $articleTitle = $wgRequest->getVal('article-title');
         $vars = array('title' => $articleTitle);
         $html = EasyTemplate::html('eiu_header.tmpl.php', $vars);
         $wgOut->addHTML($html);
         $wgOut->addHTML(EasyTemplate::html('eiu_error_box.tmpl.php'));
         // assert wgRequest->wasPosted() == false;
         $wgOut->addHTML(self::getCurrentStepBox());
         $wgOut->addHTML(self::getFindBox($articleTitle));
         $html = EasyTemplate::html('eiu_find_box_end.tmpl.php');
         $wgOut->addHTML($html);
         $html = EasyTemplate::html('eiu_footer.tmpl.php');
         $wgOut->addHTML($html);
     }
 }