Backend Service
This commit is contained in:
@@ -23,22 +23,12 @@ database:
|
|||||||
|
|
||||||
mailsend:
|
mailsend:
|
||||||
{
|
{
|
||||||
from = "support@kleenapp.co";
|
from = "savvy@chiefsoft.com";
|
||||||
server = "smtpout.secureserver.net";
|
|
||||||
domain = "kleenapp.com";
|
|
||||||
user = "support@kleenapp.co";
|
|
||||||
pass = "Kle@nAp1!";
|
|
||||||
name = "Kleen Demo Support";
|
|
||||||
};
|
|
||||||
|
|
||||||
mailsendOLD:
|
|
||||||
{
|
|
||||||
from = "support@wrenchboard.com";
|
|
||||||
server = "smtp.gmail.com";
|
server = "smtp.gmail.com";
|
||||||
domain = "kleenapp.com";
|
domain = "mermsemr.com";
|
||||||
user = "support@wrenchboard.com";
|
user = "savvy@chiefsoft.com";
|
||||||
pass = "may12002!";
|
pass = "may12002";
|
||||||
name = "Kleen Demo Support";
|
name = "MERMS EHR";
|
||||||
};
|
};
|
||||||
|
|
||||||
stripe:
|
stripe:
|
||||||
|
|||||||
@@ -2,12 +2,14 @@
|
|||||||
#define __mx_function_members_h__
|
#define __mx_function_members_h__
|
||||||
|
|
||||||
#include "vars.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 DeletAallCards(CVars in, CVars &out);
|
||||||
long medTMemberLogin(CVars in, CVars &out);
|
|
||||||
long medTrCreateMember(CVars in, CVars &out);
|
|
||||||
long medTrUpdateProfile(CVars in, CVars &out);
|
long medTrUpdateProfile(CVars in, CVars &out);
|
||||||
long kleenNewLundryPickUp(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 medTrUpdateStartProfile(CVars in, CVars &out);
|
||||||
long getServiceDetail(long service_id, CVars &out);
|
long getServiceDetail(long service_id, CVars &out);
|
||||||
long medTrMemberTransportList(CVars in, CVars &out);
|
long medTrMemberTransportList(CVars in, CVars &out);
|
||||||
|
|||||||
@@ -21,6 +21,308 @@
|
|||||||
|
|
||||||
/* -- */
|
/* -- */
|
||||||
#include "function_members.h"
|
#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 serviceCost(long service_id, long discount_rate);
|
||||||
|
|
||||||
long medTrMemberTransportById(CVars in, CVars &out) {
|
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<string> split_string(const char *str, char c = ' ')
|
vector<string> split_string(const char *str, char c = ' ')
|
||||||
{
|
{
|
||||||
@@ -631,195 +828,5 @@ long serviceCost(long service_id, long discount_rate) {
|
|||||||
return service_cost;
|
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
|
// vi:ts=2
|
||||||
|
|
||||||
|
|||||||
@@ -37,9 +37,9 @@ long member_email_calls(long action, CVars in, CVars &out) {
|
|||||||
long ret = 0;
|
long ret = 0;
|
||||||
const char * loc = getenv("REMOTE_ADDR");
|
const char * loc = getenv("REMOTE_ADDR");
|
||||||
C_CGI_Form form("", "");
|
C_CGI_Form form("", "");
|
||||||
// form.LetStr("subject", "KleenApp Email Test");
|
// form.LetStr("subject", "myFit by MERMS Email Test");
|
||||||
form.LetStr("site_name", "KleenApp");
|
form.LetStr("site_name", "myFit by MERMS");
|
||||||
form.LetStr("contactus", "https://www.kleenapp.co/");
|
form.LetStr("contactus", "https://myFit.mermsemr.com/");
|
||||||
|
|
||||||
CGIList * inv_list = new CGIList(&form, "inv_items");
|
CGIList * inv_list = new CGIList(&form, "inv_items");
|
||||||
char listing_items[1024];
|
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())) {
|
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);
|
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.LetStr("email", x["email2"].c_str());
|
||||||
form.Email("USERS/user_login.mailfile");
|
form.Email("USERS/user_login.mailfile");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MEDTRANS_USER_CREATE:
|
case MERMS_USER_CREATEACCOUNT:
|
||||||
case MERMSEMR_BKO_MEMBERADD:
|
|
||||||
if (load_db_record(x, "SELECT *,email as email2,now() AS last_login2 FROM members WHERE id = %lu ", in["member_id"].Long())) {
|
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);
|
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.LetStr("email", x["email2"].c_str());
|
||||||
form.Email("USERS/user_welcome.mailfile");
|
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");
|
char * server_name = getenv("SERVER_NAME");
|
||||||
const char * loc = getenv("REMOTE_ADDR");
|
const char * loc = getenv("REMOTE_ADDR");
|
||||||
C_CGI_Form form("", "");
|
C_CGI_Form form("", "");
|
||||||
// form.LetStr("subject", "KleenApp Email Test");
|
// form.LetStr("subject", "myFit by MERMS Email Test");
|
||||||
char vname[100];
|
char vname[100];
|
||||||
|
|
||||||
form.LetStr("site_name", "KleenApp");
|
form.LetStr("site_name", "myFit by MERMS");
|
||||||
form.LetStr("agent_site", "https://agent.medtransgo.com/");
|
form.LetStr("agent_site", "https://agent.medtransgo.com/");
|
||||||
logfmt(logINFO, "@@@@@@->AMEYE-1)");
|
logfmt(logINFO, "@@@@@@->AMEYE-1)");
|
||||||
|
|
||||||
@@ -268,10 +267,10 @@ long provider_email_calls(long action, CVars in, CVars &out) {
|
|||||||
char * server_name = getenv("SERVER_NAME");
|
char * server_name = getenv("SERVER_NAME");
|
||||||
const char * loc = getenv("REMOTE_ADDR");
|
const char * loc = getenv("REMOTE_ADDR");
|
||||||
C_CGI_Form form("", "");
|
C_CGI_Form form("", "");
|
||||||
// form.LetStr("subject", "KleenApp Email Test");
|
// form.LetStr("subject", "myFit by MERMS Email Test");
|
||||||
char vname[100];
|
char vname[100];
|
||||||
|
|
||||||
form.LetStr("site_name", "KleenApp");
|
form.LetStr("site_name", "myFit by MERMS");
|
||||||
form.LetStr("agent_site", "https://agent.medtransgo.com/");
|
form.LetStr("agent_site", "https://agent.medtransgo.com/");
|
||||||
logfmt(logINFO, "@@@@@@->AMEYE-1)");
|
logfmt(logINFO, "@@@@@@->AMEYE-1)");
|
||||||
|
|
||||||
@@ -303,7 +302,7 @@ long provider_email_calls(long action, CVars in, CVars &out) {
|
|||||||
logfmt(logINFO, "@@@@@@->AMEYE-101)");
|
logfmt(logINFO, "@@@@@@->AMEYE-101)");
|
||||||
form.LetStr("confirm_link", in["service_id"].c_str());
|
form.LetStr("confirm_link", in["service_id"].c_str());
|
||||||
logfmt(logINFO, "@@@@@@->AMEYE-102)");
|
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)");
|
logfmt(logINFO, "@@@@@@->AMEYE-103)");
|
||||||
form.LetStr("subject", "Laundry Pickup Assigned");
|
form.LetStr("subject", "Laundry Pickup Assigned");
|
||||||
form.LetStr("email", z["driver_email"].c_str());
|
form.LetStr("email", z["driver_email"].c_str());
|
||||||
@@ -348,9 +347,9 @@ long dailyReport() {
|
|||||||
long ret = 0;
|
long ret = 0;
|
||||||
const char * loc = getenv("REMOTE_ADDR");
|
const char * loc = getenv("REMOTE_ADDR");
|
||||||
C_CGI_Form form("", "");
|
C_CGI_Form form("", "");
|
||||||
form.LetStr("subject", "KleenApp Alert Email");
|
form.LetStr("subject", "myFit by MERMS Alert Email");
|
||||||
out["alertrequest"] = CfgReadChar("alerts.request");
|
out["alertrequest"] = CfgReadChar("alerts.request");
|
||||||
form.LetStr("site_name", "KleenApp");
|
form.LetStr("site_name", "myFit by MERMS");
|
||||||
|
|
||||||
CVars w, x, y, z;
|
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;");
|
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;
|
long ret = 0;
|
||||||
const char * loc = getenv("REMOTE_ADDR");
|
const char * loc = getenv("REMOTE_ADDR");
|
||||||
C_CGI_Form form("", "");
|
C_CGI_Form form("", "");
|
||||||
form.LetStr("subject", "KleenApp Alert Email");
|
form.LetStr("subject", "myFit by MERMS Alert Email");
|
||||||
out["alertrequest"] = CfgReadChar("alerts.request");
|
out["alertrequest"] = CfgReadChar("alerts.request");
|
||||||
out["alertaccount"] = CfgReadChar("alerts.account");
|
out["alertaccount"] = CfgReadChar("alerts.account");
|
||||||
CGIList * inv_list = new CGIList( &form, "inv_items" );
|
CGIList * inv_list = new CGIList( &form, "inv_items" );
|
||||||
char listing_items[1024];
|
char listing_items[1024];
|
||||||
const PGresult *res;
|
const PGresult *res;
|
||||||
|
|
||||||
form.LetStr("site_name", "KleenApp");
|
form.LetStr("site_name", "myFit by MERMS");
|
||||||
|
|
||||||
switch (action) {
|
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())) {
|
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);
|
vars2form(x, form);
|
||||||
form.LetStr("email", out["alertrequest"].c_str());
|
form.LetStr("email", out["alertrequest"].c_str());
|
||||||
@@ -622,10 +621,10 @@ void commonItems(C_CGI_Form &form) {
|
|||||||
char * server_name = getenv("SERVER_NAME");
|
char * server_name = getenv("SERVER_NAME");
|
||||||
form.LetStr("server_name", server_name);
|
form.LetStr("server_name", server_name);
|
||||||
|
|
||||||
form.LetStr("site_name", "KleenApp");
|
form.LetStr("site_name", "myFit by MERMS");
|
||||||
form.LetStr("facebook", "KleenApp");
|
form.LetStr("facebook", "myFit by MERMS");
|
||||||
form.LetStr("twitter", "KleenApp");
|
form.LetStr("twitter", "myFit by MERMS");
|
||||||
form.LetStr("contactus", "KleenApp");
|
form.LetStr("contactus", "myFit by MERMS");
|
||||||
}
|
}
|
||||||
|
|
||||||
long email_test(CVars in, CVars &out) {
|
long email_test(CVars in, CVars &out) {
|
||||||
@@ -637,8 +636,8 @@ long email_test(CVars in, CVars &out) {
|
|||||||
out["alertemail"] = CfgReadChar("alerts.system");
|
out["alertemail"] = CfgReadChar("alerts.system");
|
||||||
|
|
||||||
|
|
||||||
//form.LetStr( "site_name", "KleenApp" );
|
//form.LetStr( "site_name", "myFit by MERMS" );
|
||||||
form.LetStr("subject", "KleenApp Email Test");
|
form.LetStr("subject", "myFit by MERMS Email Test");
|
||||||
|
|
||||||
commonItems(form);
|
commonItems(form);
|
||||||
|
|
||||||
|
|||||||
@@ -33,93 +33,18 @@ long members_call(CVars in, CVars &out) {
|
|||||||
const char * loc = getenv("REMOTE_ADDR");
|
const char * loc = getenv("REMOTE_ADDR");
|
||||||
|
|
||||||
switch (action) {
|
switch (action) {
|
||||||
case MERMSEMR_USER_DRYCLIST:
|
case MERMS_USER_LOGIN:
|
||||||
return kleenDryCleanList(in, out);
|
return MemberLogin(in, out);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MEDTRANS_USER_LOGIN:
|
case MERMS_USER_CREATEACCOUNT:
|
||||||
return medTMemberLogin(in, out);
|
return CreateMember(in, out);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MEDTRANS_USER_CREATE:
|
case MERMS_USER_REMINDERS:
|
||||||
return medTrCreateMember(in, out);
|
// return medTrCreateMember(in, out);
|
||||||
break;
|
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()");
|
logfmt(logINFO, "/members_call()");
|
||||||
return ret;
|
return ret;
|
||||||
|
|||||||
@@ -23,6 +23,9 @@ long mermsemr_api_main(CVars in, CVars &out) {
|
|||||||
//REQ_LONG( in, "pid", 0, -1); // global implementation - who is calling
|
//REQ_LONG( in, "pid", 0, -1); // global implementation - who is calling
|
||||||
try {
|
try {
|
||||||
|
|
||||||
|
if (action >= MERMS_USER_START && action <= MERMS_USER_END) {
|
||||||
|
return members_call(in, out);
|
||||||
|
}
|
||||||
|
|
||||||
if (action >= MERMS_PROVIDERS_START && action <= MERMS_PROVIDERS_END) {
|
if (action >= MERMS_PROVIDERS_START && action <= MERMS_PROVIDERS_END) {
|
||||||
return providers_call(in, out);
|
return providers_call(in, out);
|
||||||
|
|||||||
Reference in New Issue
Block a user