Ok here we go... this will add deletion support for the outbox and individual inbox/outbox deleting capablities.
First off open up phpmyadmin, click on sql and paste in this:
Code:
ALTER TABLE `Messages` ADD `ob` ENUM( '0', '1' ) NOT NULL DEFAULT '1',
ADD `ib` ENUM( '0', '1' ) NOT NULL DEFAULT '1';
Then open up inbox.php and find this:
Code:
switch( $_POST['msg_form_submit'] )
{
case _t( "_Delete" ): $query = "DELETE FROM `Messages`"; break;
case _t( "_Mark as New" ): $query = "UPDATE `Messages` SET New = '1'"; break;
case _t( "_Mark as old" ): $query = "UPDATE `Messages` SET New = '0'"; break;
}
and replace it with this:
Code:
switch( $_POST['msg_form_submit'] )
{
case _t( "_Delete" ):
$ib_ob_arr = db_arr( "SELECT `ib`, `ob` FROM `Messages` WHERE `ID` = ".((int)$val) );
if (!$ib_ob_arr['ob'])
$query = "DELETE FROM `Messages`";
else
$query = "UPDATE `Messages` SET `ib` = '0'";
break;
case _t( "_Mark as New" ): $query = "UPDATE `Messages` SET New = '1'"; break;
case _t( "_Mark as old" ): $query = "UPDATE `Messages` SET New = '0'"; break;
}
FIND:
Code:
$m_arr = fill_array( db_res( "SELECT
`Messages`.`ID`,
`Messages`.`Sender`,
`Messages`.`Subject`,
DATE_FORMAT( `Messages`.`Date`, '$date_format' ) AS Date,
LEFT( `Messages`.`Text`, {$preview_length} ) AS Preview,
`Messages`.`New`,
`Profiles`.`NickName`,
`Profiles`.`RealName`,
`Profiles`.`Status`,
`Profiles`.`ID` as pID
FROM `Messages`
LEFT JOIN Profiles ON Messages.Sender = Profiles.ID
WHERE Recipient = ".((int)$member['ID'])." ORDER BY $sort_by $sort_order" ) );
REPLACE WITH:
Code:
$m_arr = fill_array( db_res( "SELECT
`Messages`.`ID`,
`Messages`.`Sender`,
`Messages`.`Subject`,
DATE_FORMAT( `Messages`.`Date`, '$date_format' ) AS Date,
LEFT( `Messages`.`Text`, {$preview_length} ) AS Preview,
`Messages`.`New`,
`Messages`.`ib`,
`Profiles`.`NickName`,
`Profiles`.`RealName`,
`Profiles`.`Status`,
`Profiles`.`ID` as pID
FROM `Messages`
LEFT JOIN Profiles ON Messages.Sender = Profiles.ID
WHERE Recipient = ".((int)$member['ID'])."
AND `ib` = '1'
ORDER BY $sort_by $sort_order" ) );
Open up outbox.php and find:
Code:
$sort_order = $_POST['sort_order'] ? $_POST['sort_order'] : "DESC";
$sort_by = $_POST['sort_by'] ? $_POST['sort_by'] : " `Date`";
$preview_length = '45';
REPLACE WITH:
Code:
$sort_order = $_POST['sort_order'] ? $_POST['sort_order'] : "DESC";
$sort_by = $_POST['sort_by'] ? $_POST['sort_by'] : " `Date`";
if ( $_POST['msg_form_submit'] )
{
$sel_str = "";
while( list( $key, $val ) = each( $_POST ) )
if ( (int)$key && $val )
$sel_str .= ",$key";
$sel_str = substr( $sel_str, 1 );
$sel_arr = explode( ",", $sel_str );
while( list( $key, $val ) = each( $sel_arr ) )
{
switch( $_POST['msg_form_submit'] )
{
case _t( "_Delete" ):
$ib_ob_arr = db_arr( "SELECT `ib`, `ob` FROM `Messages` WHERE `ID` = ".((int)$val) );
if (!$ib_ob_arr['ib'])
$query = "DELETE FROM `Messages`";
else
$query = "UPDATE `Messages` SET `ob` = '0'";
break;
}
if ( strlen($query) )
db_res( "$query WHERE ID = ".((int)$val)." AND `Sender` = ".(int)$member['ID'] );
}
}
$preview_length = '45';
FIND:
Code:
$sql = "SELECT `Messages`.`ID`,
`Messages`.`Recipient`,
DATE_FORMAT( `Messages`.`Date`, '$date_format' ) AS Date,
LEFT( `Messages`.`Text`, $preview_length ) AS Preview,
`Messages`.`New`,
`Profiles`.`NickName`,
`Profiles`.`RealName`,
`Profiles`.`ID` AS pID,
`Messages`.`Subject`
FROM
`Messages`
LEFT JOIN `Profiles` ON `Messages`.`Recipient` = `Profiles`.`ID`
WHERE `Sender` = '".((int)$member['ID'])."'
ORDER BY $sort_by $sort_order
";
REPLACE WITH:
Code:
$message = ((int)$_GET['message']);
$sql = "SELECT `Messages`.`ID`,
`Messages`.`Recipient`,
DATE_FORMAT( `Messages`.`Date`, '$date_format' ) AS Date,
LEFT( `Messages`.`Text`, $preview_length ) AS Preview,
`Messages`.`New`,
`Messages`.`ob`,
`Profiles`.`NickName`,
`Profiles`.`RealName`,
`Profiles`.`ID` AS pID,
`Messages`.`Subject`
FROM
`Messages`
LEFT JOIN `Profiles` ON `Messages`.`Recipient` = `Profiles`.`ID`
WHERE `Sender` = '".((int)$member['ID'])."'
AND `ob` = '1'
ORDER BY $sort_by $sort_order
";
FIND:
Code:
<table cellspacing="1" cellpadding="1" width="100%" border="0" bgcolor="#CCCCCC">
<tr bgcolor="#FFFFFF">
<td rowspan="2" colspan="2" align="center" valign="center"><img src="<? getTemplateIcon('outbox.gif') ?>" /></td>
<td colspan="3" align="center" height="35"> <? echo _t( "_Messages in Outbox" ); ?>: <strong><? echo $m_num; ?></strong> <? echo _t( "_total" ); ?>, <strong><? echo $m_new; ?></strong> <? echo _t( "_not read" ); ?></td>
</tr>
REPLACE WITH:
Code:
<table cellspacing="1" cellpadding="1" width="100%" border="0" bgcolor="#CCCCCC">
<tr bgcolor="#FFFFFF">
<td rowspan="2" colspan="3" align="center" valign="center"><img src="<? getTemplateIcon('outbox.gif') ?>" /></td>
<td colspan="3" align="center" height="35"> <? echo _t( "_Messages in Outbox" ); ?>: <strong><? echo $m_num; ?></strong> <? echo _t( "_total" ); ?>, <strong><? echo $m_new; ?></strong> <? echo _t( "_not read" ); ?></td>
</tr>
FIND:
Code:
{ $sel_l = ""; $sel_r = ""; }
echo "<td align=\"left\" $style_add> <a href=\"profile.php?ID=" . $m_arr[$i]['Recipient'] . "\" title=\"Click here to view profile\">$sel_l" . $m_arr[$i]['NickName'] . "$sel_r</a> </td>";
echo "<td align=\"left\" $style_add> $sel_l" . $m_arr[$i]['Date'] . "$sel_r </td>";
echo "<td align=\"left\" $style_add> <a href=\"messages_outbox.php?message=" . $m_arr[$i]['ID'] . "\" title=\"Click here to view message to " . $m_arr[$i]['NickName'] . "\">$sel_l";
echo process_line_output(html2txt( $subject ));
echo '</a>';
echo '</td>';
echo "</tr>";
REPLACE WITH:
Code:
{ $sel_l = ""; $sel_r = ""; }
echo '<td align="center"><input type="checkbox" name="' . $m_arr[$i]['ID'] . '" /></td>';
echo "<td align=\"left\" $style_add> <a href=\"profile.php?ID=" . $m_arr[$i]['Recipient'] . "\" title=\"Click here to view profile\">$sel_l" . $m_arr[$i]['NickName'] . "$sel_r</a> </td>";
echo "<td align=\"left\" $style_add> $sel_l" . $m_arr[$i]['Date'] . "$sel_r </td>";
echo "<td align=\"left\" $style_add> <a href=\"messages_outbox.php?message=" . $m_arr[$i]['ID'] . "\" title=\"Click here to view message to " . $m_arr[$i]['NickName'] . "\">$sel_l";
echo process_line_output(html2txt( $subject ));
echo '</a>';
echo '</td>';
echo "</tr>";
FIND:
Code:
$j++;
}
?>
</table>
</form>
<?
REPLACE WITH:
Code:
$j++;
}
echo '<tr bgcolor="#ffffff">';
echo '<td colspan="6">';
echo '<table cellspacing="3" cellpadding="0" border="0">';
echo '<tr>';
echo '<td>' . _t( "_Selected messages" ) . ': </td>';
echo '<td><input name="msg_form_submit" type="submit" value="' . _t( "_Delete" ) . '" /></td>';
echo '<td> </td>';
echo '<td> </td>';
echo '<td> </td>';
echo '<td> </td>';
echo '</tr>';
echo '</table>';
echo '</td>';
echo '</tr>';
echo '</table>';
echo '</form>';
And that should do it. *whew* Works for me, let me know if it works for you.
Bookmarks