0) $qry .= "ListID='" . addslashes($ListID) . "' AND ";
$qry .= "FieldID='".addslashes($field['FieldID'])."' AND UserID='".addslashes($MemberID)."'";
$custom_field_results = mysql_query($qry);
$mv = mysql_fetch_assoc($custom_field_results);
$mv['Value'] = stripslashes($mv['Value']);
mysql_free_result($custom_field_results);
if (!$mv['Value']) return str_replace('%FIELD:' .$field['FieldID'] . '%', '', $BasicEmail);
switch($field['FieldType']) {
case 'checkbox':
if($mv['Value']=='CHECKED')
{
$mv['Value']='Yes';
}
else
{
$mv['Value']='No';
}
break;
case 'dropdown':
$opts=explode(';',$field['AllValues']);
foreach($opts as $opt)
{
$elements=explode('->',$opt);
$name = $elements[0];
$val = (isset($elements[1])) ? $elements[1] : '';
if($name==$mv['Value'])
{
$mv['Value']=$val;
}
}
break;
case 'longtext':
if ($Format=='HTML')
{
$mv['Value']=nl2br($mv['Value']);
}
break;
case 'multicheckbox':
$myvals = explode(':', $mv['Value']);
$mv['Value'] = '';
$fieldvals=explode(';',$field['AllValues']);
foreach($fieldvals as $fieldval){
if (!$fieldval) continue;
list($sys,$lab)=explode('->',$fieldval);
if (in_array($sys, $myvals)) $mv['Value'] .= $lab . ', ';
}
$mv['Value'] = substr($mv['Value'], 0, -2);
break;
case 'datebox':
$order = explode(',', $field['AllValues']);
list($day, $month, $year) = explode(':', $mv['Value']);
$mv['Value'] = '';
foreach($order as $o) {
if (!in_array($o, array('month', 'day', 'year'))) continue;
$mv['Value'] .= $$o . '/';
}
$mv['Value'] = substr($mv['Value'], 0, -1);
}
$BasicEmail = str_replace('%FIELD:' .$field['FieldID'] . '%', $mv['Value'], $BasicEmail);
return $BasicEmail;
}
function ReplaceCustomImages($image=array(), $Format='', $BasicEmail='') {
if (empty($image)) return $BasicEmail;
global $ROOTURL;
if($Format=='HTML') {
$tv = '
';
} else {
$tv = $ROOTURL.'temp/images/'.$image['ImageID'].'.'.$image['ImageType'];
}
$protocol = substr($ROOTURL, 0, strpos($ROOTURL, ':'));
$tv = str_replace($protocol.':/', $protocol.'://', str_replace('//', '/', $tv));
$BasicEmail=str_replace('%IMAGE:'.$image['ImageID'].'%',$tv,$BasicEmail);
return $BasicEmail;
}
function EmailBody($ComposedID, $MemberID, $Format, $EmailBody="", $member_details=array(), $ListID=0, $type='Send')
{
GLOBAL $ROOTURL;
GLOBAL $CURRENTADMIN;
global $TABLEPREFIX;
if($EmailBody)
{
$email=$EmailBody;
$BasicEmail = ($Format == 'HTML') ? $email : str_replace("\r\n", "\n", $email);
}
else
{
$composed_result = mysql_query("SELECT * FROM " . $TABLEPREFIX . "composed_emails WHERE ComposedID='".addslashes($ComposedID)."'");
$email=mysql_fetch_assoc($composed_result);
mysql_free_result($composed_result);
$BasicEmail = ($Format == 'HTML') ? $email['HTMLBody'] : str_replace("\r\n", "\n", $email['TextBody']);
}
$BasicEmail = wordwrap(stripslashes($BasicEmail), 500);
preg_match_all('/%FIELD:(.*?)%/', $BasicEmail, $custom_fields_to_replace);
$custom_fields_to_replace = $custom_fields_to_replace[1];
if (empty($custom_fields_to_replace)) $custom_fields_to_replace = array('0');
$listfields = array();
//list fields!
$list_fields_query = "SELECT * FROM " . $TABLEPREFIX . "list_fields WHERE FieldID IN (" . implode(',', $custom_fields_to_replace) . ")";
$list_fields=mysql_query($list_fields_query);
while($f=mysql_fetch_assoc($list_fields))
{
$BasicEmail = ReplaceCustomField($f, $MemberID, $Format, $BasicEmail, $ListID);
}
mysql_free_result($list_fields);
if (empty($member_details)) {
//basic tags!
$member_result = mysql_query("SELECT * FROM " . $TABLEPREFIX . "members WHERE MemberID='".addslashes($MemberID)."'");
$mem=mysql_fetch_assoc($member_result);
mysql_free_result($member_result);
} else {
$mem = $member_details;
}
$mem['Email'] = stripslashes($mem['Email']);
$mem['ConfirmCode'] = stripslashes($mem['ConfirmCode']);
$BasicEmail=str_replace('%BASIC:EMAIL%',$mem['Email'],$BasicEmail);
$c = ($mem['Confirmed'] == 1) ? 'Confirmed' : 'Unconfirmed';
$BasicEmail = str_replace('%BASIC:CONFIRMATION%',$c,$BasicEmail);
$c = ($mem['Status'] == 1) ? 'Active' : 'Inactive';
$BasicEmail=str_replace('%BASIC:STATUS%',$c,$BasicEmail);
$c = ($mem['Format'] == 1) ? 'Text' : 'HTML';
$BasicEmail=str_replace('%BASIC:FORMAT%',$c,$BasicEmail);
$BasicEmail=str_replace('%BASIC:SUBDATE%',DisplayDate($mem['SubscribeDate']),$BasicEmail);
$archive_url = $ROOTURL.'users/view_archive.php?Mem=' . $mem['MemberID'] . '&'.$type.'=' . $ComposedID . '&List=' . $ListID;
preg_match_all('/%BASIC:MODIFYDETAILS_(.*?)%/', $BasicEmail, $modify_form_to_include);
$modify_url = $ROOTURL.'users/modify_details.php?Mem=' . $mem['MemberID'] . '&'.$type.'=' . $ComposedID . '&List=' . $ListID . '&Conf=' . $mem['ConfirmCode'];
foreach($modify_form_to_include[1] as $formid) {
$mod_url = $modify_url . '&Form=' . $formid;
if ($Format == 'HTML') {
$BasicEmail = preg_replace('//i', '', $BasicEmail);
$BasicEmail = str_replace('%BASIC:MODIFYDETAILS_' . $formid . '%', '' . $mod_url . '', $BasicEmail);
} else {
$BasicEmail = str_replace('%BASIC:MODIFYDETAILS_' . $formid . '%', $mod_url, $BasicEmail);
}
}
$confirm_url = $ROOTURL . "users/confirm.php?Email=" . $mem['Email'] . "&ConfirmCode=" . $mem['ConfirmCode'];
$unsub_url = $ROOTURL . 'users/unsub.php?Mem=' . $MemberID . '&ConfirmCode=' . $mem['ConfirmCode'];
if($Format == 'HTML') {
$BasicEmail = preg_replace('//i', '', $BasicEmail);
$BasicEmail=str_replace("%BASIC:UNSUBLINK%", '' . $unsub_url . '', $BasicEmail);
$BasicEmail = preg_replace('//i', '', $BasicEmail);
$BasicEmail=str_replace("%BASIC:CONFIRMLINK%", '' . $confirm_url . '', $BasicEmail);
$BasicEmail = preg_replace('//i', '', $BasicEmail);
$BasicEmail = str_replace('%BASIC:ARCHIVELINK%', '' . $archive_url . '', $BasicEmail);
} else {
$BasicEmail=str_replace("%BASIC:UNSUBLINK%", $unsub_url, $BasicEmail);
$BasicEmail=str_replace("%BASIC:CONFIRMLINK%", $confirm_url, $BasicEmail);
$BasicEmail = str_replace('%BASIC:ARCHIVELINK%', $archive_url, $BasicEmail);
}
$listname = '';
if ($ListID > 0) {
$listname = @mysql_result(mysql_query("SELECT ListName FROM " . $TABLEPREFIX . "lists WHERE ListID='" . addslashes($ListID) . "'"), 0, 0);
}
$BasicEmail = str_replace('%BASIC:LISTNAME%', $listname, $BasicEmail);
return $BasicEmail;
}
function add_hidden_image($body, $imgsrc) {
if (preg_match('%