Page 1 of 1

Delete functionality is not working in EMail management

Posted: Mon Apr 23, 2012 1:49 pm
by saiphpuser
After deleting mail from inbox or sent item, deleted mail in trash should show username but iam getting the user name as admin, please help me in delete functionality
Also in trash delete functionality is not working properly, if we are deleting it from trash it should get deleted from db also
Please can somebody guide me on the above queries with jquery.
Thanks in advance
public function modInboxDisplayValues($pArray)
{
try{
$sqlQuery = "SELECT mm.msg_id, mm.subject, mm.msg_body, mm.member_id, mm.created_date, DATE_FORMAT(mm.created_date, '%a %b %D, %Y at %h:%i %p') AS ConvertCDate, mm.inbox_status AS memberInboxStatus, mm.sent_status AS memberSentStatus, mm.trash_status AS trash, mmr.recipient_id, mmr.inbox_status AS recipientInbox, mmr.sent_status AS recipientSent, mmr.trash_status AS recipientTrash, mmr.read_status, sm.member_name, sm.real_name, sm.email_address ";

$sqlQuery1 = "";
$sqlQuery2 = "";

$sqlQuery .= ", COUNT( DISTINCT(ssm.id_member) ) AS sentTotalCount, GROUP_CONCAT( DISTINCT(ssm.member_name)) AS sentGroupMember, GROUP_CONCAT('<',(ssm.member_name), '> ', (ssm.email_address) SEPARATOR ',<br/>') AS sentGroupMemberNameEmailIds, GROUP_CONCAT( DISTINCT(ssm.id_member)) AS sentGroupMemberIds, ssm.member_name AS sentMemberName ";
$sqlQuery1 = " LEFT JOIN smf_members AS ssm ON ssm.id_member=mmr.recipient_id";
$sqlQuery2 = " GROUP BY mm.msg_id";

$sqlQuery .= " FROM `member_messages` AS mm, smf_members AS sm, member_messages_recipients AS mmr ".$sqlQuery1." WHERE mm.msg_id=mmr.msg_id AND mm.member_id=sm.id_member ";
/*if($pArray['flag_name']=="Sent") {
$sqlQuery .= " mm.member_id=sm.id_member ";
} else {
$sqlQuery .= " mm.msg_id=mmr.msg_id AND mm.member_id=sm.id_member ";
}*/

if($pArray['message_id']!=0){
$sqlQuery .= " AND mm.msg_id=".$pArray['message_id']." AND mmr.msg_id=".$pArray['message_id'];
}

if($pArray['flag_name']=="Inbox" && $pArray['message_id']==0) {
$sqlQuery .= " AND mmr.recipient_id=".$pArray['logged_user_id']." AND mmr.trash_status=0 AND mmr.inbox_status=1 AND mmr.sent_status=0";

} else if($pArray['flag_name'] =="Trash" && $pArray['message_id']==0) {
//$sqlQuery .= " AND mmr.member_id=".$pArray['logged_user_id']." AND mm.sent_status=2" ;
$sqlQuery .= " AND IF(mmr.sent_status=0, (mmr.recipient_id=".$pArray['logged_user_id']." AND mmr.trash_status=1 AND mmr.inbox_status=0 AND mmr.sent_status=0), (mm.member_id=".$pArray['logged_user_id']." AND mm.trash_status=1 AND mm.inbox_status=0 AND mm.sent_status=1))";
$sqlQuery .= " OR IF(mm.sent_status>0, (mm.member_id=".$pArray['logged_user_id']." AND mm.trash_status=1 AND mm.inbox_status=0 AND mm.sent_status=1), (mmr.recipient_id=".$pArray['logged_user_id']." AND mmr.trash_status=1 AND mmr.inbox_status=0 AND mmr.sent_status=0))";
//$sqlQuery .= " AND (mmr.recipient_id=".$pArray['logged_user_id']." AND mmr.trash_status=1 AND mmr.inbox_status=0 AND mmr.sent_status=0) OR (mm.member_id=".$pArray['logged_user_id']." AND mm.trash_status=1 AND mm.inbox_status=0 AND mm.sent_status=1)";

//(mm.member_id=".$pArray['logged_user_id']." AND mm.trash_status=1 AND mm.inbox_status=0 AND mm.sent_status=1)";
//$sqlQuery .= " OR (mmr.recipient_id=".$pArray['logged_user_id']." AND mmr.trash_status=1 AND mmr.inbox_status=0 AND mmr.sent_status=0)";

} else if($pArray['flag_name'] =="Sent" && $pArray['message_id'] ==0) {
$sqlQuery .= " AND mm.member_id=".$pArray['logged_user_id']." AND mm.trash_status=0 AND mm.inbox_status=0 AND mm.sent_status=1";
}
$sqlQuery .= $sqlQuery2." ORDER BY mm.created_date DESC";

//$sqlResult = $this->selectQuery($sqlQuery);
//print_r($sqlResult);
return $sqlQuery;
}
catch ( Exception $e ) {
echo 'Message: ' .$e->getMessage();
}
}

This is my code. in this code whats the wrong i donot know please any one tell me

Re: Delete functionality is not working in EMail management

Posted: Mon Apr 23, 2012 1:59 pm
by Celauran
You haven't really given us anything to work with. Are you using some 3rd party package or something you wrote yourself? Can you post the relevant code?

