Megjegyzés: közzététel után frissítened kell a böngésződ gyorsítótárát, hogy lásd a változásokat.

  • Firefox / Safari: tartsd lenyomva a Shift gombot és kattints a Frissítés gombra a címsorban, vagy használd a Ctrl–F5 vagy Ctrl–R (Macen ⌘–R) billentyűkombinációt
  • Google Chrome: használd a Ctrl–Shift–R (Macen ⌘–Shift–R) billentyűkombinációt
  • Internet Explorer / Edge: tartsd nyomva a Ctrl-t, és kattints a Frissítés gombra, vagy nyomj Ctrl–F5-öt
  • Opera: Nyomj Ctrl–F5-öt
//Cikkértékelő
//Báthory Péter, 2008
//További információk: [[w:hu:Wikipédia:Cikkértékelő]]
//
//A program szabadon módosítható, GNU licenc szerint
/////////////////////////////////////////////////////////
 
 
CikkErtekelo.prototype.saveTemplateName = function(ertek) {
   localStorage.setItem("cikkertekelo_sablon", ertek);
}
CikkErtekelo.prototype.loadTemplateName = function() {
   return localStorage.getItem("cikkertekelo_sablon");
}
 
 
CikkErtekelo.prototype.createSablonLista = function() {
   var lista = this.SList.values;
   var szoveg="<select name='sablon'>\n";
   for (var i=0; i<lista.length; i++) {
   	szoveg+="<option value='"+lista[i].nev+"'"+ ((lista[i].nev == this.sablon_nev) ? 'selected':'') +">"
   		+lista[i].cim +"</option>\n";
   }
   szoveg+="</select>\n";
   return szoveg;
}
 
CikkErtekelo.prototype.sablontHasznal = function(num) {
   if (num > -1) {
   	this.szerkesztett=num;
   } else
   	this.szerkesztett=-1;
   this.ablakWrite(this.foablak());
}
 
 
CikkErtekelo.prototype.foablak   = function() {
   function selectBe(keres,minta) {
      return (keres == minta) ? 'selected' : '';
   }
   if (this.szerkesztett > -1 && this.szerkesztett !== false) {
   	var b=this.sablonok[this.szerkesztett].besorolas_full.nev;
   	var f=this.sablonok[this.szerkesztett].fontossag_full.nev;
   	this.sablon_nev=this.sablonok[this.szerkesztett].nev;
   } else var b, f;
   var szoveg=
    "<form name='CEurlap' id='CEurlap' onSubmit='"+ ((this.ablakban) ? "opener." : "") +"CErt.mehet();return false'>"
   +"<table "+ ((this.ablakban) ? "align='center'" : "align='right'")
   + " width='370' cellpadding=3 style='font-family:Arial;background-color:#F8FCFF;border:solid 1px #8B8D8F'>"
   +"<tr><td colspan=2>Beillesztendő sablon "+CErt.createSablonLista()+"</td></tr>"
   +"<tr><td>Minőség:</td><td>Fontosság:</td></tr>"
   +"<tr><td><select name='minoseg'>"
   +"<option value='' "+selectBe('',b)+" style='background-color:#E8E8E8'>Besorolatlan</option>"
   +"<option value='kitüntetett' "+selectBe('kitüntetett',b)+">Kitüntetett</option>"
   +"<option value='színvonalas' "+selectBe('színvonalas',b)+">Színvonalas</option>"
   +"<option value='teljes' "+selectBe('teljes',b)+">Teljes</options>"
   +"<option value='jólhaszn' "+selectBe('jól használható',b)+">Jól használható</options>"
   +"<option value='bővítendő' "+selectBe('bővítendő',b)+">Bővítendő</options>"
   +"<option value='vázlatos' "+selectBe('vázlatos',b)+">Vázlatos</options>"
   +"<option value='születő' "+selectBe('születő',b)+">Születő</options>"
   +"</select></td><td>"
   +"<select name=fontossag>"
   +"<option value='' "+selectBe('',f)+" style='background-color:#E8E8E8'>Nem értékelt"
   +"<option value='nélkülözhetetlen' "+selectBe('nélkülözhetetlen',f)+">Nélkülözhetetlen</option>"
   +"<option value='nagyon' "+selectBe('nagyon fontos',f)+">Nagyon fontos</option>"
   +"<option value='közepesen' "+selectBe('közepesen fontos',f)+">Közepesen fontos</option>"
   +"<option value='kevéssé' "+selectBe('kevéssé fontos',f)+">Kevéssé fontos</option>"
   +"</select></td></tr><tr><td colspan='2' style='font-size:10px;padding-left:10px'> ";
   if (this.sablonok.length >= 1 || (this.sablonok.length == 1 && this.szerkesztett == -1))
      szoveg+="<input type='checkbox' name='tobbwp'"
            +((this.tobbsablon) ? 'checked' : '') +"> {"+"{Több WP}"+"} forma használata";
   else if (this.sablonok.length < 1)
      szoveg+="<p style='font-size:8pt;color:blue;'>A szócikket még nem értékelték</p>";
   else
      szoveg+="<p style='font-size:9px'>&nbsp;</p>";
   szoveg+="</td></tr><tr><td align=right><input type='submit' value='Mehet'></td><td>"
   +"<input type='reset' value='Mégsem' onClick='"+ ((this.ablakban)?"opener.":"") +"CErt.bezar();return false;'></td></tr>"
   +"</table></form>";
   return szoveg;
}
 
