X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FEditPage.php;fp=includes%2FEditPage.php;h=406673dee2371bc1e85f953b611def222267b0e0;hb=3d653e8ab542e502f4dcf574c9e4917cf56a5f8c;hp=606b4cde02592bf27a9f38e71824948b0d350a94;hpb=2073a2569596e395c63c970cc537dd986b790ea5;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/EditPage.php b/includes/EditPage.php index 606b4cde02..406673dee2 100644 --- a/includes/EditPage.php +++ b/includes/EditPage.php @@ -1846,8 +1846,17 @@ class EditPage { } elseif ( !$wgUser->isAllowed( 'editcontentmodel' ) ) { $status->setResult( false, self::AS_NO_CHANGE_CONTENT_MODEL ); return $status; - } + // Make sure the user can edit the page under the new content model too + $titleWithNewContentModel = clone $this->mTitle; + $titleWithNewContentModel->setContentModel( $this->contentModel ); + if ( !$titleWithNewContentModel->userCan( 'editcontentmodel', $wgUser ) + || !$titleWithNewContentModel->userCan( 'edit', $wgUser ) + ) { + $status->setResult( false, self::AS_NO_CHANGE_CONTENT_MODEL ); + return $status; + } + $changingContentModel = true; $oldContentModel = $this->mTitle->getContentModel(); }