Benutzer:J*/vector.js: Unterschied zwischen den Versionen

aus Kamelopedia, der wüsten Enzyklopädie
Zur Navigation springen Zur Suche springen
(logger entfernt, funktioniert nämlich nicht)
(+Empfehlungsdings)
Markierung: WK: interner Datei-Hotlink
Zeile 56: Zeile 56:
  
  
/* Zeug für die Buschtrommel */
+
/* Empfehlungs-Dings */
 +
 
 +
var gagapages = new Array ("", "File", "Projekt"); // hierhin die Namensräume, die zur Wahl stehen (Achtung! canonical namespaces!)
 +
 +
// Daumen neben "Versionen/Autoren" reinflanschen (noch suboptimal - sieht etwas beknackt aus)
 +
function createThumb() {
 +
  jQuery('#p-views ul').append('<li id="ca-gaga"><a href="javascript:GaGA();" title="Seite empfehlen">'
 +
        + '<span><img src="http://kamelopedia.mormo.org/images/2/27/Daumen_hoch.png" /></span>'
 +
        + '</a></li>');
 +
}
 +
 +
// Aktuellen Artikel in die Liste Schreiben
 +
function GaGA(){
 +
  jQuery.ajaxSetup({ cache: false });
 +
  jQuery.get(wgScript, { title: "Kamel:" + wgUserName + "/Empfehlung", action: "raw" },
 +
    function(data){
 +
      gaga = data.match(/\[\[.*\]\]/g);
 +
      if(wgCanonicalNamespace == "File") {
 +
        gaga.push("[[:" + wgPageName.replace(/_/g, ' ') + "]]"); // Bild hinzufügen
 +
      } else {
 +
        gaga.push("[[" + wgPageName.replace(/_/g, ' ') + "]]"); // Artikel hinzufügen
 +
      }
 +
      k = new Array();
 +
      // doppelte Einträge entfernen + alphabetisch sortieren (Funktioniert nicht mehr richtig, dafür der andere bug jetzt weg)
 +
      for(var i=0; i<gaga.length; i++){
 +
        for(var j=i+1; j<gaga.length; j++){
 +
          if (gaga[i] == gaga[j]) j = ++i;
 +
        }
 +
        k.push(gaga[i]);       
 +
      }
 +
      gaga = k.sort();
 +
      // edit-Token holen
 +
      jQuery.get('/api.php', { action: "query", prop: "info", intoken: "edit", titles: "Kamel:" + wgUserName + "/Empfehlung", format: "xml" },
 +
        function(data){
 +
          edittoken = data.getElementsByTagName('page')[0].getAttribute('edittoken');
 +
          // API aufrufen und gaga in die Empfehlungsliste schreiben
 +
          jQuery.post("/api.php", { action: "edit", title: "Kamel:" + wgUserName + "/Empfehlung", text: "* " + gaga.join("\n* "), summary: "+ [[" + wgPageName.replace(/_/g, ' ') + "]]", token: edittoken },
 +
            function(data){
 +
              alert(wgPageName.replace(/_/g, ' ') + ' wurde eingetragen');
 +
            }
 +
          );
 +
        }, "xml"
 +
      );
 +
    }
 +
  );
 +
};
 +
 +
// Das ganze starten
 +
addOnloadHook(function() {
 +
  if(jQuery.inArray(wgCanonicalNamespace, gagapages ) != -1) {
 +
    createThumb();
 +
  }
 +
})

Version vom 3. Mai 2011, 16:38 Uhr

/* für's Bürokratenspiel */
function bksp ()
{
	if (wgPageName.indexOf("Projekt:Bürokratenspiel") != -1 )
	{
		var t = wgTitle.split("/");
		var e = (wgAction = "edit") ? "$ " : "";
		document.title = t[t.length-1];
	}
}
addOnloadHook(bksp);

/* Zusammenfassungs-Warnung */