CikkErtekelo.prototype.kerdesablak   = function() {
   var szoveg = "<div style='font-size:11pt;font-family:Tahoma;background-color:#F8FCFF;"
         + ((this.ablakban) ? "margin:10px 0px;" : "border:solid 1px #8B8D8F;padding:0px 4px 4px;width:390px;height:146px;")
         +"'><span style='color:#900000'>A szócikkhez már tartozik <b>"+this.sablonok.length+"</b> értékelősablon:</span>"
         +"<table width='380' style='font-size:10pt;font-family:Arial;background-color:#F8FCFF;'"
         +" cellpadding='4' cellspacing='0'>";
   for (var i=0; i < this.sablonok.length; i++) {
      szoveg += "<tr><td style='border-bottom:solid 1px #8B8D8F;'>"
         +"<input type='submit' onClick='"
         +((this.ablakban) ? "opener." : "")
         +"CErt.sablontHasznal("+i+")' value='szerkeszt'>"
         +"</td><td style='border-bottom:solid 1px #8B8D8F;'>"+this.sablonok[i].cim+"</td>"
         +"<td style='border-bottom:solid 1px #8B8D8F;'>"+this.sablonok[i].nev+"</td></tr>";
   }
   szoveg += "<tr><td style='border-top:solid 1px #8B8D8F;'>"
         +"<input type='submit' onClick='"
         +((this.ablakban) ? "opener." : "")
         +"CErt.sablontHasznal(-1)' value='Új sablon'></td>"
         +"<td style='border-top:solid 1px #8B8D8F;' colspan=2>Régieket meghagyja és újat rak be</td>"
   return szoveg;
}
 
CikkErtekelo.prototype.ablakNyitas   = function() {
   ablak_x=Math.round(screen.width/2)-150;
   ablak_y=Math.round(screen.height/3)-50;
   if (navigator.appName == "Opera")
      this.ablakId = window.open('about:blank','ertekelolista',
            'width=400,height=170,left='+ablak_x+',top='+ablak_y+',alwaisRaised=true');
   else	this.ablakId = window.open('','ertekelolista',
            'width=400,height=170,left='+ablak_x+',top='+ablak_y+',alwaisRaised=true');
   this.ablakId.document.title="Szócikk értékelés";
   this.ablakId.document.body.style.backgroundColor='#F9F9F9';
   this.ablakId.document.body.style.backgroundImage='url(//hu.wikipedia.org/skins-1.5/monobook/headbg.jpg)';
   this.ablakId.window.document.onblur=function() {CErt.ablakId.window.focus();}
}
 
CikkErtekelo.prototype.ablakWrite = function(szoveg) {
   if (this.ablakban == true)
      this.ablakId.document.body.innerHTML = szoveg;
   else
      this.divId.innerHTML = szoveg;     
}
 
