Benutzer:Q/vector.js

aus Kamelopedia, der wüsten Enzyklopädie
< Benutzer:Q
Version vom 16. April 2011, 12:32 Uhr von Dufo (Diskussion | Beiträge) (Bugfix gegen Doppeleintrag und Löschungen und ungewollte Wiedereinträge - bitte vorher CACHE leeren !)
Zur Navigation springen Zur Suche springen

Hinweis: Leere nach dem Speichern den Browser-Cache, um die Änderungen sehen zu können.

  • Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
  • Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
  • Internet Explorer: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Gehe zu Menü → Einstellungen (Opera → Einstellungen auf dem Mac) und dann auf Datenschutz & Sicherheit → Browserdaten löschen → Gespeicherte Bilder und Dateien.
var gagapages = new Array ("", "File", "News"); // 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();
  }
})