Seite 1 von 1

[BETA] Mini Newsletter

Verfasst: 05.10.2008 20:38
von fragz
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

Verfasst: 06.10.2008 00:50
von test_nick
Coller Mod"""!!!!!"""

Verfasst: 06.10.2008 01:28
von djchrisnet
Die Idee dazu ist gut, doch ist mir folgendes aufgefallen:
  1. 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.
  2. 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."
  3. acp_newsletter.php

    Code: Alles auswählen

      mail($sendto,$_POST['betreff'],$_POST['message'],"From: ".$config['board_email']);
    
    newsletter.php

    Code: Alles auswählen

    $mode = "";
    	if ( isset($_GET['mode']) || isset($_POST['mode']) )
    	{
    	$mode = ( isset($_GET['mode']) ) ? $_GET['mode'] : $_POST['mode'];
    	$mode = htmlspecialchars($mode);
    Hier währe die phpbb eigene function request_var zu nutzen

    Code: Alles auswählen

    $mode = request_var('mode', '');
  4. 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'] )
    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
  5. 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.
  6. 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.
Die Liste geht leider noch weiter, werde sie per edit morgen abend aktuallisieren. Im großen und ganzen musste ihn den Mod wieder ausbauen, eine von mir überarbeite version stelle ich dir aber gerne bereit, du weisst ja wo du mich findest xD

Verfasst: 06.10.2008 06:15
von fragz
HiHo,

Jep, das es nicht der beste Code ist das ist klar. Den hatte ich gestern auf die schnelle in paar Minuten für nen Kollegen angepasst.

Der ist nochmal überarbeitungsfähig das ist klar, aber es ist ja auch noch eine Beta