CikkErtekelo.prototype.mutat   = function() {
   if (typeof(this.SList) != 'object' || this.SList.values.length == 0) {
      if (this.divId.nodeName == "DIV")
         this.divId.innerHTML = "<div style='width:390px'>Hiba!<br>Próbáld újra, lehet, hogy még nem töltődtek be a fájlok</div>";
      return false;
   }
   this.sablonok = new Array();
   this.tobbsablon= false;
   this.szerkesztett=-2;
   this.sablonKereso();
   this.sablon_nev=this.loadTemplateName("cikkertekelo_sablon");
   if (this.ablakban)
      this.ablakNyitas();
   if (this.sablonok.length > 0)
      this.ablakWrite(this.kerdesablak());
   else
      this.ablakWrite(this.foablak());
}
 
CikkErtekelo.prototype.bezar   = function() {
   if (this.ablakban)
      this.ablakId.window.close();
   else
      this.BoxKinyit();
}
 
CikkErtekelo.prototype.mehet   = function() {
   function nulla(x) {return (x < 10) ? "0"+x : x; } //M-D alakítása MM-DD formára
   var today = new Date();
   var dateString = today.getFullYear() + "-" + nulla(today.getMonth() + 1) + "-" + nulla(today.getDate());
   if (this.ablakban) urlap=this.ablakId.document.CEurlap;
   else urlap=document.getElementById("CEurlap");
   var adatok = new Object();
   adatok.nev=urlap.sablon.options[urlap.sablon.selectedIndex].value;
   adatok.besorolas=urlap.minoseg.options[urlap.minoseg.selectedIndex].value;
   adatok.fontossag=urlap.fontossag.options[urlap.fontossag.selectedIndex].value;
   adatok.szerkeszto=mw.config.get('wgUserName');
   adatok.datum=dateString;
   this.forcetobb = (urlap.tobbwp != null && urlap.tobbwp.checked) ? true : false;
   this.saveTemplateName(adatok.nev);
   if (this.ablakban) {
      this.ablakId.window.close();
      this.ertekel(adatok);        //Vezérlés átadása az Ertekel függvénynek
   } else {
      var talkNamespace = (mw.config.get('wgNamespaceNumber')%2 == 1) ? mw.config.get('wgCanonicalNamespace') : mw.config.get('wgFormattedNamespaces')[mw.config.get('wgNamespaceNumber')+1];
      document.location=mw.config.get('wgServer')+mw.config.get('wgScript')
	     +"?title="+ talkNamespace + ":" +encodeURIComponent(mw.config.get('wgTitle'))+"&action=edit"
         +"&cesablon="+adatok.nev+"&cebesorolas="+adatok.besorolas+"&cefontossag="+adatok.fontossag
         +"&ceszerkesztett="+this.szerkesztett+"&ceforcetobb="+this.forcetobb;
      return false;
   }
}
 
