Mod Name: Mini Newsletter
Mod Beschreibung: Fügt dir einen Newsletter in dein Forum. User können sich selber Ein oder Austragen
Mod Version: [BETA] 0.6.0
phpBB Version: phpBB 3.0.x
Mod Download: Download
[BETA] Mini Newsletter
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
- djchrisnet
- Mitglied
- Beiträge: 1275
- Registriert: 29.06.2007 15:52
- Wohnort: Elmshorn
- Kontaktdaten:
Die Idee dazu ist gut, doch ist mir folgendes aufgefallen:
- in varible NEWSLETTER_TEXT des lang files steht: Post oder Informationen Informaiert zu werden.
meiner meinung klingt das neben den rechtschreibfehlern recht holprig, aber ist vll ansichtssache. - Das ACP Modul enthält keinerlei Informationen, was ich in dem Textfeld nutzen darf, was nicht. auch die anzahl der eingetragenen Benutzer währe hier vor den absenden von interresse. Ausserdem erhalte ich nach dem absenden die Meldung: "Konfiguration erfolgreich aktualisiert."
- acp_newsletter.phpnewsletter.php
Code: Alles auswählen
mail($sendto,$_POST['betreff'],$_POST['message'],"From: ".$config['board_email']);
Hier währe die phpbb eigene function request_var zu nutzenCode: Alles auswählen
$mode = ""; if ( isset($_GET['mode']) || isset($_POST['mode']) ) { $mode = ( isset($_GET['mode']) ) ? $_GET['mode'] : $_POST['mode']; $mode = htmlspecialchars($mode);
Code: Alles auswählen
$mode = request_var('mode', '');
- Wir laden die daten der zeile mit der user_id ab und prüfen ob die user_id noch die selbe ist? Wenn der user nicht für den newsletter angemeldet ist, wird dieser vergleich zwar nicht true zurückgeben, da aber $row den wert false zurückgibt, weil der user nicht eingetragen ist, existiert der index "user_id" der variable nicht und gibt im Debug Modus einen Fehler zurück
Code: Alles auswählen
$sql = 'SELECT * FROM ' . NEWSLETTER_TABLE .' WHERE user_id = ' . $user->data['user_id'] . ''; $result = $db->sql_query($sql); $row = $db->sql_fetchrow($result); if ( $user->data['user_id'] == $row['user_id'] )
- Die benutzung einer eigenen Tabelle ist in meinen augen nicht besonders optimal. In Tabelle _users sind alle daten vorhanden, hier müsste eine neue Spalte erstellt werden, die entweder 0 oder 1 beinhaltet und im ACP im WHERE Befehl abgefragt wird. der username ist Utf-8 formartiert und möchte in der DB auch als solches gespeichert werden. Dies fehlt im SQL-Query zur erstellung der Tabelle.
- Eine Überprüfung, ob in eingetragen bin oder nicht, sollte mir die möglichen links in popup einschränken. Ein vorschlag währe, dem benutzer nach erfolgreichem eintrag einen window.close link zu geben.