Pening emsil

This commit is contained in:
CHIEFSOFT\ameye
2024-10-03 13:18:10 -04:00
parent 358622fff2
commit e1e3f2ebde
2 changed files with 69 additions and 4 deletions
+58 -1
View File
@@ -13,6 +13,7 @@ void vars2form(CVars &v, C_CGI_Form &form);
extern int mailsend(CVars in, CVars &out);
long CronWelcomeAccountMail(CVars in);
long CronAccountPendingMail(CVars in) ;
long CronJobEmail(long mailtype, CVars in, CVars &out);
/*
@@ -45,6 +46,32 @@ CREATE TABLE email_message(
char vname[30];
long ret = PHP_API_BAD_PARAM;
try {
out["total_record"] = "0";
const PGresult *res;
res = pgsql_query("SELECT *, member_id AS pending_id FROM email_message WHERE topic ='WRENCHBOARD_ACCOUNT_PENDING' AND status = 1 ORDER BY id ASC LIMIT 20");
if (res != NULL && pgsql_num_rows(res) > 0) {
out["total_record"] = pgsql_num_rows(res);
for (int i = 0, n = pgsql_num_rows(res); i < n; i++) {
map<const char*, const char*>f = pgsql_fetch_assoc(res, i);
if (f.empty()) continue;
CVars rec;
map_to_cvars(f, rec);
pgsql_query("UPDATE email_message SET status = 2 WHERE id = %lu ", rec["id"].Long()); // move the status so no retry
CronAccountPendingMail(rec); // send the cron email
pgsql_query("UPDATE email_message SET status = 5, completed = now() WHERE id = %lu ", rec["id"].Long()); // move the status so no retry
}
}
ret = PHP_API_OK;
out["status"] = "OK";
} catch (bad_parameter) {
logfmt(logINFO, "ERROR CALL long WRENCHBOARD_ACCOUNT_LOGIN(CVars in, CVars &out)");
}
try {
out["total_record"] = "0";
const PGresult *res;
@@ -98,6 +125,36 @@ CREATE TABLE email_message(
return 0;
}
long CronAccountPendingMail(CVars in) //TESTED
{
REQ_LONG(in, "pending_id", 1, -1);
CVars x;
CVars out;
C_CGI_Form form("", "");
try{
form.LetStr("main_site_url", "https://www.wrenchboard.com/");
out["server_name"] = CfgReadChar("system.server_name");
form.LetStr("server_name", out["server_name"].c_str());
form.LetStr("site_name", "WrenchBoard");
form.LetStr("site_trade_name", "Connecting Opportunities");
if (load_db_record(x, "SELECT *,to_char(expire, 'Day Mon dd, yyyy HH:MI AM') AS expire,to_char(now(), 'yyyy') AS YYYY FROM members_pending WHERE id = %lu ", in["pending_id"].Long())) {
vars2form(x, form);
form.LetStr("email", x["email"].c_str());
if (x["signup_random"] != "" && x["signup_random"].Long() > 0 && in["mobile_email"].Long() == 100) {
form.Email("ACCOUNT/member_pending_mobile.mailfile");
} else {
form.Email("ACCOUNT/member_pending_mobile.mailfile");
}
}
} catch (bad_parameter) {
out["status"] = "ERROR";
}
return 0;
}
long CronWelcomeAccountMail(CVars in) // TESTED
{
REQ_LONG(in, "member_id", 1, -1);
@@ -153,7 +210,7 @@ long CronJobEmail(long mailtype, CVars in, CVars &out) {
vars2form(yr, form);
form.LetStr("subject", "New Job Offer Received");
form.LetStr("email", x["email"].c_str());
form.Email("JOB/job_offer_invidual.mailfile");
form.Email("JOB/job_offer_invidual.mailfile");
}
break;
+11 -3
View File
@@ -1379,7 +1379,7 @@ long ManagerAccountLoginMail(CVars in) {
long AccountPendingMail(CVars in) //TESTED
{
REQ_LONG(in, "pending_id", 1, -1);
CVars x;
CVars x,ml;
CVars out;
C_CGI_Form form("", "");
try{
@@ -1393,10 +1393,18 @@ long AccountPendingMail(CVars in) //TESTED
vars2form(x, form);
form.LetStr("email", x["email"].c_str());
if (x["signup_random"] != "" && x["signup_random"].Long() > 0 && in["mobile_email"].Long() == 100) {
form.Email("ACCOUNT/member_pending_mobile.mailfile");
ml["action"] = WRENCHBOARD_ACCOUNT_PENDING; ml["action"].set_valid( true );
ml["topic"] = "WRENCHBOARD_ACCOUNT_PENDING"; ml["topic"].set_valid( true );
ml["member_id"] = in["pending_id"]; ml["member_id"].set_valid( true );
submit_cron_email(ml);
// form.Email("ACCOUNT/member_pending_mobile.mailfile");
} else {
form.Email("ACCOUNT/member_pending_mobile.mailfile");
ml["action"] = WRENCHBOARD_ACCOUNT_PENDING; ml["action"].set_valid( true );
ml["topic"] = "WRENCHBOARD_ACCOUNT_PENDING"; ml["topic"].set_valid( true );
ml["member_id"] = in["pending_id"]; ml["member_id"].set_valid( true );
submit_cron_email(ml);
//form.Email("ACCOUNT/member_pending_mobile.mailfile");
}
}