Probleme mit dem Newsletter Plugin - Printable Version +- GetSimple Support Forum (http://get-simple.info/forums) +-- Forum: International (http://get-simple.info/forums/forumdisplay.php?fid=4) +--- Forum: German - Deutsch (http://get-simple.info/forums/forumdisplay.php?fid=18) +--- Thread: Probleme mit dem Newsletter Plugin (/showthread.php?tid=2515) |
Probleme mit dem Newsletter Plugin - ravens_legacy - 2011-12-19 Hallo liebe Community, seit 3 Tagen nutze ich jetzt schon getSimple und ich denke ich habe mich relativ gut eingearbeitet. Jetzt wollte ich das Plugin "mail newsletter" nutzen, was soweit auch funktioniert. Allerdings möchte ich, ein Formular, mit welchem man E-Mail Adressen zur Liste hinzufügen kann auch außerhalb des Admin-Bereichs, frei für jeden zugänglich anbieten. Laut Changelog ist das seit neustem auch möglich: Quote:Function mailnewsletterform that insert subscribe form in any page Gesagt, getan, einfach die besagte Funktion in der Sidebar eingegeben und ... nichts. Dann habe ich mir den Quellcode etwas genauer angeschaut und festgestellt, dass in der Funktion als cgi-script absolut auf die load.php im Admin-Ordner verwießen wird, selbst wenn man diesen Verweiß relativ angebeben würde, könnte man ohne im Adminbereich eingeloggt zu sein nicht ja nicht darauf zugreifen. (Ich frage mich bis jetzt, was diese Angabe im CHangelog dann bedeuten soll). Nun habe ich mich den ganzen Tag mit Themen wie cgi-Scripten und allen möglichen Methoden wie man XML-Dateien manipuliert beschäftigt (ich bin jetzt nich so der eingefleischte Programmierer und habe von PHP eigentlich überhaupt keine Ahnung), um mit einem selbst erstellten Formular, dass auf ein selbst erstelltes cgi-Script verweißt, die entsprechende XML-Datei einfach selbst abzuändern. Das sah dann so aus: aus Code: <?php mail_newsletter_form($text='Add'); ?> Code: <form action="/newsletter_send_add.php" method="post" accept-charset="utf-8"> Die newsletter_send_add.php sollte das cgi script sein, dass dann einfach im Startverzeichniss rumlungert (ich bin mir nicht sicher gegen wie viele Sicherheitsrichtlinien ich dabei verstoßen haben könnte). Zwischendurch hab ich dann auch probiert das ganze in einer newsletter_send_add.js in Javascript zu realisieren, da mir dort der Syntax wenigstens nicht ganz so fremd ist wie in PHP (habe in der Schule mal Java gelernt). Allen Anstregungen, ein funktionierendes cgi-Script zusammenzubasteln, dass die XML-Datei mit der neuen Adresse, erweitert zum Trotz waren die Ergebnisse vernichtend. Also habe ich mir nochmal den Quelltext vom Plugin angeschaut und mir versucht, aus diesem Code das benötigte Script zusammenzubauen. Ergebnis ist bis jetzt folgendes: (ich hab mir die Funktionsnamen abgeändert, um nicht durcheinander zu kommen). Code: define (CONFIGFILE, GSDATAOTHERPATH . 'mail_newsletter.xml'); Jedenfalls wird das laut Quelltext im Grunde so gehandhabt, wenn eine Adresse aus dem Admin Bereich eingetragen werden soll. Resultat: sobald man das Formular nun abschickt kommt folgende Fehlermeldung Quote:Parse error: syntax error, unexpected T_STRING in /data/multiserv/users/184915/projects/1794475/www/newsletter_send_add.php on line 51 Das wäre diese Zeile: Code: $xml = @new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><item></item>'); Komischweiße funktioniert diese Stelle aber, wenn sie vom Original-Plugin ausgeführt wird (d.h. sobald man eine Adresse im Admin Bereich addet). Jetzt bin ich mit meinen grottigen Programmierkentnissen an einem Punkt angelangt, an dem es seit Stunden nicht mehr weiter geht und da bin ich sehr froh, dass es seit neuestem ein deutschsprachiges Forum gibt, auf dem sich hoffentlich jemand findet, der mir in meiner Situation weiter hilft. Ich wäre sehr dankebar dafür. Gruß ravens_legacy Probleme mit dem Newsletter Plugin - Connie - 2011-12-20 ja, ich hab das jetzt gelesen, aber ich habe soschnell keine Antwort für dich ich hab das Plugin noch nicht bearbeitet. Muss mal schauen, wie wir dir helfen können! Liebe Grüsse, Connie Probleme mit dem Newsletter Plugin - ravens_legacy - 2011-12-20 Problem gelöst. Ich weiß nur nicht inwiefern es eine Sicherheitslücke ist, dass im Startverzeichnis jetzt die "newsletter_send_app.php" ungeschützt rumliegt. Jedenfalls hier meine Lösung, die ich mit einem Kumpel erarbeitet habe: An der Stelle, wo das Formular auftauchen soll (z.B. sidebar) folgender Code: Code: <?php include("newsletter_send_add.php"); ?> Die newsletter_send_add.php liegt wie bereits erwähnt im Startverzeichnis der GS-Installation (also da wo auch die index.php liegt) und enthält folgenden Code: Code: <?php Dieser ist zum Großteil aus der originalen mail_newsletter.php im plugin Verzeichnis übernommen (die Funktionen heißen nur leicht anderst) Sicher hätte man auch gleich die mail_newsletter.php includen können, aber das haben wir nicht getestet, da wir momentan so zufrieden sind. Somit dürfte jeder jetzt E-mails eintragen dürfen. Ein Danke an alle, die sich dem Problem angnommen haben und vielleicht versucht haben eine Lösung zu finden. Grüße ravens_legacy Achja: Ehe ich's vergess Unbedingt noch in der mail_newsletter.php bei der Funktion sendnewsletter() die E-mail Adressen des Autors durch die austauschen, die man dem Server als Gateway angegeben hat. Sonst kann man verständlicherweiße nichts verschicken ;] Probleme mit dem Newsletter Plugin - Connie - 2011-12-20 Moin! Sag uns doch deinen richtigen Namen, ich für meine Person hab oft Schwierigkeiten jemand mit solch einem Zaubernamen anzusprechen ;=) soweit wie du jetzt bist, konnte ich noch gar nicht kommen, und du bist schon weiter. Es macht mir aber ein Problem, daß die Datei "newsletter_send_add.php" im Hauptverzeichnis liegt Habt Ihr mal versucht, das als Komponente einzubinden, mit exec-php evtl.? Oder als plugin-Datei im plugin-Verzeichnis? ansonsten sollte man unbedingt über eine .htaccess-Regel nachdenken "herumliegende" mail-sender-apps werden zu leicht mißbraucht Probleme mit dem Newsletter Plugin - ravens_legacy - 2011-12-20 Nunja, aus dem Plugin-Ordner bin ich bis jetzt noch nicht wirklich schlau geworden, sobald da etwas drin ist, dass offenbar nicht reingehört, legt das sie komplette Seite lahm. Wir haben auch versucht, das alles in das original-plugin einzubinden, was einen 403er Fehler beim aufrufen verursachte. Als Komponente müsste funktionieren, exec ist im Grunde gar nicht nötig, da das Formular eh in der Sidebar steht, die ja als Komponente realisiert wurde. Ich werds mal versuchen. Achja, ich heiße übrigends Rick Gruß Rick Edit: Versuch gelungen. Also ein letztes mal - Code für die newsletter_form - Componente: Code: <?php Die newsletter_send_add.php fällt weg (wurde alles in die Komponente verschoben). Sollte jetzt kein Sicherheitsrisiko mehr darstellen. Gruß Rick Probleme mit dem Newsletter Plugin - Connie - 2011-12-21 Mensch Rick, das ist klasse! Ich schaus mir die Tage mal genauer an, bin grad heftig beschäftigt (altes Haus, Wände renovieren, Ofen setzen, Weihnachten etc.. ) Gruss, Connie |