We Miss You! Plugin - Druckversion +- MyBB.de Forum (https://www.mybb.de/forum) +-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html) +--- Forum: Plugin-Veröffentlichungen und -Support (https://www.mybb.de/forum/forum-82.html) +--- Thema: We Miss You! Plugin (/thread-20520.html) |
RE: We Miss You! Plugin 1.0 - borsti67 - 07.09.2009 muss das doch mal wieder ausgraben... Das quartalsweise senden klappt erwartungsgemäß. Dennoch werden ALLE inaktiven User angeschrieben, weil nach wie vor die "myesent" nicht aktualisiert wird. Ich habe noch keine "schreibenden" PHP/SQL-Zeilen gemacht, daher würde ich mich sehr freuen, wenn sich da mal einer erbarmen würde...!? Wo die Zeile hinkommt ist mir ja noch klar... €dit: Außerdem müsste doch "myesent" wieder auf 0 gesetzt werden, wenn der User sich eingeloggt hatte - da fehlt also noch mehr in diesem Plugin. Diese Zeile würde ich übrigens auch ändern wollen: PHP-Code: $users = $db->simple_select("users", "username, email, myesent", "lastactive <= '".$cutoff."'"); ...denn dadurch werden auch "unerwünschte" angeschrieben. Wäre es so nicht besser: PHP-Code: $users = $db->simple_select("users", "username, email, myesent", "usergroup not in ('7','9') and lastactive <= '".$cutoff."'"); (7 sind "gebannte" und 9 "gelöschte" User hier) - sind Syntax und Sinn korrekt? RE: We Miss You! Plugin 1.0 - StefanT - 08.09.2009 Die Datenbank kannst du damit ändern: PHP-Code: $db->update_query('users', array('myesent' => 1), 'uid='.intval($uid)); Für den Login kannst du den Hook member_do_login_end benutzen. RE: We Miss You! Plugin 1.0 - borsti67 - 08.09.2009 Hi Stefan, nachdem ich nun danach suchte, wo das mit dem Hook zum Tragen kommt, stellte ich fest, dass die Funktion zum Rücksetzen doch drin ist (allerdings auf "global_end", ich hoffe, dass das auch geht...). Bezüglich der Queries, wäre das dann so richtig: PHP-Code: $users = $db->simple_select("users", "uid, username, email, myesent", "usergroup not in ('7','9') and lastactive <= '".$cutoff."'"); Will mir da ja nun nix zerschießen. :undecided: ($user wird mittels fetch_db gefüllt) Muss es wirklich "=>" sein, nicht "="? Das "Nullsetzen" im Hook sieht nämlich so aus: PHP-Code: $db->update_query("user", "myesent=0", "uid='".intval($mybb->user['uid'])."'"); RE: We Miss You! Plugin 1.0 - StefanT - 09.09.2009 Mein Code ist korrekt. Ob das andere auch geht, weiß ich nicht. Es muss aber auf jeden Fall users heißen. RE: We Miss You! Plugin 1.0 - borsti67 - 10.09.2009 ok, habe mich nun mal da ran gewagt... Ich stelle fest, in dem Plugin ist noch 'ne Menge Handlungsbedarf! Wer die Korrekturen nachziehen will, bisher habe ich folgendes getan: missyouemail.php suche PHP-Code: $db->update_query("user", "myesent=0", "uid='".intval($mybb->user['uid'])."'"); ersetze durch PHP-Code: $db->update_query('users', array('myesent' => 0), 'uid='.intval($mybb->user['uid'])); dailymissyouemail.php suche PHP-Code: $users = $db->simple_select("users", "username, email, myesent", "lastactive <= '".$cutoff."'"); ersetze durch PHP-Code: $users = $db->simple_select("users", "uid, username, email, myesent", "usergroup not in ( 7, 9 ) and lastactive <= '".$cutoff."'"); nach der Zeile PHP-Code: my_mail($user['email'], $mass_email['subject'], $mass_email['message']); ergänze PHP-Code: $db->update_query('users', array('myesent' => 1), 'uid='.intval($user['uid'])); ... dann werden zumindest schon mal die nicht mehr angeschrieben, die auf die vorige Mail nicht reagiert haben; außerdem keine gebannten oder gelöschten User (wer diese Gruppen eingerichtet hat, muss die Nummern im "not in..." Teil ggf. anpassen, oder diesen Part einfach ganz weglassen!). Damit man besser prüfen kann, wer denn nun tatsächlich eine Mail bekommen hat, habe ich die zusätzliche Logzeile eingebaut. Die kann natürlich ersatzlos entfallen. Drei Dinge sind mir aber weiterhin unklar:
RE: We Miss You! Plugin 1.0 - StefanT - 11.09.2009 1) Da hast du Recht. 2) Ich habe mir den Code nicht angeschaut, aber du wirst schon Recht haben. 3) Auch wenn es sich nicht ändert, ist es trotzdem eine Variable. Deshalb wird das wohl jedes Mal ersetzt. RE: We Miss You! Plugin 1.0 - borsti67 - 12.09.2009 Hm. Dann muss ich das wohl komplett überarbeiten... Na mal schau'n. RE: We Miss You! Plugin 1.0 - borsti67 - 13.09.2009 Was haltet ihr denn davon? Diesmal der Einfachheit halber die ganze Datei... PHP-Code: <?php |