Greasemonkey: QuickEdit + CorrectTitleDM

Egal ob Linux, Mac oder Windows. Hier passen alle Fragen rein.
Antworten
Gafti
Poweruser
Poweruser
Beiträge: 516
Registriert: 23.08.2006, 11:44

Beitrag von Gafti » 30.12.2006, 22:58

oh man ich verzweiifle fast... kann mir ma einer sagen, wo das script eigentlich hin muss und wie der ganze schrott hier funktioniert? Ich bekomm das nciht gebacken -.-
"Go and find the individuallity"

Tante Google

Beitrag von Tante Google » 30.12.2006, 22:58


DasIch
Superhirn
Superhirn
Beiträge: 1233
Registriert: 27.06.2005, 15:21

Beitrag von DasIch » 30.12.2006, 23:09

1.Firefox
2.Greasemonkey installieren
3.Skript installieren
4.Fertig :D

nik
Superhirn
Superhirn
Beiträge: 1287
Registriert: 02.12.2004, 10:36

Beitrag von nik » 30.12.2006, 23:17

DasIch hat geschrieben: 3.Skript installieren
Nach der Installation von GM - FX neustarten.
Scriptlink anklicken und warten bis GM anspringt! Fertig! :wink:

DasIch
Superhirn
Superhirn
Beiträge: 1233
Registriert: 27.06.2005, 15:21

Beitrag von DasIch » 30.12.2006, 23:38

Ist das nicht selbstverständlich?

Gafti
Poweruser
Poweruser
Beiträge: 516
Registriert: 23.08.2006, 11:44

Beitrag von Gafti » 30.12.2006, 23:51

oha habs...

edit: test

edit²: super thx @ all^^
"Go and find the individuallity"

nik
Superhirn
Superhirn
Beiträge: 1287
Registriert: 02.12.2004, 10:36

Beitrag von nik » 31.12.2006, 00:06

DasIch hat geschrieben:Ist das nicht selbstverständlich?
Ich hatte auch leichte Probleme bei der Installation des Scriptes ... war einfach zu ungeduldig.
Der Script braucht jedoch ein "Weilchen" ... (~3 sek.) !!! bis GM es merkt, dass das etwas für den ist! :D

Benutzeravatar
Tombik
★ Ehrenmitglied ★
Beiträge: 5008
Registriert: 10.11.2003, 17:45
Danke erhalten: 1 Mal
Gender:

Beitrag von Tombik » 31.12.2006, 12:21

wie der ganze schrott hier
das Wörtchen "Schrott" überhör ich jetzt mal.. ;)
„Nur wo du zu Fuß warst, bist du auch wirklich gewesen.“ (J. W. von Goethe)

Benutzeravatar
Tombik
★ Ehrenmitglied ★
Beiträge: 5008
Registriert: 10.11.2003, 17:45
Danke erhalten: 1 Mal
Gender:

Beitrag von Tombik » 31.12.2006, 15:40

„Nur wo du zu Fuß warst, bist du auch wirklich gewesen.“ (J. W. von Goethe)

nik
Superhirn
Superhirn
Beiträge: 1287
Registriert: 02.12.2004, 10:36

Beitrag von nik » 31.12.2006, 15:45

Maaaaaan, Tombik ... das war mein Thread! :D :D

Benutzeravatar
Tombik
★ Ehrenmitglied ★
Beiträge: 5008
Registriert: 10.11.2003, 17:45
Danke erhalten: 1 Mal
Gender:

Beitrag von Tombik » 31.12.2006, 15:59

:oops: :oops:
„Nur wo du zu Fuß warst, bist du auch wirklich gewesen.“ (J. W. von Goethe)

DasIch
Superhirn
Superhirn
Beiträge: 1233
Registriert: 27.06.2005, 15:21

Beitrag von DasIch » 01.01.2007, 14:23

*Skriptausprobier*

Test

Es klappt :D ist ja genial :D

Shaint
★ Ehrenmitglied ★
Beiträge: 635
Registriert: 20.11.2005, 11:29

Beitrag von Shaint » 04.01.2007, 15:41

Ist dabei jetzt eigentlich eine Lösung rausgekommen?
Weil ich ganz ehrlich zu blöd bin das script zu finden.
Bild

DasIch
Superhirn
Superhirn
Beiträge: 1233
Registriert: 27.06.2005, 15:21

Beitrag von DasIch » 04.01.2007, 15:43

Das

Code: Alles auswählen

