fix
This commit is contained in:
@@ -16,7 +16,7 @@ database:
|
|||||||
port = 5432;
|
port = 5432;
|
||||||
};
|
};
|
||||||
|
|
||||||
mailsend:
|
mailsendBAK:
|
||||||
{
|
{
|
||||||
from = "savvy@chiefsoft.com";
|
from = "savvy@chiefsoft.com";
|
||||||
server = "smtp.google.com";
|
server = "smtp.google.com";
|
||||||
@@ -26,10 +26,11 @@ mailsend:
|
|||||||
name = "CoreGrade Beta";
|
name = "CoreGrade Beta";
|
||||||
};
|
};
|
||||||
|
|
||||||
mailsendBAK:
|
mailsend:
|
||||||
{
|
{
|
||||||
from = "demo@coregrade.com";
|
from = "support@coregrade.com";
|
||||||
server = "virtualmail.chiefsoft.com";
|
# server = "virtualmail.chiefsoft.com";
|
||||||
|
server = "10.0.0.23";
|
||||||
domain = "coregrade.com";
|
domain = "coregrade.com";
|
||||||
user = "support@coregrade.com";
|
user = "support@coregrade.com";
|
||||||
pass = "may12002!x";
|
pass = "may12002!x";
|
||||||
|
|||||||
@@ -15,6 +15,8 @@
|
|||||||
#define CREATE_BY_EMAIL 1000
|
#define CREATE_BY_EMAIL 1000
|
||||||
#define CREATE_BY_PHONE 2000
|
#define CREATE_BY_PHONE 2000
|
||||||
|
|
||||||
|
long CreateDefaultPage(CVars in, CVars &out);
|
||||||
|
|
||||||
struct MemoryStruct {
|
struct MemoryStruct {
|
||||||
char *memory;
|
char *memory;
|
||||||
size_t size;
|
size_t size;
|
||||||
@@ -142,12 +144,14 @@ long SessionCheck(long uid, const char *sessionid, int create) {
|
|||||||
return -1L; // Invalif parameters
|
return -1L; // Invalif parameters
|
||||||
}
|
}
|
||||||
// Clean old sessions
|
// Clean old sessions
|
||||||
pgsql_exec("DELETE FROM members_session WHERE member_id=%ld AND updated < (now() - interval '15 minutes')", uid);
|
pgsql_exec("DELETE FROM members_session WHERE member_id=%ld AND updated < (now() - interval '35 minutes')", uid);
|
||||||
// Update/check existing session
|
// Update/check existing session
|
||||||
if (create == 0 && pgsql_exec("UPDATE members_session SET updated=NOW() WHERE member_id=%ld AND session='%s'", uid, sessionid) > 0) {
|
if (create == 0 && pgsql_exec("UPDATE members_session SET updated=NOW() WHERE member_id=%ld AND session='%s'", uid, sessionid) > 0) {
|
||||||
return 1L; // Session updated
|
return 1L; // Session updated
|
||||||
}
|
}
|
||||||
if (create > 0) {
|
if (create > 0) {
|
||||||
|
|
||||||
|
pgsql_exec("DELETE FROM members_session WHERE member_id=%ld", uid);
|
||||||
// Check session i?
|
// Check session i?
|
||||||
const PGresult *res = pgsql_query("SELECT * FROM members_session 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) {
|
if (res != NULL && pgsql_num_rows(res) > 0) {
|
||||||
@@ -180,13 +184,18 @@ long LoginCoreGradeAccount(CVars in, CVars &out) {
|
|||||||
REQ_STRING(in, "password", 5, 49, "(.*)");
|
REQ_STRING(in, "password", 5, 49, "(.*)");
|
||||||
REQ_STRING(in, "sessionid", 4, 40, "(.*)");
|
REQ_STRING(in, "sessionid", 4, 40, "(.*)");
|
||||||
OPTIONAL(in, "loc") REQ_STRING(in, "loc", 3, 15, "(.*)");
|
OPTIONAL(in, "loc") REQ_STRING(in, "loc", 3, 15, "(.*)");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ret = load_db_record(out, "SELECT UPPER( md5( now()::text ) ) AS sessionid, *,id AS member_id FROM members WHERE status=1 AND LOWER(username)=LOWER('%s') AND password= md5('%s')", in["username"].c_str(), in["password"].c_str());
|
ret = load_db_record(out, "SELECT UPPER( md5( now()::text ) ) AS sessionid, *,id AS member_id FROM members WHERE status=1 AND LOWER(username)=LOWER('%s') AND password= md5('%s')", in["username"].c_str(), in["password"].c_str());
|
||||||
if (ret) {
|
if (ret) {
|
||||||
if (SessionCheck(out["member_id"].Long(), out["sessionid"].c_str(), 1) > 0) {
|
if (SessionCheck(out["member_id"].Long(), out["sessionid"].c_str(), 1) > 0) {
|
||||||
out["stauts"] = "OK";
|
out["stauts"] = "OK";
|
||||||
|
CVars y, z;
|
||||||
|
y["member_id"] = out["member_id"];
|
||||||
|
y["member_id"].set_valid(true);
|
||||||
|
|
||||||
|
CreateDefaultPage(y, z);
|
||||||
ret = PHP_API_OK;
|
ret = PHP_API_OK;
|
||||||
} else {
|
} else {
|
||||||
out["status"] = "Session check failed";
|
out["status"] = "Session check failed";
|
||||||
@@ -220,9 +229,9 @@ long CreateCoreGradeAccountPending(CVars in, CVars &out) {
|
|||||||
ALTER TABLE ONLY members_pending
|
ALTER TABLE ONLY members_pending
|
||||||
ADD CONSTRAINT members_pending_id_key UNIQUE (id);
|
ADD CONSTRAINT members_pending_id_key UNIQUE (id);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
REQ_STRING(in, "username", 5, 49, "(.*)");
|
REQ_STRING(in, "username", 5, 49, "(.*)");
|
||||||
REQ_STRING(in, "firstname", 2, 49, "(.*)");
|
REQ_STRING(in, "firstname", 2, 49, "(.*)");
|
||||||
REQ_STRING(in, "lastname", 2, 49, "(.*)");
|
REQ_STRING(in, "lastname", 2, 49, "(.*)");
|
||||||
@@ -289,6 +298,69 @@ long CreateCoreGradeAccountPending(CVars in, CVars &out) {
|
|||||||
}
|
}
|
||||||
//******************************************************************************
|
//******************************************************************************
|
||||||
|
|
||||||
|
long CreateDefaultPage(CVars in, CVars &out) {
|
||||||
|
|
||||||
|
logfmt(logINFO, "CreateDefaultPage()");
|
||||||
|
long ret = PHP_API_BAD_PARAM;
|
||||||
|
long member_id = REQ_LONG(in, "member_id", 1, -1);
|
||||||
|
|
||||||
|
const char *loc = getenv("REMOTE_ADDR");
|
||||||
|
try {
|
||||||
|
|
||||||
|
load_db_record(out, "SELECT 'PG'|| UPPER( md5( now()::text ) ) AS page_key");
|
||||||
|
|
||||||
|
// long lonkF = load_db_record(out, "SELECT *,id AS pending_id FROM members_pages WHERE member_id = %lu AND page_mode='DEFAULT' ", in["member_id"].Long());
|
||||||
|
|
||||||
|
const PGresult* res = pgsql_query("SELECT id FROM members_pages WHERE member_id = %lu AND page_mode='DEFAULT' ", in["member_id"].Long());
|
||||||
|
int rcc= pgsql_num_rows(res);
|
||||||
|
if (rcc == 0) {
|
||||||
|
|
||||||
|
|
||||||
|
CVars x;
|
||||||
|
x["member_id"] = member_id;
|
||||||
|
x["member_id"].set_valid(true);
|
||||||
|
x["page_key"] = out["page_key"];
|
||||||
|
x["page_key"].set_valid(true);
|
||||||
|
x["page_mode"] = "DEFAULT";
|
||||||
|
x["page_mode"].set_valid(true);
|
||||||
|
x["title"] = "My default page.";
|
||||||
|
x["title"].set_valid(true);
|
||||||
|
|
||||||
|
ret = insert_db_record(DBS_VALID, "members_pages", "members_pages_id_seq", x);
|
||||||
|
|
||||||
|
if (ret > 0) {
|
||||||
|
|
||||||
|
// AccountPendingMail(x); welcome email
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
} catch (bad_parameter) {
|
||||||
|
out["status"] = "ERROR";
|
||||||
|
}
|
||||||
|
|
||||||
|
logfmt(logINFO, "/CreateDefaultPage()");
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
|
||||||
|
CREATE TABLE members_pages (
|
||||||
|
id SERIAL,
|
||||||
|
member_id INT REFERENCES members(id),
|
||||||
|
page_mode VARCHAR(15),
|
||||||
|
page_key VARCHAR(150) UNIQUE NOT NULL,
|
||||||
|
title VARCHAR(50),
|
||||||
|
status integer DEFAULT 1,
|
||||||
|
added timestamp without time zone DEFAULT now()
|
||||||
|
);
|
||||||
|
ALTER TABLE ONLY members_pages
|
||||||
|
ADD CONSTRAINT members_pages_id_key UNIQUE (id);
|
||||||
|
*/
|
||||||
|
//*****************************************************************************
|
||||||
|
|
||||||
long CreateCoreGradeAccount(CVars in, CVars &out) {
|
long CreateCoreGradeAccount(CVars in, CVars &out) {
|
||||||
logfmt(logINFO, "CreateCoreGradeAccount()");
|
logfmt(logINFO, "CreateCoreGradeAccount()");
|
||||||
long ret = PHP_API_BAD_PARAM;
|
long ret = PHP_API_BAD_PARAM;
|
||||||
@@ -326,7 +398,7 @@ long CreateCoreGradeAccount(CVars in, CVars &out) {
|
|||||||
// pgsql_query("UPDATE members SET password = md5('%s') WHERE id = %lu", in["pass1"].c_str(), ret);
|
// pgsql_query("UPDATE members SET password = md5('%s') WHERE id = %lu", in["pass1"].c_str(), ret);
|
||||||
pgsql_query("UPDATE members_pending SET status = 5,verified=now() WHERE id = %lu", out["pending_id"].Long());
|
pgsql_query("UPDATE members_pending SET status = 5,verified=now() WHERE id = %lu", out["pending_id"].Long());
|
||||||
|
|
||||||
// AccountPendingMail(x); welcome email
|
// AccountPendingMail(x); welcome email
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user