diff options
Diffstat (limited to 'src/lib/kdm.cc')
| -rw-r--r-- | src/lib/kdm.cc | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/src/lib/kdm.cc b/src/lib/kdm.cc index 49bfae20a..f5054b8ed 100644 --- a/src/lib/kdm.cc +++ b/src/lib/kdm.cc @@ -28,10 +28,10 @@ #include "util.h" #include "film.h" #include "config.h" +#include "safe_stringstream.h" using std::list; using std::string; -using std::stringstream; using std::cout; using boost::shared_ptr; @@ -232,21 +232,34 @@ email_kdms ( /* Send email */ quickmail_initialize (); - quickmail mail = quickmail_create (Config::instance()->kdm_from().c_str(), "KDM delivery"); + + SafeStringStream start; + start << from.date() << " " << from.time_of_day(); + SafeStringStream end; + end << to.date() << " " << to.time_of_day(); + + string subject = Config::instance()->kdm_subject(); + boost::algorithm::replace_all (subject, "$CPL_NAME", film->dcp_name ()); + boost::algorithm::replace_all (subject, "$START_TIME", start.str ()); + boost::algorithm::replace_all (subject, "$END_TIME", end.str ()); + boost::algorithm::replace_all (subject, "$CINEMA_NAME", i->cinema->name); + quickmail mail = quickmail_create (Config::instance()->kdm_from().c_str(), subject.c_str ()); + quickmail_add_to (mail, i->cinema->email.c_str ()); if (!Config::instance()->kdm_cc().empty ()) { quickmail_add_cc (mail, Config::instance()->kdm_cc().c_str ()); } + if (!Config::instance()->kdm_bcc().empty ()) { + quickmail_add_bcc (mail, Config::instance()->kdm_bcc().c_str ()); + } + string body = Config::instance()->kdm_email().c_str(); boost::algorithm::replace_all (body, "$CPL_NAME", film->dcp_name ()); - stringstream start; - start << from.date() << " " << from.time_of_day(); boost::algorithm::replace_all (body, "$START_TIME", start.str ()); - stringstream end; - end << to.date() << " " << to.time_of_day(); boost::algorithm::replace_all (body, "$END_TIME", end.str ()); boost::algorithm::replace_all (body, "$CINEMA_NAME", i->cinema->name); - stringstream screens; + + SafeStringStream screens; for (list<ScreenKDM>::const_iterator j = i->screen_kdms.begin(); j != i->screen_kdms.end(); ++j) { screens << j->screen->name << ", "; } |