Re: Delete functionality is not working in EMail management

Posted: Tue Apr 24, 2012 5:01 am
by saiphpuser
Hi this is my query for inbox, sent item , trash
public function modInboxDisplayValues($pArray)
{
try{
$sqlQuery = "SELECT mm.msg_id, mm.subject, mm.msg_body, mm.member_id, mm.created_date, DATE_FORMAT(mm.created_date, '%a %b %D, %Y at %h:%i %p') AS ConvertCDate, mm.inbox_status AS memberInboxStatus, mm.sent_status AS memberSentStatus, mm.trash_status AS trash, mmr.recipient_id, mmr.inbox_status AS recipientInbox, mmr.sent_status AS recipientSent, mmr.trash_status AS recipientTrash, mmr.read_status, sm.member_name, sm.real_name, sm.email_address ";

$sqlQuery1 = "";
$sqlQuery2 = "";

$sqlQuery .= ", COUNT( DISTINCT(ssm.id_member) ) AS sentTotalCount, GROUP_CONCAT( DISTINCT(ssm.member_name)) AS sentGroupMember, GROUP_CONCAT('<',(ssm.member_name), '> ', (ssm.email_address) SEPARATOR ',<br/>') AS sentGroupMemberNameEmailIds, GROUP_CONCAT( DISTINCT(ssm.id_member)) AS sentGroupMemberIds, ssm.member_name AS sentMemberName ";
$sqlQuery1 = " LEFT JOIN smf_members AS ssm ON ssm.id_member=mmr.recipient_id";
$sqlQuery2 = " GROUP BY mm.msg_id";

$sqlQuery .= " FROM `member_messages` AS mm, smf_members AS sm, member_messages_recipients AS mmr ".$sqlQuery1." WHERE mm.msg_id=mmr.msg_id AND mm.member_id=sm.id_member ";
/*if($pArray['flag_name']=="Sent") {
$sqlQuery .= " mm.member_id=sm.id_member ";
} else {
$sqlQuery .= " mm.msg_id=mmr.msg_id AND mm.member_id=sm.id_member ";
}*/

if($pArray['message_id']!=0){
$sqlQuery .= " AND mm.msg_id=".$pArray['message_id']." AND mmr.msg_id=".$pArray['message_id'];
}

if($pArray['flag_name']=="Inbox" && $pArray['message_id']==0) {
$sqlQuery .= " AND mmr.recipient_id=".$pArray['logged_user_id']." AND mmr.trash_status=0 AND mmr.inbox_status=1 AND mmr.sent_status=0";

} else if($pArray['flag_name'] =="Trash" && $pArray['message_id']==0) {
//$sqlQuery .= " AND mmr.member_id=".$pArray['logged_user_id']." AND mm.sent_status=2" ;
$sqlQuery .= " AND IF(mmr.sent_status=0, (mmr.recipient_id=".$pArray['logged_user_id']." AND mmr.trash_status=1 AND mmr.inbox_status=0 AND mmr.sent_status=0), (mm.member_id=".$pArray['logged_user_id']." AND mm.trash_status=1 AND mm.inbox_status=0 AND mm.sent_status=1))";
$sqlQuery .= " OR IF(mm.sent_status>0, (mm.member_id=".$pArray['logged_user_id']." AND mm.trash_status=1 AND mm.inbox_status=0 AND mm.sent_status=1), (mmr.recipient_id=".$pArray['logged_user_id']." AND mmr.trash_status=1 AND mmr.inbox_status=0 AND mmr.sent_status=0))";
//$sqlQuery .= " AND (mmr.recipient_id=".$pArray['logged_user_id']." AND mmr.trash_status=1 AND mmr.inbox_status=0 AND mmr.sent_status=0) OR (mm.member_id=".$pArray['logged_user_id']." AND mm.trash_status=1 AND mm.inbox_status=0 AND mm.sent_status=1)";

//(mm.member_id=".$pArray['logged_user_id']." AND mm.trash_status=1 AND mm.inbox_status=0 AND mm.sent_status=1)";
//$sqlQuery .= " OR (mmr.recipient_id=".$pArray['logged_user_id']." AND mmr.trash_status=1 AND mmr.inbox_status=0 AND mmr.sent_status=0)";

} else if($pArray['flag_name'] =="Sent" && $pArray['message_id'] ==0) {
$sqlQuery .= " AND mm.member_id=".$pArray['logged_user_id']." AND mm.trash_status=0 AND mm.inbox_status=0 AND mm.sent_status=1";
}
$sqlQuery .= $sqlQuery2." ORDER BY mm.created_date DESC";

//$sqlResult = $this->selectQuery($sqlQuery);
//print_r($sqlResult);
return $sqlQuery;
}
catch ( Exception $e ) {
echo 'Message: ' .$e->getMessage();
}
}

this is my own code

Re: Delete functionality is not working in EMail management

Posted: Tue Apr 24, 2012 8:47 am
by x_mutatis_mutandis_x
Echo out the query in your script where you call this function, and run it in a SQL client (like workbench, TOAD..) or console/command line. See if you get any records.

Code: Select all

//yourfile.php

....
$query = modInboxDisplayValues($yourvariable);
echo $query; // or better yet log it to a file
....