SECURITY: Add permission check for user is permitted to view the log type
authorrxy <wikitech.rxy@rxy.jp>
Sun, 28 Apr 2019 20:04:01 +0000 (05:04 +0900)
committerUmherirrender <umherirrender_de.wp@web.de>
Thu, 6 Jun 2019 21:25:01 +0000 (21:25 +0000)
Bug: T222036
Change-Id: I7584ee8db23a8834bbab21e355cab9857a293f72

includes/changetags/ChangeTagsLogItem.php
includes/specials/SpecialEditTags.php

index a248c6e..1b9fd92 100644 (file)
@@ -49,7 +49,7 @@ class ChangeTagsLogItem extends RevisionItemBase {
        }
 
        public function canView() {
        }
 
        public function canView() {
-               return LogEventsList::userCan( $this->row, Revision::DELETED_RESTRICTED, $this->list->getUser() );
+               return LogEventsList::userCan( $this->row, Revision::SUPPRESSED_ALL, $this->list->getUser() );
        }
 
        public function canViewContent() {
        }
 
        public function canViewContent() {
index 60d5fd7..d11cf64 100644 (file)
@@ -225,6 +225,9 @@ class SpecialEditTags extends UnlistedSpecialPage {
                // phpcs:ignore Generic.CodeAnalysis.ForLoopWithTestFunctionCall
                for ( $list->reset(); $list->current(); $list->next() ) {
                        $item = $list->current();
                // phpcs:ignore Generic.CodeAnalysis.ForLoopWithTestFunctionCall
                for ( $list->reset(); $list->current(); $list->next() ) {
                        $item = $list->current();
+                       if ( !$item->canView() ) {
+                               throw new ErrorPageError( 'permissionserrors', 'tags-update-no-permission' );
+                       }
                        $numRevisions++;
                        $out->addHTML( $item->getHTML() );
                }
                        $numRevisions++;
                        $out->addHTML( $item->getHTML() );
                }