Ergebnis 1 bis 6 von 6
  1. #1
    Kugelfischliebhaber Avatar von Dankeschön
    Registriert seit
    Oct 2007
    Beiträge
    598

    Standard [JS] WBB - Private Nachrichten löschen

    Tag zusammen.

    Aktuell versuche ich, ein Greasemonkey-Skript zu machen, mit dem man alle private Nachrichten von einer Community mit wenig PN-Speicherplatz in meine MySQL-DB auslagern kann (verschlüsselt etc).
    (Screenshot: http://awesomescreenshot.com/0e8t2m8af )

    Alles funktioniert super - Auslesen der Nachrichten, Betreff etc., verschlüsselter Upload auf meine DB.
    Allerdings sollen die übergebenen Nachrichten vom WBB (Burning Board) Forum danach gelöscht werden, und das klappt aktuell nicht sehr gut.

    Forum: forum.sa-mp.de
    Die offensichtlich relevanten JS-Dateien dafür:
    PMListEdit.class.js (führt Aktionen zum Bearbeiten von Aktionen aus)
    InlineListEdit.class.js (markiert Nachrichten bspw)

    Den SECURITY_TOKEN etc. kann ich problemlos auslesen.

    Die Methode aus der PMListEdit
    Code:
    /**
    	 * Deletes a message.
    	 */
    this.remove = function(id) {
    		if (confirm(language['wcf.pm.delete.sure'])) {
    			document.location.href = fixURL('index.php?page=PM&action=delete&pmID='+id+'&folderID='+folderID+'&t='+SECURITY_TOKEN+SID_ARG_2ND);
    		}
    	}
    funktioniert insofern nicht, als dass der Security-token sich wohl nach jeder Löschung ändert.

    Die einzige Möglichkeit wäre also
    Code:
    /**
    	 * Deletes the marked messages.
    	 */
    	this.removeMarked = function() {
    		if (confirm(language['wcf.pm.deleteMarked.sure'])) {
    			document.location.href = fixURL('index.php?page=PM&action=deleteMarked'+'&folderID='+folderID+'&t='+SECURITY_TOKEN+SID_ARG_2ND);
    		}
    	}
    allerdings weiß ich nicht, wie ich einzelne von mir gewünschte Nachrichten löschen kann.

    Ich hatte bereits versucht, einen Klick auf die Checkboxen zu simulieren, allerdings geht das logischerweise nur bei offenen Seiten, und nicht bei per GM_xmlhttpRequest geholten weiteren Seiten (unten die nächsten Seiten werden nur per diesem Befehl geholt).

    Schönes Wochenende und möge der Kugelfisch mit mir sein,
    Dankeschön
    Geändert von Dankeschön (29. 01. 2012 um 15:52 Uhr)

  2. #2
    Operator

    Board:Crew

    Avatar von aNtiCHrist
    Registriert seit
    May 2000
    Beiträge
    23.383

    Standard Re: [JS] WBB - Private Nachrichten löschen

    Warum schaust du nicht einfach nach, wie die Markierung der einzelnen Nachrichten gespeichert wird? Sofern das auch seitenübergreifend funktioniert, werden dort vermutlich Cookies im Spiel sein. Dann könntest du doch einfach diese Cookies durch dein Script setzen lassen. Bei anderen Verfahrensweisen sollte man dem Server die zu löschenden Nachrichten ebenfalls scriptgesteuert mitteilen können. Mir fällt zumindest kein potenzieller Hinderungsgrund ein.

  3. #3
    Kugelfischliebhaber

    (Threadstarter)

    Avatar von Dankeschön
    Registriert seit
    Oct 2007
    Beiträge
    598

    Standard Re: [JS] WBB - Private Nachrichten löschen

    Das ist das Problem -
    ich habe nicht herausfinden können, wie WBB markierte Beiträge speichert...

    Der dafür offensichtlich benutzte Datei (s.o., inlineedit) konnte ich nicht ansehen, wie die das macht.

  4. #4
    Operator

    Board:Crew

    Avatar von aNtiCHrist
    Registriert seit
    May 2000
    Beiträge
    23.383

    Standard Re: [JS] WBB - Private Nachrichten löschen

    Es gibt ja auch noch die Möglichkeit, einfach die vorliegenden Anfragen anzuschauen und zu prüfen, ob man nicht einfach das Format auch ohne den Code versteht. Die Möglichkeiten, die ausgewählten Checkboxen zu übermitteln, sind ja doch sehr begrenzt. Schau dir einfach mal die Anfrage an, die der Browser zum Server sendet. Da die Daten offenbar nicht im URI enthalten sind, bleibt ja eigentlich nur ein Cookie oder ggf. ein Request-Body

  5. #5
    Nerd

    Board:Crew

    Avatar von Kugelfisch23
    Registriert seit
    Oct 2007
    Ort
    Im Ozean
    Beiträge
    16.811

    Standard Re: [JS] WBB - Private Nachrichten löschen

    vBulletin nutzt (bei vorhandenem JavaScript übrigens clientseitig erzeugte) Cookies, das WBB startet jedoch für jedes Setzen oder Löschen einer Markierung eine AJaX-Anfrage und speichert die Informationen über markierte Nachrichten serverseitig in einer Session-Variable. Die zugehörige POST-Anfrage geht an den URI /index.php?page=PM&t=<SECURITY_TOKEN>, die POST-Parameter sind action=mark und pmID, die ID der zu markierenden Nachricht. pmID kann dabei auch ein Array in PHP-üblicher Notation sein, z.B. action=mark&pmID[]=1&pmID[]=2&pmID[]=3 (als POST-Request-Body). WBB selbst nutzt solch eine Anfrage bei Nutzung der Alle-markieren-Checkbox.

  6. #6
    Kugelfischliebhaber

    (Threadstarter)

    Avatar von Dankeschön
    Registriert seit
    Oct 2007
    Beiträge
    598

    Standard Re: [JS] WBB - Private Nachrichten löschen

    Vielen Dank für eure Hilfe.
    Wollte grade den von Firefox angezeigten POST-Request aufgrund des Tipps von antichrist untersuchen, aber Kugelfisch kam mir zuvor.

    Riesiges Danke also für eure schnelle und gute Hilfe.

  7.  
     
     

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •