当前位置: 首页>>代码示例>>PHP>>正文


PHP Linker::formatTemplates方法代码示例

本文整理汇总了PHP中Linker::formatTemplates方法的典型用法代码示例。如果您正苦于以下问题:PHP Linker::formatTemplates方法的具体用法?PHP Linker::formatTemplates怎么用?PHP Linker::formatTemplates使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Linker的用法示例。


在下文中一共展示了Linker::formatTemplates方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: readOnlyPage

 /**
  * Display a page stating that the Wiki is in read-only mode,
  * and optionally show the source of the page that the user
  * was trying to edit.  Should only be called (for this
  * purpose) after wfReadOnly() has returned true.
  *
  * For historical reasons, this function is _also_ used to
  * show the error message when a user tries to edit a page
  * they are not allowed to edit.  (Unless it's because they're
  * blocked, then we show blockedPage() instead.)  In this
  * case, the second parameter should be set to true and a list
  * of reasons supplied as the third parameter.
  *
  * @todo Needs to be split into multiple functions.
  *
  * @param string $source Source code to show (or null).
  * @param bool $protected Is this a permissions error?
  * @param array $reasons List of reasons for this error, as returned by Title::getUserPermissionsErrors().
  * @param string $action Action that was denied or null if unknown
  * @throws ReadOnlyError
  */
 public function readOnlyPage($source = null, $protected = false, $reasons = array(), $action = null)
 {
     $this->setRobotPolicy('noindex,nofollow');
     $this->setArticleRelated(false);
     // If no reason is given, just supply a default "I can't let you do
     // that, Dave" message.  Should only occur if called by legacy code.
     if ($protected && empty($reasons)) {
         $reasons[] = array('badaccess-group0');
     }
     if (!empty($reasons)) {
         // Permissions error
         if ($source) {
             $this->setPageTitle($this->msg('viewsource-title', $this->getTitle()->getPrefixedText()));
             $this->addBacklinkSubtitle($this->getTitle());
         } else {
             $this->setPageTitle($this->msg('badaccess'));
         }
         $this->addWikiText($this->formatPermissionsErrorMessage($reasons, $action));
     } else {
         // Wiki is read only
         throw new ReadOnlyError();
     }
     // Show source, if supplied
     if (is_string($source)) {
         $this->addWikiMsg('viewsourcetext');
         $pageLang = $this->getTitle()->getPageLanguage();
         $params = array('id' => 'wpTextbox1', 'name' => 'wpTextbox1', 'cols' => $this->getUser()->getOption('cols'), 'rows' => $this->getUser()->getOption('rows'), 'readonly' => 'readonly', 'lang' => $pageLang->getHtmlCode(), 'dir' => $pageLang->getDir());
         $this->addHTML(Html::element('textarea', $params, $source));
         // Show templates used by this article
         $templates = Linker::formatTemplates($this->getTitle()->getTemplateLinksFrom());
         $this->addHTML("<div class='templatesUsed'>\n{$templates}\n</div>\n");
     }
     # If the title doesn't exist, it's fairly pointless to print a return
     # link to it.  After all, you just tried editing it and couldn't, so
     # what's there to do there?
     if ($this->getTitle()->exists()) {
         $this->returnToMain(null, $this->getTitle());
     }
 }
开发者ID:spring,项目名称:spring-website,代码行数:60,代码来源:OutputPage.php

