Archive/Thanks link on user pages
< Archive
| tbd @ |
|---|
"Thanks" link for current page version as a tab
This function was supposed to add a "thanks" link (Extension:Thanks) to the tabs on a user page, to simplify thanking someone for a useful user page.
Ultimately, it proved to be too much of a hassle for too little of a benefit.
- used methods
- MediaWiki: mw.config-Variablen "wgNamespaceNumber", "wgUserName", "wgRelevantUserName", "wgCurRevisionId", "skin"; mw.Api.get, mw.util.addPortletLink, mw.util.getUrl
- jQuery: addClass
mw.loader.using("mediawiki.api", function() {
//nur im Benutzernamensraum, und auch nur, wenn der Betrachter nicht mit dem Besitzer der Seite übereinstimmt
if ( ( mw.config.get('wgNamespaceNumber') === 2 ) && ( mw.config.get('wgUserName') !== mw.config.get('wgRelevantUserName') ) ) {
//rufe den Autor der aktuellen Version der Seite auf
new mw.Api().get( {
action: 'query',
prop: 'revisions',
revids: mw.config.get('wgCurRevisionId'),
rvprop: 'user'
} ).done( function ( data ) {
var pages = data.query.pages;
for (var page in pages) {
var mPage = pages[page];
var User = mPage.revisions[0].user;
//nur wenn Autor der aktuellen Version mit dem Besitzer der Seite übereinstimmt
if ( User === mw.config.get('wgRelevantUserName') ) {
mw.util.addPortletLink(
mw.config.get( 'skin' ) === 'vector' ? 'p-views' : 'p-cactions',
mw.util.getUrl( 'Special:Thanks/' + mw.config.get('wgCurRevisionId') ),
'Danke',
'ca-thanks',
'Diesem Benutzer für diese Seite danken'
);
$( "#ca-thanks" ).addClass( "icon" );
}
}
} );
}
} );
Dieses CSS (direkt aus dem Vector-Skin kopiert) verwandelt den angezeigten Link in ein Symbol, das natürlich noch angepasst werden müsste.
#ca-thanks.icon a {
margin: 0;
padding: 0;
display: block;
width: 26px;
/* This hides the text but shows the background image */
padding-top: 3.1em;
margin-top: 0;
height: 0;
overflow: hidden;
background-position: 5px 60%;
background-image: url("images/2/21/Beobachten_aus.svg");
}