Exemplo n.º 1
0
function display_page_content()
{
    $lists = NLLists::FindAll();
    ?>

	<div id="edit-header" class="blaster">
		<div class="nav-left column">
    		<h1>Edit Mailing Lists</h1>
		</div>
		<div class="nav-right column">
            <a href="<?php 
    echo get_link("admin/add_list");
    ?>
" class="hcd_button">Add a New Mailing List</a> 
		</div>
		<div class="clearleft"></div>
	</div>
					
	<p>Click on the list name to edit it.</p>
	<ul id="list_items" class="managelist">
<?php 
    if (count($lists) > 0) {
        foreach ($lists as $list) {
            echo "\t\t<li><a class=\"item-link\" href=\"" . get_link("/admin/edit_list/{$list->id}") . "\">{$list->display_name}</a></li>\n";
        }
    } else {
        echo "<h3 class=\"empty-list\">There are no lists to edit. <a class=\"short\" href=\"" . get_link("admin/add_list") . "\">Add one if you like</a>.</h3>";
    }
    ?>

	</ul>
<?php 
}
Exemplo n.º 2
0
function display_page_content()
{
    $the_email = requestIdParam();
    $the_list = getRequestVarAtIndex(3);
    $list = NLLists::FindById($the_list);
    $email = NLEmails::FindByEmail($the_email);
    $email->detach($list);
}
Exemplo n.º 3
0
function display_page_content()
{
    $emails = NLEmails::FindAll();
    $lists = NLLists::FindAll();
    ?>

					<h1>Subscribers listed below</h1>
<?php 
    $addresscount = 0;
    $subscribecount = 0;
    $subscribers = "";
    foreach ($emails as $email) {
        $lists_subscribed_to = 0;
        foreach ($lists as $list) {
            if ($email->is_linked($list)) {
                $lists_subscribed_to++;
            }
        }
        $address = "";
        if ($email->first_name && $email->last_name && $email->address1 && $email->city && $email->state && $email->zip) {
            $address = "(Complete address available)";
            $addresscount++;
        }
        $subscribers .= "\t\t\t\t\t\t<li><a href=\"#\"><strong>{$email->email}</strong></a> Subscribed to: {$lists_subscribed_to} lists {$address}</li>\n";
        $subscribecount++;
    }
    ?>

					<p>{<?php 
    echo $subscribecount;
    ?>
} Subscribers with {<?php 
    echo $addresscount;
    ?>
} complete address(es)</p>
					<ul id="list_items">
<?php 
    echo $subscribers;
    ?>
					
					</ul>
					
<?php 
}
Exemplo n.º 4
0
function display_page_content()
{
    $blasts = MailBlast::FindAll();
    ?>
		
<div id="edit-header" class="sentblasts">
	<h1>View or Delete Old Email Blasts</h1>
</div>
		
<form id="blast_list_form" method="POST">		
	<p>Click on the blast name to view it. Check the box and then click &ldquo;Save&rdquo; below to delete that blast from the database. </p>

	<div id="table-header">
		<span class="item-link">Click Name to View</span>
		<span class="item-public">Date Sent</span>
		<span class="item-revised">To List</span>
		<span class="item-created">Delete Option</span>
	</div>
	<ul id="listitems" class="managelist">
<?php 
    foreach ($blasts as $blast) {
        $list = NLLists::FindById($blast->list_id);
        $subject = $blast->email_subject != '' ? $blast->email_subject : 'Sent on ' . $blast->date_sent;
        echo "\t\t<li>\n\t\t    <a target=\"_blank\" class=\"item-link\" href=\"" . get_link("/mail/blast/{$blast->hash}") . "\">\n\t\t        {$subject}\n            </a> &nbsp; \n            <span class=\"item-public\">" . formatDateView($blast->date_sent) . "</span>\n\t\t\t<span class=\"item-revised\">" . $list->display_name . "</span>\n\t\t\t<span class=\"item-created\"><input name=\"delete[]\" type=\"checkbox\" value=\"{$blast->id}\" /> Delete?</span>\n        </li>\r\n";
    }
    ?>

	</ul>
	
	<div id="edit-footer">
    	<p><input type="submit" class="submitbutton" name="submit" value="Delete Selected" /></p>
    </div>
		
</form>
<?php 
}
Exemplo n.º 5
0
function display_page_content()
{
    $useremail = requestIDparam();
    if ($useremail == "deleted") {
        $useremail = "";
    }
    if (!$_POST) {
        $lists = NLLists::FindPublic();
        $list_count = count($lists);
        $welcome_message = 'Subscribe to our mailing list';
        if ($list_count > 1) {
            $welcome_message .= "s";
        }
        if (requestIdParam() == "deleted") {
            echo '<div class="feedback feedback__alert"><p class="">That email has been removed</p></div>';
        }
        ?>
		
		<div class="subscriber">
			<script type="text/javascript">
				//<![CDATA[										
					$().ready(function() {
						$("#lists_form").validate({
							rules: {
								email: { required: true, email: true },
								"list[]": "required"
							},
							messages: {
								email: "Please enter a valid email address",
								"list[]": "Almost forgot! Select at least one list to subscribe to." 
							}
						});
					});
				//]]>
			</script>
			
			<h1 class="subscriber--title"><?php 
        echo $welcome_message;
        ?>
</h1>
			
			<form class="form form__subscribe-new" method="POST">
				
				<span class="form--input-group"><label for="email">Your Email</label>
                <input type="email" id="email" name="email" class="form--input" maxlength="128" required="required" value="<?php 
        echo $useremail;
        ?>
"></span>
				
				<div class="subscriber--lists">
<?php 
        foreach ($lists as $list) {
            if ($list->public) {
                echo '<div class="subscriber--list-wrapper"><p class="subscriber--list"><label for="' . $list->name . '" class="check"><input type="checkbox" name="selected_list[]" id="' . $list->name . '" value="' . $list->id . '"> ' . $list->display_name . '</label></p>';
                echo '<div class="subscriber--list--description">' . $list->description . '</div></div>';
            }
        }
        ?>
                
                </div>
                <p><input type="submit" class="button primary-action" name="submit" value="Save Subscription Settings"></p>

			</form>
		</div>

<?php 
    } else {
        // There is a POST. Display a Success page
        $useremail = $_POST['email'];
        $nlemail = NLEmails::FindByEmail($useremail);
        $thislists = $nlemail->getNLlists();
        ?>
		
		<div class="subscriber subscriber--feedback">
			<h1 class="subscriber--title">Thanks!</h1>
			<h3 class="subscriber--subtitle"><?php 
        echo $useremail;
        ?>
 is now subscribed to:</h3>
<?php 
        foreach ($thislists as $list) {
            echo '<h4 class="successfully_subscribed">' . $list->display_name . '</h4>';
        }
        ?>

			<p>&nbsp;</p>
			<p>Go to the <a href="<?php 
        echo get_link("users/manage/" . $useremail);
        ?>
">Manage Subscriptions</a> page to manage your subscriptions or provide additional information.</p>
		</div>
<?php 
    }
}
Exemplo n.º 6
0
function display_page_content()
{
    $post_action = "";
    if (isset($_POST['submit'])) {
        $post_action = $_POST['submit'];
    }
    ?>

	<div id="mail_blaster">
		<?php 
    if (!$post_action) {
        $_SESSION['blaster'] = array();
        $lists = NLLists::FindAll();
        ?>
		
		<div id="edit-header" class="blaster">
    		<div class="nav-left column">
        		<h1>Email Blast Setup: Follow these Steps</h1>
    		</div>
    		<div class="nav-right column">
                <a href="<?php 
        echo get_link("admin/list_lists");
        ?>
" class="hcd_button">Manage Mailing Lists</a> 
    		</div>
    		<div class="clearleft"></div>
    	</div>
		
		<script type="text/javascript">
			//<![CDATA[
			$().ready(function() {
				$('.selectList').click(function() {
					$('a.blast_options').fadeIn();
				});
				
				$('.blast_options').click(function() {
					var value = "";
					$('#select_list .selectList').each(function() {
						if ($(this).attr('checked'))
						{
							value += $(this).val()+",";
						}
					});
					$('#session_add').load('<?php 
        echo BASEHREF;
        ?>
blaster/session_add/lists/'+value, function() { 
						$("#blast_options").load('<?php 
        echo BASEHREF;
        ?>
blaster/blast_options/', function() {
							$("#blast_options").slideDown();
						});
					});
					return false;
				});
				
				$('#step-one').click(function() {
    				$(this).fadeOut('slow');
				}); 
			});
			//]]>
		</script>
		
		<form id="select_list_form" method="POST">
		    <div id="select_list">
		        <h2><big>Step 1:</big> Choose a list to send an email to</h2>