示例2: showEditForm

 /**
  * Send the edit form and related headers to $wgOut
  * @param $formCallback Callback that takes an OutputPage parameter; will be called
  *     during form output near the top, for captchas and the like.
  */
 function showEditForm($formCallback = null)
 {
     global $wgOut, $wgUser;
     wfProfileIn(__METHOD__);
     #need to parse the preview early so that we know which templates are used,
     #otherwise users with "show preview after edit box" will get a blank list
     #we parse this near the beginning so that setHeaders can do the title
     #setting work instead of leaving it in getPreviewText
     $previewOutput = '';
     if ($this->formtype == 'preview') {
         $previewOutput = $this->getPreviewText();
     }
     wfRunHooks('EditPage::showEditForm:initial', array(&$this));
     $this->setHeaders();
     if ($this->showHeader() === false) {
         wfProfileOut(__METHOD__);
         return;
     }
     $wgOut->addHTML($this->editFormPageTop);
     if ($wgUser->getOption('previewontop')) {
         $this->displayPreviewArea($previewOutput, true);
     }
     $wgOut->addHTML($this->editFormTextTop);
     $showToolbar = true;
     if ($this->wasDeletedSinceLastEdit()) {
         if ($this->formtype == 'save') {
             // Hide the toolbar and edit area, user can click preview to get it back
             // Add an confirmation checkbox and explanation.
             $showToolbar = false;
         } else {
             $wgOut->wrapWikiMsg("<div class='error mw-deleted-while-editing'>\n\$1\n</div>", 'deletedwhileediting');
         }
     }
     $wgOut->addHTML(Html::openElement('form', array('id' => 'editform', 'name' => 'editform', 'method' => 'post', 'action' => $this->getActionURL($this->getContextTitle()), 'enctype' => 'multipart/form-data')));
     if (is_callable($formCallback)) {
         call_user_func_array($formCallback, array(&$wgOut));
     }
     wfRunHooks('EditPage::showEditForm:fields', array(&$this, &$wgOut));
     // Put these up at the top to ensure they aren't lost on early form submission
     $this->showFormBeforeText();
     if ($this->wasDeletedSinceLastEdit() && 'save' == $this->formtype) {
         $username = $this->lastDelete->user_name;
         $comment = $this->lastDelete->log_comment;
         // It is better to not parse the comment at all than to have templates expanded in the middle
         // TODO: can the checkLabel be moved outside of the div so that wrapWikiMsg could be used?
         $key = $comment === '' ? 'confirmrecreate-noreason' : 'confirmrecreate';
         $wgOut->addHTML('<div class="mw-confirm-recreate">' . wfMsgExt($key, 'parseinline', $username, "<nowiki>{$comment}</nowiki>") . Xml::checkLabel(wfMsg('recreate'), 'wpRecreate', 'wpRecreate', false, array('title' => Linker::titleAttrib('recreate'), 'tabindex' => 1, 'id' => 'wpRecreate')) . '</div>');
     }
     # If a blank edit summary was previously provided, and the appropriate
     # user preference is active, pass a hidden tag as wpIgnoreBlankSummary. This will stop the
     # user being bounced back more than once in the event that a summary
     # is not required.
     #####
     # For a bit more sophisticated detection of blank summaries, hash the
     # automatic one and pass that in the hidden field wpAutoSummary.
     if ($this->missingSummary || $this->section == 'new' && $this->nosummary) {
         $wgOut->addHTML(Html::hidden('wpIgnoreBlankSummary', true));
     }
     $autosumm = $this->autoSumm ? $this->autoSumm : md5($this->summary);
     $wgOut->addHTML(Html::hidden('wpAutoSummary', $autosumm));
     $wgOut->addHTML(Html::hidden('oldid', $this->oldid));
     if ($this->section == 'new') {
         $this->showSummaryInput(true, $this->summary);
         $wgOut->addHTML($this->getSummaryPreview(true, $this->summary));
     }
     $wgOut->addHTML($this->editFormTextBeforeContent);
     if (!$this->isCssJsSubpage && $showToolbar && $wgUser->getOption('showtoolbar')) {
         $wgOut->addHTML(EditPage::getEditToolbar());
     }
     if ($this->isConflict) {
         // In an edit conflict bypass the overrideable content form method
         // and fallback to the raw wpTextbox1 since editconflicts can't be
         // resolved between page source edits and custom ui edits using the
         // custom edit ui.
         $this->textbox2 = $this->textbox1;
         $this->textbox1 = $this->getCurrentText();
         $this->showTextbox1();
     } else {
         $this->showContentForm();
     }
     $wgOut->addHTML($this->editFormTextAfterContent);
     $wgOut->addWikiText($this->getCopywarn());
     $wgOut->addHTML($this->editFormTextAfterWarn);
     $this->showStandardInputs();
     $this->showFormAfterText();
     $this->showTosSummary();
     $this->showEditTools();
     $wgOut->addHTML($this->editFormTextAfterTools . "\n");
     $wgOut->addHTML(Html::rawElement('div', array('class' => 'templatesUsed'), Linker::formatTemplates($this->getTemplates(), $this->preview, $this->section != '')));
     $wgOut->addHTML(Html::rawElement('div', array('class' => 'hiddencats'), Linker::formatHiddenCategories($this->mArticle->getHiddenCategories())));
     if ($this->isConflict) {
         $this->showConflict();
     }
     $wgOut->addHTML($this->editFormTextBottom . "\n</form>\n");
     if (!$wgUser->getOption('previewontop')) {
//.........这里部分代码省略.........
开发者ID:slackfaith,项目名称:deadbrain_site,代码行数:101,代码来源:EditPage.php

示例3: formatTemplates

 public function formatTemplates($templates, $preview = false, $section = false, $more = null)
 {
     return Linker::formatTemplates($templates, $preview, $section, $more);
 }
开发者ID:claudinec,项目名称:galan-wiki,代码行数:4,代码来源:DummyLinker.php

示例4: onView


//.........这里部分代码省略.........
     }
     if ($userCanViewUnwatchedPages) {
         // Number of page watchers
         $table = $this->addRow($table, $this->msg('pageinfo-watchers')->escaped(), $lang->formatNum($pageInfo['watchers']));
     }
     // Redirects to this page
     $whatLinksHere = SpecialPage::getTitleFor('Whatlinkshere', $title->getPrefixedText());
     $table = $this->addRow($table, Linker::link($whatLinksHere, $this->msg('pageinfo-redirects-name')->escaped(), array(), array('hidelinks' => 1, 'hidetrans' => 1)), $this->msg('pageinfo-redirects-value')->numParams(count($title->getRedirectsHere()))->escaped());
     // Subpages of this page, if subpages are enabled for the current NS
     if (MWNamespace::hasSubpages($title->getNamespace())) {
         $prefixIndex = SpecialPage::getTitleFor('Prefixindex', $title->getPrefixedText() . '/');
         $table = $this->addRow($table, Linker::link($prefixIndex, $this->msg('pageinfo-subpages-name')->escaped()), $this->msg('pageinfo-subpages-value')->numParams($pageInfo['subpages']['total'], $pageInfo['subpages']['redirects'], $pageInfo['subpages']['nonredirects'])->escaped());
     }
     // Page protection
     $content = $this->addTable($content, $table);
     $content = $this->addHeader($content, $this->msg('pageinfo-header-restrictions')->text());
     $table = '';
     // Page protection
     foreach ($wgRestrictionTypes as $restrictionType) {
         $protectionLevel = implode(', ', $title->getRestrictions($restrictionType));
         if ($protectionLevel == '') {
             // Allow all users
             $message = $this->msg('protect-default')->escaped();
         } else {
             // Administrators only
             $message = $this->msg("protect-level-{$protectionLevel}");
             if ($message->isDisabled()) {
                 // Require "$1" permission
                 $message = $this->msg("protect-fallback", $protectionLevel)->parse();
             } else {
                 $message = $message->escaped();
             }
         }
         $table = $this->addRow($table, $this->msg('pageinfo-restriction', $this->msg("restriction-{$restrictionType}")->plain())->parse(), $message);
     }
     // Edit history
     $content = $this->addTable($content, $table);
     $content = $this->addHeader($content, $this->msg('pageinfo-header-edits')->text());
     $table = '';
     $firstRev = $this->page->getOldestRevision();
     // Page creator
     $table = $this->addRow($table, $this->msg('pageinfo-firstuser')->escaped(), $firstRev->getUserText(Revision::FOR_THIS_USER, $user));
     // Date of page creation
     $table = $this->addRow($table, $this->msg('pageinfo-firsttime')->escaped(), Linker::linkKnown($title, $lang->userTimeAndDate($firstRev->getTimestamp(), $user), array(), array('oldid' => $firstRev->getId())));
     // Latest editor
     $table = $this->addRow($table, $this->msg('pageinfo-lastuser')->escaped(), $this->page->getUserText(Revision::FOR_THIS_USER, $user));
     // Date of latest edit
     $table = $this->addRow($table, $this->msg('pageinfo-lasttime')->escaped(), Linker::linkKnown($title, $lang->userTimeAndDate($this->page->getTimestamp(), $user), array(), array('oldid' => $this->page->getLatest())));
     // Total number of edits
     $table = $this->addRow($table, $this->msg('pageinfo-edits')->escaped(), $lang->formatNum($pageInfo['edits']));
     // Total number of distinct authors
     $table = $this->addRow($table, $this->msg('pageinfo-authors')->escaped(), $lang->formatNum($pageInfo['authors']));
     // Recent number of edits (within past 30 days)
     $table = $this->addRow($table, $this->msg('pageinfo-recent-edits', $lang->formatDuration($wgRCMaxAge))->escaped(), $lang->formatNum($pageInfo['recent_edits']));
     // Recent number of distinct authors
     $table = $this->addRow($table, $this->msg('pageinfo-recent-authors')->escaped(), $lang->formatNum($pageInfo['recent_authors']));
     $content = $this->addTable($content, $table);
     // Array of MagicWord objects
     $magicWords = MagicWord::getDoubleUnderscoreArray();
     // Array of magic word IDs
     $wordIDs = $magicWords->names;
     // Array of IDs => localized magic words
     $localizedWords = $wgContLang->getMagicWords();
     $listItems = array();
     foreach ($pageProperties as $property => $value) {
         if (in_array($property, $wordIDs)) {
             $listItems[] = Html::element('li', array(), $localizedWords[$property][1]);
         }
     }
     $localizedList = Html::rawElement('ul', array(), implode('', $listItems));
     $hiddenCategories = $this->page->getHiddenCategories();
     $transcludedTemplates = $title->getTemplateLinksFrom();
     if (count($listItems) > 0 || count($hiddenCategories) > 0 || count($transcludedTemplates) > 0) {
         // Page properties
         $content = $this->addHeader($content, $this->msg('pageinfo-header-properties')->text());
         $table = '';
         // Magic words
         if (count($listItems) > 0) {
             $table = $this->addRow($table, $this->msg('pageinfo-magic-words')->numParams(count($listItems))->escaped(), $localizedList);
         }
         // Hide "This page is a member of # hidden categories explanation
         $content .= Html::element('style', array(), '.mw-hiddenCategoriesExplanation { display: none; }');
         // Hidden categories
         if (count($hiddenCategories) > 0) {
             $table = $this->addRow($table, $this->msg('pageinfo-hidden-categories')->numParams(count($hiddenCategories))->escaped(), Linker::formatHiddenCategories($hiddenCategories));
         }
         // Hide "Templates used on this page:" explanation
         $content .= Html::element('style', array(), '.mw-templatesUsedExplanation { display: none; }');
         // Transcluded templates
         if (count($transcludedTemplates) > 0) {
             $table = $this->addRow($table, $this->msg('pageinfo-templates')->numParams(count($transcludedTemplates))->escaped(), Linker::formatTemplates($transcludedTemplates));
         }
         $content = $this->addTable($content, $table);
     }
     // Footer
     if (!$this->msg('pageinfo-footer')->isDisabled()) {
         $content .= $this->msg('pageinfo-footer')->parse();
     }
     return $content;
 }