// phpBB Quick Edit user script
// version 0.2
// 2006-03-12
// Copyright (c) 2006, xamm
// Released under the GPL license
// http://www.gnu.org/copyleft/gpl.html
// modified by Dr. Evil <firefox>
//
// --------------------------------------------------------------------
//
// This is a Greasemonkey user script.  To install it, you need
// Greasemonkey 0.3 or later: http://greasemonkey.mozdev.org/
// Then restart Firefox and revisit this script.
// Under Tools, there will be a new menu item to "Install User Script".
// Accept the default configuration and install.
//
// To uninstall, go to Tools/Manage User Scripts,
// select "phpBB Quick Edit", and click Uninstall.
//
// --------------------------------------------------------------------
//
// ChangeLog
// 2006-??-?? - 0.3 - take over the normal edit button instead of using a custom link
// 2006-03-12 - 0.2 - Fixed the code for encoding the form data that was corrupted by GM downloading it which I'd never known before
//                    which means my quick reply script has been broken for months and I never knew.
// 2006-03-12 - 0.1 - Initial release
//
// --------------------------------------------------------------------
//
// ==UserScript==
// @name           phpBB Quick Edit
// @namespace      http://www.otsegolectric.com/greasemonkey/
// @description    Adds a feature allowing you to quickly edit your posts on a phpBB forum
// @include        */viewtopic.php*
// ==/UserScript==
(function() {
  function encodeFormData(formData) {
    var encodedData = '';
    var t;
    for(i = 0; i < formData.length; i++) {
      t = '' + formData.charCodeAt(i).toString(16).toUpperCase();
      if(t.length == 1)
        encodedData += "%0" + formData.charCodeAt(i).toString(16).toUpperCase();
      else
        encodedData += "%" + formData.charCodeAt(i).toString(16).toUpperCase();
      }
    return encodedData;
  }

  var addQuickEdit = function(event) {
    var editHREF = event.currentTarget.href;
    var editHREFPart = editHREF.substring(editHREF.indexOf("posting.php"), editHREF.length);
    var postBody = document.evaluate("//a[@href='" + editHREFPart + "']/../../..//*[@class='postbody']/..", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
    postBody = postBody.snapshotItem(0);
    if(postBody.getElementsByTagName('textarea').length == 0) {
      var allElements = postBody.getElementsByTagName('*');
      for(j = 0; j < allElements.length; j++)
        allElements[j].style.display = 'none';

      var qeTextArea = document.createElement('textarea');
      var qeSubmit = document.createElement('input');
      var qeIFrame = document.createElement("iframe");

      qeTextArea.style.width = '90%';
      qeTextArea.style.height = '200px';
      qeTextArea.style.border = '1px solid #000000';
      qeTextArea.style.paddingLeft = '2px';
      qeTextArea.style.paddingBottom = '2px';
      qeTextArea.value = '\n\n\n\n\n\t\t\tGetting post contents...';
      qeTextArea.disabled = true;

      qeSubmit.type = 'submit';
      qeSubmit.value = 'Post';
      qeSubmit.style.border = '1px solid #000000';
      qeSubmit.style.position = 'absolute';
      qeSubmit.addEventListener('click', editPost, true);
      qeSubmit.setAttribute('editHREF', editHREF);

      qeIFrame.style.width = '1px';
      qeIFrame.style.height = '1px';
      qeIFrame.style.display = 'none';
      qeIFrame.src = editHREF;
      qeIFrame.addEventListener('load',
        function() {
          var qeDoc = qeIFrame.contentDocument;
          if(qeDoc.body.getElementsByTagName('textarea').length != 0) {
            qeTextArea.value = qeDoc.body.getElementsByTagName('textarea')[0].value;
            qeTextArea.disabled = false;
            qeDoc = qeDoc.getElementsByTagName('input');
            var formData = '';
            for(var i = 0; i < qeDoc.length; i++)
              if(qeDoc[i].name.indexOf('addbbcode') == -1 && qeDoc[i].name.indexOf('helpbox') == -1 && qeDoc[i].name != '')
                if(qeDoc[i].type != 'checkbox' || qeDoc[i].checked != '')
                   formData += qeDoc[i].name + '=' + encodeFormData(qeDoc[i].value) + '&';
            qeSubmit.setAttribute('formData', formData);
            qeDoc = null;
          } else {
            qeTextArea.value = '\n\n\n\n\n\t\t\tGetting post contents failed, refresh the page and try again.';
          }
        },
      false);

      postBody.insertBefore(qeSubmit, postBody.firstChild);
      postBody.insertBefore(qeTextArea, postBody.firstChild);
      document.body.appendChild(qeIFrame);
    } else {
      var allElements = postBody.getElementsByTagName('*');
      for(i = 0; i < allElements.length; i++)
        if(allElements[i].style.display == 'none')
          allElements[i].style.display = '';
        else
          allElements[i].style.display  = 'none';
      }
    event.preventDefault();
  };

  var editPost = function(event) {
    var editHREF = event.target.getAttribute('editHREF').split('?')[0];
    var formData = event.target.getAttribute('formData');
    var postContents = encodeFormData(event.target.previousSibling.value);
    event.target.value = 'Submitting...'
    GM_xmlhttpRequest({
      method: 'POST',
      url: editHREF,
      data: formData + 'message=' + postContents,
      headers: {'Content-Type': 'application/x-www-form-urlencoded'},
      onload: function(responseDetails) {
        window.location.reload(false);
      }
    });
  };

  var editLinks = document.evaluate("//a[contains(@href, 'posting.php?mode=editpost')]", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
  for(var i = 0; i < editLinks.snapshotLength; i++) {
    //var qeLink = document.createElement('b');
    //qeLink.setAttribute('title', "click to edit this post");
    //qeLink.style.fontSize = "7pt";
    //qeLink.style.cursor = 'pointer';
    editLinks.snapshotItem(i).addEventListener('click', function(e) { addQuickEdit(e); e.preventDefault(); return false; }, true);
    //qeLink.innerHTML = ' [ QE ]';
    //editLinks.snapshotItem(i).parentNode.insertBefore(qeLink, editLinks.snapshotItem(i).nextSibling);
  }
})();
als *.js abspeichern und in Greasemonkey "reininstallieren".

nik
Superhirn
Superhirn
Beiträge: 1287
Registriert: 02.12.2004, 10:36

Beitrag von nik » 04.01.2007, 16:02

@DasIch: das ist aber die "version" ohne Bild. :)

DasIch
Superhirn
Superhirn
Beiträge: 1233
Registriert: 27.06.2005, 15:21

Beitrag von DasIch » 04.01.2007, 16:05

Die Version ersetzt den Edit Button nik kannst du ja mal ausprobieren :)

Antworten