Difference between revisions of "MediaWiki:Common.js"

From Wikibase Personal data
Jump to navigation Jump to search
 
(48 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
/**
 +
* @source https://www.mediawiki.org/wiki/Snippets/Load_JS_and_CSS_by_URL
 +
* @revision 2017-05-16
 +
*/
 +
mw.loader.using( ['mediawiki.util', 'mediawiki.notify'], function () {
 +
var extraCSS = mw.util.getParamValue( 'withCSS' ),
 +
    extraJS = mw.util.getParamValue( 'withJS' );
 +
 +
if ( extraCSS ) {
 +
// DONT REMOVE THIS IF (unless you are OK with CSRF attacks)
 +
if ( /^MediaWiki:[^&<>=%#]*\.css$/.test( extraCSS ) ) {
 +
mw.loader.load( '/w/index.php?title=' + encodeURIComponent( extraCSS ) + '&action=raw&ctype=text/css', 'text/css' );
 +
} else {
 +
mw.notify( 'Only pages from the MediaWiki namespace are allowed.', { title: 'Invalid withCSS value' } );
 +
}
 +
}
 +
 +
if ( extraJS ) {
 +
console.log("withJS", extraJS)
 +
// DONT REMOVE THIS IF (unless you are OK with XSS & CSRF attacks)
 +
if (( /^MediaWiki:[^&<>=%#]*\.js$/.test( extraJS ) ) || ( /^User:Podehaye\/[^&<>=%#]*\.js$/.test( extraJS ) ) || ( /^User:Abel\/[^&<>=%#]*\.js$/.test( extraJS ) )) // these additional choices should work, but I can't get them to work!
 +
{
 +
mw.loader.load( '/w/index.php?title=' + encodeURIComponent( extraJS ) + '&action=raw&ctype=text/javascript' );
 +
} else {
 +
mw.notify( 'Only pages from the MediaWiki namespace are allowed.', { title: 'Invalid withJS value' } );
 +
}
 +
}
 +
});
 +
 
/* Any JavaScript here will be loaded for all users on every page load. */
 
/* Any JavaScript here will be loaded for all users on every page load. */
mw.notify( 'Welcome!' ) );
+
 
mw.notify( $('<a href="/wiki/Help/dev">We could use some Javascript/PHP help!</a>' ) );
+
 
mw.notify( $('<a href="/wiki/Help/data_input">Got ecosystem data?</a>' ) );
+
mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:Gadget-EasyQuery.js&action=raw&ctype=text/javascript' ); // [[EasyQuery]]
 +
mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:Gadget-CreateNewItem.js&action=raw&ctype=text/javascript' ); // [[CreateNewItem]]
 +
// mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:Gadget-Merge.js&action=raw&ctype=text/javascript' ); // [[Merge]]
 +
 
 +
// mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:HeaderMenu.js&action=raw&ctype=text/javascript' ); // [[HeaderMenu]]
 +
// mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:PopupMenu.js&action=raw&ctype=text/javascript' ); // [[PopupMenu]]
 +
 
 +
mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:Access.js&action=raw&ctype=text/javascript' ); // [[Access]]
 +
mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:SwissAccess.js&action=raw&ctype=text/javascript' ); // [[SwissAccess]]
 +
// mw.loader.load( '//wiki.personaldata.io/w/index.php?title=User:Abel/experimental.js&action=raw&ctype=text/javascript' ); // [[Abel]]
 +
// mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:Gadget-QuickPresets.js&action=raw&ctype=text/javascript' ); // quickpresets
 +
 
 +
mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:NoSiteLinks.js&action=raw&ctype=text/javascript' );

Latest revision as of 22:26, 25 January 2020

/**
 * @source https://www.mediawiki.org/wiki/Snippets/Load_JS_and_CSS_by_URL
 * @revision 2017-05-16
 */
mw.loader.using( ['mediawiki.util', 'mediawiki.notify'], function () {
	var extraCSS = mw.util.getParamValue( 'withCSS' ),
	    extraJS = mw.util.getParamValue( 'withJS' );

	if ( extraCSS ) {
		// DONT REMOVE THIS IF (unless you are OK with CSRF attacks)
		if ( /^MediaWiki:[^&<>=%#]*\.css$/.test( extraCSS ) ) {
			mw.loader.load( '/w/index.php?title=' + encodeURIComponent( extraCSS ) + '&action=raw&ctype=text/css', 'text/css' );
		} else {
			mw.notify( 'Only pages from the MediaWiki namespace are allowed.', { title: 'Invalid withCSS value' } );
		}
	}

	if ( extraJS ) {
		console.log("withJS", extraJS)
// DONT REMOVE THIS IF (unless you are OK with XSS & CSRF attacks)
		if (( /^MediaWiki:[^&<>=%#]*\.js$/.test( extraJS ) ) || ( /^User:Podehaye\/[^&<>=%#]*\.js$/.test( extraJS ) ) || ( /^User:Abel\/[^&<>=%#]*\.js$/.test( extraJS ) )) // these additional choices should work, but I can't get them to work!
		{
			mw.loader.load( '/w/index.php?title=' + encodeURIComponent( extraJS ) + '&action=raw&ctype=text/javascript' );
		} else {
			mw.notify( 'Only pages from the MediaWiki namespace are allowed.', { title: 'Invalid withJS value' } );
		}
	}
});

/* Any JavaScript here will be loaded for all users on every page load. */


mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:Gadget-EasyQuery.js&action=raw&ctype=text/javascript' ); // [[EasyQuery]]
mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:Gadget-CreateNewItem.js&action=raw&ctype=text/javascript' ); // [[CreateNewItem]]
// mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:Gadget-Merge.js&action=raw&ctype=text/javascript' ); // [[Merge]]

// mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:HeaderMenu.js&action=raw&ctype=text/javascript' ); // [[HeaderMenu]]
// mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:PopupMenu.js&action=raw&ctype=text/javascript' ); // [[PopupMenu]]

mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:Access.js&action=raw&ctype=text/javascript' ); // [[Access]]
mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:SwissAccess.js&action=raw&ctype=text/javascript' ); // [[SwissAccess]]
// mw.loader.load( '//wiki.personaldata.io/w/index.php?title=User:Abel/experimental.js&action=raw&ctype=text/javascript' ); // [[Abel]]
// mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:Gadget-QuickPresets.js&action=raw&ctype=text/javascript' ); // quickpresets

mw.loader.load( '//wiki.personaldata.io/w/index.php?title=MediaWiki:NoSiteLinks.js&action=raw&ctype=text/javascript' );