From c559475f86c7cc359a3105536524c4f9964a017b Mon Sep 17 00:00:00 2001 From: Olusesan Ameye Date: Sat, 9 Mar 2019 01:43:46 +0000 Subject: [PATCH] Backend Service --- mermsemr/etc/mermsemr_api.conf | 20 +- mermsemr/src/include/function_members.h | 8 +- mermsemr/src/shared_tool/function_members.cc | 597 +++++++++--------- mermsemr/src/shared_tool/medTEmails.cc | 49 +- mermsemr/src/shared_tool/medTrMembers.cc | 89 +-- mermsemr/src/shared_tool/mermsemr_api_main.cc | 3 + 6 files changed, 346 insertions(+), 420 deletions(-) diff --git a/mermsemr/etc/mermsemr_api.conf b/mermsemr/etc/mermsemr_api.conf index e81c2bd..3d49566 100644 --- a/mermsemr/etc/mermsemr_api.conf +++ b/mermsemr/etc/mermsemr_api.conf @@ -23,22 +23,12 @@ database: mailsend: { - from = "support@kleenapp.co"; - server = "smtpout.secureserver.net"; - domain = "kleenapp.com"; - user = "support@kleenapp.co"; - pass = "Kle@nAp1!"; - name = "Kleen Demo Support"; -}; - -mailsendOLD: -{ - from = "support@wrenchboard.com"; + from = "savvy@chiefsoft.com"; server = "smtp.gmail.com"; - domain = "kleenapp.com"; - user = "support@wrenchboard.com"; - pass = "may12002!"; - name = "Kleen Demo Support"; + domain = "mermsemr.com"; + user = "savvy@chiefsoft.com"; + pass = "may12002"; + name = "MERMS EHR"; }; stripe: diff --git a/mermsemr/src/include/function_members.h b/mermsemr/src/include/function_members.h index 7bd893e..e9693c2 100644 --- a/mermsemr/src/include/function_members.h +++ b/mermsemr/src/include/function_members.h @@ -2,12 +2,14 @@ #define __mx_function_members_h__ #include "vars.h" +long MemberLogin(CVars in, CVars &out); +long MemberSessionCheck(long uid, const char *sessionid, int create ); +long CreateMember(CVars in, CVars &out); + + long DeletAallCards(CVars in, CVars &out); -long medTMemberLogin(CVars in, CVars &out); -long medTrCreateMember(CVars in, CVars &out); long medTrUpdateProfile(CVars in, CVars &out); long kleenNewLundryPickUp(CVars in, CVars &out); -long SessionCheck(long uid, const char *sessionid, int create ); long medTrUpdateStartProfile(CVars in, CVars &out); long getServiceDetail(long service_id, CVars &out); long medTrMemberTransportList(CVars in, CVars &out); diff --git a/mermsemr/src/shared_tool/function_members.cc b/mermsemr/src/shared_tool/function_members.cc index 6b6d2d7..3e72a3d 100644 --- a/mermsemr/src/shared_tool/function_members.cc +++ b/mermsemr/src/shared_tool/function_members.cc @@ -21,6 +21,308 @@ /* -- */ #include "function_members.h" + + +long MemberLogin(CVars in, CVars &out) { + long ret = PHP_API_BAD_PARAM; + + try { + REQ_STRING(in, "username", 2, 49, "(.*)"); + REQ_STRING(in, "password", 2, 49, "(.*)"); + const char * loc = getenv("REMOTE_ADDR"); + ret = load_db_record(out, "SELECT UPPER( md5( now()::text) ) AS sessionid,m.*,mp.*,m.id AS member_id,mp.id AS member_profile_id FROM members m \ + LEFT JOIN members_profile mp ON mp.member_id = m.id \ + WHERE m.status=1 AND LOWER(m.username)=LOWER('%s') AND m.password= md5('%s')", in["username"].c_str(), in["password"].c_str()); + if (ret && out["member_id"].Long() > 0) { + // remove all existing session + pgsql_exec("DELETE FROM members_session WHERE member_id=%ld ", out["member_id"].Long()); + // Create New Session Now + if (MemberSessionCheck(out["member_id"].Long(), out["sessionid"].c_str(), 1) > 0) { + + + out["stauts"] = "OK"; + /*LOAD THE SESSION INTO OUT now */ + load_db_record(out, "SELECT session FROM members_session WHERE member_id=%lu ORDER BY id DESC LIMIT 1", out["member_id"].Long()); + //Email-bad member_email_calls(in["action"].Long(), out, out); + //=============================================================================================================================== + pgsql_query("UPDATE members SET last_login = now() WHERE id = %lu", out["member_id"].Long()); + // account_email(ACCOUNT_LOGIN_ALERT,out,out); // ALERT CUSTOMER OF LOGIN + ret = PHP_LOGIN_OK; + } else { + out["status"] = "Session check failed"; + } + + + } else { + out["status_message"] = "Invalid Username/Password"; + } + + + } catch (bad_parameter) { + logfmt(logINFO, "ERROR CALL long medTMemberLogin(CVars in, CVars &out)"); + } + + return ret; +} + +long MemberSessionCheck(long uid, const char *sessionid, int create) { + logfmt(logINFO, "long MemberSessionCheck(long uid, const char *sessionid, int create )"); + // Sanity check + + long session_expired_minutes = 15; // load in the global + + + if (uid < 1 || sessionid == NULL || strlen(sessionid) < 4) { + return -1L; // Invalif parameters + } + logfmt(logINFO, "#######-#########-A"); + // Clean old sessions + if (create == 1) // Clean Previous session by force + { + pgsql_exec("DELETE FROM members_session WHERE member_id=%ld", uid); + } + logfmt(logINFO, "#######-#########-B"); + + pgsql_exec("DELETE FROM members_session WHERE member_id=%ld AND updated < (now() - interval '%lu minutes')", uid, session_expired_minutes); + // Update/check existing session + if (create == 0) { + + pgsql_exec("UPDATE members_session SET updated=NOW() WHERE member_id=%ld AND session='%s'", uid, sessionid); + + const PGresult *res = pgsql_query("SELECT * FROM members_session WHERE member_id=%ld AND session='%s'", uid, sessionid); + if (res != NULL && pgsql_num_rows(res) > 0) { + logfmt(logINFO, "VALID SESSION *****"); + return 1L; // Session updated + } else { + logfmt(logINFO, "INVALID SESSION *****"); + //INVALID SESSION DETECTED + return -1L; // Invalid parameters + } + + } + + if (create > 0) { + // Check session i? + const PGresult *res = pgsql_query("SELECT * FROM members_session WHERE member_id=%ld AND session<>'%s'", uid, sessionid); + if (res != NULL && pgsql_num_rows(res) > 0) { + return -2L; // Active sessions found + } + CVars sess; // Do we have the same session already? + if (load_db_record(sess, "SELECT * FROM members_session WHERE member_id=%lu AND session='%s'", uid, sessionid) > 0) { + pgsql_exec("UPDATE members_session SET updated=NOW() WHERE member_id=%ld AND session='%s'", uid, sessionid); + return sess["id"].Long(); + } + // Create a new session + const char * loc = getenv("REMOTE_ADDR"); + sess["loc"] = loc; + sess["loc"].set_valid(true); + sess["member_id"] = uid; + sess["member_id"].set_valid(true); + sess["session"] = sessionid; + sess["session"].set_valid(true); + long sid = insert_db_record(DBS_VALID, "members_session", "members_session_id_seq", sess); //members_session_id_seq + if (sid > 0) { + return sid; // New session created + } + return -3L; // Failed to create new session + } + logfmt(logINFO, "/long MemberSessionCheck(long uid, const char *sessionid, int create )"); + return 0L; // No route +} + + +long CreateMember(CVars in, CVars &out) { + long ret = PHP_API_BAD_PARAM; + logfmt(logINFO, "medTrCreateMember()"); + + try { + + // REQ_LONG(in, "pid", 0, -1); + REQ_STRING(in, "username", 5, 49, "(.*)"); + REQ_STRING(in, "firstname", 2, 49, "(.*)"); + REQ_STRING(in, "lastname", 2, 49, "(.*)"); + OPTIONAL(in, "phone") REQ_STRING(in, "phone", 5, 23, "(.*)"); + REQ_STRING(in, "password", 5, 49, "(.*)"); + OPTIONAL(in, "phone") REQ_STRING(in, "loc", 5, 16, "(.*)"); + OPTIONAL(in, "login") REQ_LONG(in, "login", 0, -1); + + long member_id = 0; + + //REQ_STRING (in, "sessionid", 4, 40, "(.*)"); + const char * loc = getenv("REMOTE_ADDR"); + + ret = load_db_record(out, "SELECT *,id AS member_id FROM members WHERE LOWER(username)=LOWER('%s') ", in["username"].c_str()); + if (ret > 0) { + + + + // LETS CREATE THE ACOUNT NOW + CVars x; + + x["username"] = in["username"]; + x["username"].set_valid(true); + x["firstname"] = in["firstname"]; + x["firstname"].set_valid(true); + x["lastname"] = in["lastname"]; + x["lastname"].set_valid(true); + x["phone"] = in["phone"]; + x["phone"].set_valid(true); + x["loc"] = in["loc"]; + x["loc"].set_valid(true); + x["email"] = in["email"]; + x["email"].set_valid(true); + x["password"] = in["email"]; + x["password"].set_valid(true); + out["member_id"] = insert_db_record(DBS_VALID, "members", "members_id_seq", x); + if (out["member_id"].Long() > 0) { + pgsql_query("UPDATE members SET password = md5('%s') WHERE id = %lu", in["password"].c_str(), out["member_id"].Long()); // setting the password MD5 now + // Now Send Email + ret = PHP_API_OK; + out["status"] = "OK"; + member_id = out["member_id"].Long(); + + //---emailbad member_email_calls(MERMS_USER_CREATEACCOUNT, out, out); + // out["member_id"] = member_id; + + // if (in["login"] != "" && in["login"] == 1) { + in["action"] = MERMS_USER_LOGIN; + in["action"].set_valid(true); // needed for next action to know what email to send + ret = MemberLogin(in, out); + ret = 100; // needed if login is good + // } + + // ============== + } + + + } else { + // LETS CREATE THE ACOUNT NOW + CVars x; + + x["username"] = in["username"]; + x["username"].set_valid(true); + x["firstname"] = in["firstname"]; + x["firstname"].set_valid(true); + x["lastname"] = in["lastname"]; + x["lastname"].set_valid(true); + x["phone"] = in["phone"]; + x["phone"].set_valid(true); + x["loc"] = in["loc"]; + x["loc"].set_valid(true); + x["email"] = in["email"]; + x["email"].set_valid(true); + x["password"] = in["email"]; + x["password"].set_valid(true); + out["member_id"] = insert_db_record(DBS_VALID, "members", "members_id_seq", x); + if (out["member_id"].Long() > 0) { + pgsql_query("UPDATE members SET password = md5('%s') WHERE id = %lu", in["password"].c_str(), out["member_id"].Long()); // setting the password MD5 now + // Now Send Email + ret = PHP_API_OK; + out["status"] = "OK"; + + + //Email bad member_email_calls(in["action"].Long(), out, out); + + // if (in["login"] != "" && in["login"] == 1) { + in["action"] = MERMS_USER_LOGIN; + in["action"].set_valid(true); // needed for next action to know what email to send + ret = MemberLogin(in, out); + ret = 100; // needed if login is good + // } + + // ============== + } + } + + + +}catch (bad_parameter) { + logfmt(logINFO, "ERROR CALL medTrCreateMember"); + + } + + + + logfmt(logINFO, "/medTrCreateMember()"); + return ret; +} + +long medTrUpdateStartProfile(CVars in, CVars &out) { + + long ret = medTrUpdateProfile(in, out); + if (ret == PHP_API_OK) { + load_db_record(out, "SELECT UPPER( md5( now()::text) ) AS sessionid,m.*,mp.*,m.id AS member_id,mp.id AS member_profile_id FROM members m \ + LEFT JOIN members_profile mp ON mp.member_id = m.id \ + WHERE m.id = %lu", in["member_id"].Long()); + + // We need to have the session back + load_db_record(out, "SELECT * FROM members_session WHERE member_id = %lu ORDER BY id DESC limit 1", in["member_id"].Long()); + + } + return ret; +} + +long medTrUpdateProfile(CVars in, CVars &out) { + long ret = PHP_API_BAD_PARAM; + logfmt(logINFO, "medTrUpdateProfile()"); + REQ_LONG(in, "pid", 0, -1); + REQ_LONG(in, "member_id", 0, -1); + REQ_STRING(in, "street1", 2, 49, "(.*)"); + OPTIONAL(in, "street2") REQ_STRING(in, "street2", 1, 49, "(.*)"); + REQ_STRING(in, "city", 5, 49, "(.*)"); + // OPTIONAL(in, "phone") REQ_STRING(in, "phone", 5, 23, "(.*)"); + REQ_STRING(in, "zipcode", 1, 12, "(.*)"); + REQ_STRING(in, "state", 1, 3, "(.*)"); + REQ_STRING(in, "country", 1, 3, "(.*)"); + REQ_STRING(in, "loc", 5, 16, "(.*)"); + + //REQ_STRING (in, "sessionid", 4, 40, "(.*)"); + const char * loc = getenv("REMOTE_ADDR"); + CVars x; + x["pid"] = in["pid"]; + x["pid"].set_valid(true); + x["street1"] = in["street1"]; + x["street1"].set_valid(true); + x["street2"] = in["street2"]; + x["street2"].set_valid(true); + x["city"] = in["city"]; + x["city"].set_valid(true); + // x["phone"] = in["phone"]; + // x["phone"].set_valid(true); + x["zipcode"] = in["zipcode"]; + x["zipcode"].set_valid(true); + x["loc"] = in["loc"]; + x["loc"].set_valid(true); + x["state"] = in["state"]; + x["state"].set_valid(true); + x["country"] = in["country"]; + x["country"].set_valid(true); + + ret = load_db_record(out, "SELECT *,id AS member_profile_id FROM members_profile WHERE member_id = %lu ", in["member_id"].Long()); + if (ret > 0) { + update_db_record(DBS_VALID, "members_profile", x, in["member_profile_id"].Long()); + member_email_calls(in["action"].Long(), in, out); + ret = PHP_API_OK; + } else { + // LETS CREATE THE ACOUNT NOW + x["member_id"] = in["member_id"]; + x["member_id"].set_valid(true); + out["member_profile_id"] = insert_db_record(DBS_VALID, "members_profile", "members_profile_id_seq", x); + if (out["member_profile_id"].Long() > 0) { + member_email_calls(in["action"].Long(), in, out); + // Now Send Email + ret = PHP_API_OK; + // ============== + } + } + logfmt(logINFO, "/medTrUpdateProfile()"); + return ret; +} + + + +//------------------------------------------------------ + long serviceCost(long service_id, long discount_rate); long medTrMemberTransportById(CVars in, CVars &out) { @@ -275,112 +577,7 @@ long getServiceDetail(long service_id, CVars &out) { -long medTMemberLogin(CVars in, CVars &out) { - long ret = PHP_API_BAD_PARAM; - try { - REQ_STRING(in, "username", 2, 49, "(.*)"); - REQ_STRING(in, "password", 2, 49, "(.*)"); - const char * loc = getenv("REMOTE_ADDR"); - ret = load_db_record(out, "SELECT UPPER( md5( now()::text) ) AS sessionid,m.*,mp.*,m.id AS member_id,mp.id AS member_profile_id FROM members m \ - LEFT JOIN members_profile mp ON mp.member_id = m.id \ - WHERE m.status=1 AND LOWER(m.username)=LOWER('%s') AND m.password= md5('%s')", in["username"].c_str(), in["password"].c_str()); - if (ret && out["member_id"].Long() > 0) { - // remove all existing session - pgsql_exec("DELETE FROM members_session WHERE member_id=%ld ", out["member_id"].Long()); - // Create New Session Now - if (SessionCheck(out["member_id"].Long(), out["sessionid"].c_str(), 1) > 0) { - - - out["stauts"] = "OK"; - /*LOAD THE SESSION INTO OUT now */ - load_db_record(out, "SELECT session FROM members_session WHERE member_id=%lu ORDER BY id DESC LIMIT 1", out["member_id"].Long()); - member_email_calls(in["action"].Long(), in, out); - //=============================================================================================================================== - pgsql_query("UPDATE members SET last_login = now() WHERE id = %lu", out["member_id"].Long()); - // account_email(ACCOUNT_LOGIN_ALERT,out,out); // ALERT CUSTOMER OF LOGIN - ret = PHP_LOGIN_OK; - } else { - out["status"] = "Session check failed"; - } - - - } else { - out["status_message"] = "Invalid Username/Password"; - } - - - } catch (bad_parameter) { - logfmt(logINFO, "ERROR CALL long medTMemberLogin(CVars in, CVars &out)"); - } - - return ret; -} - -long SessionCheck(long uid, const char *sessionid, int create) { - logfmt(logINFO, "long SessionCheck(long uid, const char *sessionid, int create )"); - // Sanity check - - long session_expired_minutes = 15; // load in the global - - - if (uid < 1 || sessionid == NULL || strlen(sessionid) < 4) { - return -1L; // Invalif parameters - } - logfmt(logINFO, "#######-#########-A"); - // Clean old sessions - if (create == 1) // Clean Previous session by force - { - pgsql_exec("DELETE FROM members_session WHERE member_id=%ld", uid); - } - logfmt(logINFO, "#######-#########-B"); - - pgsql_exec("DELETE FROM members_session WHERE member_id=%ld AND updated < (now() - interval '%lu minutes')", uid, session_expired_minutes); - // Update/check existing session - if (create == 0) { - - pgsql_exec("UPDATE members_session SET updated=NOW() WHERE member_id=%ld AND session='%s'", uid, sessionid); - - const PGresult *res = pgsql_query("SELECT * FROM members_session WHERE member_id=%ld AND session='%s'", uid, sessionid); - if (res != NULL && pgsql_num_rows(res) > 0) { - logfmt(logINFO, "VALID SESSION *****"); - return 1L; // Session updated - } else { - logfmt(logINFO, "INVALID SESSION *****"); - //INVALID SESSION DETECTED - return -1L; // Invalid parameters - } - - } - - if (create > 0) { - // Check session i? - const PGresult *res = pgsql_query("SELECT * FROM members_session WHERE member_id=%ld AND session<>'%s'", uid, sessionid); - if (res != NULL && pgsql_num_rows(res) > 0) { - return -2L; // Active sessions found - } - CVars sess; // Do we have the same session already? - if (load_db_record(sess, "SELECT * FROM members_session WHERE member_id=%lu AND session='%s'", uid, sessionid) > 0) { - pgsql_exec("UPDATE members_session SET updated=NOW() WHERE member_id=%ld AND session='%s'", uid, sessionid); - return sess["id"].Long(); - } - // Create a new session - const char * loc = getenv("REMOTE_ADDR"); - sess["loc"] = loc; - sess["loc"].set_valid(true); - sess["member_id"] = uid; - sess["member_id"].set_valid(true); - sess["session"] = sessionid; - sess["session"].set_valid(true); - long sid = insert_db_record(DBS_VALID, "members_session", "members_session_id_seq", sess); //members_session_id_seq - if (sid > 0) { - return sid; // New session created - } - return -3L; // Failed to create new session - } - logfmt(logINFO, "/long SessionCheck(long uid, const char *sessionid, int create )"); - return 0L; // No route -} vector split_string(const char *str, char c = ' ') { @@ -631,195 +828,5 @@ long serviceCost(long service_id, long discount_rate) { return service_cost; } -long medTrCreateMember(CVars in, CVars &out) { - long ret = PHP_API_BAD_PARAM; - logfmt(logINFO, "medTrCreateMember()"); - - try { - - REQ_LONG(in, "pid", 0, -1); - REQ_STRING(in, "username", 5, 49, "(.*)"); - REQ_STRING(in, "firstname", 2, 49, "(.*)"); - REQ_STRING(in, "lastname", 2, 49, "(.*)"); - OPTIONAL(in, "phone") REQ_STRING(in, "phone", 5, 23, "(.*)"); - REQ_STRING(in, "password", 5, 49, "(.*)"); - OPTIONAL(in, "phone") REQ_STRING(in, "loc", 5, 16, "(.*)"); - OPTIONAL(in, "login") REQ_LONG(in, "login", 0, -1); - - long member_id = 0; - - //REQ_STRING (in, "sessionid", 4, 40, "(.*)"); - const char * loc = getenv("REMOTE_ADDR"); - - ret = load_db_record(out, "SELECT *,id AS member_id FROM members WHERE LOWER(username)=LOWER('%s') ", in["username"].c_str()); - if (ret > 0) { - - - - // LETS CREATE THE ACOUNT NOW - CVars x; - x["pid"] = in["pid"]; - x["pid"].set_valid(true); - x["username"] = in["username"]; - x["username"].set_valid(true); - x["firstname"] = in["firstname"]; - x["firstname"].set_valid(true); - x["lastname"] = in["lastname"]; - x["lastname"].set_valid(true); - x["phone"] = in["phone"]; - x["phone"].set_valid(true); - x["loc"] = in["loc"]; - x["loc"].set_valid(true); - x["email"] = in["email"]; - x["email"].set_valid(true); - x["password"] = in["email"]; - x["password"].set_valid(true); - out["member_id"] = insert_db_record(DBS_VALID, "members", "members_id_seq", x); - if (out["member_id"].Long() > 0) { - pgsql_query("UPDATE members SET password = md5('%s') WHERE id = %lu", in["password"].c_str(), out["member_id"].Long()); // setting the password MD5 now - // Now Send Email - ret = PHP_API_OK; - out["status"] = "OK"; - member_id = out["member_id"].Long(); - - member_email_calls(MEDTRANS_USER_CREATE, out, out); - // out["member_id"] = member_id; - - // if (in["login"] != "" && in["login"] == 1) { - in["action"] = MEDTRANS_USER_LOGIN; - in["action"].set_valid(true); // needed for next action to know what email to send - ret = medTMemberLogin(in, out); - ret = 100; // needed if login is good - // } - - // ============== - } - - - } else { - // LETS CREATE THE ACOUNT NOW - CVars x; - x["pid"] = in["pid"]; - x["pid"].set_valid(true); - x["username"] = in["username"]; - x["username"].set_valid(true); - x["firstname"] = in["firstname"]; - x["firstname"].set_valid(true); - x["lastname"] = in["lastname"]; - x["lastname"].set_valid(true); - x["phone"] = in["phone"]; - x["phone"].set_valid(true); - x["loc"] = in["loc"]; - x["loc"].set_valid(true); - x["email"] = in["email"]; - x["email"].set_valid(true); - x["password"] = in["email"]; - x["password"].set_valid(true); - out["member_id"] = insert_db_record(DBS_VALID, "members", "members_id_seq", x); - if (out["member_id"].Long() > 0) { - pgsql_query("UPDATE members SET password = md5('%s') WHERE id = %lu", in["password"].c_str(), out["member_id"].Long()); // setting the password MD5 now - // Now Send Email - ret = PHP_API_OK; - out["status"] = "OK"; - - - member_email_calls(in["action"].Long(), out, out); - - // if (in["login"] != "" && in["login"] == 1) { - in["action"] = MEDTRANS_USER_LOGIN; - in["action"].set_valid(true); // needed for next action to know what email to send - ret = medTMemberLogin(in, out); - ret = 100; // needed if login is good - // } - - // ============== - } - } - - - -}catch (bad_parameter) { - logfmt(logINFO, "ERROR CALL medTrCreateMember"); - - } - - - - logfmt(logINFO, "/medTrCreateMember()"); - return ret; -} - -long medTrUpdateStartProfile(CVars in, CVars &out) { - - long ret = medTrUpdateProfile(in, out); - if (ret == PHP_API_OK) { - load_db_record(out, "SELECT UPPER( md5( now()::text) ) AS sessionid,m.*,mp.*,m.id AS member_id,mp.id AS member_profile_id FROM members m \ - LEFT JOIN members_profile mp ON mp.member_id = m.id \ - WHERE m.id = %lu", in["member_id"].Long()); - - // We need to have the session back - load_db_record(out, "SELECT * FROM members_session WHERE member_id = %lu ORDER BY id DESC limit 1", in["member_id"].Long()); - - } - return ret; -} - -long medTrUpdateProfile(CVars in, CVars &out) { - long ret = PHP_API_BAD_PARAM; - logfmt(logINFO, "medTrUpdateProfile()"); - REQ_LONG(in, "pid", 0, -1); - REQ_LONG(in, "member_id", 0, -1); - REQ_STRING(in, "street1", 2, 49, "(.*)"); - OPTIONAL(in, "street2") REQ_STRING(in, "street2", 1, 49, "(.*)"); - REQ_STRING(in, "city", 5, 49, "(.*)"); - // OPTIONAL(in, "phone") REQ_STRING(in, "phone", 5, 23, "(.*)"); - REQ_STRING(in, "zipcode", 1, 12, "(.*)"); - REQ_STRING(in, "state", 1, 3, "(.*)"); - REQ_STRING(in, "country", 1, 3, "(.*)"); - REQ_STRING(in, "loc", 5, 16, "(.*)"); - - //REQ_STRING (in, "sessionid", 4, 40, "(.*)"); - const char * loc = getenv("REMOTE_ADDR"); - CVars x; - x["pid"] = in["pid"]; - x["pid"].set_valid(true); - x["street1"] = in["street1"]; - x["street1"].set_valid(true); - x["street2"] = in["street2"]; - x["street2"].set_valid(true); - x["city"] = in["city"]; - x["city"].set_valid(true); - // x["phone"] = in["phone"]; - // x["phone"].set_valid(true); - x["zipcode"] = in["zipcode"]; - x["zipcode"].set_valid(true); - x["loc"] = in["loc"]; - x["loc"].set_valid(true); - x["state"] = in["state"]; - x["state"].set_valid(true); - x["country"] = in["country"]; - x["country"].set_valid(true); - - ret = load_db_record(out, "SELECT *,id AS member_profile_id FROM members_profile WHERE member_id = %lu ", in["member_id"].Long()); - if (ret > 0) { - update_db_record(DBS_VALID, "members_profile", x, in["member_profile_id"].Long()); - member_email_calls(in["action"].Long(), in, out); - ret = PHP_API_OK; - } else { - // LETS CREATE THE ACOUNT NOW - x["member_id"] = in["member_id"]; - x["member_id"].set_valid(true); - out["member_profile_id"] = insert_db_record(DBS_VALID, "members_profile", "members_profile_id_seq", x); - if (out["member_profile_id"].Long() > 0) { - member_email_calls(in["action"].Long(), in, out); - // Now Send Email - ret = PHP_API_OK; - // ============== - } - } - logfmt(logINFO, "/medTrUpdateProfile()"); - return ret; -} - // vi:ts=2 diff --git a/mermsemr/src/shared_tool/medTEmails.cc b/mermsemr/src/shared_tool/medTEmails.cc index 9fbd1b4..b8d843e 100644 --- a/mermsemr/src/shared_tool/medTEmails.cc +++ b/mermsemr/src/shared_tool/medTEmails.cc @@ -37,9 +37,9 @@ long member_email_calls(long action, CVars in, CVars &out) { long ret = 0; const char * loc = getenv("REMOTE_ADDR"); C_CGI_Form form("", ""); - // form.LetStr("subject", "KleenApp Email Test"); - form.LetStr("site_name", "KleenApp"); - form.LetStr("contactus", "https://www.kleenapp.co/"); + // form.LetStr("subject", "myFit by MERMS Email Test"); + form.LetStr("site_name", "myFit by MERMS"); + form.LetStr("contactus", "https://myFit.mermsemr.com/"); CGIList * inv_list = new CGIList(&form, "inv_items"); char listing_items[1024]; @@ -132,24 +132,23 @@ long member_email_calls(long action, CVars in, CVars &out) { - case MEDTRANS_USER_LOGIN: + case MERMS_USER_LOGIN: if (load_db_record(x, "SELECT *,email as email2,now() AS last_login2 FROM members WHERE id = %lu ", in["member_id"].Long())) { vars2form(x, form); - form.LetStr("subject", "KleenApp Account Access"); + form.LetStr("subject", "myFit by MERMS Account Access"); form.LetStr("email", x["email2"].c_str()); form.Email("USERS/user_login.mailfile"); } break; - case MEDTRANS_USER_CREATE: - case MERMSEMR_BKO_MEMBERADD: + case MERMS_USER_CREATEACCOUNT: if (load_db_record(x, "SELECT *,email as email2,now() AS last_login2 FROM members WHERE id = %lu ", in["member_id"].Long())) { vars2form(x, form); - form.LetStr("subject", "Welcome to KleenApp "); + form.LetStr("subject", "Welcome to myFit by MERMS "); form.LetStr("email", x["email2"].c_str()); form.Email("USERS/user_welcome.mailfile"); - alert_email_calls(MEDTRANS_USER_CREATE, in, out); + alert_email_calls(MERMS_USER_CREATEACCOUNT, in, out); } @@ -181,10 +180,10 @@ long agent_email_calls(long action, CVars in, CVars &out) { char * server_name = getenv("SERVER_NAME"); const char * loc = getenv("REMOTE_ADDR"); C_CGI_Form form("", ""); - // form.LetStr("subject", "KleenApp Email Test"); + // form.LetStr("subject", "myFit by MERMS Email Test"); char vname[100]; - form.LetStr("site_name", "KleenApp"); + form.LetStr("site_name", "myFit by MERMS"); form.LetStr("agent_site", "https://agent.medtransgo.com/"); logfmt(logINFO, "@@@@@@->AMEYE-1)"); @@ -268,10 +267,10 @@ long provider_email_calls(long action, CVars in, CVars &out) { char * server_name = getenv("SERVER_NAME"); const char * loc = getenv("REMOTE_ADDR"); C_CGI_Form form("", ""); - // form.LetStr("subject", "KleenApp Email Test"); + // form.LetStr("subject", "myFit by MERMS Email Test"); char vname[100]; - form.LetStr("site_name", "KleenApp"); + form.LetStr("site_name", "myFit by MERMS"); form.LetStr("agent_site", "https://agent.medtransgo.com/"); logfmt(logINFO, "@@@@@@->AMEYE-1)"); @@ -303,7 +302,7 @@ long provider_email_calls(long action, CVars in, CVars &out) { logfmt(logINFO, "@@@@@@->AMEYE-101)"); form.LetStr("confirm_link", in["service_id"].c_str()); logfmt(logINFO, "@@@@@@->AMEYE-102)"); - form.LetStr("server_link", "https://www.kleenapp.co//provider/processRequest?reqId="); + form.LetStr("server_link", "https://www.myFit by MERMS.co//provider/processRequest?reqId="); logfmt(logINFO, "@@@@@@->AMEYE-103)"); form.LetStr("subject", "Laundry Pickup Assigned"); form.LetStr("email", z["driver_email"].c_str()); @@ -348,9 +347,9 @@ long dailyReport() { long ret = 0; const char * loc = getenv("REMOTE_ADDR"); C_CGI_Form form("", ""); - form.LetStr("subject", "KleenApp Alert Email"); + form.LetStr("subject", "myFit by MERMS Alert Email"); out["alertrequest"] = CfgReadChar("alerts.request"); - form.LetStr("site_name", "KleenApp"); + form.LetStr("site_name", "myFit by MERMS"); CVars w, x, y, z; load_db_record(x, "SELECT TO_CHAR( now() :: DATE, 'Day Mon dd, yyyy') AS long_date, now()::date AS report_date, count(id) AS today_members_count FROM members WHERE added::date = now()::date;"); @@ -387,19 +386,19 @@ long alert_email_calls(long action, CVars in, CVars &out) { long ret = 0; const char * loc = getenv("REMOTE_ADDR"); C_CGI_Form form("", ""); - form.LetStr("subject", "KleenApp Alert Email"); + form.LetStr("subject", "myFit by MERMS Alert Email"); out["alertrequest"] = CfgReadChar("alerts.request"); out["alertaccount"] = CfgReadChar("alerts.account"); CGIList * inv_list = new CGIList( &form, "inv_items" ); char listing_items[1024]; const PGresult *res; - form.LetStr("site_name", "KleenApp"); + form.LetStr("site_name", "myFit by MERMS"); switch (action) { - case MEDTRANS_USER_CREATE: + case MERMS_USER_CREATEACCOUNT: if (load_db_record(x, "SELECT *,email as email2,now() AS last_login3 FROM members WHERE id = %lu ", in["member_id"].Long())) { vars2form(x, form); form.LetStr("email", out["alertrequest"].c_str()); @@ -622,10 +621,10 @@ void commonItems(C_CGI_Form &form) { char * server_name = getenv("SERVER_NAME"); form.LetStr("server_name", server_name); - form.LetStr("site_name", "KleenApp"); - form.LetStr("facebook", "KleenApp"); - form.LetStr("twitter", "KleenApp"); - form.LetStr("contactus", "KleenApp"); + form.LetStr("site_name", "myFit by MERMS"); + form.LetStr("facebook", "myFit by MERMS"); + form.LetStr("twitter", "myFit by MERMS"); + form.LetStr("contactus", "myFit by MERMS"); } long email_test(CVars in, CVars &out) { @@ -637,8 +636,8 @@ long email_test(CVars in, CVars &out) { out["alertemail"] = CfgReadChar("alerts.system"); - //form.LetStr( "site_name", "KleenApp" ); - form.LetStr("subject", "KleenApp Email Test"); + //form.LetStr( "site_name", "myFit by MERMS" ); + form.LetStr("subject", "myFit by MERMS Email Test"); commonItems(form); diff --git a/mermsemr/src/shared_tool/medTrMembers.cc b/mermsemr/src/shared_tool/medTrMembers.cc index df13214..2b04d06 100644 --- a/mermsemr/src/shared_tool/medTrMembers.cc +++ b/mermsemr/src/shared_tool/medTrMembers.cc @@ -33,93 +33,18 @@ long members_call(CVars in, CVars &out) { const char * loc = getenv("REMOTE_ADDR"); switch (action) { - case MERMSEMR_USER_DRYCLIST: - return kleenDryCleanList(in, out); + case MERMS_USER_LOGIN: + return MemberLogin(in, out); break; - case MEDTRANS_USER_LOGIN: - return medTMemberLogin(in, out); + case MERMS_USER_CREATEACCOUNT: + return CreateMember(in, out); break; - case MEDTRANS_USER_CREATE: - return medTrCreateMember(in, out); + case MERMS_USER_REMINDERS: + // return medTrCreateMember(in, out); break; - case MERMSEMR_USER_COMPLETEPROFILE: - return medTrUpdateStartProfile(in, out); - break; - - case MEDTRANS_USER_UPDATE: - return medTrUpdateProfile(in, out); - break; - - case MEDTRANS_USER_PROFILE: - REQ_LONG(in, "member_id", 0, -1); - REQ_STRING(in, "sessionid", 2, 100, "(.*)"); - if (load_db_record(out, "SELECT m.*,p.* FROM members m LEFT JOIN members_profile p ON p.member_id=m.id WHERE m.id=%lu", in["member_id"].Long()) > 0) { - return PHP_API_OK; - } - break; - - case MERMSEMR_USER_SAVECARDPAYMENT: - in["paymenttype"] = "1"; - save_creditcard(in, out); - break; - - case MERMSEMR_USER_GETCCLIST: - return getUserCCList(in, out); - break; - - - case MEDTRANS_USER_NEWLUNDRYPICK: - return kleenNewLundryPickUp(in, out); - break; - - case MEDTRANS_USER_GET_TRAN_BYID: - return medTrMemberTransportById(in, out); - break; - - case MERMSEMR_USER_GETSERVICEITEM: - return medTrMemberServiceById(in, out); - break; - case MERMSEMR_USER_GETSERVICELIST: - return medTrMemberTransportList(in, out); - break; - - case MEDTRANS_USER_LUNDRYLOCATION: - return medTrLanguageList(in, out); - break; - - case MEDTRANS_USER_VERIFYSESSION: - REQ_LONG(in, "member_id", 0, -1); - REQ_STRING(in, "sessionid", 2, 100, "(.*)"); - ret = PHP_INVALID_SESSION; - out["status"] = "INVALID_SESSION"; - if (SessionCheck(in["member_id"].Long(), in["sessionid"].c_str(), 0) == 1L) { - out = in; - out["status"] = "VALID_SESSION"; - ret = PHP_VALID_SESSION; - } - break; - - case MERMSEMR_USER_CONFIRMPICKUP: - logfmt(logINFO, "MERMSEMR_USER_CONFIRMPICKUP()"); - REQ_LONG(in, "member_id", 0, -1); - REQ_STRING(in, "sessionid", 2, 100, "(.*)"); - REQ_LONG(in, "service_id", 0, -1); - REQ_LONG(in, "paymentid", 0, -1); - return kleenConfirmPickup(in, out); - break; - - case MEDTRANS_USER_PASSRESET: // 200067 - REQ_LONG(in, "mode", 0, -1); - return passwordReset(in, out); - break; - - case MERMSEMR_USER_DELETECARD: - out = in; - return userDeleteCard(in, out); - break; - + } logfmt(logINFO, "/members_call()"); return ret; diff --git a/mermsemr/src/shared_tool/mermsemr_api_main.cc b/mermsemr/src/shared_tool/mermsemr_api_main.cc index 6067c1c..466e858 100644 --- a/mermsemr/src/shared_tool/mermsemr_api_main.cc +++ b/mermsemr/src/shared_tool/mermsemr_api_main.cc @@ -23,6 +23,9 @@ long mermsemr_api_main(CVars in, CVars &out) { //REQ_LONG( in, "pid", 0, -1); // global implementation - who is calling try { + if (action >= MERMS_USER_START && action <= MERMS_USER_END) { + return members_call(in, out); + } if (action >= MERMS_PROVIDERS_START && action <= MERMS_PROVIDERS_END) { return providers_call(in, out);