/** * Render template for <body> tag content */ public function executeEditPage() { wfProfileIn(__METHOD__); $helper = F::build('EditPageLayoutHelper'); $editPage = $helper->getEditPage(); if ($helper->fullScreen) { // add stylesheet $this->wg->Out->addStyle(AssetsManager::getInstance()->getSassCommonURL('extensions/wikia/EditPageLayout/css/EditPageLayout.scss')); $packageName = 'epl'; if (class_exists('RTE') && RTE::isEnabled() && !$editPage->isReadOnlyPage()) { $packageName = 'eplrte'; } $srcs = F::build('AssetsManager', array(), 'getInstance')->getGroupCommonURL($packageName); $wgJsMimeType = $this->wg->JsMimeType; foreach ($srcs as $src) { $this->wg->Out->addScript("<script type=\"{$wgJsMimeType}\" src=\"{$src}\"></script>"); } } // render WikiLogo $response = $this->app->sendRequest('WikiHeader', 'Wordmark'); // move wordmark data $this->wordmark = $response->getData(); // render global and user navigation $this->header = F::app()->renderView('GlobalHeader', 'Index'); // Editing [foo] $this->title = $editPage->getEditedTitle(); $section = $this->wg->Request->getVal('section'); // Is user logged in? $this->isLoggedIn = $this->wg->User->isLoggedIn(); // Text for Edit summary label $wpSummaryLabelText = 'editpagelayout-edit-summary-label'; if ($section == 'new') { $msgKey = 'editingcomment'; // If adding new section to page, change label text (BugId: 7243) $wpSummaryLabelText = 'editpagelayout-subject-headline-label'; } else { if (is_numeric($section)) { $msgKey = 'editingsection'; } else { $msgKey = 'editing'; } } // title $this->titleText = $this->title->getPrefixedText(); if ($this->titleText == '') { $this->titleText = ' '; } // limit title length if (mb_strlen($this->titleText) > self::TITLE_MAX_LENGTH) { $this->titleShortText = htmlspecialchars(mb_substr($this->titleText, 0, self::TITLE_MAX_LENGTH)) . '…'; } else { $this->titleShortText = htmlspecialchars($this->titleText); } $this->editing = wfMsg($msgKey, ''); $this->wpSummaryLabelText = wfMsg($wpSummaryLabelText); // render help link and point the link to new tab $this->helpLink = $this->app->runFunction('wfMsgExt', 'editpagelayout-helpLink', array('parseinline')); $this->helpLink = str_replace('<a ', '<a target="_blank" ', $this->helpLink); // action for edit form $this->editFormAction = $editPage->getFormAction(); // preloads $this->editPagePreloads = $editPage->getEditPagePreloads(); // minor edit checkbox (BugId:6461) $this->minorEditCheckbox = !empty($editPage->minoredit); // summary box $this->summaryBox = $editPage->renderSummaryBox(); // extra buttons $this->buttons = $editPage->getControlButtons(); // extra checkboxes $this->customCheckboxes = $editPage->getCustomCheckboxes(); // dismissable notifications $this->notices = $editPage->getNotices(); $this->noticesHtml = $editPage->getNoticesHtml(); // notifications link (BugId:7951) $this->notificationsLink = count($this->notices) == 0 ? $this->app->runFunction('wfMsg', 'editpagelayout-notificationsLink-none') : $this->app->runFunction('wfMsgExt', 'editpagelayout-notificationsLink', array('parsemag'), count($this->notices)); // check if we're in read only mode // disable edit form when in read-only mode if ($this->app->runFunction('wfReadOnly')) { $this->bodytext = '<div id="mw-read-only-warning" class="WikiaArticle">' . $this->app->runFunction('wfMsg', 'oasis-editpage-readonlywarning', $this->app->runFunction('wfReadOnlyReason')) . '</div>'; wfDebug(__METHOD__ . ": edit form disabled because read-only mode is on\n"); } $this->hideTitle = $editPage->hideTitle; $this->wf->RunHooks('EditPageLayoutExecute', array($this)); wfProfileOut(__METHOD__); }