Ich suche nach einer Möglichkeit, E-Mails an Benutzer zu senden, deren Zertifikat abgelaufen ist (oder an Benutzer, die vor einiger Zeit Quiz bestanden haben). Der beste Weg, der zu mir passt, ist, nicht in Zertifikats-/Quizmoduldateien einzubeziehen. Ich denke, dass Cron die beste Lösung sein wird, aber keine Ahnung von Cron-Jobs haben.Moodle E-Mail an Benutzer mit abgelaufenem Zertifikat
Antwort
Welche Version von Moodle verwenden Sie? Cron ist der alte Weg, ab Moodle 2.7+ sollten Sie geplante Aufgaben verwenden.
Zusammengefasst erstellen ein lokales Plugin
https://docs.moodle.org/dev/Local_plugins
Dann eine geplante Aufgabe hinzufügen, um alle Zertifikate das Haltbarkeitsdatum überschritten zu erhalten
https://docs.moodle.org/dev/Task_API
Dann Messaging verwenden, um eine E-Mail senden - werfen Sie einen Blick auf diese Antwort (ignoriere die Ereigniscode)
Email using cron and including attachment to email from moodle
Danke für die Antwort, aber ich dachte, dass es einfacher sein könnte. Ich dachte darüber nach, cron einzurichten, um das Zertifikat zu überprüfen, wenn abgelaufen, wenn ja, dann füge ich den Wert in die neue Spalte in der Zertifikatstabelle ein, um das nächste Mal zu erkennen, wenn die Nachricht gesendet wurde. – bgolemba
Haben Sie einen Blick auf [diese] (http://stackoverflow.com/questions/18737407/how-to-create-cron-job-using-php) SO Frage für Cron-Jobs von PHP? – kayess
Ja, ich habe es gelesen, habe aber keine Ahnung, wo ich den richtigen Job einrichten soll: in cron.php, das auf dem Webserver lag oder in moodle cron.php. Auch ich weiß nicht viel über Cron-Syntax. Im Allgemeinen muss ich einige Daten aus db auswählen und Job ausführen, wenn die Kriterien erfüllt wurden. – bgolemba