开发者ID:h4ck3rm1k3,项目名称:mediawiki,代码行数:101,代码来源:InfoAction.php

示例5: pageInfo


//.........这里部分代码省略.........
         // restriction-upload
         $pageInfo['header-restrictions'][] = array($this->msg("restriction-{$restrictionType}"), $message);
     }
     if (!$this->page->exists()) {
         return $pageInfo;
     }
     // Edit history
     $pageInfo['header-edits'] = array();
     $firstRev = $this->page->getOldestRevision();
     $lastRev = $this->page->getRevision();
     $batch = new LinkBatch();
     if ($firstRev) {
         $firstRevUser = $firstRev->getUserText(Revision::FOR_THIS_USER);
         if ($firstRevUser !== '') {
             $batch->add(NS_USER, $firstRevUser);
             $batch->add(NS_USER_TALK, $firstRevUser);
         }
     }
     if ($lastRev) {
         $lastRevUser = $lastRev->getUserText(Revision::FOR_THIS_USER);
         if ($lastRevUser !== '') {
             $batch->add(NS_USER, $lastRevUser);
             $batch->add(NS_USER_TALK, $lastRevUser);
         }
     }
     $batch->execute();
     if ($firstRev) {
         // Page creator
         $pageInfo['header-edits'][] = array($this->msg('pageinfo-firstuser'), Linker::revUserTools($firstRev));
         // Date of page creation
         $pageInfo['header-edits'][] = array($this->msg('pageinfo-firsttime'), Linker::linkKnown($title, htmlspecialchars($lang->userTimeAndDate($firstRev->getTimestamp(), $user)), array(), array('oldid' => $firstRev->getId())));
     }
     if ($lastRev) {
         // Latest editor
         $pageInfo['header-edits'][] = array($this->msg('pageinfo-lastuser'), Linker::revUserTools($lastRev));
         // Date of latest edit
         $pageInfo['header-edits'][] = array($this->msg('pageinfo-lasttime'), Linker::linkKnown($title, htmlspecialchars($lang->userTimeAndDate($this->page->getTimestamp(), $user)), array(), array('oldid' => $this->page->getLatest())));
     }
     // Total number of edits
     $pageInfo['header-edits'][] = array($this->msg('pageinfo-edits'), $lang->formatNum($pageCounts['edits']));
     // Total number of distinct authors
     if ($pageCounts['authors'] > 0) {
         $pageInfo['header-edits'][] = array($this->msg('pageinfo-authors'), $lang->formatNum($pageCounts['authors']));
     }
     // Recent number of edits (within past 30 days)
     $pageInfo['header-edits'][] = array($this->msg('pageinfo-recent-edits', $lang->formatDuration($config->get('RCMaxAge'))), $lang->formatNum($pageCounts['recent_edits']));
     // Recent number of distinct authors
     $pageInfo['header-edits'][] = array($this->msg('pageinfo-recent-authors'), $lang->formatNum($pageCounts['recent_authors']));
     // Array of MagicWord objects
     $magicWords = MagicWord::getDoubleUnderscoreArray();
     // Array of magic word IDs
     $wordIDs = $magicWords->names;
     // Array of IDs => localized magic words
     $localizedWords = $wgContLang->getMagicWords();
     $listItems = array();
     foreach ($pageProperties as $property => $value) {
         if (in_array($property, $wordIDs)) {
             $listItems[] = Html::element('li', array(), $localizedWords[$property][1]);
         }
     }
     $localizedList = Html::rawElement('ul', array(), implode('', $listItems));
     $hiddenCategories = $this->page->getHiddenCategories();
     if (count($listItems) > 0 || count($hiddenCategories) > 0 || $pageCounts['transclusion']['from'] > 0 || $pageCounts['transclusion']['to'] > 0) {
         $options = array('LIMIT' => $config->get('PageInfoTransclusionLimit'));
         $transcludedTemplates = $title->getTemplateLinksFrom($options);
         if ($config->get('MiserMode')) {
             $transcludedTargets = array();
         } else {
             $transcludedTargets = $title->getTemplateLinksTo($options);
         }
         // Page properties
         $pageInfo['header-properties'] = array();
         // Magic words
         if (count($listItems) > 0) {
             $pageInfo['header-properties'][] = array($this->msg('pageinfo-magic-words')->numParams(count($listItems)), $localizedList);
         }
         // Hidden categories
         if (count($hiddenCategories) > 0) {
             $pageInfo['header-properties'][] = array($this->msg('pageinfo-hidden-categories')->numParams(count($hiddenCategories)), Linker::formatHiddenCategories($hiddenCategories));
         }
         // Transcluded templates
         if ($pageCounts['transclusion']['from'] > 0) {
             if ($pageCounts['transclusion']['from'] > count($transcludedTemplates)) {
                 $more = $this->msg('morenotlisted')->escaped();
             } else {
                 $more = null;
             }
             $pageInfo['header-properties'][] = array($this->msg('pageinfo-templates')->numParams($pageCounts['transclusion']['from']), Linker::formatTemplates($transcludedTemplates, false, false, $more));
         }
         if (!$config->get('MiserMode') && $pageCounts['transclusion']['to'] > 0) {
             if ($pageCounts['transclusion']['to'] > count($transcludedTargets)) {
                 $more = Linker::link($whatLinksHere, $this->msg('moredotdotdot')->escaped(), array(), array('hidelinks' => 1, 'hideredirs' => 1));
             } else {
                 $more = null;
             }
             $pageInfo['header-properties'][] = array($this->msg('pageinfo-transclusions')->numParams($pageCounts['transclusion']['to']), Linker::formatTemplates($transcludedTargets, false, false, $more));
         }
     }
     return $pageInfo;
 }
