X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fspecialpage%2FRedirectSpecialArticle.php;h=0a1ce61d5049c89aa9a9264bd00e0899e56ac315;hb=f8255e86fafea62e8fd2efdc0ff6c1445fcd6821;hp=b8dce3f5e041186113b1a514ca6e291c62fea7fd;hpb=207543b255632bab4e29e3d76b743c5db369fe48;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/specialpage/RedirectSpecialArticle.php b/includes/specialpage/RedirectSpecialArticle.php index b8dce3f5e0..0a1ce61d50 100644 --- a/includes/specialpage/RedirectSpecialArticle.php +++ b/includes/specialpage/RedirectSpecialArticle.php @@ -106,4 +106,25 @@ abstract class RedirectSpecialArticle extends RedirectSpecialPage { Hooks::run( "RedirectSpecialArticleRedirectParams", [ &$redirectParams ] ); $this->mAllowedRedirectParams = $redirectParams; } + + /** + * @inheritDoc + */ + public function getRedirectQuery( $subpage ) { + $query = parent::getRedirectQuery( $subpage ); + $title = $this->getRedirect( $subpage ); + // Avoid double redirect for action=edit&redlink=1 for existing pages + // (compare to the check in EditPage::edit) + if ( + $query && isset( $query['action'] ) && isset( $query['redlink'] ) && + ( $query['action'] === 'edit' || $query['action'] === 'submit' ) && + (bool)$query['redlink'] && + $title instanceof Title && + $title->exists() + ) { + return false; + } + return $query; + } + }