<?php 
        foreach ($lists as $list) {
            echo '<p><label for="' . $list->name . '"><input class="selectList" name="list[]" type="checkbox" value="' . $list->name . '" id="' . $list->name . '"/> &nbsp; ' . $list->display_name . '</p>';
        }
        ?>
                    
                <a href="#" id="step-one" class="blast_options submitbutton" style="display:none;">Send a newsletter to selected list(s)</a>
			</div>
			
			<div id="blast_options" style="display: none;"></div>
		</form>
		
		<div id="session_add"></div>
<?php 
    } else {
        if ($post_action == "Submit All Options and Preview") {
            include_once mailPath('snippets/mail_config_parse');
            ?>
    
        <div id="edit-header" class="blaster">
    		<h1>Preview Your E-Newsletter Blast</h1>
    		<p><span class="hint">If you use your browser&rsquo;s &ldquo;Back&rdquo; button, you may lose any text or options you have configured here.</span></p>
    	</div>
    <?php 
            // ! Creates previews in Templates
            $templates_generated = array();
            $lists = "";
            foreach ($list_names as $slug) {
                $list = NLLists::FindBySlug($slug);
                $lists .= "<strong>{$list->display_name}</strong>";
                if (!in_array($list->template, $templates_generated)) {
                    echo "<p><strong>Template: {$list->template}</strong> (Please note: Things may look a little funky, as this is meant to be viewed in a mail browser)</p>\n";
                }
                $templates_generated[] = $list->template;
            }
            echo "<p>Your selected lists are: {$lists} </p>\n";
            echo "<p>Your email subject is: ";
            if ($_POST['subject_line']) {
                $subject = $_POST['subject_line'];
            } else {
                $subject = $list->display_name . " News: " . date("F j\\, Y");
            }
            echo "<strong>{$subject}</strong></p>";
            echo "<div class=\"mail_template\">\n";
            include_once mailPath("mail_layouts/" . $list->template . "_preview");
            echo "</div>\n";
            ?>

			<form id="send_list_form" method="POST">
				<?php 
            hiddenField("description", $_POST['description']);
            ?>
				<?php 
            hiddenField("subject_line", $subject);
            ?>
				
				<div id="edit-footer" class="blaster clearfix">
            		<div class="column half">
            			<p><input type="submit" class="submitbutton" name="submit" value="Send To Your Lists" /></p>
            		</div>
            		<div class="column half last">
            			<p>Be patient... depending on the number of addresses, this may take awhile.</p>
            		</div>
            	</div>
			</form>
<?php 
        } else {
            // Send the Mail
            include_once mailPath('snippets/mail_config_parse');
            // ! Creates previews in Templates
            $success = "";
            $failure = "";
            $subject = $_POST['subject_line'];
            foreach ($list_names as $slug) {
                $list = NLLists::FindBySlug($slug);
                // Include Template
                include_once mailPath("mail_layouts/" . $list->template);
                // stupid bug fix
                $mailed_content = str_replace(array("\\\\'", '\\\\"'), array("'", '"'), $mailed_content);
                $blast = MyActiveRecord::Create("MailBlast");
                $blast->email_subject = $subject;
                $blast->date_sent = date("Y-m-d");
                $blast->hash = md5(date('r', time()));
                $blast->content = $mailed_content;
                $blast->list_id = $list->id;
                $blast->save();
                $failure_num = 0;
                $success_num = 0;
                foreach ($list->findEmails() as $email) {
                    // To send HTML mail, the Content-type header must be set
                    $headers = 'MIME-Version: 1.0' . "\r\n";
                    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
                    // Additional headers
                    $headers .= 'From: ' . $list->display_name . ' <' . SENDMAIL_FROM . '>' . "\r\n";
                    // Mail it
                    if (!mail($email->email, $subject, str_replace("{{-email-}}", $email->email, $blast->content), $headers)) {
                        $failure .= $list->display_name . ": " . $email->email . "<br />\n";
                        $failure_num++;
                    } else {
                        $success .= $list->display_name . ": " . $email->email . "<br />\n";
                        $success_num++;
                    }
                }
            }
            echo '<div id="edit-header" class="blaster"><h1>Success!</h1></div>';
            if ($failure_num != 0) {
                echo "<h2>{$failure_num} Email(s) failed:</h2>\n<p>" . $failure . "</p>\n<p>&nbsp;</p>\n";
            }
            echo "<h2>{$success_num} Emails got sent</h2>\n<p>" . $success . "</p>\n";
        }
    }
    ?>

	</div>
