fix
This commit is contained in:
@@ -303,31 +303,59 @@ long WrenchReturnMemberPaymentHx(CVars in, CVars &out) {
|
|||||||
|
|
||||||
long WrenchReturnMemberMessages(CVars in, CVars &out) {
|
long WrenchReturnMemberMessages(CVars in, CVars &out) {
|
||||||
logfmt(logINFO, "WrenchReturnMemberMessages()");
|
logfmt(logINFO, "WrenchReturnMemberMessages()");
|
||||||
char vname[30];
|
char vname[60];
|
||||||
|
char vname_memo[60];
|
||||||
long ret = PHP_API_BAD_PARAM;
|
long ret = PHP_API_BAD_PARAM;
|
||||||
|
long msg_id = 0;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
long limit = REQ_LONG(in, "limit", 1, -1);
|
long limit = REQ_LONG(in, "limit", 1, -1);
|
||||||
long member_id = REQ_LONG(in, "member_id", 1, -1);
|
long member_id = REQ_LONG(in, "member_id", 1, -1);
|
||||||
REQ_LONG(in, "page", 1, -1);
|
REQ_LONG(in, "page", 1, -1);
|
||||||
OPTIONAL(in, "recent") REQ_LONG(in, "recent", 1, -1);
|
OPTIONAL(in, "recent") REQ_LONG(in, "recent", 1, -1);
|
||||||
|
|
||||||
|
// this section ;limit recent or not recent
|
||||||
if ( in["recent"].Long() == 1 ){
|
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
|
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";
|
out["total_record"] = "0";
|
||||||
|
|
||||||
const PGresult *res;
|
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 "
|
"FROM members_messages mm LEFT JOIN members ms ON ms.id =mm.senders_id "
|
||||||
"WHERE mm.member_id = %lu "
|
"WHERE mm.member_id = %lu "
|
||||||
" %s AND mm.reply IS NULL ORDER BY mm.id DESC LIMIT %lu", in["member_id"].Long(),vname, limit);
|
" %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) {
|
if (res != NULL && pgsql_num_rows(res) > 0) {
|
||||||
out["total_record"] = pgsql_num_rows(res);
|
out["total_record"] = pgsql_num_rows(res);
|
||||||
@@ -346,10 +374,39 @@ long WrenchReturnMemberMessages(CVars in, CVars &out) {
|
|||||||
|
|
||||||
snprintf(vname, sizeof (vname), "msg_%05d", i);
|
snprintf(vname, sizeof (vname), "msg_%05d", i);
|
||||||
out[vname] = rec["msg"];
|
out[vname] = rec["msg"];
|
||||||
|
|
||||||
snprintf(vname, sizeof (vname), "msg_from_%05d", i);
|
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;
|
ret = PHP_API_OK;
|
||||||
|
|||||||
Reference in New Issue
Block a user