Sent Email Issue

Again 6.1.6

Wondering if anyone has come across users not being able to delete their sent emails?  If so whats the fix please.

Quote · 1 Jan 2010

For this there is a mod.. Look at www.expertzzz.com 
This was not standard in version 6..

Kids first
Quote · 1 Jan 2010

Dont need a mod for it.

Dolphin Jay sent this and works like a charm

open mail.php and replace function:

function PageCodeOutbox()
{
global $memberID;
global $site;
global $tmpl;
global $date_format;

if( $_REQUEST['do_delete'] or $_REQUEST['do_mark_new'] or $_REQUEST['do_mark_old'] )
{
if( $_REQUEST['do_delete'] )
$sqlDoQuery = "DELETE FROM `Messages` WHERE";


if( $aMsgs = $_POST['m'] and is_array( $aMsgs ) and !empty( $aMsgs ) )
{
foreach( $aMsgs as $msgID => $on )
{
$msgID = (int)$msgID;
if( !$msgID or $on != 'on' )
continue;

db_res( "$sqlDoQuery `ID`=$msgID AND `Sender` = $memberID" );
}
}
}
//echoDbg( $_POST );



$query = "
SELECT
`Messages`.`ID`,
UNIX_TIMESTAMP( `Date` ) AS `timestamp`,
DATE_FORMAT(`Date`, '$date_format') AS `Date`,
`Recipient`,
`Profiles`.`NickName` AS `SenderNickName`,
`Subject`,
`New`
FROM `Messages`
LEFT JOIN `Profiles` ON
`Profiles`.`ID` = `Recipient`
WHERE `Sender` = $memberID
ORDER BY `Date` DESC
";

$rMsgs = db_res( $query );

if( !mysql_num_rows( $rMsgs ) )
return '<div class="no_result"><div>'._t( "_No messages in Outbox" ).'</div></div>';


// --- get template and replace headers ---
$aReplace = array();

$aReplace['mailbox_header_img'] = '<img src="'.getTemplateIcon( 'inbox.gif' ) .'" class="mailbox_header_img" />';
//$aReplace['summary'] = _t(
$aReplace['flag'] = _t( '_Flag' );
$aReplace['from'] = _t( '_From' );
$aReplace['date'] = _t( '_Date' );
$aReplace['subject'] = _t( '_Subject' );
$aReplace['click_to_sort'] = _t( '_Click to sort' );

$aReplace['actions_l'] = _t( "_Selected messages" ) .':';
$aReplace['actions'] = '
<input type="submit" class="mailbox_submit" name="do_delete" value="'._t('_Delete').'" onclick="return confirm(\''._t('_are you sure?').'\');" />
';

$ret = file_get_contents(BX_DIRECTORY_PATH_ROOT . "templates/tmpl_{$tmpl}/mail_box.html");
foreach( $aReplace as $key => $val )
$ret = str_replace( "__{$key}__", $val, $ret );

$aMyTmpl = preg_split( "/\{\/?InsertRows\}/", $ret );
$tmplRow = $aMyTmpl[1];
$ret = "{$aMyTmpl[0]}{InsertRows /}{$aMyTmpl[2]}";

$InsertRows = '';
$tr_class = 'odd';
while( $aMsg = mysql_fetch_assoc( $rMsgs ) )
{
$sSubject = process_line_output( html2txt( $aMsg['Subject'] ));

$aReplace = array();

$aReplace['tr_class'] = $tr_class;
$aReplace['new_add'] = $aMsg['New'] ? 'new' : '';

$aReplace['ID'] = $aMsg['ID'];
$aReplace['CheckBox'] = '<input type="checkbox" class="td_mailbox_checkbox" id="sel_msg_'.$aMsg['ID'].'" name="m['.$aMsg['ID'].']" value="on" />';
$aReplace['Flag'] = '<img class="mailbox_flag_img" src="'.getTemplateIcon( $aMsg['New'] ? 'not_readed.gif' : 'readed.gif' ).'" title="'._t( $aMsg['New'] ? '_New Message' : '_Readed' ).'" />';
$aReplace['From'] = '<center><div style="width:45px;">' . get_member_icon($aMsg['Sender']) . "<div class=\"clear_both\"></div><!--{$aMsg['SenderNickName']}--> <a href=\"".getProfileLink($aMsg['Sender'])."\">{$aMsg['SenderNickName']}</a>" . '</center>';
$aReplace['Date'] = "<!--{$aMsg['timestamp']}--> {$aMsg['Date']}";
$aReplace['Subject'] = "<!--$sSubject--> <a href=\"{$site['url']}messages_outbox.php?message={$aMsg['ID']}\">$sSubject</a>";


$sInsertRow = $tmplRow;
foreach( $aReplace as $key => $val )
$sInsertRow = str_replace( "{{$key}}", $val, $sInsertRow );

$sInsertRows .= $sInsertRow;
$tr_class = ( $tr_class == 'odd' ? 'even' : 'odd' );
}

$ret = str_replace( "{InsertRows /}", $sInsertRows, $ret );

$ret =
'<form name="mailbox_form" action="'.$_SERVER['PHP_SELF'].'?mode=outbox" method="post">'.$ret.'</form>';

return $ret;
}

ofcoarse not my code but from the famus mrpowless...

Quote · 1 Jan 2010

Thanks for the try but mrpowless' code does not "work like a charm".  Haven't you guys realized that when you delete a sent message it also deletes the message from the recipiente's inbox?

This is probably why you're not allowed to delete sent messages.  And on the flipside, when you delete messages in your inbox it deletes them from the senders "sent mail".

The messages are linked, and need to be separate.

Taking Dolphin and Making Profitable Websites Since 2009 :)
Quote · 29 Mar 2010
 
 
Below is the legacy version of the Boonex site, maintained for Dolphin.Pro 7.x support.
The new Dolphin solution is powered by UNA Community Management System.