fix
This commit is contained in:
@@ -23,6 +23,50 @@
|
||||
#include "function_members.h"
|
||||
#include "jubabox_session.h"
|
||||
|
||||
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 (out["member_id"].Long() > 0) {
|
||||
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 serviceCost(long service_id, long discount_rate);
|
||||
|
||||
long medTrMemberTransportById(CVars in, CVars &out) {
|
||||
@@ -277,48 +321,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 (false) {
|
||||
//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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user