(bug 24491) Don't show reupload link if the user can't upload because of protection
authorAlex Monk <krenair@gmail.com>
Mon, 13 Aug 2012 20:15:53 +0000 (21:15 +0100)
committerCatrope <roan.kattouw@gmail.com>
Wed, 22 Aug 2012 02:06:42 +0000 (19:06 -0700)
Instead, show some text explaining that they cannot upload here.

Also remove a linebreak which someone complained about recently.

Change-Id: I92ab8ad5eebcdd38c0d5d9f7bab7d11e5c844586

includes/ImagePage.php
languages/messages/MessagesEn.php
languages/messages/MessagesQqq.php
maintenance/language/messages.inc

index dad10c8..7aed392 100644 (file)
@@ -654,12 +654,15 @@ EOT
                }
 
                $out = $this->getContext()->getOutput();
-               $out->addHTML( "<br /><ul>\n" );
+               $out->addHTML( "<ul>\n" );
 
                # "Upload a new version of this file" link
-               if ( UploadBase::userCanReUpload( $this->getContext()->getUser(), $this->mPage->getFile()->name ) ) {
+               $canUpload = $this->getTitle()->userCan( 'upload', $this->getContext()->getUser() );
+               if ( $canUpload && UploadBase::userCanReUpload( $this->getContext()->getUser(), $this->mPage->getFile()->name ) ) {
                        $ulink = Linker::makeExternalLink( $this->getUploadUrl(), wfMessage( 'uploadnewversion-linktext' )->text() );
                        $out->addHTML( "<li id=\"mw-imagepage-reupload-link\"><div class=\"plainlinks\">{$ulink}</div></li>\n" );
+               } else {
+                       $out->addHTML( "<li id=\"mw-imagepage-upload-disallowed\">" . $this->msg( 'upload-disallowed-here' )->escaped() . "</li>\n" );
                }
 
                # External editing link
index a66db04..8704148 100644 (file)
@@ -2459,6 +2459,7 @@ Maybe you want to edit the description on its [$2 file description page] there.'
 'shared-repo'                       => 'a shared repository',
 'shared-repo-name-wikimediacommons' => 'Wikimedia Commons', # only translate this message to other languages if you have to change it
 'filepage.css'                      => '/* CSS placed here is included on the file description page, also included on foreign client wikis */', # only translate this message to other languages if you have to change it
+'upload-disallowed-here'            => 'Unfortunately you cannot overwrite this image.',
 
 # File reversion
 'filerevert'                => 'Revert $1',
index bfe383e..570f4ff 100644 (file)
@@ -2219,6 +2219,7 @@ $1 is the name of the shared repository. On wikimedia sites, $1 is {{msg-mw|shar
 * {{msg-mw|sharedupload}}, {{msg-mw|sharedupload-desc-here}}, {{msg-mw|sharedupload-desc-there}}',
 'shared-repo-name-wikimediacommons' => '{{optional}}',
 'filepage.css' => '{{Optional}}',
+'upload-disallowed-here'            => 'This message appears on an image page in place of the normal reupload link if they cannot upload - e.g. if the image page is upload protected and they do not have the right priviledge.',
 
 # File reversion
 'filerevert' => '{{Identical|Revert}}',
index 59e15a8..33c104b 100644 (file)
@@ -1535,6 +1535,7 @@ $wgMessageStructure = array(
                'shared-repo',
                'shared-repo-name-wikimediacommons',
                'filepage.css',
+               'upload-disallowed-here',
        ),
        'filerevert' => array(
                'filerevert',