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.
This reverts commit a04b5d5dcb
and redoes Iab02cbd42f2f93f0f5264a74691ae1b84f296f12.
Bug: 19415
Change-Id: I26213653c017c2e19a6f6799f3ea0676ff8524d1
This commit is contained in:
parent
2771d601e8
commit
65caa90c19
3 changed files with 33 additions and 1 deletions
|
|
@ -128,6 +128,10 @@ 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. This affects
|
||||
behavior of several other features where (bogus) section edit links will
|
||||
disappear, such as file description pages loaded via $wgUseInstantCommons or
|
||||
pages transcluded cross-wiki via $wgEnableScaryTranscluding.
|
||||
* (bug 56912) Show correct link color on cached result of Special:DeadendPages.
|
||||
* Classes TitleListDependency and TitleDependency have been removed, as they
|
||||
have been found unused in core and extensions for a long time.
|
||||
|
|
|
|||
|
|
@ -1480,6 +1480,7 @@ class Article implements Page {
|
|||
*/
|
||||
public function render() {
|
||||
$this->getContext()->getOutput()->setArticleBodyOnly( true );
|
||||
$this->getContext()->getOutput()->enableSectionEditLinks( false );
|
||||
$this->view();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -257,10 +257,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
|
||||
|
|
@ -1613,6 +1618,11 @@ class OutputPage extends ContextSource {
|
|||
function addParserOutput( &$parserOutput ) {
|
||||
$this->addParserOutputNoText( $parserOutput );
|
||||
$parserOutput->setTOCEnabled( $this->mEnableTOC );
|
||||
|
||||
// Touch section edit links only if not previously disabled
|
||||
if ( $parserOutput->getEditSectionTokens() ) {
|
||||
$parserOutput->setEditSectionTokens( $this->mEnableSectionEditLinks );
|
||||
}
|
||||
$text = $parserOutput->getText();
|
||||
wfRunHooks( 'OutputPageBeforeHTML', array( &$this, &$text ) );
|
||||
$this->addHTML( $text );
|
||||
|
|
@ -3691,4 +3701,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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue