diff --git a/coregrade/src/include/coregrade_api.h b/coregrade/src/include/coregrade_api.h index 8a14bba..f5a9343 100644 --- a/coregrade/src/include/coregrade_api.h +++ b/coregrade/src/include/coregrade_api.h @@ -25,6 +25,8 @@ #define COREGRADE_VERIFY_PENDING_LINK 11015 #define COREGRADE_ACCOUNT_CREATEACC 11020 #define COREGRADE_ACCOUNT_LOGIN 11025 +#define COREGRADE_ACCOUNT_ADDCARD 11027 + #define COREGRADE_ACCOUNT_END 11999 //************************************************************** diff --git a/coregrade/src/shared_tool/account.cc b/coregrade/src/shared_tool/account.cc index 240714c..ec7b3ba 100644 --- a/coregrade/src/shared_tool/account.cc +++ b/coregrade/src/shared_tool/account.cc @@ -16,6 +16,7 @@ #define CREATE_BY_PHONE 2000 long CreateDefaultPage(CVars in, CVars &out); +long CreateUserPage(CVars in, CVars &out); struct MemoryStruct { char *memory; @@ -112,6 +113,10 @@ long account_calls(CVars in, CVars &out) { case COREGRADE_ACCOUNT_CREATEACC: return CreateCoreGradeAccount(in, out); break; + + case COREGRADE_ACCOUNT_ADDCARD: + return CreateUserPage(in, out); + break; } logfmt(logINFO, "/account_calls()"); return 0; @@ -298,6 +303,62 @@ long CreateCoreGradeAccountPending(CVars in, CVars &out) { } //****************************************************************************** +long CreateUserPage(CVars in, CVars &out) { + + logfmt(logINFO, "CreateUserPage()"); + long ret = PHP_API_BAD_PARAM; + + + const char *loc = getenv("REMOTE_ADDR"); + try { + long member_id = REQ_LONG(in, "member_id", 1, -1); + REQ_STRING(in, "description", 1, 300, "(.*)"); + REQ_STRING(in, "title", 2, 49, "(.*)"); + + + 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"] = "OTHERPG"; + x["page_mode"].set_valid(true); + x["title"] = in["title"]; + x["title"].set_valid(true); + + x["description"] = in["description"]; + x["description"].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, "/CreateUserPage()"); + return ret; + +} + long CreateDefaultPage(CVars in, CVars &out) { logfmt(logINFO, "CreateDefaultPage()"); @@ -312,10 +373,10 @@ long CreateDefaultPage(CVars in, CVars &out) { // 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); + int rcc = pgsql_num_rows(res); if (rcc == 0) { - + CVars x; x["member_id"] = member_id; x["member_id"].set_valid(true);