From 2248021997324c8694430a3c010b8b81482be0c3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bartosz=20Dziewo=C5=84ski?= Date: Thu, 7 Nov 2013 17:27:00 +0100 Subject: [PATCH] Suppress section edit links with action=render action=render is often used to pull the rendered HTML of an article for inclusion in a different context. More often than not, the edit links are not desired in that context. Bug: 19415 Change-Id: Iab02cbd42f2f93f0f5264a74691ae1b84f296f12 --- RELEASE-NOTES-1.23 | 1 + includes/Article.php | 1 + includes/OutputPage.php | 25 ++++++++++++++++++++++++- 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/RELEASE-NOTES-1.23 b/RELEASE-NOTES-1.23 index 7cf5c8ef08..156e7e93d9 100644 --- a/RELEASE-NOTES-1.23 +++ b/RELEASE-NOTES-1.23 @@ -44,6 +44,7 @@ production. when the email address is already confirmed. Also, consistently use "confirmed", rather than "authenticated", when messaging whether or not the user has confirmed an email address. +* (bug 19415) action=render no longer shows section edit links. === API changes in 1.23 === * (bug 54884) action=parse&prop=categories now indicates hidden and missing diff --git a/includes/Article.php b/includes/Article.php index a6afd8e596..1619e09527 100644 --- a/includes/Article.php +++ b/includes/Article.php @@ -1473,6 +1473,7 @@ class Article implements Page { */ public function render() { $this->getContext()->getOutput()->setArticleBodyOnly( true ); + $this->getContext()->getOutput()->enableSectionEditLinks( false ); $this->view(); } diff --git a/includes/OutputPage.php b/includes/OutputPage.php index b4fda1366d..5ffb80208a 100644 --- a/includes/OutputPage.php +++ b/includes/OutputPage.php @@ -256,10 +256,15 @@ class OutputPage extends ContextSource { private $mTarget = null; /** - * @var bool: Whether output should contain table of contents + * @var bool: Whether parser output should contain table of contents */ private $mEnableTOC = true; + /** + * @var bool: Whether parser output should contain section edit links + */ + private $mEnableSectionEditLinks = true; + /** * Constructor for OutputPage. This should not be called directly. * Instead a new RequestContext should be created and it will implicitly create @@ -1612,6 +1617,7 @@ class OutputPage extends ContextSource { function addParserOutput( &$parserOutput ) { $this->addParserOutputNoText( $parserOutput ); $parserOutput->setTOCEnabled( $this->mEnableTOC ); + $parserOutput->setEditSectionTokens( $this->mEnableSectionEditLinks ); $text = $parserOutput->getText(); wfRunHooks( 'OutputPageBeforeHTML', array( &$this, &$text ) ); $this->addHTML( $text ); @@ -3675,4 +3681,21 @@ $templates public function isTOCEnabled() { return $this->mEnableTOC; } + + /** + * Enables/disables section edit links, doesn't override __NOEDITSECTION__ + * @param bool $flag + * @since 1.23 + */ + public function enableSectionEditLinks( $flag = true ) { + $this->mEnableSectionEditLinks = $flag; + } + + /** + * @return bool + * @since 1.23 + */ + public function sectionEditLinksEnabled() { + return $this->mEnableSectionEditLinks; + } } -- 2.20.1