开发者ID:rugby110,项目名称:mediawiki,代码行数:101,代码来源:InfoAction.php

示例6: showEditForm


//.........这里部分代码省略.........
         }
     }
     // @todo add EditForm plugin interface and use it here!
     //       search for textarea1 and textares2, and allow EditForm to override all uses.
     $wgOut->addHTML(Html::openElement('form', array('id' => self::EDITFORM_ID, 'name' => self::EDITFORM_ID, 'method' => 'post', 'action' => $this->getActionURL($this->getContextTitle()), 'enctype' => 'multipart/form-data')));
     if (is_callable($formCallback)) {
         call_user_func_array($formCallback, array(&$wgOut));
     }
     // Add an empty field to trip up spambots
     $wgOut->addHTML(Xml::openElement('div', array('id' => 'antispam-container', 'style' => 'display: none;')) . Html::rawElement('label', array('for' => 'wpAntiSpam'), wfMessage('simpleantispam-label')->parse()) . Xml::element('input', array('type' => 'text', 'name' => 'wpAntispam', 'id' => 'wpAntispam', 'value' => '')) . Xml::closeElement('div'));
     wfRunHooks('EditPage::showEditForm:fields', array(&$this, &$wgOut));
     // Put these up at the top to ensure they aren't lost on early form submission
     $this->showFormBeforeText();
     if ($this->wasDeletedSinceLastEdit() && 'save' == $this->formtype) {
         $username = $this->lastDelete->user_name;
         $comment = $this->lastDelete->log_comment;
         // It is better to not parse the comment at all than to have templates expanded in the middle
         // TODO: can the checkLabel be moved outside of the div so that wrapWikiMsg could be used?
         $key = $comment === '' ? 'confirmrecreate-noreason' : 'confirmrecreate';
         $wgOut->addHTML('<div class="mw-confirm-recreate">' . wfMessage($key, $username, "<nowiki>{$comment}</nowiki>")->parse() . Xml::checkLabel(wfMessage('recreate')->text(), 'wpRecreate', 'wpRecreate', false, array('title' => Linker::titleAttrib('recreate'), 'tabindex' => 1, 'id' => 'wpRecreate')) . '</div>');
     }
     # When the summary is hidden, also hide them on preview/show changes
     if ($this->nosummary) {
         $wgOut->addHTML(Html::hidden('nosummary', true));
     }
     # If a blank edit summary was previously provided, and the appropriate
     # user preference is active, pass a hidden tag as wpIgnoreBlankSummary. This will stop the
     # user being bounced back more than once in the event that a summary
     # is not required.
     #####
     # For a bit more sophisticated detection of blank summaries, hash the
     # automatic one and pass that in the hidden field wpAutoSummary.
     if ($this->missingSummary || $this->section == 'new' && $this->nosummary) {
         $wgOut->addHTML(Html::hidden('wpIgnoreBlankSummary', true));
     }
     if ($this->undidRev) {
         $wgOut->addHTML(Html::hidden('wpUndidRevision', $this->undidRev));
     }
     if ($this->hasPresetSummary) {
         // If a summary has been preset using &summary= we don't want to prompt for
         // a different summary. Only prompt for a summary if the summary is blanked.
         // (Bug 17416)
         $this->autoSumm = md5('');
     }
     $autosumm = $this->autoSumm ? $this->autoSumm : md5($this->summary);
     $wgOut->addHTML(Html::hidden('wpAutoSummary', $autosumm));
     $wgOut->addHTML(Html::hidden('oldid', $this->oldid));
     $wgOut->addHTML(Html::hidden('format', $this->contentFormat));
     $wgOut->addHTML(Html::hidden('model', $this->contentModel));
     if ($this->section == 'new') {
         $this->showSummaryInput(true, $this->summary);
         $wgOut->addHTML($this->getSummaryPreview(true, $this->summary));
     }
     $wgOut->addHTML($this->editFormTextBeforeContent);
     if (!$this->isCssJsSubpage && $showToolbar && $wgUser->getOption('showtoolbar')) {
         $wgOut->addHTML(EditPage::getEditToolbar());
     }
     if ($this->blankArticle) {
         $wgOut->addHTML(Html::hidden('wpIgnoreBlankArticle', true));
     }
     if ($this->isConflict) {
         // In an edit conflict bypass the overridable content form method
         // and fallback to the raw wpTextbox1 since editconflicts can't be
         // resolved between page source edits and custom ui edits using the
         // custom edit ui.
         $this->textbox2 = $this->textbox1;
         $content = $this->getCurrentContent();
         $this->textbox1 = $this->toEditText($content);
         $this->showTextbox1();
     } else {
         $this->showContentForm();
     }
     $wgOut->addHTML($this->editFormTextAfterContent);
     $this->showStandardInputs();
     $this->showFormAfterText();
     $this->showTosSummary();
     $this->showEditTools();
     $wgOut->addHTML($this->editFormTextAfterTools . "\n");
     $wgOut->addHTML(Html::rawElement('div', array('class' => 'templatesUsed'), Linker::formatTemplates($this->getTemplates(), $this->preview, $this->section != '')));
     $wgOut->addHTML(Html::rawElement('div', array('class' => 'hiddencats'), Linker::formatHiddenCategories($this->mArticle->getHiddenCategories())));
     $wgOut->addHTML(Html::rawElement('div', array('class' => 'limitreport'), self::getPreviewLimitReport($this->mParserOutput)));
     $wgOut->addModules('mediawiki.action.edit.collapsibleFooter');
     if ($this->isConflict) {
         try {
             $this->showConflict();
         } catch (MWContentSerializationException $ex) {
             // this can't really happen, but be nice if it does.
             $msg = wfMessage('content-failed-to-parse', $this->contentModel, $this->contentFormat, $ex->getMessage());
             $wgOut->addWikiText('<div class="error">' . $msg->text() . '</div>');
         }
     }
     // Marker for detecting truncated form data.  This must be the last
     // parameter sent in order to be of use, so do not move me.
     $wgOut->addHTML(Html::hidden('wpUltimateParam', true));
     $wgOut->addHTML($this->editFormTextBottom . "\n</form>\n");
     if (!$wgUser->getOption('previewontop')) {
         $this->displayPreviewArea($previewOutput, false);
     }
     wfProfileOut(__METHOD__);
 }
