showExistingNewsletters();
}
else
{
switch ($action)
{
case 'vs' : // View subscribers of a newsletter
$nl -> view_subscribers($id);
break;
case 'remove' : // Remove subscriber
$nl -> remove_subscribers($id,$key);
$nl -> view_subscribers($id);
break;
default:
$function = $action."Newsletter";
if (method_exists($nl, $function))
{
$nl -> $function();
}
else
{
exit;
}
}
}
class newsletter
{
var $message;
function newsletter()
{
global $ns, $tp;
foreach($_POST as $key => $value)
{
$key = $tp->toDB($key);
if(strstr($key, "nlmailnow"))
{
$this->releaseIssue($key);
break;
}
}
if(isset($_POST['delete']))
{
$this->deleteNewsletter();
}
if(isset($_POST['createNewsletter']))
{
$this->createNewsletter();
}
if(isset($_POST['createIssue']))
{
$this->createIssue();
}
if($this -> message)
{
$ns->tablerender("", "
";
$mail_style .= "
";
$mail_style .= "
$message_subject
[ ".NLLAN_12." ".$newsletterInfo['newsletter_issue']." ]
";
$mail_style .= "
";
$message_body = str_replace("\n", "
", $message_body);
$mail->Body = $tp->toHTML($message_body, TRUE,'no_replace, emotes_off');
$mail->AltBody = strip_tags(str_replace("
", "\n", $message_body));
$sent_counter = 0;
foreach($memberArray as $memberID)
{
if($memberID)
{
if($sql -> db_Select("user", "user_name, user_email", "user_id='$memberID' "))
{
$row = $sql -> db_Fetch();
$mname = $row['user_name'];
$memail = $row['user_email'];
}
$mail->AddAddress($memail, $mname);
echo "
".NLLAN_54." ".$mname." ( ".$memail." )
";
$mail->Send();
$sent_counter ++;
$mail->ClearAddresses();
if ($pref['mailer'] == "smtp") {
$mail->SmtpClose();
}
}
}
$sql -> db_Update("newsletter", "newsletter_flag='1' WHERE newsletter_id='$issue' ");
$this -> message = NLLAN_40.$sent_counter.NLLAN_41;
}
function editNewsletter()
{
global $id, $sql;
if($sql -> db_Select("newsletter", "*", "newsletter_id='{$id}' "))
{
$foo = $sql -> db_Fetch();
if(!$foo['newsletter_parent'])
{
$this -> defineNewsletter($foo);
}
else
{
$this -> makeNewsletter($foo);
}
}
}
function deleteNewsletter()
{
global $sql;
$tmp = each($_POST['delete']);
if(strstr($tmp['key'], "newsletter"))
{
$id = str_replace("newsletter_", "", $tmp['key']);
$sql -> db_Delete("newsletter", "newsletter_id='{$id}' ");
$this -> message = NLLAN_42;
}
else
{
$id = str_replace("issue_", "", $tmp['key']);
$sql -> db_Delete("newsletter", "newsletter_id='{$id}' ");
$this -> message = NLLAN_43;
}
}
function show_options($action)
{
global $sql;
if ($action == "")
{
$action = "main";
}
// ##### Display options ---------------------------------------------------------------------------------------------------------
$var['main']['text'] = NLLAN_44;
$var['main']['link'] = e_SELF;
$var['define']['text'] = NLLAN_45;
$var['define']['link'] = e_SELF."?define";
$var['make']['text'] = NLLAN_46;
$var['make']['link'] = e_SELF."?make";
show_admin_menu(NLLAN_47, $action, $var);
}
function view_subscribers($p_id)
{
global $ns;
$nl_sql = new db;
if(!$nl_sql -> db_Select('newsletter', '*', 'newsletter_id='.$p_id))
{
// Check if newsletter id is available
$vs_text .= "
".NLLAN_56."
";
$ns -> tablerender(NLLAN_58, $vs_text);
return;
}
else
{
$vs_text .= "
";
$ns -> tablerender(NLLAN_65.' '.$p_id, $vs_text);
}
function remove_subscribers($p_id, $p_key)
{
global $sql;
$sql -> db_Select("newsletter", "*", "newsletter_id=".$p_id);
if($nl_row = $sql-> db_Fetch())
{
$subscribers_list = array_flip(explode(chr(1), $nl_row['newsletter_subscribers']));
unset($subscribers_list[$p_key]);
$new_subscriber_list = implode(chr(1), array_keys($subscribers_list));
$sql -> db_Update("newsletter", "newsletter_subscribers='{$new_subscriber_list}' WHERE newsletter_id=".$p_id);
}
}
}
require_once(e_ADMIN."footer.php");
function admin_config_adminmenu()
{
global $nl;
global $action;
$nl->show_options($action);
}
?>