This commit is contained in:
2022-07-24 19:00:44 -04:00
parent 074379dff1
commit 777f024021
2 changed files with 48 additions and 1 deletions
@@ -20,6 +20,11 @@ enum { PARTNER_STRIPE };
#define OFFER_EXPIRE 444
#define OFFER_SENDTOME 777
#define WEBSITE_LOGIN 1100
#define MOBILE_LOGIN 1101
#define FACEBOOK_LOGIN 1102
#define APPLE_LOGIN 1103
#define GOOGLE_LOGIN 1104
#define CONTRACT_CANCEL_CONTRACT 7
#define CONTRACT_EXTEND_TIMELINE 9
+43 -1
View File
@@ -108,6 +108,7 @@ status INT DEFAULT 1,
created timestamp without time zone DEFAULT now()
);
*/
long LoginLogger( long member_id, long login_mode);
long WrenchBoardMobileSendMoney(CVars in, CVars &out);
long WrenchBoardMobileSendJobInterest(CVars in, CVars &out);
long WrenchReturnPendingJobList(CVars in, CVars &out);
@@ -1238,7 +1239,45 @@ long SessionCheck(long uid, const char *sessionid, int create) {
return 0L; // No route
}
/*
CREATE TABLE mobile_login (
id SERIAL,
member_id INT REFERENCES members(id) UNIQUE NOT NULL,
added timestamp without time zone DEFAULT now(),
updated timestamp without time zone DEFAULT now()
);
ALTER TABLE ONLY mobile_login
ADD CONSTRAINT mobile_login_id_key UNIQUE (id);
*/
long LoginLogger( long member_id, long login_mode){
CVars sess;
long ret = 0;
try {
switch( login_mode ){
case MOBILE_LOGIN:
if (load_db_record(sess, "SELECT * FROM mobile_login WHERE member_id=%lu", member_id) > 0) {
pgsql_exec("UPDATE mobile_login SET updated=NOW() WHERE member_id=%ld", member_id);
}else{
sess["member_id"] = member_id;
sess["member_id"].set_valid(true);
insert_db_record(DBS_VALID, "mobile_login", "mobile_login_id_seq", sess); //members_session_id_seq
}
break;
}
} catch (bad_parameter) {
ret = PHP_API_BAD_PARAM;
}
return ret;
}
/*
#define WEBSITE_LOGIN 1100
#define MOBILE_LOGIN 1101
#define FACEBOOK_LOGIN 1102
#define APPLE_LOGIN 1103
#define GOOGLE_LOGIN 1104
*/
long LoginWrenchBoardAccount(CVars in, CVars &out) {
long ret = PHP_API_BAD_PARAM;
@@ -1247,6 +1286,8 @@ long LoginWrenchBoardAccount(CVars in, CVars &out) {
REQ_STRING(in, "password", 5, 49, "(.*)");
REQ_STRING(in, "sessionid", 4, 140, "(.*)");
OPTIONAL(in, "loc") REQ_STRING(in, "loc", 3, 15, "(.*)");
// $in["login_mode"] = MOBILE_LOGIN;
long login_mode = REQ_LONG(in, "login_mode", 0, -1);
const char * loc = getenv("REMOTE_ADDR");
in["loc"] = loc;
@@ -1277,6 +1318,7 @@ long LoginWrenchBoardAccount(CVars in, CVars &out) {
pgsql_query("UPDATE members SET last_login = now() , loc='%s' WHERE id = %lu",loc, out["member_id"].Long());
account_email(ACCOUNT_LOGIN_ALERT, out, out); // ALERT CUSTOMER OF LOGIN
ret = PHP_LOGIN_OK;
LoginLogger(out["member_id"].Long(),login_mode);
} else {
out["status"] = "Session check failed";
}