MediaWiki:Gadget-HelpFeedback.js
//Autor skryptu: [[User:Tufor]] (z poprawkami dokonanymi przez [[User:Tar Lócesilion]])
mw.messages.set( {
'badanie-anonymous-user': 'Anonimowy użytkownik',
'badanie-form-warning': 'Zaznacz odpowiedzi na oba pytania.',
'badanie-report-page': 'Wikiprojekt:Badania i rozwój Wikipedii/Badania/Pomoc/2015-03',
'badanie-thankyou-text': 'Serdecznie dziekujemy za wzięcie udziału w naszym badaniu stron pomocy.<br />'+
'Twoje odpowiedzi zostały zapisane na stronie: <a href="' +
mw.util.getUrl('Wikiprojekt:Badania i rozwój Wikipedii/Badania/Pomoc/2015-03') + '">Wikiprojekt:Badania i rozwój Wikipedii/Badania/Pomoc/2015-03</a>.<br /><br />Miłego edytowania! ;-)',
'badanie-tab-start': '{{Wikipedysta:Tufor/UXtabStart}}',
'badanie-tab-end': '{{Wikipedysta:Tufor/UXtabKoniec}}',
'badanie-disabled-button-text': 'Wysyłanie',
'badanie-edit-summary': 'Wysłano ocenę strony pomocy',
'badanie-question1': 'Czy pomogły Ci treści zawarte na tej stronie?',
'badanie-question1-answer1':'Teraz wszystko wiem',
'badanie-question1-answer2':'Tak, ale czegoś brakuje',
'badanie-question1-answer3':'Mniej więcej',
'badanie-question1-answer4':'W niewielkim stopniu',
'badanie-question1-answer5':'Nadal nic nie wiem',
'badanie-question2': 'Jak tutaj trafiłeś/aś?',
'badanie-question2-default': 'Wybierz jedną z opcji',
'badanie-question2-answer1': 'Przez inną stronę w Wikipedii',
'badanie-question2-answer2': 'Odesłał(a) mnie tu wikipedyst(k)a',
'badanie-question2-answer3': 'Przez wewnętrzną wyszukiwarkę Wikipedii',
'badanie-question2-answer4': 'Przez zewnętrzną stronę/wyszukiwarkę',
'badanie-question2-answer5': 'Inaczej (napisz poniżej jak)',
'badanie-additional-comment-label': 'Dodatkowy komentarz',
'badanie-additional-comment-placeholder': 'Napisz, co lubisz lub czego nie lubisz w tej stronie pomocy, a postaramy się ją poprawić.',
'badanie-submit-button-text': 'Wyślij',
'badanie-warn-anonymous': ' zgadzasz się na zapisanie Twojego adresu IP i ',
'badanie-send-error': 'Wystąpił błąd podczas wysyłania formularza; serdecznie przepraszamy!',
'badanie-copyright-warning': 'Klikając \„Wyślij\”,$1 wyrażasz nieodwołalną zgodę na udostępnianie Twojego komentarza na licencjach <a href="//creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA 3.0</a> i <a href="//www.gnu.org/copyleft/fdl.html">GFDL</a> oraz na wykorzystanie go w dowolnej formie pod warunkiem podania przynajmniej hiperłącza lub adresu URL do <a href="'+mw.util.getUrl('Wikiprojekt:Badania i rozwój Wikipedii/Badania/Pomoc/2015-03') + '">strony, na której zostanie opublikowany</a>. Zobacz szczegółowe informacje o <a href="//wikimediafoundation.org/wiki/Warunki_korzystania">warunkach korzystania</a>.'
});
function UXsprawdzPoprawnosc(ocena, skad)
{
if(ocena&&skad!='0')
{
if(document.getElementById("UXpoleBlad"))
UXpoleBlad.parentNode.removeChild(UXpoleBlad);
return true;
}
if(!document.getElementById("UXpoleBlad"))
{
var poleBlad = document.createElement('div');
poleBlad.setAttribute("id", "UXpoleBlad");
poleBlad.style.textAlign="center";
poleBlad.style.clear="both";
poleBlad.style.fontWeight="bold";
var poleBladText=mw.msg('badanie-form-warning');
poleBlad.innerHTML=poleBladText;
document.getElementById("UXpudelko").appendChild(poleBlad);
}
return false;
}
function UXwyslijOdpowiedz()
{
var form = document.forms.UXformularz;
var komentarz = form.UXkomentarz.value;
var ocena = form.UXocena.value;
var skad = form.UXjaktrafiles.value;
var czyPoprawny = UXsprawdzPoprawnosc(ocena, skad); //sprawdza czy formularz zostal wypelniony poprawnie
if(czyPoprawny===true)
{
document.getElementById('UXzapisz').disabled=true;
document.getElementById('UXzapisz').value=mw.msg('badanie-disabled-button-text');
var strona = mw.config.get('wgTitle');
var kto;
if (!mw.config.get('wgUserName'))
kto = mw.msg('badanie-anonymous-user');
else
kto = mw.config.get('wgUserName');
var formulka = "{{Wikipedysta:Tufor/UXtabWiersz|data=~~" + "~~" + "~ |kto=" +kto+ " |kto2 = {{subs"+"t:REVISIONUSER}} |strona=" +
strona+ " |ocena=" +ocena+ " |jak=" +skad+ " |komentarz=" +komentarz+ "}}\n";
var api = JsMwApi( mw.util.wikiScript( 'api' ) );
var pageHandler = api.page( mw.msg('badanie-report-page') );
var newText;
pageHandler.edit( function( text, save_function, res )//zaczynamy edycje strony
{
var toReplace = mw.msg('badanie-tab-end');
if(text==="") //jesli jeszcze nie ma strony zbierajacej wyniki
newText=mw.msg('badanie-tab-start') +'\n'+ formulka + toReplace;
else
{
newText = text.replace(toReplace, formulka + toReplace);
if(newText===text)
newText=text+'\n\n'+formulka;
}
//save the new content
save_function(
newText,
{
summary: mw.msg('badanie-edit-summary'),
minor: false
},
function( res )
{
var UXrodzic = document.getElementById("UXpudelko");
UXrodzic.removeChild(document.getElementById("UXpud1"));
UXrodzic.removeChild(document.getElementById("UXpud2"));
UXrodzic.removeChild(document.getElementById("UXpud3"));
UXrodzic.removeChild(document.getElementById("UXpudCopyright"));
if ( res && res.edit && res.edit.result && res.edit.result === 'Success' )
{
//zapisano pomyślnie - usuwamy treść formularza i wstawiamy podziękowanie
var UXpodziekowanie = document.createElement("div");
UXpodziekowanie.style.textAlign="center";
UXpodziekowanie.innerHTML = mw.msg('badanie-thankyou-text');
UXrodzic.appendChild(UXpodziekowanie);
}
else {
//błąd przy zapisywaniu
var UXbladprzywysylaniu = document.createElement("div");
UXbladprzywysylaniu.style.textAlign="center";
UXbladprzywysylaniu.innerHTML = mw.msg('badanie-send-error');
UXrodzic.appendChild(UXbladprzywysylaniu);
}
}
);
});
}
}
function UXwygenerujFormularz()
{
var gdzie = document.getElementById("catlinks"); //gdzie zaczepić formularz - nad kategoriami
var UXformularz=document.createElement('form'); //tworzymy formularz
UXformularz.setAttribute("id", "UXformularz");
UXformularz.setAttribute("name", "UXformularz");
UXformularz.className="mw-ui-vform";
var UXpudelko=document.createElement('div'); //tworzymy zewnętrzne pudełko -div w którym są kolejne divy
UXpudelko.setAttribute("id", "UXpudelko");
UXpudelko.style.backgroundColor="#fff";
UXpudelko.className="mw-ui-vform-field";
UXpudelko.style.padding="10px";
UXpudelko.style.border="1px solid #aaa";
UXpudelko.style.borderRadius="0.2em";
UXpudelko.style.margin="20px auto 0 auto";
UXpudelko.style.maxWidth="715px";
UXpudelko.style.clear="both";
//pierwszy box: pierwsze pytanie
var UXpodpudelko1=document.createElement('div');
UXpodpudelko1.style.float="left";
UXpodpudelko1.style.width="40%";
UXpodpudelko1.setAttribute("id", "UXpud1");
UXpodpudelko1.className="mw-ui-vform-field";
var pyt1 = document.createElement('span');
var pyt1_text=document.createTextNode(mw.msg('badanie-question1'));
pyt1.appendChild(pyt1_text);
pyt1.style.fontWeight="bold";
UXpodpudelko1.appendChild(pyt1);
var pyt1div = document.createElement('div');
pyt1div.className = "mw-ui-vform-field mw-ui-radio";
pyt1div.style.verticalAlign="middle";
for(var i=1;i<=5;i++)
{
var pyt1input = document.createElement('input');
pyt1input.setAttribute("type", "radio");
pyt1input.setAttribute("name", "UXocena");
pyt1input.setAttribute("value", (6-i));
pyt1input.setAttribute("id", "UXpyt1odp"+(i));
pyt1div.appendChild(pyt1input);
var pyt1label = document.createElement('label');
pyt1label.setAttribute("for", "UXpyt1odp"+(i));
pyt1label.innerHTML = mw.msg('badanie-question1-answer'+i)+'<br />';
pyt1div.appendChild(pyt1label);
}
UXpodpudelko1.appendChild(pyt1div);
UXpudelko.appendChild(UXpodpudelko1);
//drugi box: drugie pytanie + dodatkowy komentarz
var UXpodpudelko2=document.createElement('div');
UXpodpudelko2.style.float="left";
UXpodpudelko2.style.width="45%";
UXpodpudelko2.setAttribute("id", "UXpud2");
UXpodpudelko2.className="mw-ui-vform-field";
var pyt2div = document.createElement('div');
pyt2div.className="mw-ui-vform-field";
var pyt2 = document.createElement('span');
var pyt2_text = document.createTextNode(mw.msg('badanie-question2'));
pyt2.appendChild(pyt2_text);
pyt2.style.fontWeight = "bold";
pyt2div.appendChild(pyt2);
var pyt2selectdiv = document.createElement('div');
pyt2selectdiv.className="mw-ui-vform-field";
var pyt2select = document.createElement('select');
pyt2select.setAttribute("name", "UXjaktrafiles");
var pyt2default = document.createElement('option');
pyt2default.disabled=true;
pyt2default.selected=true;
pyt2default.setAttribute("value", "0");
pyt2default.innerHTML=mw.msg('badanie-question2-default');
pyt2select.appendChild(pyt2default);
for(i=1;i<=5;i++)
{
var pyt2option = document.createElement('option');
pyt2option.setAttribute("value", i);
pyt2option.innerHTML=mw.msg('badanie-question2-answer'+i);
pyt2select.appendChild(pyt2option);
}
pyt2selectdiv.appendChild(pyt2select);
pyt2div.appendChild(pyt2selectdiv);
UXpodpudelko2.appendChild(pyt2div);
var commdiv=document.createElement('div');
var commspan = document.createElement('span');
commspan.style.fontWeight="bold";
var commspan_text = document.createTextNode(mw.msg('badanie-additional-comment-label'));
commspan.appendChild(commspan_text);
commdiv.appendChild(commspan);
var commarea = document.createElement('textarea');
commarea.setAttribute("name", "UXkomentarz");
commarea.className="mw-ui-input";
commarea.setAttribute("cols", "50");
commarea.setAttribute("rows", "4");
commarea.placeholder= mw.msg('badanie-additional-comment-placeholder');
commdiv.appendChild(commarea);
UXpodpudelko2.appendChild(commdiv);
UXpudelko.appendChild(UXpodpudelko2);
//trzeci box: przycisk wyślij
var UXpodpudelko3=document.createElement('div');
UXpodpudelko3.style.float="left";
UXpodpudelko3.style.width="15%";
UXpodpudelko3.setAttribute("id", "UXpud3");
var UXwyslij = document.createElement('input');
UXwyslij.setAttribute("onclick","UXwyslijOdpowiedz()");
UXwyslij.setAttribute("type", "button");
UXwyslij.setAttribute("value", mw.msg('badanie-submit-button-text'));
UXwyslij.setAttribute("id", "UXzapisz");
UXwyslij.className = "mw-ui-button mw-ui-constructive";
UXpodpudelko3.appendChild(UXwyslij);
UXpudelko.appendChild(UXpodpudelko3);
var UXcopyrightwarning=document.createElement('div');
UXcopyrightwarning.style.fontSize="75%";
UXcopyrightwarning.style.textAlign="center";
UXcopyrightwarning.style.clear="both";
UXcopyrightwarning.setAttribute("id", "UXpudCopyright");
var UXcopyrighttext=mw.msg('badanie-copyright-warning');
if(!mw.config.get('wgUserName'))
UXcopyrighttext = UXcopyrighttext.replace('$1', mw.msg('badanie-warn-anonymous'));
else
UXcopyrighttext = UXcopyrighttext.replace('$1', '');
UXcopyrightwarning.innerHTML = UXcopyrighttext;
UXpudelko.appendChild(UXcopyrightwarning);
UXformularz.appendChild(UXpudelko);
gdzie.parentNode.insertBefore(UXformularz, gdzie);
}
function UXSprawdzCzyWyswietlic()
{
if(mw.config.get('wgAction')!="view")
return false;
if(mw.config.get('wgCurRevisionId')!=mw.config.get('wgRevisionId'))
return false;
return true;
}
if(mw.config.get('wgNamespaceNumber')==12) //dziala tylko w przestrzeni Pomoc (przestrzen 12)
{
if(UXSprawdzCzyWyswietlic()===true)
{
importScript('MediaWiki:Gadget-JsMwApi.js');
mw.loader.load('mediawiki.ui.input');
mw.loader.load('mediawiki.ui.forms');
UXwygenerujFormularz();
}
}
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.