Bene has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/89607


Change subject: (bug 47496) Use (hidden) preference for copyright acknowledgment
......................................................................

(bug 47496) Use (hidden) preference for copyright acknowledgment

Created hidden preference for copyright acknowledgment

Change-Id: I61c5a155ac41c9b799095212d9b8243fc1bfbbca
---
M repo/Wikibase.hooks.php
M repo/Wikibase.php
M repo/resources/wikibase.ui.entityViewInit.js
3 files changed, 40 insertions(+), 12 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/07/89607/1

diff --git a/repo/Wikibase.hooks.php b/repo/Wikibase.hooks.php
index 29e0833..d4d1f88 100644
--- a/repo/Wikibase.hooks.php
+++ b/repo/Wikibase.hooks.php
@@ -396,13 +396,17 @@
        public static function onGetPreferences( User $user, array 
&$preferences ) {
                wfProfileIn( __METHOD__ );
 
-               $preferences['wb-languages'] = array(
-                       'type' => 'multiselect',
-                       'usecheckboxes' => false,
-                       'label-message' => 'wikibase-setting-languages',
-                       'options' => $preferences['language']['options'], // 
all languages available in 'language' selector
-                       'section' => 'personal/i18n',
-                       'prefix' => 'wb-languages-',
+//             $preferences['wb-languages'] = array(
+//                     'type' => 'multiselect',
+//                     'usecheckboxes' => false, // this does not do anything 
because checkboxes are shown anyhow
+//                     'label-message' => 'wikibase-setting-languages',
+//                     'options' => $preferences['language']['options'], // 
all languages available in 'language' selector
+//                     'section' => 'personal/i18n',
+//                     'prefix' => 'wb-languages-',
+//             );
+
+               $preferences['wb-acknowledgedcopyrightversion'] = array(
+                       'type' => 'api'
                );
 
                wfProfileOut( __METHOD__ );
diff --git a/repo/Wikibase.php b/repo/Wikibase.php
index 5667e41..a2298ff 100644
--- a/repo/Wikibase.php
+++ b/repo/Wikibase.php
@@ -168,6 +168,7 @@
        $wgHooks['RecentChange_save'][]                                         
= 'Wikibase\RepoHooks::onRecentChangeSave';
        $wgHooks['ArticleDeleteComplete'][]                             = 
'Wikibase\RepoHooks::onArticleDeleteComplete';
        $wgHooks['ArticleUndelete'][]                                           
= 'Wikibase\RepoHooks::onArticleUndelete';
+       $wgHooks['GetPreferences'][]                                            
= 'Wikibase\RepoHooks::onGetPreferences';
        $wgHooks['LinkBegin'][]                                                 
        = 'Wikibase\RepoHooks::onLinkBegin';
        $wgHooks['OutputPageBodyAttributes'][]                          = 
'Wikibase\RepoHooks::onOutputPageBodyAttributes';
        //FIXME: handle other types of entities with autocomments too!
diff --git a/repo/resources/wikibase.ui.entityViewInit.js 
b/repo/resources/wikibase.ui.entityViewInit.js
index 64cab69..18aa22c 100644
--- a/repo/resources/wikibase.ui.entityViewInit.js
+++ b/repo/resources/wikibase.ui.entityViewInit.js
@@ -221,9 +221,11 @@
                        } );
 
                        // Display anonymous user edit warning:
-                       if ( mw.user && mw.user.isAnon()
+                       if (
+                               mw.user && mw.user.isAnon()
                                && $.find( '.mw-notification-content' ).length 
=== 0
-                               && !$.cookie( 
'wikibase-no-anonymouseditwarning' ) ) {
+                               && !$.cookie( 
'wikibase-no-anonymouseditwarning' )
+                       ) {
                                mw.notify(
                                        mw.msg( 'wikibase-anonymouseditwarning',
                                                mw.msg( 'wikibase-entity-' + 
wb.entity.getType() )
@@ -237,9 +239,13 @@
                                var copyRight = mw.config.get( 'wbCopyright' ),
                                        copyRightVersion = copyRight.version,
                                        copyRightMessageHtml = 
copyRight.messageHtml,
-                                       cookieKey = 
'wikibase.acknowledgedcopyrightversion';
+                                       cookieKey = 
'wikibase.acknowledgedcopyrightversion',
+                                       optionsKey = 
'wb-acknowledgedcopyrightversion';
 
-                               if( copyRightVersion === $.cookie( cookieKey ) 
) {
+                               if (
+                                       copyRightVersion === $.cookie( 
cookieKey ) ||
+                                       copyRightVersion === 
mw.user.options.get( optionsKey )
+                               ) {
                                        return;
                                }
 
@@ -258,7 +264,8 @@
                                        || $activeToolbar.data( 'toolbar' );
 
                                var $hideMessage = $( '<a/>', {
-                                               text: mw.msg( 
'wikibase-copyrighttooltip-acknowledge' )
+                                               text: mw.msg( 
'wikibase-copyrighttooltip-acknowledge' ),
+                                               href: 'javascript:;'
                                        } ).appendTo( $message );
 
                                var gravity = ( options && 
options.wbCopyrightWarningGravity )
@@ -283,6 +290,22 @@
                                        event.preventDefault();
                                        $messageAnchor.data( 'wbtooltip' 
).degrade( true );
                                        $.cookie( cookieKey, copyRightVersion, 
{ 'expires': 365*3, 'path': '/' } );
+                                       if ( !mw.user.isAnon() ) {
+                                               var api = new mw.Api();
+                                               api.get( {
+                                                       'action': 'tokens',
+                                                       'type': 'options'
+                                               }, function( data ) {
+                                                       if ( data.tokens && 
data.tokens.optionstoken ) {
+                                                               api.post( {
+                                                                       
'action': 'options',
+                                                                       
'token': data.tokens.optionstoken,
+                                                                       
'optionname': optionsKey,
+                                                                       
'optionvalue': copyRightVersion
+                                                               } );
+                                                       }
+                                               } );
+                                       }
                                } );
 
                                $messageAnchor.data( 'wbtooltip' ).show();

-- 
To view, visit https://gerrit.wikimedia.org/r/89607
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I61c5a155ac41c9b799095212d9b8243fc1bfbbca
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Bene <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to