From: Art Cancro Date: Mon, 1 Feb 2021 18:39:46 +0000 (-0500) Subject: more work on the new listdeliver module X-Git-Tag: v939~132 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=0349f8cc90767aa5ec7ab5690d94c76686c378ab more work on the new listdeliver module --- diff --git a/citadel/modules/listdeliver/serv_listdeliver.c b/citadel/modules/listdeliver/serv_listdeliver.c index c36a0fb53..d8b3060f1 100644 --- a/citadel/modules/listdeliver/serv_listdeliver.c +++ b/citadel/modules/listdeliver/serv_listdeliver.c @@ -43,6 +43,9 @@ int doing_listdeliver = 0; +void listdeliver_do_msg(long msgnum, void *userdata) { +} + void listdeliver_sweep_room(struct ctdlroom *qrbuf, void *data) { char *serialized_config = NULL; @@ -50,30 +53,40 @@ void listdeliver_sweep_room(struct ctdlroom *qrbuf, void *data) { char buf[SIZ]; int config_lines; int i; + int number_of_messages_processed = 0; + int number_of_recipients = 0; - serialized_config = LoadRoomNetConfigFile(qrbuf->QRnumber); - if (!serialized_config) { - syslog(LOG_DEBUG, "\033[31m %s has no netconfig \033[0m", qrbuf->QRname); + if (CtdlGetRoom(&CC->room, qrbuf->QRname)) { + syslog(LOG_DEBUG, "listdeliver: no room <%s>", qrbuf->QRname); return; } - syslog(LOG_DEBUG, "\033[32m %s has a netconfig \033[0m", qrbuf->QRname); + serialized_config = LoadRoomNetConfigFile(qrbuf->QRnumber); + if (!serialized_config) { + return; // no netconfig, no processing, no problem + } config_lines = num_tokens(serialized_config, '\n'); for (i=0; i 0) { + syslog(LOG_DEBUG, "listdeliver: processing new messages in <%s> for <%d> recipients", qrbuf->QRname, number_of_recipients); + number_of_messages_processed = CtdlForEachMessage(MSGS_GT, lastsent, NULL, NULL, NULL, listdeliver_do_msg, NULL); + syslog(LOG_DEBUG, "listdeliver: processed %d messages", number_of_messages_processed); + + if (number_of_messages_processed > 0) { + // FIXME write lastsent back to netconfig + } + } free(serialized_config); }