开发者ID:whysasse,项目名称:kmwiki,代码行数:101,代码来源:EditPage.php

示例7: pageInfo


//.........这里部分代码省略.........
     $pageInfo['header-basic'][] = array(Linker::link($whatLinksHere, $this->msg('pageinfo-redirects-name')->escaped(), array(), array('hidelinks' => 1, 'hidetrans' => 1)), $this->msg('pageinfo-redirects-value')->numParams(count($title->getRedirectsHere())));
     // Is it counted as a content page?
     if ($this->page->isCountable()) {
         $pageInfo['header-basic'][] = array($this->msg('pageinfo-contentpage'), $this->msg('pageinfo-contentpage-yes'));
     }
     // Subpages of this page, if subpages are enabled for the current NS
     if (MWNamespace::hasSubpages($title->getNamespace())) {
         $prefixIndex = SpecialPage::getTitleFor('Prefixindex', $title->getPrefixedText() . '/');
         $pageInfo['header-basic'][] = array(Linker::link($prefixIndex, $this->msg('pageinfo-subpages-name')->escaped()), $this->msg('pageinfo-subpages-value')->numParams($pageCounts['subpages']['total'], $pageCounts['subpages']['redirects'], $pageCounts['subpages']['nonredirects']));
     }
     // Page protection
     $pageInfo['header-restrictions'] = array();
     // Is this page effected by the cascading protection of something which includes it?
     if ($title->isCascadeProtected()) {
         $cascadingFrom = '';
         $sources = $title->getCascadeProtectionSources();
         // Array deferencing is in PHP 5.4 :(
         foreach ($sources[0] as $sourceTitle) {
             $cascadingFrom .= Html::rawElement('li', array(), Linker::linkKnown($sourceTitle));
         }
         $cascadingFrom = Html::rawElement('ul', array(), $cascadingFrom);
         $pageInfo['header-restrictions'][] = array($this->msg('pageinfo-protect-cascading-from'), $cascadingFrom);
     }
     // Is out protection set to cascade to other pages?
     if ($title->areRestrictionsCascading()) {
         $pageInfo['header-restrictions'][] = array($this->msg('pageinfo-protect-cascading'), $this->msg('pageinfo-protect-cascading-yes'));
     }
     // Page protection
     foreach ($title->getRestrictionTypes() as $restrictionType) {
         $protectionLevel = implode(', ', $title->getRestrictions($restrictionType));
         if ($protectionLevel == '') {
             // Allow all users
             $message = $this->msg('protect-default')->escaped();
         } else {
             // Administrators only
             $message = $this->msg("protect-level-{$protectionLevel}");
             if ($message->isDisabled()) {
                 // Require "$1" permission
                 $message = $this->msg("protect-fallback", $protectionLevel)->parse();
             } else {
                 $message = $message->escaped();
             }
         }
         $pageInfo['header-restrictions'][] = array($this->msg("restriction-{$restrictionType}"), $message);
     }
     if (!$this->page->exists()) {
         return $pageInfo;
     }
     // Edit history
     $pageInfo['header-edits'] = array();
     $firstRev = $this->page->getOldestRevision();
     // Page creator
     $pageInfo['header-edits'][] = array($this->msg('pageinfo-firstuser'), Linker::revUserTools($firstRev));
     // Date of page creation
     $pageInfo['header-edits'][] = array($this->msg('pageinfo-firsttime'), Linker::linkKnown($title, $lang->userTimeAndDate($firstRev->getTimestamp(), $user), array(), array('oldid' => $firstRev->getId())));
     // Latest editor
     $pageInfo['header-edits'][] = array($this->msg('pageinfo-lastuser'), Linker::revUserTools($this->page->getRevision()));
     // Date of latest edit
     $pageInfo['header-edits'][] = array($this->msg('pageinfo-lasttime'), Linker::linkKnown($title, $lang->userTimeAndDate($this->page->getTimestamp(), $user), array(), array('oldid' => $this->page->getLatest())));
     // Total number of edits
     $pageInfo['header-edits'][] = array($this->msg('pageinfo-edits'), $lang->formatNum($pageCounts['edits']));
     // Total number of distinct authors
     $pageInfo['header-edits'][] = array($this->msg('pageinfo-authors'), $lang->formatNum($pageCounts['authors']));
     // Recent number of edits (within past 30 days)
     $pageInfo['header-edits'][] = array($this->msg('pageinfo-recent-edits', $lang->formatDuration($wgRCMaxAge)), $lang->formatNum($pageCounts['recent_edits']));
     // Recent number of distinct authors
     $pageInfo['header-edits'][] = array($this->msg('pageinfo-recent-authors'), $lang->formatNum($pageCounts['recent_authors']));
     // Array of MagicWord objects
     $magicWords = MagicWord::getDoubleUnderscoreArray();
     // Array of magic word IDs
     $wordIDs = $magicWords->names;
     // Array of IDs => localized magic words
     $localizedWords = $wgContLang->getMagicWords();
     $listItems = array();
     foreach ($pageProperties as $property => $value) {
         if (in_array($property, $wordIDs)) {
             $listItems[] = Html::element('li', array(), $localizedWords[$property][1]);
         }
     }
     $localizedList = Html::rawElement('ul', array(), implode('', $listItems));
     $hiddenCategories = $this->page->getHiddenCategories();
     $transcludedTemplates = $title->getTemplateLinksFrom();
     if (count($listItems) > 0 || count($hiddenCategories) > 0 || count($transcludedTemplates) > 0) {
         // Page properties
         $pageInfo['header-properties'] = array();
         // Magic words
         if (count($listItems) > 0) {
             $pageInfo['header-properties'][] = array($this->msg('pageinfo-magic-words')->numParams(count($listItems)), $localizedList);
         }
         // Hidden categories
         if (count($hiddenCategories) > 0) {
             $pageInfo['header-properties'][] = array($this->msg('pageinfo-hidden-categories')->numParams(count($hiddenCategories)), Linker::formatHiddenCategories($hiddenCategories));
         }
         // Transcluded templates
         if (count($transcludedTemplates) > 0) {
             $pageInfo['header-properties'][] = array($this->msg('pageinfo-templates')->numParams(count($transcludedTemplates)), Linker::formatTemplates($transcludedTemplates));
         }
     }
     return $pageInfo;
 }