CikkErtekelo.prototype.folytat   = function(obj) {  //Akkor fut ha betöltött az AJAX (és már értékeltek)
   this.ablakban=true;
   obj.sablonKereso();
 
   function nulla(x) {return (x < 10) ? "0"+x : x; } //M-D alakítása MM-DD formára
   var today = new Date();
   var dateString = today.getFullYear() + "-" + nulla(today.getMonth() + 1) + "-" + nulla(today.getDate());
   var adatok = new Object();
   adatok.nev=String(this.getURLParam('cesablon')).toUpperCase();
   adatok.besorolas=this.getURLParam('cebesorolas');
   adatok.fontossag=this.getURLParam('cefontossag');
   adatok.szerkeszto=mw.config.get('wgUserName');
   adatok.datum=dateString;
   this.szerkesztett=this.getURLParam('ceszerkesztett');
   this.forcetobb= this.getURLParam('ceforcetobb') === "true" ? true : false;
 
   obj.ertekel(adatok);
}
 
 
CikkErtekelo.prototype.ertekel   = function(ujadatok) {
   function ertekFormaz(ertek){
      return (ertek == "") ? "Ø" : ertek;
   }

   if (typeof switchOffWikEd === 'function') {
      switchOffWikEd();
   }

   var textarea = document.getElementById('wpTextbox1');
   var summary =  document.getElementById('wpSummary');
   if (!this.tobbsablon) {
      var start = textarea.value.length;
      for (var i=0; i < this.sablonok.length; i++) {
         if (this.sablonok[i].sablon!='') {
            if (textarea.value.search(this.sablonok[i].sablon) < start)
               start = textarea.value.search(this.sablonok[i].sablon);
            if (textarea.value.match(this.sablonok[i].sablon+"\r\n"))
               textarea.value = textarea.value.replace(this.sablonok[i].sablon+"\r\n", "");
            if (textarea.value.match(this.sablonok[i].sablon+"\n"))
               textarea.value = textarea.value.replace(this.sablonok[i].sablon+"\n", "");
            else if (textarea.value.match(this.sablonok[i].sablon))
               textarea.value = textarea.value.replace(this.sablonok[i].sablon, "");
         }
      }
   } else {
      start = textarea.value.search(this.sablonok[0].sablon);
      textarea.value = textarea.value.replace(this.sablonok[0].sablon,"");
   }
   if (start == textarea.value.length)
      start = 0;

   if (this.szerkesztett <= -1) {
      this.sablonok.push(ujadatok);
      summary.value = "Cikk értékelése: "+ ujadatok.nev +"."+
      ((ujadatok.besorolas != "") ?
            " Besorolás: "+ ujadatok.besorolas +", fontosság: "+ ertekFormaz(ujadatok.fontossag) : "");
   } else {
      summary.value = "Cikk értékelése: "+ ujadatok.nev +" sablon módosítva lett. Besorolás: "+
         ertekFormaz(this.sablonok[this.szerkesztett].besorolas) +"→"+ ertekFormaz(ujadatok.besorolas)+
         ", fontosság: "+
         ertekFormaz(this.sablonok[this.szerkesztett].fontossag) +"→"+ ertekFormaz(ujadatok.fontossag);
      this.sablonok[this.szerkesztett] = ujadatok;
   }

   var beilleszt="";
   for (var i=0; i < this.sablonok.length; i++) {
      var temp = this.sablonok[i];
      if (this.forcetobb == false) {
         beilleszt += "{"+"{" + temp.nev + "|besorolás=" + temp.besorolas + "|fontosság=" + temp.fontossag
               + "|szerkesztő=" + ((temp.besorolas!="" || temp.fontossag!="") ? temp.szerkeszto : '')
               + "|dátum=" + ((temp.besorolas!="" || temp.fontossag!="") ? temp.datum : '') + "}"+"}\n";
      } else {
         beilleszt += "|sablon"+(i+1)+"=" + temp.nev
               + "|besorolás"+(i+1)+"=" + temp.besorolas + "|fontosság"+(i+1)+"=" + temp.fontossag
               + "|szerkesztő"+(i+1)+"=" + ((temp.besorolas!="" || temp.fontossag!="") ? temp.szerkeszto : '')
               + "|dátum"+(i+1)+"=" + ((temp.besorolas!="" || temp.fontossag!="") ? temp.datum : '') + "\n";
      }
   }
   if (this.forcetobb == true)
      beilleszt = "{"+"{Több WP\n" + beilleszt + "}"+"}";
 
   if (textarea.value.slice(start,start+1) != '\n' && textarea.value.slice(start,start+1) != '\r')
      beilleszt+="\n";
   textarea.value = textarea.value.slice(0,start) + beilleszt + textarea.value.slice(start);

   if (typeof switchOnWikEd === 'function') {
      switchOnWikEd();
   }
}


CikkErtekelo.prototype.addAssessButton   = function(image, tip) {
   // FIXME néha eltünteti a többi gombot (wikEd miatt?)
   var toolbar = document.getElementById('toolbar');
   if (!toolbar) { return false; }
   this.ablakban=true;
 
   mw.toolbar.addButton({
    "imageId": "editbuttonCikkertekelo",
    "imageFile": image,
    "speedTip": tip,
    "tagOpen": "",
    "tagClose": "",
    "sampleText": ""
  });
  var button = document.getElementById("editbuttonCikkertekelo");
  button.onclick = function() {CErt.mutat();};  
}

