WordPress.org

Ready to get started?Download WordPress

Forums

Javelin Email Marketing
[resolved] [Plugin: WP Autoresponder And Newsletter Plugin] Editing the templates (16 posts)

  1. Yusri Mathews
    Member
    Posted 2 years ago #

    This is seriously a good plugin. I have editted the templates, but I have noticed there are a few things that are hard to find to be editted. Is it possible to edit the page that confirms when a user unsubscribes? the page where the user has to select the checkbox?

    http://wordpress.org/extend/plugins/wp-responder-email-autoresponder-and-newsletter-plugin/

  2. Yusri Mathews
    Member
    Posted 2 years ago #

    Also, the page that says "you already subscribed", how do I edit them? Please help!!!

  3. Yusri Mathews
    Member
    Posted 2 years ago #

    I have resolved this myself. If anyone is having the same issue. I will gladly help.

  4. Reagan Moore
    Member
    Posted 2 years ago #

    I also am trying to locate where to edit all of the txt in several of the suto responses.

    I have played around with a few spots and they seem to have no effect. My biggest issues are in the confirm_body txt. That language does not fit my needs at all?

  5. Yusri Mathews
    Member
    Posted 2 years ago #

    I think I might be able to help. Please be specific about which message or outcome you're trying to edit.

  6. Reagan Moore
    Member
    Posted 2 years ago #

    I have created a news letter subscription page for each of my different news letters. When I try to edit the verbiage that the autoresponder send when a person opts in it just does not hold. The verbiage ( text ) is just not what I want it to say, its cold and I would want it better worded. Below is the default text.

    1st section to edit:

    We\'ve received your request for information. Your information
    will be sent to you
    as soon as you VERIFY your email address. This will help us
    protect you from spam.

    [!confirm!]

    If you do not want to confirm, simply ignore this message.

    [!address!]

    Request Generated By:
    [!ipaddress!]
    [!date!]
    [!url!]

    2nd section to edit:

    Hi [!name!],

    Welcome to [!newslettername!] newsletter. You have verified your e-mail address and will soon start to receive information from us. If you subscribed to a e-course or post series it will be delivered to you automatically over the next few days.

    With Regards,
    [!sitename!]

    I am very new at this and hope this is not a stupid question but I have been so reluctant to change the code without a bit of guidance that I am in the right direction. Thanks

  7. Yusri Mathews
    Member
    Posted 2 years ago #

    In the plugin folder, there is a folder named "templates" open those text files and edit them to what you wish. If that doesn't work, you will have to edit code. Which I will also be able to point you to the files respectively.

  8. Reagan Moore
    Member
    Posted 2 years ago #

    iammathews,

    Thank you so much, but what am I going to change. I find the "templates" but there are many, I find the "templates" with the language I want to change, HOWEVER there are multiple ones, like subscribe_txt then another subscribe.html even one that is php? Do I change each one? When I change one do I hit the update button once I change it? I just dont want to go so deep and screw up that I have to delete what I have built and then reload.

    Thank you.

  9. Yusri Mathews
    Member
    Posted 2 years ago #

    For some reason, in my folder called "templates" I do not have a file named "subscribe_txt". Are you editing the file within the WordPress backend? Mail me at yusrimathews@gmail.com

  10. philipray
    Member
    Posted 2 years ago #

    Im having trouble locating the file that allows me to edit the look of the sidebar widget of the WPAutoresponder as well as the confirm, and unsubscribe files. Im a fast learning newbie, PLEASE HELP !

  11. Strictly Software
    Member
    Posted 1 year ago #

    Hi I am using the plugin and have managed to customise all of the html files that were in the /templates folder to look like my site.

    However the page that you get sent to with the checkbox to confirm you want to unsubscribe from the newsletter is not in that folder.

    Can you tell me how I can customise that page please.

    Thanks

  12. Yusri Mathews
    Member
    Posted 1 year ago #

    This you should find in the main folder. It's called subscribers.php. If you know php well enough you should find your way.

  13. Strictly Software
    Member
    Posted 1 year ago #

    Hi I have checked that file and it looks like an admin version of unsubscribing users from newsletters.

    I have found a file called manage.php in the main folder that looks like the file I need (although it's not really an HTML file I can edit) as its a total mix n match of PHP & HTML which doesn't make it easy to add my template to it. Plus I cannot find a <body> or <html> tag in it either.

    The function looks to be called confirm_unsubscription

    I will probably have to debug n rewrite it to fit in with all the other templates as at the moment the page looks a bit naff whereas all the other steps have been customised to look like my site.

    Thanks for your help.

  14. Yusri Mathews
    Member
    Posted 1 year ago #

    I know what you mean. It doesn't give you complete control, you can basically just change an image and text, not really an entire page. You should maybe consider looking for a more open sourced plugin, or build your own, or better yet, use a bulk mail service because this plugin could slow your server down, with these auto mails etc if too much is being sent at once or within an hour. It might sometimes even deliver as spam to some users.

  15. Strictly Software
    Member
    Posted 1 year ago #

    I usually do build my own plugins because of things like this but on some occassions there just isn't enough time to do it and this is one of those occassions.

    I hate using other peoples code.

    I hate open source code for many reasons (as my blog blog.strictly-software.com has ranted about on a number of times) the main reason being having to rely on someone else's code.

    I had to fix a bug with Postie (2 now) yesterday and that is another case of having to fix other peoples code because of the lack of time creating my own - and I have created 5 plugins for WordPress because of this previously.

    However I really haven't got the time to sort it and I would have thought the developer would have made it easy to code and style this page especially if he already lets you do the same for the other templates/pages.

    I just cannot believe there isn't even an HTML or BODY tag on the form I'm talking about.

    I will have to leave it for now until I get the spare time to sort it but as for sending out emails that could be an issue but I have my own server and at the moment there isn't many subscribers.

    I am just wondering about slowing down the emails by using a check for Server Load before any are sent e.g if the load is > 1.00 then don't send any out. This has been a successful trick in the past such as my own custom version of wp-o-matic or my sitemap builder.

    If I do have to get stuck into the code I will probably end up making my own version so do you know where the code lies that handles all the emails being sent out?

    Thanks for your help

  16. Strictly Software
    Member
    Posted 1 year ago #

    I have made a fix if anyone is interested.

    I basically created a template of my site - view source - save as - remove anything not required etc.

    Then at the top of the HTML I put the following PHP which is the guts of that manage.php page except I am storing the HTML or any error message in a string and then outputting in the relevant place.

    Really (if I could have been bothered) I would have done it as a class but it was a quick fix using "global" variables - which WordPress use anyway for some reason so I am just following their bad coding practise :)

    The code is here up to the DOCTYPE of the HTML

    <?php
    
    $request = $_GET['wpr-manage'];
    
    // we either get some nice HTML to display to the user or an error message
    $errmsg = "";
    $html = "";
    
    if (empty($request))
    {
         $errmsg = error("We're unable to identify your subscription to help you manage it. Please copy the full URL and paste it in the browser.");
    }
    else
    {
    
    	$plainstring = base64_decode($request);
    
    	$parts = explode("%$%",$plainstring);
    	$sid = $parts[0];
    	$nid = $parts[1];
    	$hash = $parts[2];
    
    	if (isset($_POST['confirmed']) && $_POST['confirmed'] == "true")
    	{
    
    		global $errmsg;
    
    		//delete autoresponders
    		$email = wpr_manage_sanitize($_POST['email']);
    
    		if (empty($email))
    		{
    			$errmsg = error("No email address was specified.");
    		}
    
    		if (is_array($_POST['newsletter']))
    		{
    			foreach ($_POST['newsletter'] as $nid)
    			{
    				$nid = (int) $nid;
    				if ($nid == 0)
    				{
    				   continue;
    				}
    				global $wpdb;
    				$query = "SELECT id from ".$wpdb->prefix."wpr_subscribers where nid=$nid and email='$email'";
    				$sub = $wpdb->get_results($query);
    				if (count($sub) == 0)
    					continue;
    
    				$sid = $sub[0]->id;
    				//delete follow ups.
    				$query = "DELETE FROM ".$wpdb->prefix."wpr_followup_subscriptions where sid='$sid'";
    				$wpdb->query($query);
    				//delete blog subscriptions
    				$query = "DELETE FROM ".$wpdb->prefix."wpr_blog_subscription where sid='$sid'";
    				$wpdb->query($query);
    				//delete custom field values.
    				$query = "DELETE FROM ".$wpdb->prefix."wpr_custom_fields_values where sid='$sid'";
    				$wpdb->query($query);
    
    				//unsubscribe
    				$query = "UPDATE ".$wpdb->prefix."wpr_subscribers set active=0 WHERE id='$sid'";
    				$wpdb->query($query);
    			}
    			show_unsubscribed();
    		}
    		else
    		{
    			$errmsg = error("No newsletter was mentiond to unsubscribe");
    		}
    	}
    	else
    	{
    		$html = confirm_unsubscription($nid,$sid,$hash);
    	}
    }
    
    function confirm_unsubscription($nid,$sid,$hash)
    {
    	global $wpdb;
    	$html="";
    
    	$query = "SELECT * FROM ".$wpdb->prefix."wpr_subscribers where id='$sid' and hash='$hash' and active=1 and confirmed=1;";
    	$subscriber = $wpdb->get_results($query);	
    
    	if (count($subscriber) > 0)
    	{
    		$newsletter = _wpr_newsletter_get($nid);
    		$subscriber = _wpr_subscriber_get($sid);
    		$query = "select b.* from ".$wpdb->prefix."wpr_subscribers a, ".$wpdb->prefix."wpr_newsletters b where b.id=a.nid and a.email='".$subscriber->email."' and a.active=1 and a.confirmed=1;";
    		$newsletters = $wpdb->get_results($query);
    
    		$html .= "<div style=\"font-family:Verdana, Geneva, sans-serif; font-size:12px; padding:20px; margin-left: auto; margin-right: auto; width:300px; background-color:#fff; border: 1px solid #0A5700;\"><form action=\"" . $_SERVER['REQUEST_URI'] . "\" method=\"post\"><input type=\"hidden\" name=\"confirmed\" value=\"true\">You are about to unsubscribe from:<br /><br /><input type=\"hidden\" name=\"email\" value=\"" . $subscriber->email . "\" />";
    
    		foreach ($newsletters as $newsletter)
    		{
    
    			$html	.= "<div class=\"newsletter\"><input type=\"checkbox\" name=\"newsletter[]\" checked=\"checked\" value=\"" . $newsletter->id . "\" id=\"nl_" . $newsletter->id . "\" /><label for=\"nl_" .  $newsletter->id . "\">" . $newsletter->name . " Newsletter<br />
    			<blockquote>";
    
    			//get blog subscriptions
    			$query = "select * from ".$wpdb->prefix."wpr_blog_subscription where type='cat' sid=$sid";
    			$bsubs = $wpdb->get_results($query);
    			foreach ($bsubs as $sub)
    			{
    				$cat = get_category($sub->eid);
    
    				$html .= "<p>You will stop receiving posts from the " . $cat->name . " category.</p>";
    
    			}
    
    			$query = "select * from ".$wpdb->prefix."wpr_blog_subscription where type='all' sid='$sid'";
    			$bsubs = $wpdb->get_results($query);
    			if (count($bsubs) >0)
    			{
    				$html .= "<p>New articles posted on the blog will not be delivered.</p>";
    			}
    			//get post series
    			$query = "SELECT b.* FROM ".$wpdb->prefix."wpr_followup_subscriptions a, wpr_post_series b where type='postseries' and sid='$sid' and b.id=a.eid;";
    			$pssubs = $wpdb->get_results($query);
    			if (count($pssubs) >0)
    			{
    
    			}
    			foreach ($pssubs as $sub)
    			{
    				$html .= "<p>You will stop receiving ".$sub->name." post series.</p>";
    			}
    
    			$html .= "</blockquote></label><br>";
    
    			$html .= $newsletter->description . "</div>";
    
    		}
    
    		$html .= "<p>Are you sure you want to unsubscribe from the above newsletter(s)?</p><br /><br />
    		<div align=\"center\">
    		<input type=\"submit\" class=\"greenbutton\" value=\"Unsubscribe\"> <input class=\"greenbutton\" type=\"button\" onclick=\"window.location='/'\" value=\"Cancel\"></div>
    		</form></div>";
    
    	}
    	else // who? what?
    	{
    		header("HTTP/1.0 404 Not Found");
    		exit;
    	}
    
    	return $html;
    }
    
    function show_unsubscribed()
    {
    	require "templates/unsubscribed.html";
    }
    
    function error($error)
    {
    	$content = "<p class=\"errormessage\">". $error . "</p><p><a href=\"javascript:window.history.go(-1);\">Click Here To Go Back</a>.</p>";
    	return $content;
    }
    
    function wpr_manage_sanitize($string)
    {
    		$string = strip_tags($string);
    		$string = trim($string);
    		if (get_magic_quotes_gpc())
    		{
    			return $string;
    		}
    		else
    		{
    			return addslashes($string);
    		}
    }
    ?>
    <!DOCTYPE html

    I have no idea why they have a pointless statment in the code that checks for post series eg

    //get post series
    $query = "SELECT b.* FROM ".$wpdb->prefix."wpr_followup_subscriptions a, wpr_post_series b where type='postseries' and sid='$sid' and b.id=a.eid;";
    $pssubs = $wpdb->get_results($query);
    if (count($pssubs) >0)
    {
    
    }

    But anyway it works for me and I then just output the html / error message in the HTML e.g

    <div class="entry">
    <h1 class="title">Unsubscribe from Newsletter</h1>
    <?php
    if(!empty($html)){
    	echo $html;
    }else if(!empty($errmsg)){
    	echo $errmsg;
    }else{
    
    	echo "<p>Sorry there seems to have been an error please go back to your email and try again.</p>";
    }
    ?>
    </div> <!-- end .entry -->

    So that has fixed that but I would still like to know where the code is that:
    a) handles the initial subscription form as if the user doesn't put an email/name in it goes to a horrible similarly badly formatted html page. I quickly got round this by using HTML 5 and the new required="required" and type="email" attributes and a fallback to a JS version but it still needs to be sorted serverside for older browsers with no JS on.

    b) where the code that handles the sending of emails is located etc

    Thanks for your help

Topic Closed

This topic has been closed to new replies.

About this Plugin

About this Topic