MediaWiki:Common.js
Notă: După publicare, trebuie să treceți peste memoria cache a navigatorului pentru a putea vedea modificările:
- Firefox / Safari: Țineți apăsat pe Shift în timp ce faceți clic pe Reîncărcare ori apăsați Ctrl-F5 sau Ctrl-R (⌘-R pe un sistem Mac);
- Google Chrome: Apăsați Ctrl-Shift-R (⌘-Shift-R pe un sistem Mac);
- Internet Explorer / Edge: Țineți apăsat pe Ctrl în timp ce faceți clic pe Reîmprosptare sau apăsați Ctrl-F5;
- Opera: Apăsați Ctrl-F5.
// import scripts for Interwiki Transclusion from //wikisource.org/wiki/Wikisource:Shared_Scripts
mw.loader.load('//wikisource.org/w/index.php?title=MediaWiki:Base.js&action=raw&ctype=text/javascript');
mw.loader.load('//wikisource.org/w/index.php?title=MediaWiki:InterWikiTransclusion.js&action=raw&ctype=text/javascript');
var customizeToolbar = function() {
$('#wpTextbox1').on('wikiEditor-toolbar-buildSection-characters', function (event, section) {
section.pages.ro_cyrillic = {
'layout': 'characters',
'label': 'Chirilic român',
'characters': ['А', 'а', 'Б', 'Б', 'В', 'в', 'Г', 'г', 'Д', 'д', 'Є', 'є', 'Ж', 'ж', 'Ѕ', 'ѕ', 'З', 'з', 'И', 'и', 'І', 'і', 'К', 'к', 'Λ', 'ʌ', 'Л', 'л', 'М', 'м', 'N', 'ɴ', 'Ѻ', 'Ѻ', 'О', 'o', 'П', 'п', 'Р', 'р', 'С', 'с', 'Т', 'т', 'Ѹ', 'ѹ', 'Ѹ', 'Ȣ', 'У', 'Ȣ', 'Ф', 'ф', 'Х', 'х', 'Ѡ', 'ѡ', 'Ц', 'ц', 'Ч', 'ч', 'Ш', 'ш', 'Щ', 'щ', 'Ъ', 'ъ', 'Ы', 'ы', 'Ь', 'ь', 'Ѣ', 'ѣ', 'Ю', 'ю', 'Ѩ', 'ѩ', 'Ѥ', 'ѥ', 'Ѧ', 'ѧ', 'Ѫ', 'ѫ', 'Ѯ', 'ѯ', 'Ѱ', 'ѱ', 'Ѳ', 'ѳ', 'Ѵ', 'ѵ', 'Ꙟ', 'ꙟ', 'Џ', 'џ']
};
});
};
/* Check if we are in edit mode and the required modules are available and then customize the toolbar */
if ( $.inArray( mw.config.get( 'wgAction' ), ['edit', 'submit'] ) !== -1 ) {
mw.loader.using( 'user.options', function () {
if ( mw.user.options.get('usebetatoolbar') ) {
mw.loader.using( 'ext.wikiEditor', function () {
$(document).ready( customizeToolbar );
} );
}
} );
}
function interwikiExtra()
{
// iterate over all <span>-elements
for(var i=0; a = document.getElementsByTagName("span")[i]; i++) {
// if found a linkInfo span
if(a.className == "interwiki-info") {
// iterate over all <li>-elements
var count=0;
for(var j=0; b = document.getElementsByTagName("li")[j]; j++) {
if(b.className == "interwiki-" + a.id) {
b.innerHTML = b.innerHTML + " "+a.title;
if(a.title == "(vo)") { b.title = "Texte original"; }
}
else if(b.className == "interwiki-" + a.id.substr(0,a.id.length-1)) {
count = count+1;
if(a.id.charAt(a.id.length-1) == count) {
b.innerHTML = b.innerHTML + " "+a.title;
}
}
}
}
}
}
jQuery(document).ready(interwikiExtra);
/*********************
Quality indicators
Author: ThomasV
*********************/
function icon_src(t){
var src='';
switch(t){
case "0%": src='//upload.wikimedia.org/wikipedia/commons/8/8f/00%25.png'; break;
case "25%": src='//upload.wikimedia.org/wikipedia/commons/5/5b/25%25.png'; break;
case "50%": src='//upload.wikimedia.org/wikipedia/commons/3/3a/50%25.png'; break;
case "75%": src='//upload.wikimedia.org/wikipedia/commons/c/cd/75%25.png'; break;
case "100%": src='//upload.wikimedia.org/wikipedia/commons/6/64/100%25.png'; break;
}
return src;
}
function pageQuality() {
var a = document.getElementById("ca-nstab-main");
if(mw.config.get('wgCanonicalNamespace') == "Page") a = document.getElementById("ca-nstab-page");
if(!a) return;
var q = document.getElementById("textquality")
if( q ) {
var new_img = document.createElement("img");
new_img.setAttribute("src", icon_src(q.className));
a.firstChild.appendChild(new_img);
}
for(
var i=0;
spanElem = document.getElementsByTagName("span")[i];
i++
) {
if (spanElem.className == "pagequality") {
var new_img = document.createElement("img");
new_img.setAttribute("src", icon_src(spanElem.title));
if(mw.config.get('wgCanonicalNamespace') == "Page") {
a.firstChild.appendChild(new_img);
}
else {
s1 = spanElem.parentNode.previousSibling;
opttext = s1.firstChild.firstChild;
img = opttext.firstChild.nextSibling.nextSibling.nextSibling;
next = img.nextSibling;
opttext.removeChild(img);
opttext.insertBefore(new_img,next);
}
}
}
}
$(pageQuality);
function BilingualLink()
{
if( document.body.className.indexOf("ns-0") < 0) return;
var doc_url = document.URL;
// Strip fragment before appending query vars
var doc_hash = doc_url.indexOf("#");
if( doc_hash != -1 ) doc_url = doc_url.substring(0, doc_hash);
var url = '';
// iterate over all <li>-elements
for(var j=0; b = document.getElementsByTagName("li")[j]; j++) {
if(b.className.substring(0,10) == "interwiki-" ) {
var lang = b.className.substring(10,b.className.length);
if( doc_url.indexOf('?title=') != -1 ) {
var qm = doc_url.indexOf('&match=');
if( qm != -1 ) url = doc_url.substring(0,qm)+"&match="+lang;
else url = doc_url+"&match="+lang;
} else {
var qm = doc_url.indexOf('?');
if( qm != -1 ) url = doc_url.substring(0,qm)+"?match="+lang;
else url = doc_url+"?match="+lang;
}
b.innerHTML = b.innerHTML+
"<a href='"+url+"'> ⇔</a>";
}
}
}
jQuery(document).ready(BilingualLink);
/* add menu for selecting subsets of secial characters */
/* must match MediaWiki:Edittools */
function addCharSubsetMenu() {
var specialchars = document.getElementById('specialchars');
if (specialchars) {
var menu = "<select style=\"display:inline\" onChange=\"chooseCharSubset(selectedIndex)\">";
menu += "<option>Select</option>";
menu += "<option>Ligatures and symbols</option>";
menu += "<option>Accents</option>";
menu += "<option>Tildes</option>";
menu += "<option>Cedillas</option>";
menu += "<option>Diareses</option>";
menu += "<option>Circumflexes</option>";
menu += "<option>Macrons</option>";
menu += "<option>Other diacritics</option>";
menu += "<option>Greek</option>";
menu += "<option>Hebrew</option>";
menu += "<option>Cyrillic</option>";
/* This choice is experimental
menu += "<option>Templates</option>"; */
menu += "</select>";
specialchars.innerHTML = menu + specialchars.innerHTML.replace(/_newline_/gm, "\n");
/* default subset - try to use a cookie some day */
chooseCharSubset(0);
}
}
/* select subsection of special characters */
function chooseCharSubset(s) {
var l = document.getElementById('specialchars').getElementsByTagName('p');
for (var i = 0; i < l.length ; i++) {
l[i].style.display = i == s ? 'inline' : 'none';
l[i].style.visibility = i == s ? 'visible' : 'hidden';
}
}
jQuery(document).ready(addCharSubsetMenu);
/* hide heading on [[main_page]] */
var mpTitle = "Main Page";
var isMainPage = (document.title.substr(0, document.title.lastIndexOf(" - ")) == mpTitle);
var isDiff = (document.location.search && (document.location.search.indexOf("diff=") != -1 || document.location.search.indexOf("oldid=") != -1));
if (isMainPage && !isDiff) {
mw.util.addCSS('#lastmod, #siteSub, #contentSub, h1.firstHeading { display: none !important; }');
}
/*
===Display options ===
Voir [[:Template:Option]]. Author:ThomasV
*/
function OptionText() {
var indexNavigationBar = 0;
// iterate over all < span >-elements until class "OptionText" is found
for(
var i=0;
SpanElem = document.getElementsByTagName("span")[i];
i++
) {
// if found an option span
if (SpanElem.className == "OptionText") {
//SpanElem.style.display = 'none';
OptionTitle = SpanElem.title;
OptionStyle = SpanElem.firstChild.getAttribute('style');
//check if option was already encountered...
if(!document.getElementById(OptionTitle)){
//read cookie
var DisplayOptionDefault = true;
CookieDisplayOption = $.cookie("Display"+OptionTitle)
if (CookieDisplayOption ) {
if (CookieDisplayOption == "false") DisplayOptionDefault = false; }
var PageDisplay = document.createElement("li");
PageDisplay.setAttribute('id', OptionTitle);
var PageDisplayLink = document.createElement("a");
OptionText = document.createTextNode("Désactiver "+OptionTitle);
PageDisplayLink.appendChild(OptionText);
PageDisplayLink.setAttribute('href','javascript:displayOptionText("'+OptionTitle+'","' + OptionStyle +'", '+DisplayOptionDefault+');');
PageDisplay.appendChild(PageDisplayLink);
var optlist = document.getElementById("optlist");
if(!optlist) {
var displayOptions = document.createElement("div");
displayOptions.style.marginTop = "0.7em";
displayOptions.innerHTML = '<h5>display options<\/h5><div class="pBody"><ul id="optlist"></ul><\/div>';
document.getElementById("p-tb").appendChild(displayOptions);
optlist = document.getElementById("optlist");
}
optlist.appendChild(PageDisplay);
displayOptionText(OptionTitle,OptionStyle,DisplayOptionDefault);
}
}
}
}
function displayOptionText(optiontitle, optionstyle, bool) {
$.cookie("Display"+optiontitle, bool);
var PageDisplayLink = document.getElementById(optiontitle).firstChild;;
// iterate over all < span >-elements
for(
var i=0;
SpanElem = document.getElementsByTagName("span")[i];
i++
) {
// if found an option text
if ((SpanElem.className == "OptionText") && (SpanElem.title == optiontitle)) {
if(bool==true ) {
SpanElem.setAttribute('style',optionstyle);
PageDisplayLink.firstChild.data = (optiontitle);
PageDisplayLink.setAttribute('href', 'javascript:displayOptionText("'+optiontitle+'","'+optionstyle+'", false);');
}
if(bool==false) {
SpanElem.setAttribute('style','null');
PageDisplayLink.firstChild.data = (optiontitle);
PageDisplayLink.setAttribute('href', 'javascript:displayOptionText("'+optiontitle+'","'+optionstyle+'", true);');
}
}
}
}
$(OptionText);
/*
===Quality buttons===
Author: ThomasV
*/
function addQuality(form,value){
var text="";
switch(value){
case "0%": text = "În proiect"; break;
case "25%": text = "În curs de modificare"; break;
case "50%": text = "Lucrare completă"; break;
case "75%": text = "Revizuit şi corectat"; break;
case "100%": text = "Revizuit de către mai mulţi utilizatori"; break;
}
form.elements["wpSummary"].value="/* "+text+" */";
s = form.elements["wpTextbox1"].value;
if(mw.config.get('wgPageName').substring(0,5) == "Page:") {
prefix="Page";
s = s.replace(/\{\{PageQuality\|(.*?)\}\}/gi,"")
}
else {
prefix="Calitatea";
s = s.replace(/\{\{Calitatealucrării\|(.*?)\}\}/gi,"")
}
form.elements["wpTextbox1"].value="{"+"{"+prefix+"lucrării|"+value+"}"+"}"+s;
}
function addQualityButtons(){
if( mw.config.get( 'wgNamespaceNumber' ) != 104 && mw.config.get( 'wgNamespaceNumber' ) != 0) return;
var ig = document.getElementById("wpWatchthis");
if(ig) {
var f = document.createElement("span");
f.innerHTML = ' <input type="radio" name="quality" value="25%" onclick="addQuality(this.form,this.value)"><img src = "/wiki/Special:Filepath/25%25.png">'+'<input type="radio" name="quality" value="50%" onclick="addQuality(this.form,this.value)"><img src = "/wiki/Special:Filepath/50%25.png">'+'<input type="radio" name="quality" value="75%" onclick="addQuality(this.form,this.value)"><img src = "/wiki/Special:Filepath/75%25.png">'+'<input type="radio" name="quality" value="100%" onclick="addQuality(this.form,this.value)"><img src = "/wiki/Special:Filepath/100%25.png"> Nivelul calităţii';
ig.parentNode.insertBefore(f,ig.nextSibling.nextSibling.nextSibling)
}
}
$(addQualityButtons);
/*
==SetFooter==
Automatically generates a footer from the previous/next links of
{{[[Template:header|header]]}}.
*/
function SetFooter()
{
if(document.getElementById)
{
nofooter = document.getElementById('nofooter');
hp = document.getElementById('headerprevious');
hn = document.getElementById('headernext');
content = document.getElementById('bodyContent');
catlinks = document.getElementById('catlinks');
footer = document.createElement('table');
if((!((hp) && (hn) && (content) && (footer))) ||
(nofooter))
return;
footer.setAttribute('class', 'headertemplate');
/* Begin footer HTML code */
tr = document.createElement('tr');
td = document.createElement('td');
td.setAttribute('align', 'left');
td.setAttribute('width', '33%');
fp = hp.cloneNode(true);
fp.setAttribute('id', 'footerprevious');
td.appendChild(fp);
tr.appendChild(td);
td = document.createElement('td');
td.setAttribute('align', 'center');
td.setAttribute('width', '34%');
a = document.createElement('a');
a.setAttribute('href', '#top');
text = document.createTextNode('Return to the top of the page.');
a.appendChild(text);
td.appendChild(a);
tr.appendChild(td);
td = document.createElement('td');
td.setAttribute('align', 'right');
td.setAttribute('width', '33%');
fn = hn.cloneNode(true);
fn.setAttribute('id', 'footernext');
td.appendChild(fn);
tr.appendChild(td);
footer.appendChild(tr);
/* End footer HTML code */
if(catlinks) // place footer before category box
content.insertBefore(footer, catlinks);
else
content.appendChild(footer);
}
}
$(SetFooter);
/** Administrare afișare diacritice. Vedeți [[w:Wikipedia:Corectarea diacriticelor]] */
importScript('MediaWiki:Diacritice.js');
/** End administrare diacritice *************/
mw.loader.load('//wikisource.org/w/index.php?title=MediaWiki:MatchSplit.js&action=raw&ctype=text/javascript');
var old_wgserver = '//wikisource.org';
mw.loader.load(old_wgserver + '/w/index.php?title=MediaWiki:Base.js&action=raw&ctype=text/javascript');
mw.loader.load(old_wgserver + '/w/index.php?title=MediaWiki:OCR.js&action=raw&ctype=text/javascript');
mw.loader.load(old_wgserver + '/w/index.php?title=MediaWiki:Hocr.js&action=raw&ctype=text/javascript');
mw.loader.load(old_wgserver + '/w/index.php?title=MediaWiki:PageNumbers.js&action=raw&ctype=text/javascript');
mw.loader.load(old_wgserver + '/w/index.php?title=MediaWiki:Corrections.js&action=raw&ctype=text/javascript');
mw.loader.load(old_wgserver + '/w/index.php?title=MediaWiki:DisplayFooter.js&action=raw&ctype=text/javascript');
mw.loader.load(old_wgserver + '/w/index.php?title=MediaWiki:InterWikiTransclusion.js&action=raw&ctype=text/javascript');
mw.loader.load(old_wgserver + '/w/index.php?title=MediaWiki:IndexForm.js&action=raw&ctype=text/javascript');
mw.loader.load(old_wgserver + '/w/index.php?title=MediaWiki:Dictionary.js&action=raw&ctype=text/javascript');
mw.loader.load(old_wgserver + '/w/index.php?title=MediaWiki:RegexpButton.js&action=raw&ctype=text/javascript');
mw.loader.load(old_wgserver + '/w/index.php?title=MediaWiki:DoubleWiki.js&action=raw&ctype=text/javascript');