<?php 
}
Exemplo n.º 7
0
function display_page_content()
{
    $useremail = requestIDparam();
    // Check email by getting it from the database. Find the subscriptions associated with it. If it is not a valid email in our database, then do not display the interface below. Instead, maybe we redirect them to the home page.
    $email = NLEmails::FindByEmail($useremail);
    $lists = NLLists::FindAll();
    echo '<div class="subscriber"><div id"status_message"></div>';
    displayFlash();
    echo '<h1 class="subscriber--title">Manage your Newsletter Subscriptions</h1>';
    // There is no email that we can take out of the URL string
    if ($useremail == "") {
        ?>

			<h3 class="subscriber--subtitle subscriber--error">An email was not detected&hellip; please enter one below:</h3>
			
			<form class="form form__subscriber-profile" method="POST">
				
				<span class="form--input-group"><label for="email" class="screen-reader-text">Email</label><input type="email" id="email" name="email" class="form--input" placeholder="*****@*****.**" maxlength="128" required="required" tabindex="1" value=""></span>
                
				<p><input type="submit" class="button primary-action" name="submit" value="Manage This Email" tabindex="2"></p>
			</form>
<?php 
        // There is an email, but we didn't find a user associated with it
    } else {
        if (!is_object($email)) {
            ?>

			<h3 class="subscriber--subtitle subscriber--error">Whoops&hellip; that email is not subscribed to any lists</h3>
			<h3><a href="<?php 
            echo get_link("mail/subscribe/" . $useremail);
            ?>
" title="Click here to choose an email list to subscribe this email to">Subscribe to a list.</a></h3>
			
<?php 
            // Found the email and the user.
        } else {
            ?>
			
			<form class="form form__subscriber-profile form__wide" method="POST">
				
				<span class="form--input-group"><label for="email">Your Email</label>
                <input type="email" id="email" name="email" class="form--input" maxlength="128" required="required" value="<?php 
            echo $email->email;
            ?>
"></span>
				
				<h2 class="subscriber--subtitle">Subscriptions</h2>
				<p><em>You may uncheck a box to be removed from that list</em></p>
				
				<div class="subscriber--lists">
<?php 
            hiddenField("oldemail", $email->email);
            foreach ($lists as $list) {
                if ($list->public) {
                    if ($email->is_linked($list)) {
                        $checked = "checked";
                    } else {
                        $checked = "";
                    }
                    echo '<div class="subscriber--list-wrapper"><p class="subscriber--list"><label for="' . $list->name . '" class="check"><input type="checkbox" name="' . $list->name . '" id="' . $list->name . '" value="' . $list->id . '" ' . $checked . '> ' . $list->display_name . '</label></p>';
                    echo '<div class="subscriber--list--description">' . $list->description . '</div></div>';
                }
            }
            ?>
                
                </div>
                <p><input type="submit" class="button primary-action" name="submit" value="Save Subscription Settings"></p>
                
                <div class="subscriber--details">
    				<h3>Optional Information:</h3>
    				<span class="form--input-group"><label for="first_name">First Name</label> <input type="text" id="first_name" name="first_name" class="form--input" value="<?php 
            echo $email->first_name;
            ?>
"></span>
    				<span class="form--input-group"><label for="last_name">Last Name</label> <input type="text" id="last_name" name="last_name" class="form--input" value="<?php 
            echo $email->last_name;
            ?>
"></span>
    				<span class="form--input-group"><label for="address1">Address 1</label> <input type="text" id="address1" name="address1" class="form--input" value="<?php 
            echo $email->address1;
            ?>
"></span>
    				<span class="form--input-group"><label for="address2">Address 2</label> <input type="text" id="address2" name="address2" class="form--input" value="<?php 
            echo $email->address2;
            ?>
"></span>
    				<span class="form--input-group"><label for="city">City</label> <input type="text" id="city" name="city" class="form--input" value="<?php 
            echo $email->city;
            ?>
"></span>
    				<span class="form--input-group"><label for="state">State</label> <?php 
            echo StateSelectList("state", $email->state);
            ?>
</span>
    				<span class="form--input-group"><label for="zip">Zip Code</label> <input type="text" id="zip" name="zip" class="form--input" value="<?php 
            echo $email->zip;
            ?>
"></span>
    				<span class="form--input-group"><label for="phone">Phone</label> <input type="tel" id="phone" name="phone" class="form--input" value="<?php 
            echo $email->phone;
            ?>
"></span>
				</div>
				
				<p><label for="delete" class="check"><input type="checkbox" name="delete" id="delete" value="<?php 
            echo $email->email;
            ?>
">&nbsp; Remove my email from the site completely.</label></p>
				
				<p><input type="submit" class="button primary-action" name="submit" value="Save Subscription Settings"></p>
			</form>
<?php 
        }
    }
    echo '</div><!-- end .subscriber -->';
}
Exemplo n.º 8
0
function display_page_content()
{
    $list = NLLists::FindById(requestIdParam());
    $emails = $list->findEmails();
    $subscribers = count($emails);
    ?>

	<script type="text/javascript">
		$().ready(function() {
			$("a.email_del").click(function() {
				var email = $(this).attr('title');
				var list = $(this).attr('name');
				var answer = confirm("Do you want to delete "+email+" from the list?");
				if (answer) {
					$("#loadme").load('<?php 
    echo BASEHREF;
    ?>
blaster/remove_email/'+email+'/'+list);
					$(this).parent().fadeOut();
					return false;
				} else {
					return false;
				}
			});
		});
	</script>
	
	<div id="loadme" style="display:none"></div>
	
	<div id="edit-header" class="maillistnav">
		<div class="nav-left column">
    		<h1>Edit a List: <?php 
    echo $list->display_name;
    ?>
</h1>
		</div>
		<div class="nav-right column">
            <a href="<?php 
    echo get_link("admin/list_lists");
    ?>
" class="hcd_button">Back to Mailing Lists</a> 
		</div>
		<div class="clearleft"></div>
	</div>
	
	<form method="POST" id="edit_maillist">
																
		<p><label for="description">Description of List (displayed, if the list is public, when a user manages their subscription preferences):</label><br />
		<?php 
    textArea("description", $list->description, 98, 10);
    ?>
		
		</p>
		
		<p>&nbsp;</p>
		
		<p><label for="emails">New Emails:</label>
    		<span class="hint">This field requires a single email OR a comma-delimited list of emails (i.e. &ldquo;blah@blah.org, blag@blag.net&rdquo; etc...)</span></p><p>
    		<textarea class="mceNoEditor" name="emails" id="emails" rows="8" style="width: 98%;"></textarea>
		
		</p>
		
		<p><label for="public">Public List:</label>
		<?php 
    checkBoxField("public", $list->public, "1");
    ?>
		
		</p>
		
		<p><input type="submit" class="submitbutton" name="submit" value="Edit List" /></p>
		
		<div id="edit-footer" class="maillistnav">
    		
    		<p><label for="subscribers">Current Subscribers (<?php 
    echo $subscribers;
    ?>
 subscribers):</label>
    		<span class="hint">Click the X to remove email from list.</span>
    		</p>
    		
    		<table width="100%" cellpadding="3" cellspacing="0" border="0">
    			<tbody>
    				<tr>
<?php 
    $count = 0;
    $tabs = "\t\t\t\t\t\t\t\t\t";
    foreach ($emails as $email) {
        echo $tabs . "\t<td><div>{$email->email}&nbsp;[<a class=\"email_del\" title=\"{$email->email}\" name=\"{$list->id}\" href=\"javascript:;\">X</a>]</div></td>\n";
        $count++;
        if ($count == 3) {
            echo $tabs . "</tr><tr>\n";
            $count = 0;
        }
    }
    ?>

    				</tr>
    			</tbody>
    		</table>
        </div>
        
	</form>
<?php 
}