CikkErtekelo.prototype.BoxKinyit   = function() {
   if (this.divId.style.display == 'none') {
      this.divId.style.display='block';
      document.getElementById('ca-cert_a').innerHTML = document.getElementById('ca-cert_a').innerHTML.replace('▼','▲');
      this.mutat();
   } else if (this.divId.style.display == 'block') {
      this.divId.style.display='none';
      document.getElementById('ca-cert_a').innerHTML = document.getElementById('ca-cert_a').innerHTML.replace('▲','▼');
      }
}

CikkErtekelo.prototype.addAssessBox   = function(image, tip) {
   var node = document.getElementById("p-cactions");
   if ( !node ) return null;
   node = node.getElementsByTagName( "ul" )[0];
   if ( !node ) return null;

   var link = document.createElement( "a" );
    link.appendChild( document.createTextNode( "Értékelés ▼" ) );
    link.href = "javascript:CErt.BoxKinyit()";
	link.id = "ca-cert_a";

   var item = document.createElement( "li" );
    item.appendChild( link );
    item.id = 'ca-cert';

   link.setAttribute( "accesskey", "é" );
   link.setAttribute( "title", "Cikkértékelő segédeszköz [é]" );
   mw.util.updateTooltipAccessKeys( link );

   var ertekelodiv = document.createElement('div');
    ertekelodiv.id='ertekeloBox';
    ertekelodiv.style.display='none';
    ertekelodiv.style.position='relative';
    ertekelodiv.style.width='400px';
    ertekelodiv.style.zIndex="10";

   switch(skin) {
   case "vector":
      var parent = document.getElementById("right-navigation")
      ertekelodiv.style.position='absolute';
      ertekelodiv.style.top='80px';
      ertekelodiv.style.left='400px';
      if ('\v'=='v')
         ertekelodiv.style.styleFloat='left';  //IE
      else
         ertekelodiv.style.cssFloat='left'; //w3
      parent.insertBefore(ertekelodiv, parent.firstChild);
      break;
   default:
      item.appendChild(ertekelodiv);
   }

   node.appendChild( item );
		
   if (item.offsetLeft > -1 && skin != "vector") {
      ertekelodiv.style.left= item.offsetLeft + item.offsetWidth - 400 + "px"; //FF miatt statikusan 400
   }
  
   this.divId = document.getElementById('ertekeloBox');
}
 
 
//////////////////////////////////////////////////////////
var jogosultsagok = mw.config.get('wgRestrictionEdit') || mw.config.get('wgRestrictionCreate') || [];
if (jogosultsagok.length == 0) {
   if ((mw.config.get('wgAction') == "edit" || mw.config.get('wgAction') == "submit") && (mw.config.get('wgNamespaceNumber') % 2) == 1) {
      if (typeof(CErt) == 'undefined') {
         window.CErt = new CikkErtekelo();
         CErt.AJAXletolt(CErt.listaFajl, CErt.listaCim, CErt.SList, CErt);
      }
      $().ready( function() { CErt.addAssessButton(
         "//upload.wikimedia.org/wikipedia/commons/e/e9/Button_copy_edit.png", "Cikkértékelés");
      });
      if (CErt.getURLParam('cesablon') != '' ) {
         CErt.SList.folytat=true;
      }
   }
   else if (mw.config.get('wgAction') == "view"
      && (mw.config.get('wgNamespaceNumber') == 0 || mw.config.get('wgNamespaceNumber') == 1 || CErt.getURLParam('debug') == 'true')
      && mw.config.get('wgCurRevisionId') != false)
   {
      if (typeof(CErt) == 'undefined') {
         window.CErt = new CikkErtekelo();
         CErt.AJAXletolt(CErt.listaFajl, CErt.listaCim, CErt.SList, CErt);
         CErt.AJAXletolt(mw.config.get('wgTitle'), CErt.vitalapCim, CErt.vita);	
      }
      if (CErt.getURLParam('printable') != 'yes') {
         $().ready( function() {
            CErt.addAssessBox("//upload.wikimedia.org/wikipedia/commons/e/e9/Button_copy_edit.png", "Cikkértékelés");
         });
      }
   }
}