开发者ID:nischayn22,项目名称:mediawiki-core,代码行数:101,代码来源:InfoAction.php

示例8: displayPermissionsError

 /**
  * Show a read-only error
  * Parameters are the same as OutputPage:readOnlyPage()
  * Redirect to the article page if redlink=1
  */
 function displayPermissionsError(array $permErrors)
 {
     $this->mIsReadOnlyPage = true;
     $this->helper->addJsVariable('wgEditPageIsReadOnly', true);
     $formatPermissionsErrorMessage = $this->app->wg->Out->formatPermissionsErrorMessage($permErrors, 'edit');
     $content = $this->app->wg->Out->parse($formatPermissionsErrorMessage);
     $this->mEditPagePreloads['PermissionsError'] = array('content' => $content, 'class' => 'permissions-errors');
     // All of the following is pasted from EditPage:displayPermissionsError and pruned
     if ($this->app->wg->Request->getBool('redlink')) {
         // The edit page was reached via a red link.
         // Redirect to the article page and let them click the edit tab if
         // they really want a permission error.
         $this->app->wg->Out->redirect($this->mTitle->getFullUrl());
         return;
     }
     $content = $this->getContent();
     $this->app->wg->Out->setPageTitle(wfMessage('viewsource-title', $this->getContextTitle()->getPrefixedText()));
     $this->app->wg->Out->addBacklinkSubtitle($this->getContextTitle());
     # If the user made changes, preserve them when showing the markup
     # (This happens when a user is blocked during edit, for instance)
     if (!$this->firsttime) {
         $content = $this->textbox1;
         $this->app->wg->Out->addWikiMsg('viewyourtext');
     } else {
         $this->app->wg->Out->addWikiMsg('viewsourcetext');
     }
     $this->showTextbox($content, 'wpTextbox1', array('readonly'));
     $this->app->wg->Out->addHTML(Html::rawElement('div', array('class' => 'templatesUsed'), Linker::formatTemplates($this->getTemplates())));
     if ($this->mTitle->exists()) {
         $this->app->wg->Out->returnToMain(null, $this->mTitle);
     }
 }
开发者ID:Tjorriemorrie,项目名称:app,代码行数:37,代码来源:EditPageLayout.class.php

示例9: getTemplatesList

 public function getTemplatesList()
 {
     wfProfileIn(__METHOD__);
     $templates = $this->mTitle->getTemplateLinksFrom();
     $html = Linker::formatTemplates($templates);
     wfProfileOut(__METHOD__);
     return $html;
 }
开发者ID:yusufchang,项目名称:app,代码行数:8,代码来源:EditPageService.class.php

示例10: formatTemplates

 /**
  * @deprecated since 1.28, use TemplatesOnThisPageFormatter directly
  */
 public function formatTemplates($templates, $preview = false, $section = false, $more = null)
 {
     wfDeprecated(__METHOD__, '1.28');
     return Linker::formatTemplates($templates, $preview, $section, $more);
 }
开发者ID:paladox,项目名称:mediawiki,代码行数:8,代码来源:DummyLinker.php


注:本文中的Linker::formatTemplates方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。