diff --git a/wrenchboard/src/shared_tool/account.cc b/wrenchboard/src/shared_tool/account.cc index 1ac00801..bbf25fee 100644 --- a/wrenchboard/src/shared_tool/account.cc +++ b/wrenchboard/src/shared_tool/account.cc @@ -128,6 +128,7 @@ long WrenchDeleteUsersCCard(CVars in, CVars &out); long WrenchFlutterCreditHook(CVars in, CVars &out); long WrenchBoardTopupResult(CVars in, CVars &out); long WrenchRegisterMyFileUpload(CVars in, CVars &out); +long WrenchGetRecentDash(CVars in, CVars &out); long test() { FILE* oldFile = Output2FILE::Stream(); @@ -474,7 +475,7 @@ long account_calls(CVars in, CVars &out) { break; case WRENCHBOARD_ACCOUNT_RECENTS: - + return WrenchGetRecentDash(in, out); break; case WRENCHBOARD_ACCOUNT_DASHRECENT: @@ -497,6 +498,19 @@ long account_calls(CVars in, CVars &out) { #define PHP_API_TRANSFER_COMPLETE 200 /* + +CREATE TABLE members_recentactivities ( + id SERIAL, + member_id INT REFERENCES members(id) NOT NULL, + uid uuid DEFAULT uuid_generate_v4(), + title VARCHAR(35) NOT NULL, + description VARCHAR(100), + status INT DEFAULT 1, + added timestamp without time zone DEFAULT now() + ); + ALTER TABLE ONLY members_recentactivities + ADD CONSTRAINT members_recentactivities_id_key UNIQUE (id); + CREATE TABLE members_myfiles ( id SERIAL, member_id INT REFERENCES members(id) NOT NULL, @@ -515,6 +529,56 @@ CREATE TABLE members_myfiles ( ADD CONSTRAINT members_myfiles_id_key UNIQUE (id); */ + +long WrenchGetRecentDash(CVars in, CVars &out) { + + +logfmt(logINFO, "WrenchGetRecentDash()"); + char vname[30]; + long ret = PHP_API_BAD_PARAM; + + REQ_LONG(in, "member_id", 1, -1); + REQ_STRING(in, "sessionid", 2, 149, "(.*)"); + + try { + REQ_LONG(in, "member_id", 1, -1); + out["total_record"] = "0"; + const PGresult *res; + res = pgsql_query("SELECT * FROM members_recentactivities WHERE member_id = %lu ORDER BY added DESC LIMIT 6", in["member_id"].Long()); + + if (res != NULL && pgsql_num_rows(res) > 0) { + out["total_record"] = pgsql_num_rows(res); + + for (int i = 0, n = pgsql_num_rows(res); i < n; i++) { + mapf = pgsql_fetch_assoc(res, i); + if (f.empty()) continue; + CVars rec; + map_to_cvars(f, rec); + + snprintf(vname, sizeof (vname), "title_%05d", i); + out[vname] = rec["title"]; + + snprintf(vname, sizeof (vname), "description_%05d", i); + out[vname] = rec["description"]; + + snprintf(vname, sizeof (vname), "status_%05d", i); + out[vname] = rec["status"]; + + snprintf(vname, sizeof (vname), "added_%05d", i); + out[vname] = rec["added"]; + + } + } + ret = PHP_API_OK; + out["status"] = "OK"; + } catch (bad_parameter) { + logfmt(logINFO, "ERROR CALL long WrenchGetRecentDash(CVars in, CVars &out)"); + } + logfmt(logINFO, "/WrenchGetRecentDash()"); + + return ret; +} + long WrenchRegisterMyFileUpload(CVars in, CVars &out) { long ret = PHP_API_BAD_PARAM; logfmt(logINFO, "WrenchRegisterMyFileUpload()");