addOnloadHook( function () {
	jQuery("#wpSummary, #wpTextbox1").bind("keypress", function() {
		jQuery("#wpSummary").css("background-color","#ffffff");
		try {
			clearInterval(summaryWarnInterval);
			summaryWarnInterval = null;
		}
		catch (e) {}
		summaryWarnState = -1;
	});

	jQuery("#editform").bind("submit", function (e) {

		if ( e.originalEvent.explicitOriginalTarget != jQuery("#wpSave")[0] )
			return true;

		if (! jQuery("#wpSummary").val().replace(/^\s+/,"").replace(/\s+$/,"").replace(/\/\*.*?\*\//,"") && summaryWarnState == -1)
		{
                        jQuery("#wpSummary").focus();
			summaryWarnInterval = window.setInterval(summaryWarn,70);
			return false;
		}

		return true;
	});
});

summaryWarnState = -1;
summaryWarnInterval = null;

function summaryWarn() 
{
	summaryWarnState ++;
	if (summaryWarnState % 2 == 0)
		jQuery("#wpSummary").css("background-color","#ffff99");
	else
		jQuery("#wpSummary").css("background-color","#ffffff");

	if (summaryWarnState > 11)
		clearInterval(summaryWarnInterval);
}


/* Empfehlungs-Dings */

var gagapages = new Array ("", "File", "Projekt"); // hierhin die Namensräume, die zur Wahl stehen (Achtung! canonical namespaces!)
 
// Daumen neben "Versionen/Autoren" reinflanschen (noch suboptimal - sieht etwas beknackt aus)
function createThumb() {
  jQuery('#p-views ul').append('<li id="ca-gaga"><a href="javascript:GaGA();" title="Seite empfehlen">'
        + '<span><img src="http://kamelopedia.mormo.org/images/2/27/Daumen_hoch.png" /></span>'
        + '</a></li>');
}
 
// Aktuellen Artikel in die Liste Schreiben
function GaGA(){
  jQuery.ajaxSetup({ cache: false });
  jQuery.get(wgScript, { title: "Kamel:" + wgUserName + "/Empfehlung", action: "raw" },
    function(data){
      gaga = data.match(/\[\[.*\]\]/g);
      if(wgCanonicalNamespace == "File") {
        gaga.push("[[:" + wgPageName.replace(/_/g, ' ') + "]]"); // Bild hinzufügen
      } else {
        gaga.push("[[" + wgPageName.replace(/_/g, ' ') + "]]"); // Artikel hinzufügen
      }
      k = new Array();
      // doppelte Einträge entfernen + alphabetisch sortieren (Funktioniert nicht mehr richtig, dafür der andere bug jetzt weg)
      for(var i=0; i<gaga.length; i++){
        for(var j=i+1; j<gaga.length; j++){
          if (gaga[i] == gaga[j]) j = ++i;
        }
        k.push(gaga[i]);        
      }
      gaga = k.sort();
      // edit-Token holen
      jQuery.get('/api.php', { action: "query", prop: "info", intoken: "edit", titles: "Kamel:" + wgUserName + "/Empfehlung", format: "xml" },
        function(data){
          edittoken = data.getElementsByTagName('page')[0].getAttribute('edittoken');
          // API aufrufen und gaga in die Empfehlungsliste schreiben
          jQuery.post("/api.php", { action: "edit", title: "Kamel:" + wgUserName + "/Empfehlung", text: "* " + gaga.join("\n* "), summary: "+ [[" + wgPageName.replace(/_/g, ' ') + "]]", token: edittoken },
            function(data){
              alert(wgPageName.replace(/_/g, ' ') + ' wurde eingetragen');
            }
          );
        }, "xml"
      );
    }
  );
};
 
// Das ganze starten
addOnloadHook(function() {
  if(jQuery.inArray(wgCanonicalNamespace, gagapages ) != -1) {
    createThumb();
  }
})