This commit is contained in:
2022-11-05 20:20:14 -04:00
parent 7284c1d318
commit 6a5d67f537
+66 -9
View File
@@ -303,31 +303,59 @@ long WrenchReturnMemberPaymentHx(CVars in, CVars &out) {
long WrenchReturnMemberMessages(CVars in, CVars &out) {
logfmt(logINFO, "WrenchReturnMemberMessages()");
char vname[30];
char vname[60];
char vname_memo[60];
long ret = PHP_API_BAD_PARAM;
long msg_id = 0;
try {
long limit = REQ_LONG(in, "limit", 1, -1);
long member_id = REQ_LONG(in, "member_id", 1, -1);
REQ_LONG(in, "page", 1, -1);
OPTIONAL(in, "recent") REQ_LONG(in, "recent", 1, -1);
// this section ;limit recent or not recent
if ( in["recent"].Long() == 1 ){
snprintf(vname, sizeof (vname), " AND now() < mm.added + '24 hours' ");
snprintf(vname, sizeof (vname), " AND now() < mm.added + '96 hours' ");
}
else
{snprintf(vname, sizeof (vname), "' ");
{snprintf(vname, sizeof (vname), " ");
}
// This section focus the message based on memo
OPTIONAL(in, "msg_id") REQ_LONG(in, "msg_id", 1, -1);
if( in["msg_id"].Long() > 0 ){
REQ_STRING(in, "uid", 10, 100, "(.*)");
load_db_record(out, "SELECT TRIM(memo) AS memo FROM members_messages WHERE LOWER(uid::text)= LOWER('%s')", in["uid"].c_str());
if ( out["memo"] != "" ){
snprintf(vname_memo, sizeof (vname_memo), " AND LOWER(TRIM(mm.memo)) = LOWER('%s') ",out["memo"].c_str() );
}else{
snprintf(vname_memo, sizeof (vname_memo), "");
}
}else{
snprintf(vname_memo, sizeof (vname_memo), ""); // clean it up
}
out["total_record"] = "0";
const PGresult *res;
res = pgsql_query("SELECT mm.added::date AS msg_date,mm.msg,mm.id AS msg_id ,mm.senders_id , mm.msg_type, mm.memo,ms.firstname AS msg_from "
/* res = pgsql_query("SELECT mm.added::date AS msg_date,mm.msg,mm.id AS msg_id ,mm.senders_id , mm.msg_type, mm.memo,ms.firstname AS msg_from "
"FROM members_messages mm LEFT JOIN members ms ON ms.id =mm.senders_id "
"WHERE mm.member_id = %lu "
" %s AND mm.reply IS NULL ORDER BY mm.id DESC LIMIT %lu", in["member_id"].Long(),vname, limit);
to_char(mm.added, 'Day Mon dd, yyyy HH:MI AM') AS expire2
*/
res = pgsql_query("SELECT to_char(mm.added, 'Day Mon dd, yyyy HH:MI AM') AS msg_date,mm.msg,mm.id AS msg_id ,mm.senders_id , mm.msg_type, "
" mm.memo,ms.firstname AS msg_from,mm.reply,mm.member_id,mm.uid,TRIM(mm.memo) AS memo FROM members_messages mm "
" LEFT JOIN members ms ON ms.id =mm.senders_id WHERE mm.senders_id = %lu %s %s"
" UNION "
" SELECT to_char(mm.added, 'Day Mon dd, yyyy HH:MI AM') AS msg_date,mm.msg,mm.id AS msg_id ,mm.senders_id , mm.msg_type, "
" mm.memo,ms.firstname AS msg_from,mm.reply,mm.member_id,mm.uid,TRIM(mm.memo) AS memo FROM members_messages mm "
" LEFT JOIN members ms ON ms.id =mm.senders_id WHERE mm.member_id = %lu %s %s"
" ORDER BY msg_id DESC LIMIT %lu", in["member_id"].Long(),vname,vname_memo, in["member_id"].Long(), vname,vname_memo, limit);
if (res != NULL && pgsql_num_rows(res) > 0) {
out["total_record"] = pgsql_num_rows(res);
@@ -346,10 +374,39 @@ long WrenchReturnMemberMessages(CVars in, CVars &out) {
snprintf(vname, sizeof (vname), "msg_%05d", i);
out[vname] = rec["msg"];
snprintf(vname, sizeof (vname), "msg_from_%05d", i);
out[vname] = rec["msg_from"];
if (rec["senders_id"] == in["member_id"] ){
out[vname] = "You";
}
else{
out[vname] = rec["msg_from"];
}
snprintf(vname, sizeof (vname), "senders_id_%05d", i);
out[vname] = rec["senders_id"];
snprintf(vname, sizeof (vname), "member_id_%05d", i);
out[vname] = rec["member_id"];
snprintf(vname, sizeof (vname), "reply_%05d", i);
out[vname] = rec["reply"];
snprintf(vname, sizeof (vname), "uid_%05d", i);
out[vname] = rec["uid"];
snprintf(vname, sizeof (vname), "memo_%05d", i);
out[vname] = rec["memo"];
snprintf(vname, sizeof (vname), "message_mode_%05d", i);
if (rec["senders_id"] == in["member_id"] ){
out[vname] = "sender";
}
else{
out[vname] = "recipient";
}
}
}
ret = PHP_API_OK;