1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

404-Deamon: E-Mail bei fehlender Seite (NEU)

Dieses Thema im Forum "Plugin-Vorstellung" wurde erstellt von kaiser, 26. Februar 2010.

  1. kaiser

    kaiser Well-Known Member

    Registriert seit:
    20. November 2008
    Beiträge:
    1.840
    Zustimmungen:
    0
    Liebe Leute,

    weil ich´s gerade brauche, hab ich mir eine Funktion für 404-E-Mails geschrieben. Jetzt wollte ich´s ein wenig globaler verwendbar machen und hab schnell ein Plug-In draus gemacht. Ich hoffe jemand von Euch hat Zeit es zu testen: Code in whatever.php kopieren, hochladen in den PlugIn-Ordner und aktivieren. Dann (als nicht-Admin-User) eine nicht vorhandene Seite aufrufen und die E-Mail Adresse, die unter den Blog-Einstellungen angegeben ist, abrufen. Dort sollte dann eine E-Mail ankommen.

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Viel Vergnügen!

    Ps. Sollte bereits ein PlugIn vorhanden sein, dass die E-Mail Adresse des Blogs verändert, so kommt die im PlugIn eingetragene nicht zur Anwendung.
     
    #1 kaiser, 26. Februar 2010
    Zuletzt bearbeitet: 26. Februar 2010
  2. toscho

    toscho Well-Known Member

    Registriert seit:
    4. August 2006
    Beiträge:
    631
    Zustimmungen:
    0
    Ich habe ein ähnliches Script auch mal geschrieben:
    http://toscho.de/2009/htaccess-angriffe-sehen-blockieren/

    Da baue ich gleich einen Link zum Nachschlagen der IP-Adresse ein.

    Und eine Bitte: Mißbrauche den armen Akzent ›´‹ nicht als Apostrophen (›’‹). Das hat er nicht verdient.
     
  3. kaiser

    kaiser Well-Known Member

    Registriert seit:
    20. November 2008
    Beiträge:
    1.840
    Zustimmungen:
    0
    So. Hier die ausgebesserte Variante (@Thomas: merci! Siehe Probs im Code). Und: Alle ` gegen ' getauscht - Ist die Macht der Gewohnheit, weil mein Scriptly-Editor bei " & ' immer zwei gleichzeitig macht.

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
    #3 kaiser, 26. Februar 2010
    Zuletzt bearbeitet: 26. Februar 2010
  4. toscho

    toscho Well-Known Member

    Registriert seit:
    4. August 2006
    Beiträge:
    631
    Zustimmungen:
    0
    Hinter http://ip-lookup.net/?ip= solltest du noch die IP-Adresse desjenigen schreiben, der den 404er ausgelöst hat, damit man per Klick gleich die Informationen dazu bekommt.
     
  5. kaiser

    kaiser Well-Known Member

    Registriert seit:
    20. November 2008
    Beiträge:
    1.840
    Zustimmungen:
    0
    Stimmt. Her gerichtet war's ja schon, nur eingesetzt nicht. (Danke!)

    Hier der PasteBin-Link: http://pastebin.com/P0Z72q4p

    Falls jemand Zeit hat, das einmal zu testen: Wäre nett & ich ganz narrisch dankbar!

    Ps. @Thomas: Irgendwie müsste das Plug-In sich in das Template hängen, was es ja bis jetzt noch nicht macht... bei mir läuft's nämlich als function und ich hab ehrlich gesagt noch nie aus etwas ein Plug-In gemacht.. Sollte ich das bei init starten? Andererseits: Funktioniert da eigentlich is_404() schon, oder muss das nach dem Body rein? Weil dann wüsste ich nämlich aus wp_head(), der nicht im body sitzt, nichts mehr, außer einen einrichten und ins Template einpflegen.. nicht gut!
     
    #5 kaiser, 26. Februar 2010
    Zuletzt bearbeitet: 26. Februar 2010
  6. toscho

    toscho Well-Known Member

    Registriert seit:
    4. August 2006
    Beiträge:
    631
    Zustimmungen:
    0
    Wie kommt die Variable $page_uri zustande, wenn pods_url_variable() nicht existiert?

    Zum automatischen Ausführen: Bei mir steht die Funktion im 404-Template. Ich finde gerade keinen Hook dazu, aber im Plugin könntest du dich dann einhängen, wenn WordPress nach diesem Template sucht:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  7. kaiser

    kaiser Well-Known Member

    Registriert seit:
    20. November 2008
    Beiträge:
    1.840
    Zustimmungen:
    0
    Danke. Stimmt. Hab jetzt eine WP und eine PHP Variante eingepflegt. Allerdings muss man derzeit in den Code und das eine oder andere auskommentieren. Siehe Pastebin.

    Neue Version (kannst Du da einmal eine Test laufen lassen? Soweit ich gelesen habe, hast Du einen Testblog - Danke!): http://pastebin.com/WNuprGSM

    Dank und Anerkennung!
     
  8. toscho

    toscho Well-Known Member

    Registriert seit:
    4. August 2006
    Beiträge:
    631
    Zustimmungen:
    0
    Bist du sicher, daß das deine letzte Version ist? Da steht doch immer noch die IP-Adresse im Link zu ip-lookup.net, und etliche Syntaxfehler hängen auch noch drin.
     
  9. kaiser

    kaiser Well-Known Member

    Registriert seit:
    20. November 2008
    Beiträge:
    1.840
    Zustimmungen:
    0
    mpf... blöder herumkopiererei zwischen function und plugin... hab mir da einiges selbst ausgehebelt. ich lass es jetzt einfach einmal. ip ist nochmal nachgebessert und die uri wird jetzt per php ausgegeben, falls "pods" nicht vorhanden ist. wenn du zeit hast, schau doch einmal rein und kommentier vielleicht ein paar fehler, oder spiel am code herum. vielleicht bekommen wir ja wirklich ein brauchbares plugin hin. siehe autoren-verweis :mrgreen:
     
  10. toscho

    toscho Well-Known Member

    Registriert seit:
    4. August 2006
    Beiträge:
    631
    Zustimmungen:
    0
    Ruf die Seite doch mal auf deinem Server direkt auf. Syntaxfehler flickst du bitte selber. ;)
     
  11. kaiser

    kaiser Well-Known Member

    Registriert seit:
    20. November 2008
    Beiträge:
    1.840
    Zustimmungen:
    0
    Gemacht.. Schaut ganz gut aus. Die function geht. Beim Plug-In weiß ich´s nicht. Jetzt bist aber wirklich Du dran. Genug der faulen Ausreden ;)

    Muss jetzt leider weg. Wir lesen uns morgen oder so?
     
    #11 kaiser, 26. Februar 2010
    Zuletzt bearbeitet: 26. Februar 2010
  12. toscho

    toscho Well-Known Member

    Registriert seit:
    4. August 2006
    Beiträge:
    631
    Zustimmungen:
    0
    Wo ist die URL zum reparierten Script?
     
  13. kaiser

    kaiser Well-Known Member

    Registriert seit:
    20. November 2008
    Beiträge:
    1.840
    Zustimmungen:
    0
    http://pastebin.com/pkVDAfrz

    Glück gehabt, dass ich nochmal rein geschaut hab. Bis dann und schönene Abend!!

    Ps. Hab grad vorher als nicht eingeloggter user ein paar 404-seiten aufgerufen und Mail kam keine... da hat´s jetzt wieder gröber was. Sry, vorab!
     
  14. toscho

    toscho Well-Known Member

    Registriert seit:
    4. August 2006
    Beiträge:
    631
    Zustimmungen:
    0
    Das geht so als Plugin nicht. Da wird ja ein großer Teil des Scriptes bei jedem Request ausgeführt. Obendrein wirfst du Variablen in den globalen Namensraum, die ganz sicher in anderen Kontexten stören und schwer zu entdeckende Fehler provozieren.

    Verkapsele alle Variablen in einer Klasse oder Funktion, die einen Namen trägt, den wahrscheinlich niemand sonst benutzt.

    Hm, ich wollte schon längst mal ein Demo für so etwas schreiben …
     
  15. kaiser

    kaiser Well-Known Member

    Registriert seit:
    20. November 2008
    Beiträge:
    1.840
    Zustimmungen:
    0
    Hello Thomas und Kollegen,

    so, jetzt alles schön und sicher mit class und function usw. verpackt. Ich bekomme auch alle Daten ausgegeben (siehe letzte function mit container-div am Ende - den hab ich an einen hook angehängt um die Werte zu testen) und alle Variablen für wp_mail werden auch ausgegeben (echo-Tests schon gemacht). Leider funktioniert der Mailversand so leider nicht. Irgendjemand eine Idee oder einen Ansatz wie man den Fehler finden könnte?

    Danke!

    http://pastebin.com/8DsCs8PL
     
    #15 kaiser, 28. Februar 2010
    Zuletzt bearbeitet: 28. Februar 2010
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden