fix
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user