// If FriendlyConfig aint exist.
if( typeof( FriendlyConfig ) == 'undefined' ) {
FriendlyConfig = {};
}
/**
FriendlyConfig.summaryAd ( string )
If ad should be added or not to summary, default ]
*/
if( typeof( FriendlyConfig.summaryAd ) == 'undefined' ) {
FriendlyConfig.summaryAd = " folosind ]";
}
/**
FriendlyConfig.groupByDefault ( boolean )
*/
if( typeof( FriendlyConfig.groupByDefault ) == 'undefined' ) {
FriendlyConfig.groupByDefault = true;
}
/**
FriendlyConfig.watchTaggedPages ( boolean )
*/
if( typeof( FriendlyConfig.watchTaggedPages ) == 'undefined' ) {
FriendlyConfig.watchTaggedPages = false;
}
/**
FriendlyConfig.markTaggedPagesAsMinor ( boolean )
*/
if( typeof( FriendlyConfig.markTaggedPagesAsMinor ) == 'undefined' ) {
FriendlyConfig.markTaggedPagesAsMinor = true;
}
/**
FriendlyConfig.markTaggedPagesAsPatrolled ( boolean )
*/
if( typeof( FriendlyConfig.markTaggedPagesAsPatrolled ) == 'undefined' ) {
FriendlyConfig.markTaggedPagesAsPatrolled = true;
}
var isRedirect = false;
function friendlytag() {
if( QueryString.exists( 'redirect' ) && QueryString.get( 'redirect' ) == 'no' && !QueryString.exists( 'rcid' ) ) {
isRedirect = true;
mw.util.addPortletLink( 'p-cactions', "javascript:friendlytag.callback()", "Etichetează", "friendly-tag", "Etichetează pagina de redirecționare", "");
} else if( wgNamespaceNumber != 0 || wgCurRevisionId == false ) {
return;
} else {
mw.util.addPortletLink( 'p-cactions', "javascript:friendlytag.callback()", "Etichetează", "etichetă-friendly", "Etichetează această pagină", "");
}
}
$(friendlytag);
friendlytag.callback = function friendlytagCallback( uid ) {
var Window = new SimpleWindow( 630, 400 );
Window.setScriptName( "Twinkle" );
// anyone got a good policy/guideline/info page/instructional page link??
Window.addFooterLink( "Twinkle help", ":en:WP:TW/DOC#tag" );
var form = new QuickForm( Twinkle.tag.callback.evaluate );
switch( Twinkle.tag.mode ) {
case 'article':
Window.setTitle( "Aplicarea de formate de întreţinere" );
form.append( {
type: 'checkbox',
list: [
{
label: 'Grupează în {{probleme}} dacă e posibil',
value: 'group',
name: 'group',
tooltip: 'Dacă aplicaţi mai mult de două etichete suportate de {{probleme}} şi această casetă este bifată, toate etichetele suportate vor fi grupate într-un singur format {{probleme}}.',
checked: FriendlyConfig.groupByDefault
}
]
}
);
form.append( { type:'header', label:'Formate de întreținere' } );
form.append( { type:'checkbox', name: 'maintenance', list: friendlytag.maintenanceList } );
form.append( { type:'header', label:'Formate probleme' } );
form.append( { type:'checkbox', name: 'problem', list: friendlytag.problemList } );
form.append( { type:'header', label:'Formate avertizare' } );
form.append( { type:'checkbox', name: 'notice', list: friendlytag.noticeList } );
if( Twinkle.getFriendlyPref('customTagList').length ) {
form.append( { type:'header', label:'Formate definite de utilizator' } );
form.append( { type: 'checkbox', name: 'custom', list: Twinkle.getFriendlyPref('customTagList') } );
}
break;
case 'file':
Window.setTitle( "Etichetare fişiere" );
// TODO: perhaps add custom tags TO list of checkboxes
form.append({ type: 'header', label: 'Probleme de licenţiere şi provenienţă' });
form.append({ type: 'checkbox', name: 'imageTags', list: friendlytag.licenseList } );
form.append({ type: 'header', label: 'Etichete de curăţenie' } );
form.append({ type: 'checkbox', name: 'imageTags', list: friendlytag.cleanupList } );
form.append({ type: 'header', label: 'Etichete de calitate' } );
form.append({ type: 'checkbox', name: 'imageTags', list: friendlytag.qualityList } );
form.append({ type: 'header', label: 'Etichete legate de Wikimedia Commons' });
form.append({ type: 'checkbox', name: 'imageTags', list: friendlytag.commonsList } );
form.append({ type: 'header', label: 'Etichete de înlocuire' });
form.append({ type: 'checkbox', name: 'imageTags', list: friendlytag.replacementList } );
break;
case 'redirect':
Window.setTitle( "Etichetarea redirecţionărilor" );
form.append({ type: 'header', label:'Formate de ortografie, gramatică şi majuscule' });
form.append({ type: 'checkbox', name: 'spelling', list: friendlytag.spellingList });
form.append({ type: 'header', label:'Formate referitoare la nume alternative' });
form.append({ type: 'checkbox', name: 'alternative', list: friendlytag.alternativeList });
form.append({ type: 'header', label:'Diverse formate administratice' });
form.append({ type: 'checkbox', name: 'administrative', list: friendlytag.administrativeList });
break;
default:
alert("Twinkle.tag: Mod necunoscut: " + Twinkle.tag.mode);
break;
}
form.append( { type:'submit' } );
var result = form.render();
Window.setContent( result );
Window.display();
}
isRedirect = false;
friendlytag.maintenanceList = [
{
label: '\{\{ajutor\}\}: articolul are nevoie de ajutor',
value: 'ajutor'
},
{
label: '\{\{curățenie\}\}: articolul are nevoie de curățenie',
value: 'curățenie'
},
{
label: '\{\{wikizare\}\}: articolul trebuie pus în formatul standard',
value: 'wikizare'
},
{
label: '\{\{necategorizate\}\}: articolul este inclus în nicio categorie sau în foarte puține',
value: 'necategorizate'
},
{
label: '\{\{extinde-secțiune\}\}: această secțiune trebuie extinsă',
value: 'extinde-secțiune'
},
{
label: '\{\{popcat\}\}: această categorie trebuie populată',
value: 'popcat'
},
{
label: '\{\{punct de vedere mondial\}\}: articolul nu exprimă punctul de vedere mondial asupra subiectului',
value: 'punct de vedere mondial'
},
{
label: '\{\{articol neverificat\}\}: acest articol trebuie verificat de către un editor',
value: 'articol neverificat'
},
{
label: '\{\{verificare\}\}: acest articol necesită o verificare',
value: 'verificare'
},
{
label: '\{\{divide\}\}: acest articol trebuie divizat în două sau mai multe articole',
value: 'divide'
},
{
label: '\{\{orfan\}\}: sunt foarte puține articole (sau chiar niciunul) care se leagă de acesta',
value: 'orfan'
},
{
label: '\{\{fără introducere\}\}: acest articol nu are introducere cu explicația scurtă a subiectului',
value: 'fără introducere'
},
{
label: '\{\{interlingual\}\}: acest articol are nevoie de adăugarea unor legături interlinguale',
value: 'interlingual'
},
{
label: '\{\{note de subsol\}\}: sursele articolului sunt neclare deoarece îi lipsesc notele de subsol.',
value: 'note de subsol'
},
{
label: '\{\{ton nepotrivit\}\}: tonul acestui articol sau al acestei secțiuni este nepotrivit pentru o enciclopedie',
value: 'ton nepotrivit'
},
{
label: '\{\{diacritice\}\}: acest articol este scris parțial sau în întregime fără diacritice',
value: 'diacritice'
},
{
label: '\{\{ortografie\}\}: acest articol conține greșeli de ortografie și/sau de punctuație.',
value: 'ortografie'
},
{
label: '\{\{de corectat\}\}: acest articol conține erori de ortografie, folosește o exprimare alambicată sau stâlcește limba română',
value: 'de corectat'
},
{
label: '\{\{ghilimele\}\}: acest articol conține ghilimele englezești, ce trebuiesc înlocuite cu cele românești',
value: 'ghilimele'
},
{
label: '\{\{listă\}\}: acest articol este scris sub formă de listă şi trebuie reformulat sub formă de fraze cursive',
value: 'listă'
},
{
label: '\{\{citate în exces\}\}: acest articol abuzează de citate, care trebuie utilizate doar în condiţiile comentariului relevant',
value: 'citate în exces'
},
{
label: '\{\{de tradus în alte limbi\}\}: acest articol este scris în limba română și trebuie tradus în alte limbi',
value: 'de tradus în alte limbi'
}
];
friendlytag.problemList = [
{
label: '\{\{acuratețe\}\}: acuratețea acestui articol sau a acestei secțiuni este disputată',
value: 'acuratețe'
},
{
label: '\{\{copyvio|url=\}\}: această pagină este suspectă de violarea drepturilor de autor',
value: 'copyvio'
},
{
label: '\{\{referințe\}\}: acest articol sau această secțiune are bibliografia incompletă sau inexistentă',
value: 'referințe'
},
{
label: '\{\{legături externe\}\}: cel puțin o parte din aceste legături externe nu îndeplinesc condițiile de includere',
value: 'legături externe'
},
{
label: '\{\{original\}\}: acest articol pare să conțină cercetare originală',
value: 'original'
},
{
label: '\{\{PDVN\}\}: punctul de vedere neutru al acestui articol este disputat',
value: 'PDVN'
},
{
label: '\{\{notabilitate\}\}: din textul acestui articol nu rezultă caracterul notabil al subiectului',
value: 'notabilitate'
},
{
label: '\{\{neenciclopedic\}\}: conținutul sau subiectul acestui articol este privit de unii editori ca fiind neenciclopedic',
value: 'neenciclopedic',
},
{
label: '\{\{toponimie\}\}: acest articol se confruntă cu probleme de toponimie pe bază lingvistică',
value: 'toponimie'
},
{
label: '\{\{conținut\}\}: relevanța unor informații din acest articol este disputată',
value: 'conținut'
}
];
friendlytag.noticeList = [
{
label: '\{\{dezvoltare\}\}: la această pagină sau secțiune se lucrează în prezent',
value: 'dezvoltare',
},
{
label: '\{\{modific acum\}\}: la acest articol se lucrează în acest moment, posibil cu o aplicație externă',
value: 'modific acum',
},
{
label: '\{\{expert\}\}: acest articol are nevoie de atenția unui expert în domeniu',
value: 'expert' },
{
label: '\{\{în desfășurare\}\}: acest articol sau secțiune este de actualitate',
value: 'în desfășurare',
},
{
label: '\{\{titluincorect|Titlul corect\}\}: forma corectă a titlului nu apare din cauza unor restricții tehnice',
value: 'titluincorect',
},
{
label: '\{\{inițialămică\}\}: titlul corect al acestui articol este cu inițială mică dar nu apare din cauza unor restricții tehnice',
value: 'inițialămică',
},
{
label: '\{\{șterge|Motiv\}\}: această pagină a fost propusă pentru ștergere',
value: 'șterge' },
{
label: '\{\{ștergere rapidă\}\}: această pagină a fost propusă pentru ștergere rapidă',
value: 'ștergere rapidă',
},
{
label: '\{\{eveniment sportiv viitor\}\}: acest articol este despre un eveniment sportiv viitor',
value: 'eveniment sportiv viitor' },
{
label: '\{\{eveniment sportiv curent\}\}: acest articol este despre un eveniment sportiv curent',
value: 'eveniment sportiv curent',
}
];
/*
friendlytag.spellingList = [
{
label: '\{\{ton nepotrivit\}\}: tonul acestui articol sau al acestei secțiuni este nepotrivit pentru o enciclopedie',
value: 'ton nepotrivit'
},
{
label: '\{\{diacritice\}\}: acest articol este scris parțial sau în întregime fără diacritice',
value: 'diacritice'
},
{
label: '\{\{ortografie\}\}: acest articol conține greșeli de ortografie și/sau de punctuație.',
value: 'ortografie'
},
{
label: '\{\{de corectat\}\}: acest articol conține erori de ortografie, folosește o exprimare alambicată sau stâlcește limba română',
value: 'de corectat'
},
{
label: '\{\{ghilimele\}\}: acest articol conține ghilimele englezești, ce trebuiesc inlocuite cu cele românești',
value: 'ghilimele'
},
{
label: '\{\{de tradus în alte limbi\}\}: acest articol este scris în limba română și trebuie tradus în alte limbi',
value: 'de tradus în alte limbi'
}
];
friendlytag.alternativeList = [
{
label: '\{\{dezambiguizare\}\}: pagină de dezambiguizare',
value: 'dezambiguizare'
},
{
label: '\{\{dezambiguizare notă|conținut=|cuvânt=\}\}: acest articol se referă la {{{conținut}}}; pentru alte sensuri vedeți {{{cuvânt}}}',
value: 'dezambiguizare notă'
},
{
label: '\{\{dezambiguizare notă alternativă|conținut=|cuvânt=\}\}: acest articol se referă la {{{conținut}}}; pentru alte întrebuințări ale termenului vedeți {{{cuvânt}}}',
value: 'dezambiguizare notă alternativă'
},
{
label: '\{\{dezambiguizare generic|conținut=|explicație=\}\}: acest articol se referă la {{{conținut}}}; {{{explicație}}}',
value: 'dezambiguizare generic'
},
{
label: '\{\{confuzie|cuvânt 1|semnificație|cuvânt 2\}\}: acest articol se referă la cuvânt 1; pentru semnificație vedeți cuvânt 2',
value: 'confuzie'
},
{
label: '\{\{legătură|pagina|alte sensuri|pagina de dezambiguizare\}\}: pagina {{{1}}} trimite aici. Pentru alte sensuri vedeți {{{3}}}',
value: 'legătură'
}
];
friendlytag.administrativeList = [
{
label: '\{\{redirect categorie|categoria\}\}: aceasta este o pagină de redirecționare către categoria ...',
value: 'redirect categorie'
}
];
*/
// Set to true if template can be grouped into {{problemearticol}}
friendlytag.groupHash = {
'ajutor': true,
'curățenie': true,
'wikizare': true,
'necategorizate': true,
'extinde-secțiune': true,
'popcat': false,
'punct de vedere mondial': false,
'articol neverificat': true,
'verificare': true,
'divide': false,
'orfan': true,
'fără introducere': true,
'interlingual': true,
'note de subsol': true,
'acuratețe': true,
'copyvio': false,
'referințe': true,
'legături externe': true,
'original': true,
'PDVN': true,
'notabilitate': true,
'neenciclopedic': true,
'toponimie': true,
'conținut': true,
'dezvoltare': false,
'modific acum': false,
'expert': false,
'în desfășurare': false,
'titluincorect': false,
'inițialămică': false,
'șterge': false,
'ștergere rapidă': false,
'eveniment sportiv viitor': false,
'eveniment sportiv curent': false,
'ton nepotrivit': true,
'diacritice': true,
'ortografie': true,
'de corectat': true,
'ghilimele': true,
'de tradus în alte limbi': true,
'listă': true,
};
friendlytag.callbacks = {
main: function( self ) {
var form = self.responseXML.getElementById( 'editform' );
var tagRe, text = '', summaryText = 'Adăugat';
var tags = new Array(), groupableTags = new Array();
if( !isRedirect ) {
// Check for preexisting tags and separate tags into groupable and non-groupable arrays
Status.info( 'Notificare', 'Verific dacă există etichete în articol' );
for( var i = 0; i < self.params.tags.length; i++ ) {
tagRe = new RegExp( '(\\{\\{' + self.params.tags + '(\\||\\}\\}))', 'im' );
if( !tagRe.exec( form.wpTextbox1.value ) ) {
if( friendlytag.groupHash ] ) {
groupableTags = groupableTags.concat( self.params.tags );
} else {
tags = tags.concat( self.params.tags );
}
} else {
Status.info( 'Notificare', 'Am găsit eticheta \{\{' + self.params.tags
+ '\}\} în articol deja... trec peste' );
}
}
if( self.params.group && groupableTags.length >= 3 ) {
Status.info( 'Notificare', 'Grupez formatele suportate în \{\{problemearticol\}\}' );
groupableTags.sort();
text += '\{\{problemearticol';
summaryText += ' \{\{]\}\} cu parametrii';
for( var i = 0; i < groupableTags.length; i++ ) {
text += '|' + groupableTags
+ '=\{\{subst:CURRENTMONTHNAME\}\} \{\{subst:CURRENTYEAR\}\}';
if( i == (groupableTags.length - 1) ) {
summaryText += ' și';
} else if ( i < (groupableTags.length - 1) && i != 0 ) {
summaryText += ',';
}
summaryText += ' ' + groupableTags;
}
text += '\}\}\n';
} else {
tags = tags.concat( groupableTags );
}
} else {
// Check for preexisting tags
Status.info( 'Info', 'Checking for preexisting tags on the redirect' );
for( var i = 0; i < self.params.tags.length; i++ ) {
tagRe = new RegExp( '(\\{\\{' + self.params.tags + '(\\||\\}\\}))', 'im' );
if( !tagRe.exec( form.wpTextbox1.value ) ) {
tags = tags.concat( self.params.tags );
} else {
Status.info( 'Notificare', 'Am găsit eticheta \{\{' + self.params.tags
+ '\}\} în redirecționare deja...trec peste' );
}
}
}
tags.sort();
for( var i = 0; i < tags.length; i++ ) {
if( tags == 'necategorizate' || tags == 'popcat' ) {
form.wpTextbox1.value += '\n\n\{\{' + tags
+ '|date=\{\{subst:CURRENTMONTHNAME\}\} \{\{subst:CURRENTYEAR\}\}\}\}';
} else {
if( tags == 'punct de vedere mondial' ) {
text += '\{\{' + self.params.globalizeSubcategory;
} else if( tags == 'current' ) {
text += '\{\{' + self.params.currentSubcategory;
} else if( tags == 'future' ) {
text += '\{\{' + self.params.futureSubcategory;
} else {
text += ( isRedirect ? '\n' : '' ) + '\{\{' + tags;
}
if( tags == 'notabilitate' && self.params.notabilitySubcategory != 'none' ) {
text += '|' + self.params.notabilitySubcategory;
}
if( tags == 'do-attempt' ) {
text += '|att=\{\{subst:CURRENTMONTHNAME\}\} \{\{subst:CURRENTYEAR\}\}\}\}\n';
} else {
text += isRedirect ? '\}\}' : '|date=\{\{subst:CURRENTMONTHNAME\}\} \{\{subst:CURRENTYEAR\}\}\}\}\n';
}
}
if( i == (tags.length - 1) && ( i > 0 || groupableTags.length > 3 ) ) {
summaryText += ' și';
} else if ( i < (tags.length - 1) && ( i != 0 || groupableTags.length > 3 ) ) {
summaryText += ',';
}
summaryText += ' \{\{[[Template:';
if( tags == 'punct de vedere mondial' ) {
summaryText += self.params.globalizeSubcategory + '|' + self.params.globalizeSubcategory;
} else if( tags == 'current' ) {
summaryText += self.params.currentSubcategory + '|' + self.params.currentSubcategory;
} else if( tags == 'future' ) {
summaryText += self.params.futureSubcategory + '|' + self.params.futureSubcategory;
} else {
summaryText += tags + '|' + tags;
}
summaryText += ']]\}\}';
}
if( !isRedirect ) {
text += form.wpTextbox1.value;
} else {
text = form.wpTextbox1.value + text;
}
summaryText += ' în ' + ( isRedirect ? 'pagina de redirecționare' : 'articol' ) + FriendlyConfig.summaryAd;
var postData = {
'wpMinoredit': FriendlyConfig.markTaggedPagesAsMinor ? 1 : undefined,
'wpWatchthis': form.wpWatchthis.checked ? 1 : (FriendlyConfig.watchTaggedPages ? 1 : undefined),
'wpStarttime': form.wpStarttime.value,
'wpEdittime': form.wpEdittime.value,
'wpAutoSummary': form.wpAutoSummary.value,
'wpEditToken': form.wpEditToken.value,
'wpSummary': summaryText,
'wpTextbox1': text
};
self.post( postData );
if( FriendlyConfig.markTaggedPagesAsPatrolled && self.params.rcid != '' ) {
var query = {
'title': wgPageName,
'action': 'markpatrolled',
'rcid': self.params.rcid
};
var wikipedia_wiki = new Wikipedia.wiki( 'Marchez pagina ca patrulată', query );
wikipedia_wiki.post();
}
}
}
friendlytag.callback.evaluate = function friendlytagCallbackEvaluate(e) {
var form = e.target;
if( isRedirect ) {
var tags = form.getChecked( 'administrative' ).concat( form.getChecked( 'alternative' ) ).concat( form.getChecked( 'spelling' ) );
} else {
if( typeof( FriendlyConfig.customTagList ) == 'object' ) {
var tags = form.getChecked( 'notice' ).concat( form.getChecked( 'problem' ) ).concat( form.getChecked( 'maintenance' ) ).concat( form.getChecked( 'custom' ) );
} else {
var tags = form.getChecked( 'notice' ).concat( form.getChecked( 'problem' ) ).concat( form.getChecked( 'maintenance' ) );
}
var globalizeSubcategory = form.getChecked( 'problem.globalize' );
var notabilitySubcategory = form.getChecked( 'problem.notability' );
var currentSubcategory = form.getChecked( 'notice.current' );
var futureSubcategory = form.getChecked( 'notice.future' );
}
var params;
if( tags.length == 0 ) {
alert( 'Trebuie să selectați măcar o etichetă!' );
return;
}
if( !isRedirect ) {
params = {
tags: tags,
group: form.group.checked,
globalizeSubcategory: globalizeSubcategory ? globalizeSubcategory : null,
notabilitySubcategory: notabilitySubcategory ? notabilitySubcategory : null,
currentSubcategory: currentSubcategory ? currentSubcategory : null,
futureSubcategory: futureSubcategory ? futureSubcategory : null,
rcid: QueryString.exists( 'rcid' ) ? QueryString.get( 'rcid' ) : ''
}
} else {
params = {
tags: tags,
rcid: QueryString.exists( 'rcid' ) ? QueryString.get( 'rcid' ) : ''
}
}
Status.init( form );
var query = {
'title': wgPageName,
'action': 'submit'
};
Wikipedia.actionCompleted.redirect = wgPageName;
Wikipedia.actionCompleted.notice = "Etichetare terminată, reîmprospătez pagina în câteva secunde";
var wikipedia_wiki = new Wikipedia.wiki( 'Modific articolul', query, friendlytag.callbacks.main );
wikipedia_wiki.params = params;
wikipedia_wiki.get();
}
// </nowiki>