Wbl patch

This commit is contained in:
Mikko Husari
2008-12-10 20:19:59 +02:00
parent 773cf4217a
commit 7f07671b68
9 changed files with 611 additions and 44 deletions

View File

@@ -294,6 +294,65 @@ function updateMessages($flag, $content_type, $emailaddresses, $mail_id_array, $
return $result_array;
}
/**
* Update white/blaclist function
* @param string $flag 'W', 'B'
* @param array $emailaddresses recipient email address(es)
* @param array $mail_id_array containing mail_id of messages to be whitelisted
* @result return array of messages whose release failed
*/
function updateWblist($flag, $emailaddresses, $mail_id_array, $action) {
$result_array = array();
$db = new DBEngine();
$i = 0;
foreach ($mail_id_array as $mail_id_recip) {
// Get mail_id and recipient email address
$temp = preg_split('/_/', $mail_id_recip, 2);
$mail_id = $temp[0];
$recip_email = $temp[1];
// Check if logged in user is admin or logged in user is trying to delete his own messages
if ( Auth::isMailAdmin() || in_array($recip_email, $emailaddresses) ) {
switch ($action) {
case translate('Whitelist by strict addressing'):
case translate('Blacklist by strict addressing'):
$rid = $db->mail2userid($recip_email);
$sid = $db->mailid2sid($mail_id);
$db->wbinsert($flag, $rid, $sid);
break;
case translate('Whitelist by sender domain'):
case translate('Blacklist by sender domain'):
$rid = $db->mail2userid($recip_email);
$sid = $db->mailid2sid($mail_id, true );
$db->wbinsert($flag, $rid, $sid);
break;
case translate('Whitelist by recipient domain'):
case translate('Blacklist by recipient domain'):
$rid = $db->mail2userid($recip_email, true);
$sid = $db->mailid2sid($mail_id);
$db->wbinsert($flag, $rid, $sid);
break;
case translate('Whitelist by both domains'):
case translate('Blacklist by both domains'):
$rid = $db->mail2userid($recip_email, true);
$sid = $db->mailid2sid($mail_id, true);
$db->wbinsert($flag, $rid, $sid);
break;
}
} else {
continue;
}
}
// Return array of messages whose release failed
return $result_array;
}
/**
* Function that sends: