Benutzername    Passwort    Autologin    
  Passwort vergessen       Registrieren  
beeForum Foren-übersicht » hal9000 » mod support
Neues Thema eröffnen   Neue Antwort erstellen Hervorhebung entfernen


Anpassungs- und Ergänzungsvorschläge für StatusMail
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
staszek.g





Titel: Anpassungs- und Ergänzungsvorschläge für StatusMail
Verfasst am: Do, 29 Nov 2007, 19:16
Beitrag
Antworten mit Zitat

Hallo,

zuerst möchte ich mich für diesen MOD bedanken, denn das habe ich "schon immer" benötigt und erst jetzt entdeckt.
Super.

Da ich ein etwas spezifisches Forum betreue (bei mir sind nur Mitglieder unseres Verbandes zugelassen), musste ich den MOD etwas für unseren Bedarf anpassen.
Diese Anpassungen möchte ich hier vorstellen, damit sie eventuell in die nächste Version aufgenommen werden.

1.
Starten per Cronjob:
Beim Starten per Cronjob habe ich die Meldung, die am Ende eingeblendet wurde, abgeschaltet.
Ich lasse den Cronjob jeden Tag um 4:00 Uhr früh automatisch laufen, damit wird eine ganze Reihe von Funktionen abgearbeitet. Daher ist ein "message_die"-Aufruf ungünstig, denn er beendet die Ausführung des Scripts.
Eventuell sollte eine Möglichkeit geschaffen werden, dass der Admin den Versand aus dem ACP aufruft. Dann wäre eine solche Meldung sinnvoll. Für einen echten Cronjob ist ein "message_die"-Aufruf schlecht.

2.
Wenn der Versand per Cronjob aufgerufen wird, dann wird der Cronjob normalerweise um dieselbe Zeit gestartet. Je nach Anzahl der zu versendeden Mails werden sie in den nächsten Sekunden/Minuten verschickt. Damit fehlen normalerweise immer ein paar Sekunden zum Ablauf der eingestellten Anzahl der Tage und die Mail wird damit erst am nächsten Tag verschickt.
Wenn man in der SQL-Abfrage den Zeitraum z.B. um 10 Minuten verkürzt, dann wird die Mail regelmäßig z.B. alle 14 Tage verschickt.

Die entsprechende Zeile hieße dann:
Code:
WHERE (statusmail_last+(statusmail_days*86400) - 600) < ".time()." AND


3.
Wir brauchen eine Wahlmöglichkeit für die User: ob sie die StatusMail immer alle x Tage haben wollen oder nur dann, wenn sie auch schon mindestens x Tage nicht im Forum waren.
Dazu brauchen wir in der user-Tabelle ein weiteres Feld für diese Einstellung.
Wenn der User eingestellt hat, dass er StatusMail nur dann haben will, wenn er nicht im Forum war, wird dann wird die SQL-Abfrage um eine Zeile erweitert:
Code:
((user_session_time+(statusmail_days*86400)) < ".time()." OR statusmail_always = '1') AND

Damit sieht die SQL-Abfrage wie folgt aus:
Code:
WHERE (statusmail_last+(statusmail_days*86400) - 600) < ".time()." AND
((user_session_time+(statusmail_days*86400)) < ".time()." OR statusmail_always = '1') AND
statusmail_days > 0 AND...


Das Formular für die Einstellung der Häufigkeit und Auswahl der Foren habe ich entsprechend erweitert, damit die User diese Einstellung vornehmen können.
Standardmäßig bekommen sie die StatusMail nur, wenn sie so lange abwesend waren.

4.
Ich habe die Beiträge um den Namen des Verfassers ergänzt.
Die Abfrage sieht damit wie folgt aus:
Code:
$sql_posts = "SELECT MAX(p.post_id) AS last_post_id, t.topic_title, f.forum_name, c.cat_title, COUNT(*) AS anzahl";
// Anpassung
$sql_posts .= ", u.username";
// Anpassung
if ($row['statusmail_viewchars'] > 0)
{
   $sql_posts .= ", post_text";
}
$sql_posts .= " FROM ".POSTS_TABLE." p, ".TOPICS_TABLE." t, ".FORUMS_TABLE." f, ".CATEGORIES_TABLE." c";
// Anpassung
$sql_posts .= ", " . USERS_TABLE . " u";
// Anpassung
if ($row['statusmail_viewchars'] > 0)
{
   $sql_posts .= ", ".POSTS_TEXT_TABLE." pt";
}
$sql_posts .= " WHERE p.post_time > ".$int_lastdate." AND
p.topic_id = t.topic_id AND
p.forum_id IN (".$str_allowedforums.") AND
p.poster_id <> ".$row['user_id']." AND
p.forum_id = f.forum_id AND
f.cat_id = c.cat_id";
// Anpassung
$sql_posts .= " AND u.user_id = p.poster_id";
// Anpassung
...


und dann entsprechend nach der Auszählung der Beitragszahl die Einbindung:
Code:

$str_newposts .= "<u>".$lang['Author'].":</u> ".$row_posts['username']."<br /> \n";


Das sind die Sachen, die ich in meine StatusMail-Installation eingebaut habe.
Vielleicht könnten sie grundsätzlich bei der nächsten Version drin sein?

Was meint der MOD-Autor dazu?

Stanley

Nach oben
Rang:
boris



Beiträge: 11154

Titel: Re: Anpassungs- und Ergänzungsvorschläge für StatusMail
Verfasst am: Di, 04 Dez 2007, 22:05
Beitrag
Antworten mit Zitat

staszek.g @ Do, 29 Nov 2007, 19:16 gab folgendes von sich:
Was meint der MOD-Autor dazu?

Der meint: Danke für die Vorschläge Smile

Der Vorschlag, die Mail immer nur dann zu verschicken, wenn min. x Tage vergangen sind, würde ich vielleicht eher so bauen, daß die Mail nur dann verschickt wird, wenn min. x neue Beiträge vorliegen, aber mal sehen ...

... Hauptproblem ist eher: Zeit. Momentan entwickle ich an dem MOD nämlich überhaupt nicht, aber ich behalte deine Vorschläge im Hinterkopf !


____________
beehave - home of humbug ... [we can't afford to be neutral]

Nach oben
Private Nachricht senden Website dieses Benutzers besuchen Rang:godmode methusalem 3. platz professioneller Sportangler Profi-Winzer (7x Hamm) Arcade-Meister, Rang 16 rainbow-cup
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    beeForum Foren-übersicht » hal9000 » mod support Seite 1 von 1
Gehe zu:  



ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
Keine neuen Beiträge StatusMail hat keinen Inhalt, nur einen komischen An... staszek.g mod support 5 Di, 11 Dez 2007, 11:16 Letzten Beitrag anzeigen
Keine neuen Beiträge Bugfix StatusMail boris mod support 0 So, 04 Nov 2007, 10:08 Letzten Beitrag anzeigen
Keine neuen Beiträge StatusMail und Unterforen Moskito mod support 3 Do, 18 Okt 2007, 23:53 Letzten Beitrag anzeigen
Keine neuen Beiträge Frage zu Statusmail DJSonic mod support 5 Fr, 14 Sep 2007, 11:42 Letzten Beitrag anzeigen
Keine neuen Beiträge PHPBB3 StatusMail? Anev mod support 9 Mi, 30 Mai 2007, 05:28 Letzten Beitrag anzeigen


Schreiben: nein. Antworten: nein. Bearbeiten: nein. Löschen: nein. Umfragen: nein.
phpBB © phpBB Group | impressum