2 Commits

Author SHA1 Message Date
ameye b0366304a1 fix 2022-11-05 20:20:39 -04:00
ameye 6a5d67f537 fix 2022-11-05 20:20:14 -04:00
4 changed files with 76 additions and 11 deletions
+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;
+1
View File
@@ -122,6 +122,7 @@ define('WRENCHBOARD_JOB_OFFER_CONCLUDE',13035);
define('WRENCHBOARD_JOB_SEND_QUESTION',13036);
define('WRENCHBOARD_JOB_MRKTINT_QUEST',13037);
define('WRENCHBOARD_JOB_REPLY_QUESTION',13038);
//define('WRENCHBOARD_JOB_REPLY_QUESTION',13038);
//define('WRENCHBOARD_JOB_SEND_QUESTION',13036);
+5 -1
View File
@@ -213,7 +213,11 @@ function processOutJson($in, $out) {
"msg" => $out["msg_${key}"],
"msg_id" => $out["msg_id_${key}"],
"msg_date" => $out["msg_date_${key}"],
"msg_from" => $out["msg_from_${key}"]
"msg_from" => $out["msg_from_${key}"],
"reply" => $out["reply_${key}"],
"message_mode" => $out["message_mode_${key}"],
"uid" => $out["uid_${key}"],
"memo" => $out["memo_${key}"]
);
}
break;
+4 -1
View File
@@ -40,6 +40,7 @@ $endpoints = array(
'couponpending' => array('POST'),
'couponredeem' => array('POST'),
'sendinterestmessage' => array('POST'),
'replyinterestmessage' => array('POST')
);
$call_backend = true; // sometimes we need to overwite the call to the extenstion API
@@ -102,8 +103,10 @@ if ($_SERVER["REQUEST_METHOD"] == "GET") {
}
$in["loc"] = $_SERVER["REMOTE_ADDR"];
switch ($endpoint) {
case 'replyinterestmessage':
$in["action"] = WRENCHBOARD_JOB_REPLY_QUESTION;
break;
case 'sendinterestmessage':
// $in['offer_code'] = $this->input->get('offer_code');
$in['yourmessage'] = $in["question"];
//$in['member_id'] = $_SESSION['member_id']; // just maing sure