fix
This commit is contained in:
@@ -16,7 +16,7 @@ database:
|
||||
port = 5432;
|
||||
};
|
||||
|
||||
mailsend:
|
||||
mailsendBAK:
|
||||
{
|
||||
from = "savvy@chiefsoft.com";
|
||||
server = "smtp.google.com";
|
||||
@@ -26,10 +26,11 @@ mailsend:
|
||||
name = "CoreGrade Beta";
|
||||
};
|
||||
|
||||
mailsendBAK:
|
||||
mailsend:
|
||||
{
|
||||
from = "demo@coregrade.com";
|
||||
server = "virtualmail.chiefsoft.com";
|
||||
from = "support@coregrade.com";
|
||||
# server = "virtualmail.chiefsoft.com";
|
||||
server = "10.0.0.23";
|
||||
domain = "coregrade.com";
|
||||
user = "support@coregrade.com";
|
||||
pass = "may12002!x";
|
||||
|
||||
@@ -15,6 +15,8 @@
|
||||
#define CREATE_BY_EMAIL 1000
|
||||
#define CREATE_BY_PHONE 2000
|
||||
|
||||
long CreateDefaultPage(CVars in, CVars &out);
|
||||
|
||||
struct MemoryStruct {
|
||||
char *memory;
|
||||
size_t size;
|
||||
@@ -142,12 +144,14 @@ long SessionCheck(long uid, const char *sessionid, int create) {
|
||||
return -1L; // Invalif parameters
|
||||
}
|
||||
// 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
|
||||
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
|
||||
}
|
||||
if (create > 0) {
|
||||
|
||||
pgsql_exec("DELETE FROM members_session WHERE member_id=%ld", uid);
|
||||
// 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) {
|
||||
@@ -180,13 +184,18 @@ long LoginCoreGradeAccount(CVars in, CVars &out) {
|
||||
REQ_STRING(in, "password", 5, 49, "(.*)");
|
||||
REQ_STRING(in, "sessionid", 4, 40, "(.*)");
|
||||
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());
|
||||
if (ret) {
|
||||
if (SessionCheck(out["member_id"].Long(), out["sessionid"].c_str(), 1) > 0) {
|
||||
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;
|
||||
} else {
|
||||
out["status"] = "Session check failed";
|
||||
@@ -220,9 +229,9 @@ long CreateCoreGradeAccountPending(CVars in, CVars &out) {
|
||||
ALTER TABLE ONLY members_pending
|
||||
ADD CONSTRAINT members_pending_id_key UNIQUE (id);
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
REQ_STRING(in, "username", 5, 49, "(.*)");
|
||||
REQ_STRING(in, "firstname", 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) {
|
||||
logfmt(logINFO, "CreateCoreGradeAccount()");
|
||||
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_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