Version Description
Download this release
Release Info
Developer | satollo |
Plugin | Newsletter |
Version | 1.5.9 |
Comparing to | |
See all releases |
Code changes from version 1.5.0 to 1.5.9
- commons.php +92 -0
- convert.php +3 -1
- export.php +6 -6
- forms.php +6 -2
- header.php +7 -3
- help.png +0 -0
- import.php +19 -21
- languages/newsletter-1.5.2.pot +419 -0
- languages/newsletter.pot +0 -767
- languages/nl_NL.php +66 -0
- languages/nl_NL_options.php +64 -0
- main.php +63 -0
- manage.php +28 -44
- newsletter.php +72 -77
- options.php +94 -295
- plugin.php +137 -159
- readme.txt +2 -17
- smtp.php +15 -0
- statistics.php +10 -6
- style.css +48 -0
- themes/feed-by-mail/style.css +5 -0
- themes/feed-by-mail/theme.php +24 -0
- tiny_mce/langs/en.js +17 -2
- tiny_mce/themes/advanced/img/icons.gif +0 -0
- tiny_mce/themes/advanced/js/anchor.js +1 -1
- tiny_mce/themes/advanced/js/charmap.js +10 -0
- tiny_mce/themes/advanced/js/image.js +2 -2
- tiny_mce/themes/advanced/js/link.js +4 -4
- tiny_mce/utils/editable_selects.js +5 -4
- tiny_mce/utils/form_utils.js +6 -5
- tiny_mce/utils/mctabs.js +5 -4
- tiny_mce/utils/validate.js +5 -4
- widget.php +5 -2
commons.php
ADDED
@@ -0,0 +1,92 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if (!isset($newsletter_options_main['no_translation'])) {
|
4 |
+
$plugin_dir = basename(dirname(__FILE__));
|
5 |
+
load_plugin_textdomain('newsletter', 'wp-content/plugins/' . $plugin_dir . '/languages/');
|
6 |
+
}
|
7 |
+
|
8 |
+
$action = $_REQUEST['act'];
|
9 |
+
if (isset($action) && !check_admin_referer()) die('Invalid call');
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Utility class to generate HTML form fields.
|
13 |
+
*/
|
14 |
+
class NewsletterControls {
|
15 |
+
|
16 |
+
var $data;
|
17 |
+
var $action = false;
|
18 |
+
|
19 |
+
function NewsletterControls($options=null) {
|
20 |
+
$this->data = $options;
|
21 |
+
}
|
22 |
+
|
23 |
+
function yesno($name) {
|
24 |
+
$value = isset($this->data[$name])?(int)$this->data[$name]:0;
|
25 |
+
|
26 |
+
echo '<select style="width: 60px" name="options[' . $name . ']">';
|
27 |
+
echo '<option value="0"';
|
28 |
+
if ($value == 0) echo ' selected';
|
29 |
+
echo '>No</option>';
|
30 |
+
echo '<option value="1"';
|
31 |
+
if ($value == 1) echo ' selected';
|
32 |
+
echo '>Yes</option>';
|
33 |
+
echo '</select>';
|
34 |
+
}
|
35 |
+
|
36 |
+
function select($name, $options) {
|
37 |
+
$value = $this->data[$name];
|
38 |
+
|
39 |
+
echo '<select name="options[' . $name . ']">';
|
40 |
+
foreach($options as $key=>$label) {
|
41 |
+
echo '<option value="' . $key . '"';
|
42 |
+
if ($value == $key) echo ' selected';
|
43 |
+
echo '>' . htmlspecialchars($label) . '</option>';
|
44 |
+
}
|
45 |
+
echo '</select>';
|
46 |
+
}
|
47 |
+
|
48 |
+
function text($name, $size) {
|
49 |
+
echo '<input name="options[' . $name . ']" type="text" size="' . $size . '" value="';
|
50 |
+
echo htmlspecialchars($this->data[$name]);
|
51 |
+
echo '"/>';
|
52 |
+
}
|
53 |
+
|
54 |
+
function button($action, $label, $function=null) {
|
55 |
+
if (!$this->action) echo '<input name="act" type="hidden" value=""/>';
|
56 |
+
$this->action = true;
|
57 |
+
if ($function != null) {
|
58 |
+
echo '<input type="button" value="' . $label . '" onclick="this.form.act.value=\'' . $action . '\';' . $function . '"/>';
|
59 |
+
}
|
60 |
+
else {
|
61 |
+
echo '<input type="button" value="' . $label . '" onclick="this.form.act.value=\'' . $action . '\';this.form.submit()"/>';
|
62 |
+
}
|
63 |
+
}
|
64 |
+
|
65 |
+
function editor($name, $rows=5, $cols=75) {
|
66 |
+
echo '<textarea class="visual" name="options[' . $name . ']" wrap="off" rows="' . $rows . '" cols="' . $cols . '">';
|
67 |
+
echo htmlspecialchars($this->data[$name]);
|
68 |
+
echo '</textarea>';
|
69 |
+
}
|
70 |
+
|
71 |
+
function textarea($name, $rows=5, $cols=75) {
|
72 |
+
echo '<textarea name="options[' . $name . ']" wrap="off" rows="' . $rows . '" cols="' . $cols . '">';
|
73 |
+
echo htmlspecialchars($this->data[$name]);
|
74 |
+
echo '</textarea>';
|
75 |
+
}
|
76 |
+
|
77 |
+
function email($prefix) {
|
78 |
+
echo 'Subject:<br />';
|
79 |
+
$this->text($prefix . '_subject', 70);
|
80 |
+
echo '<br />Message:<br />';
|
81 |
+
$this->editor($prefix . '_message');
|
82 |
+
}
|
83 |
+
|
84 |
+
function checkbox($name, $label='') {
|
85 |
+
echo '<input type="checkbox" id="' . $name . '" name="options[' . $name . ']" value="1"';
|
86 |
+
if (isset($this->data[$name])) echo ' checked="checked"';
|
87 |
+
echo '/>';
|
88 |
+
if ($label != '') echo ' <label for="' . $name . '">' . $label . '</label>';
|
89 |
+
}
|
90 |
+
}
|
91 |
+
|
92 |
+
?>
|
convert.php
CHANGED
@@ -1,4 +1,6 @@
|
|
1 |
-
|
|
|
|
|
2 |
<div class="wrap">
|
3 |
<form method="post" action="">
|
4 |
<h2>Conversion</h2>
|
1 |
+
<?php
|
2 |
+
@include_once 'commons.php';
|
3 |
+
?>
|
4 |
<div class="wrap">
|
5 |
<form method="post" action="">
|
6 |
<h2>Conversion</h2>
|
export.php
CHANGED
@@ -1,15 +1,15 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
-
|
4 |
?>
|
5 |
|
6 |
<div class="wrap">
|
7 |
-
<h2><?php _e('
|
8 |
|
9 |
-
<
|
|
|
10 |
|
11 |
-
|
12 |
-
<?php
|
13 |
$query = "select * from " . $wpdb->prefix . "newsletter";
|
14 |
$recipients = $wpdb->get_results($query . " order by email");
|
15 |
for ($i=0; $i<count($recipients); $i++) {
|
1 |
<?php
|
2 |
+
@include_once 'commons.php';
|
3 |
+
|
4 |
?>
|
5 |
|
6 |
<div class="wrap">
|
7 |
+
<h2><?php _e('Newsletter Export', 'newsletter'); ?> <a target="_blank" href="http://www.satollo.net/plugins/newsletter#export"><img src="<?php echo get_option('siteurl'); ?>/wp-content/plugins/newsletter/help.png"/></a></h2>
|
8 |
|
9 |
+
<textarea wrap="off" style="width: 100%; height: 400px; font-size: 11px; font-family: monospace">
|
10 |
+
email;name;status;token
|
11 |
|
12 |
+
<?php
|
|
|
13 |
$query = "select * from " . $wpdb->prefix . "newsletter";
|
14 |
$recipients = $wpdb->get_results($query . " order by email");
|
15 |
for ($i=0; $i<count($recipients); $i++) {
|
forms.php
CHANGED
@@ -1,9 +1,13 @@
|
|
|
|
|
|
|
|
|
|
1 |
<div class="wrap">
|
2 |
|
3 |
-
<h2>Forms</h2>
|
4 |
|
5 |
<?php if (!defined('NEWSLETTER_EXTRAS')) { ?>
|
6 |
-
<strong>You need the <a href="http://www.satollo.net/plugins/newsletter
|
7 |
<?php } else { ?>
|
8 |
<?php require_once ABSPATH . 'wp-content/plugins/newsletter-extras/forms.php'; ?>
|
9 |
<?php } ?>
|
1 |
+
<?php
|
2 |
+
@include_once 'commons.php';
|
3 |
+
?>
|
4 |
+
|
5 |
<div class="wrap">
|
6 |
|
7 |
+
<h2>Newsletter Forms</h2>
|
8 |
|
9 |
<?php if (!defined('NEWSLETTER_EXTRAS')) { ?>
|
10 |
+
<strong>You need the <a href="http://www.satollo.net/plugins/newsletter-extras">Newsletter Extras</a> installed to use this panel</strong>
|
11 |
<?php } else { ?>
|
12 |
<?php require_once ABSPATH . 'wp-content/plugins/newsletter-extras/forms.php'; ?>
|
13 |
<?php } ?>
|
header.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
-
|
2 |
-
<?php if (
|
3 |
-
<
|
|
|
|
|
4 |
<?php } ?>
|
|
|
|
1 |
+
|
2 |
+
<?php if (defined('NEWSLETTER_EXTRAS')) { ?>
|
3 |
+
<iframe width="100%" height="50" src="http://www.satollo.net/services/newsletter?extras=<?php echo NEWSLETTER_EXTRAS; ?>" style="border: 1px solid #ccc"></iframe>
|
4 |
+
<?php } else { ?>
|
5 |
+
<iframe width="100%" height="100" src="http://www.satollo.net/services/newsletter" style="border: 1px solid #ccc"></iframe>
|
6 |
<?php } ?>
|
7 |
+
|
8 |
+
|
help.png
ADDED
Binary file
|
import.php
CHANGED
@@ -1,16 +1,13 @@
|
|
1 |
<?php
|
2 |
|
|
|
|
|
3 |
$options = get_option('newsletter');
|
4 |
|
5 |
-
if (!isset($options['no_translation'])) {
|
6 |
-
$plugin_dir = basename(dirname(__FILE__));
|
7 |
-
load_plugin_textdomain('newsletter', 'wp-content/plugins/' . $plugin_dir . '/languages/');
|
8 |
-
}
|
9 |
|
10 |
-
if (
|
11 |
-
if (!check_admin_referer()) die('No hacking please');
|
12 |
@set_time_limit(100000);
|
13 |
-
$csv =
|
14 |
$lines = explode("\n", $csv);
|
15 |
|
16 |
$errors = array();
|
@@ -19,12 +16,13 @@ if (isset($_POST['import'])) {
|
|
19 |
if ($line == '') continue;
|
20 |
if ($line[0] == '#') continue;
|
21 |
$data = explode(';', $line);
|
22 |
-
|
|
|
|
|
23 |
$errors[] = $line;
|
24 |
continue;
|
25 |
}
|
26 |
-
$
|
27 |
-
$name = $data[1];
|
28 |
$token = md5(rand());
|
29 |
$r = $wpdb->query("insert into " . $wpdb->prefix . "newsletter (status, email, name, token) values ('C', '" . $wpdb->escape($email) . "','" . $wpdb->escape($name) . "','" . $token . "')");
|
30 |
// Zero or false mean no row inserted
|
@@ -32,31 +30,31 @@ if (isset($_POST['import'])) {
|
|
32 |
}
|
33 |
}
|
34 |
|
|
|
35 |
?>
|
36 |
|
37 |
<div class="wrap">
|
38 |
|
39 |
-
<h2><?php _e('
|
40 |
|
41 |
-
<?php require_once 'header.php'; ?>
|
42 |
|
43 |
-
<?php if ($errors) { ?>
|
44 |
|
45 |
<h3><?php _e('Rows with errors', 'newsletter'); ?></h3>
|
|
|
46 |
<textarea wrap="off" style="width: 100%; height: 150px; font-size: 11px; font-family: monospace"><?php echo htmlspecialchars(implode("\n", $errors))?></textarea>
|
47 |
|
48 |
-
<?php } ?>
|
49 |
|
50 |
-
<form method="post">
|
51 |
-
<?php wp_nonce_field(); ?>
|
52 |
-
|
53 |
-
<
|
54 |
-
</p>
|
55 |
-
<p><?php _e('Empty rows and rows staring with sharp (#) are skipped. Emails will be normalized and a subscriber token generated for each imported email.', 'newsletter'); ?></p>
|
56 |
|
57 |
<textarea name="csv" wrap="off" style="width: 100%; height: 300px; font-size: 11px; font-family: monospace"></textarea>
|
58 |
<p class="submit">
|
59 |
-
|
60 |
</p>
|
61 |
</form>
|
62 |
|
1 |
<?php
|
2 |
|
3 |
+
@include_once 'commons.php';
|
4 |
+
|
5 |
$options = get_option('newsletter');
|
6 |
|
|
|
|
|
|
|
|
|
7 |
|
8 |
+
if ($action == 'import') {
|
|
|
9 |
@set_time_limit(100000);
|
10 |
+
$csv = stripslashes($_POST['csv']);
|
11 |
$lines = explode("\n", $csv);
|
12 |
|
13 |
$errors = array();
|
16 |
if ($line == '') continue;
|
17 |
if ($line[0] == '#') continue;
|
18 |
$data = explode(';', $line);
|
19 |
+
$email = newsletter_normalize_email($data[0]);
|
20 |
+
if (!newsletter_is_email($email))
|
21 |
+
{
|
22 |
$errors[] = $line;
|
23 |
continue;
|
24 |
}
|
25 |
+
$name = newsletter_normalize_name($data[1]);
|
|
|
26 |
$token = md5(rand());
|
27 |
$r = $wpdb->query("insert into " . $wpdb->prefix . "newsletter (status, email, name, token) values ('C', '" . $wpdb->escape($email) . "','" . $wpdb->escape($name) . "','" . $token . "')");
|
28 |
// Zero or false mean no row inserted
|
30 |
}
|
31 |
}
|
32 |
|
33 |
+
$nc = new NewsletterControls();
|
34 |
?>
|
35 |
|
36 |
<div class="wrap">
|
37 |
|
38 |
+
<h2><?php _e('Newsletter Import', 'newsletter'); ?> <a target="_blank" href="http://www.satollo.net/plugins/newsletter#import"><img src="<?php echo get_option('siteurl'); ?>/wp-content/plugins/newsletter/help.png"/></a></h2>
|
39 |
|
40 |
+
<?php require_once 'header.php'; ?>
|
41 |
|
42 |
+
<?php if (!empty($errors)) { ?>
|
43 |
|
44 |
<h3><?php _e('Rows with errors', 'newsletter'); ?></h3>
|
45 |
+
|
46 |
<textarea wrap="off" style="width: 100%; height: 150px; font-size: 11px; font-family: monospace"><?php echo htmlspecialchars(implode("\n", $errors))?></textarea>
|
47 |
|
48 |
+
<?php } ?>
|
49 |
|
50 |
+
<form method="post" action="">
|
51 |
+
<?php wp_nonce_field(); ?>
|
52 |
+
|
53 |
+
<h3><?php _e('CSV text with subscribers', 'newsletter'); ?></h3>
|
|
|
|
|
54 |
|
55 |
<textarea name="csv" wrap="off" style="width: 100%; height: 300px; font-size: 11px; font-family: monospace"></textarea>
|
56 |
<p class="submit">
|
57 |
+
<?php $nc->button('import', __('Import', 'newsletter')); ?>
|
58 |
</p>
|
59 |
</form>
|
60 |
|
languages/newsletter-1.5.2.pot
ADDED
@@ -0,0 +1,419 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Translation of the WordPress plugin by .
|
2 |
+
# Copyright (C) 2010
|
3 |
+
# This file is distributed under the same license as the package.
|
4 |
+
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
|
5 |
+
#
|
6 |
+
#, fuzzy
|
7 |
+
msgid ""
|
8 |
+
msgstr ""
|
9 |
+
"Project-Id-Version: \n"
|
10 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/tag/newsletter\n"
|
11 |
+
"POT-Creation-Date: 2010-03-03 13:44+0000\n"
|
12 |
+
"PO-Revision-Date: 2010-MO-DA HO:MI+ZONE\n"
|
13 |
+
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
14 |
+
"Language-Team: LANGUAGE <LL@li.org>\n"
|
15 |
+
"MIME-Version: 1.0\n"
|
16 |
+
"Content-Type: text/plain; charset=utf-8\n"
|
17 |
+
"Content-Transfer-Encoding: 8bit\n"
|
18 |
+
|
19 |
+
#: export.php:7
|
20 |
+
msgid "Newsletter Export"
|
21 |
+
msgstr ""
|
22 |
+
|
23 |
+
#: feed.php:6
|
24 |
+
msgid "Newsletter feed by mail"
|
25 |
+
msgstr ""
|
26 |
+
|
27 |
+
#: import.php:38
|
28 |
+
msgid "Newsletter Import"
|
29 |
+
msgstr ""
|
30 |
+
|
31 |
+
#: import.php:44
|
32 |
+
msgid "Rows with errors"
|
33 |
+
msgstr ""
|
34 |
+
|
35 |
+
#: import.php:53
|
36 |
+
msgid "CSV text with subscribers"
|
37 |
+
msgstr ""
|
38 |
+
|
39 |
+
#: import.php:57
|
40 |
+
msgid "Import"
|
41 |
+
msgstr ""
|
42 |
+
|
43 |
+
#: main.php:18
|
44 |
+
msgid "Newsletter Configuration"
|
45 |
+
msgstr ""
|
46 |
+
|
47 |
+
#: main.php:26
|
48 |
+
msgid "General parameters"
|
49 |
+
msgstr ""
|
50 |
+
|
51 |
+
#: main.php:29
|
52 |
+
msgid "Enable access to editors?"
|
53 |
+
msgstr ""
|
54 |
+
|
55 |
+
#: main.php:35
|
56 |
+
msgid "Always show panels in english?"
|
57 |
+
msgstr ""
|
58 |
+
|
59 |
+
#: main.php:39
|
60 |
+
msgid ""
|
61 |
+
"The author does NOT mainatin translations, so if you have a doubt about some "
|
62 |
+
"texts, disable the translations"
|
63 |
+
msgstr ""
|
64 |
+
|
65 |
+
#: main.php:43
|
66 |
+
msgid "Logging"
|
67 |
+
msgstr ""
|
68 |
+
|
69 |
+
#: main.php:47
|
70 |
+
msgid "Debug level saves user data on file system, use only to debug problems."
|
71 |
+
msgstr ""
|
72 |
+
|
73 |
+
#: main.php:52 newsletter.php:412 options.php:105 options.php:141
|
74 |
+
#: options.php:174 options.php:226 options.php:272 options.php:288
|
75 |
+
msgid "Save"
|
76 |
+
msgstr ""
|
77 |
+
|
78 |
+
#: manage.php:82
|
79 |
+
msgid "Resend the subscription confirmation email?"
|
80 |
+
msgstr ""
|
81 |
+
|
82 |
+
#: manage.php:91
|
83 |
+
msgid "Newsletter Subscribers"
|
84 |
+
msgstr ""
|
85 |
+
|
86 |
+
#: manage.php:104 manage.php:107
|
87 |
+
msgid "Search"
|
88 |
+
msgstr ""
|
89 |
+
|
90 |
+
#: manage.php:109
|
91 |
+
msgid ""
|
92 |
+
"Press without filter to show all. Max 100 results will be shown. Use export "
|
93 |
+
"panel to get all subscribers."
|
94 |
+
msgstr ""
|
95 |
+
|
96 |
+
#: manage.php:116
|
97 |
+
msgid "Only not yet confirmed"
|
98 |
+
msgstr ""
|
99 |
+
|
100 |
+
#: manage.php:120
|
101 |
+
msgid "Order"
|
102 |
+
msgstr ""
|
103 |
+
|
104 |
+
#: manage.php:162
|
105 |
+
msgid "Remove all unconfirmed"
|
106 |
+
msgstr ""
|
107 |
+
|
108 |
+
#: manage.php:162
|
109 |
+
msgid "Are your sure, really sure?"
|
110 |
+
msgstr ""
|
111 |
+
|
112 |
+
#: manage.php:168
|
113 |
+
msgid "Subscriber's statistics"
|
114 |
+
msgstr ""
|
115 |
+
|
116 |
+
#: manage.php:169
|
117 |
+
msgid "Confirmed subscriber"
|
118 |
+
msgstr ""
|
119 |
+
|
120 |
+
#: manage.php:171
|
121 |
+
msgid "Unconfirmed subscriber"
|
122 |
+
msgstr ""
|
123 |
+
|
124 |
+
#: manage.php:173
|
125 |
+
msgid "Results"
|
126 |
+
msgstr ""
|
127 |
+
|
128 |
+
#: manage.php:178
|
129 |
+
msgid "Email"
|
130 |
+
msgstr ""
|
131 |
+
|
132 |
+
#: manage.php:178
|
133 |
+
msgid "Name"
|
134 |
+
msgstr ""
|
135 |
+
|
136 |
+
#: manage.php:178
|
137 |
+
msgid "Status"
|
138 |
+
msgstr ""
|
139 |
+
|
140 |
+
#: manage.php:178
|
141 |
+
msgid "Actions"
|
142 |
+
msgstr ""
|
143 |
+
|
144 |
+
#: manage.php:178
|
145 |
+
msgid "Profile"
|
146 |
+
msgstr ""
|
147 |
+
|
148 |
+
#: manage.php:186
|
149 |
+
msgid "edit"
|
150 |
+
msgstr ""
|
151 |
+
|
152 |
+
#: manage.php:187
|
153 |
+
msgid "remove"
|
154 |
+
msgstr ""
|
155 |
+
|
156 |
+
#: manage.php:188
|
157 |
+
msgid "confirm"
|
158 |
+
msgstr ""
|
159 |
+
|
160 |
+
#: manage.php:189
|
161 |
+
msgid "unconfirm"
|
162 |
+
msgstr ""
|
163 |
+
|
164 |
+
#: manage.php:190
|
165 |
+
msgid "resend confirmation"
|
166 |
+
msgstr ""
|
167 |
+
|
168 |
+
#: newsletter.php:297
|
169 |
+
msgid "Tags: <strong>{name}</strong> receiver name."
|
170 |
+
msgstr ""
|
171 |
+
|
172 |
+
#: newsletter.php:309
|
173 |
+
msgid ""
|
174 |
+
"Tags: <strong>{name}</strong> receiver name;\r\n"
|
175 |
+
"<strong>{unsubscription_url}</strong> unsubscription URL;\r\n"
|
176 |
+
"<strong>{token}</strong> the subscriber token."
|
177 |
+
msgstr ""
|
178 |
+
|
179 |
+
#: newsletter.php:397
|
180 |
+
msgid ""
|
181 |
+
"When you simulate a sending process, emails are really sent but all to this"
|
182 |
+
"\r\n"
|
183 |
+
"email address. That helps to test out problems with mail server."
|
184 |
+
msgstr ""
|
185 |
+
|
186 |
+
#: newsletter.php:406
|
187 |
+
msgid ""
|
188 |
+
"Force the return path to this email address. Return path is used from mail "
|
189 |
+
"server to\r\n"
|
190 |
+
"send back messages with delivery errors."
|
191 |
+
msgstr ""
|
192 |
+
|
193 |
+
#: options.php:35
|
194 |
+
msgid "Newsletter Subscription and Unsubscription"
|
195 |
+
msgstr ""
|
196 |
+
|
197 |
+
#: options.php:42
|
198 |
+
msgid "Sender and subscription page"
|
199 |
+
msgstr ""
|
200 |
+
|
201 |
+
#: options.php:44
|
202 |
+
msgid "<p><strong>It's REQUIRED to complete such configuration.</strong></p>"
|
203 |
+
msgstr ""
|
204 |
+
|
205 |
+
#: options.php:48
|
206 |
+
msgid "Sender email"
|
207 |
+
msgstr ""
|
208 |
+
|
209 |
+
#: options.php:52
|
210 |
+
msgid ""
|
211 |
+
"Newsletter sender email address: the address subscribers will see the "
|
212 |
+
"newsletters coming from."
|
213 |
+
msgstr ""
|
214 |
+
|
215 |
+
#: options.php:56
|
216 |
+
msgid "Sender name"
|
217 |
+
msgstr ""
|
218 |
+
|
219 |
+
#: options.php:60
|
220 |
+
msgid ""
|
221 |
+
"The name of the newsletter sender subscribers will see on incoming email."
|
222 |
+
msgstr ""
|
223 |
+
|
224 |
+
#: options.php:64
|
225 |
+
msgid "Subscription page URL"
|
226 |
+
msgstr ""
|
227 |
+
|
228 |
+
#: options.php:68
|
229 |
+
msgid ""
|
230 |
+
"This is the page where you placed the <strong>[newsletter]</strong> short "
|
231 |
+
"tag. (<a href=\"http://www.satollo.net/plugins/newsletter\">Read more on "
|
232 |
+
"plugin official page</a>)"
|
233 |
+
msgstr ""
|
234 |
+
|
235 |
+
#: options.php:73
|
236 |
+
msgid "Theme to use for emails"
|
237 |
+
msgstr ""
|
238 |
+
|
239 |
+
#: options.php:100
|
240 |
+
msgid ""
|
241 |
+
"Selected theme has to be one with {message} tag inside, tag that will be "
|
242 |
+
"replaced with messages. Use the blank theme to send messages as you see them "
|
243 |
+
"in the editor."
|
244 |
+
msgstr ""
|
245 |
+
|
246 |
+
#: options.php:111
|
247 |
+
msgid "Subscription"
|
248 |
+
msgstr ""
|
249 |
+
|
250 |
+
#: options.php:116
|
251 |
+
msgid "Do not ask the user name, only email."
|
252 |
+
msgstr ""
|
253 |
+
|
254 |
+
#: options.php:120
|
255 |
+
msgid "Subscription form page"
|
256 |
+
msgstr ""
|
257 |
+
|
258 |
+
#: options.php:124
|
259 |
+
msgid ""
|
260 |
+
"This is the text showed to subscriber before the subscription form which is "
|
261 |
+
"added automatically."
|
262 |
+
msgstr ""
|
263 |
+
|
264 |
+
#: options.php:128
|
265 |
+
msgid "Successfully subscription page"
|
266 |
+
msgstr ""
|
267 |
+
|
268 |
+
#: options.php:132
|
269 |
+
msgid ""
|
270 |
+
"This is the text showed to a user who has pressed \"subscribe me\" on the "
|
271 |
+
"previous\r\n"
|
272 |
+
"step informing that an email to confirm subscription has just been sent. "
|
273 |
+
"Remeber\r\n"
|
274 |
+
"the user to check the spam folder and to follow the email instructions.<br />"
|
275 |
+
"\r\n"
|
276 |
+
"Tags: <strong>{name}</strong> the user name; <strong>{email}</strong> the "
|
277 |
+
"user email."
|
278 |
+
msgstr ""
|
279 |
+
|
280 |
+
#: options.php:146
|
281 |
+
msgid "Confirmation (double opt-in)"
|
282 |
+
msgstr ""
|
283 |
+
|
284 |
+
#: options.php:148
|
285 |
+
msgid ""
|
286 |
+
"<p>Email sent to the user to confirm his subscription, the successful "
|
287 |
+
"confirmation\r\n"
|
288 |
+
"page, the welcome email.</p>"
|
289 |
+
msgstr ""
|
290 |
+
|
291 |
+
#: options.php:155
|
292 |
+
msgid ""
|
293 |
+
"Do not use double opt-in. If checked the subscription is direct, so "
|
294 |
+
"subscribers will be immediately confirmed and will receive the welcome email."
|
295 |
+
msgstr ""
|
296 |
+
|
297 |
+
#: options.php:161
|
298 |
+
msgid "Confirmation email"
|
299 |
+
msgstr ""
|
300 |
+
|
301 |
+
#: options.php:165
|
302 |
+
msgid ""
|
303 |
+
"Tags: <strong>{name}</strong> the user name; <strong>"
|
304 |
+
"{subscription_confirm_url}</strong>\r\n"
|
305 |
+
"confirmation URL to be clicked by the user to confirm his subscription;\r\n"
|
306 |
+
"<strong>{unsubscription_url}</strong> the unsubscription link"
|
307 |
+
msgstr ""
|
308 |
+
|
309 |
+
#: options.php:179 options.php:184
|
310 |
+
msgid "Welcome message"
|
311 |
+
msgstr ""
|
312 |
+
|
313 |
+
#: options.php:180
|
314 |
+
msgid ""
|
315 |
+
"<p>Users jump directly to this step if you disabled the double opt-in step.</"
|
316 |
+
"p>"
|
317 |
+
msgstr ""
|
318 |
+
|
319 |
+
#: options.php:188
|
320 |
+
msgid ""
|
321 |
+
"Showed when the user follow the confirmation URL sent to him with previous "
|
322 |
+
"email\r\n"
|
323 |
+
"settings or if signed up directly with no double opt-in process.\r\n"
|
324 |
+
"<br />\r\n"
|
325 |
+
"Tags: <strong>{name}</strong> the user name; <strong>{email}</strong> for the"
|
326 |
+
"\r\n"
|
327 |
+
"user email; <strong>{token}</strong> the subscriber unique token"
|
328 |
+
msgstr ""
|
329 |
+
|
330 |
+
#: options.php:197
|
331 |
+
msgid "Conversion tracking code"
|
332 |
+
msgstr ""
|
333 |
+
|
334 |
+
#: options.php:201
|
335 |
+
msgid "<strong>Works only with Newsletter Extras installed</strong>"
|
336 |
+
msgstr ""
|
337 |
+
|
338 |
+
#: options.php:203
|
339 |
+
msgid ""
|
340 |
+
"The code is injected AS-IS in welcome page and can be used to track "
|
341 |
+
"conversion\r\n"
|
342 |
+
"(you can use PHP if needed). Conversion code is usually supply by tracking "
|
343 |
+
"services,\r\n"
|
344 |
+
"like Google AdWords, Google Analytics and so on."
|
345 |
+
msgstr ""
|
346 |
+
|
347 |
+
#: options.php:212
|
348 |
+
msgid ""
|
349 |
+
"Welcome email<br /><small>The right place where to put bonus content link</"
|
350 |
+
"small>"
|
351 |
+
msgstr ""
|
352 |
+
|
353 |
+
#: options.php:217
|
354 |
+
msgid ""
|
355 |
+
"Tags: <strong>{id}</strong> user id; <strong>{name}</strong> user name;\r\n"
|
356 |
+
"<strong>{token}</strong> the subscriber unique token; <strong>"
|
357 |
+
"{unsubscription_url}</strong>\r\n"
|
358 |
+
"unsubscription link"
|
359 |
+
msgstr ""
|
360 |
+
|
361 |
+
#: options.php:231
|
362 |
+
msgid "Unsubscription"
|
363 |
+
msgstr ""
|
364 |
+
|
365 |
+
#: options.php:232
|
366 |
+
msgid ""
|
367 |
+
"<p>A user starts the unsubscription process clicking the unsubscription link "
|
368 |
+
"in\r\n"
|
369 |
+
"a newsletter. This link contains the email to unsubscribe and some unique "
|
370 |
+
"information\r\n"
|
371 |
+
"to avoid hacking. The user are requird to confirm the unsubscription: this "
|
372 |
+
"is the last\r\n"
|
373 |
+
"step where YOU can communicate with you almost missed user.</p>"
|
374 |
+
msgstr ""
|
375 |
+
|
376 |
+
#: options.php:239
|
377 |
+
msgid "Unsubscription message"
|
378 |
+
msgstr ""
|
379 |
+
|
380 |
+
#: options.php:243
|
381 |
+
msgid ""
|
382 |
+
"This text is show to users who click on a \"unsubscription link\" in a "
|
383 |
+
"newsletter\r\n"
|
384 |
+
"email. You have to insert a link in the text that user can follow to confirm "
|
385 |
+
"the\r\n"
|
386 |
+
"unsubscription request (see tags).\r\n"
|
387 |
+
"<br />\r\n"
|
388 |
+
"Tags: <strong>{name}</strong> user name; <strong>{email}</strong> user email;"
|
389 |
+
"\r\n"
|
390 |
+
"<strong>{unsubscription_confirm_url}</strong> URL to confirm unsubscription."
|
391 |
+
msgstr ""
|
392 |
+
|
393 |
+
#: options.php:254
|
394 |
+
msgid "Goodbye message"
|
395 |
+
msgstr ""
|
396 |
+
|
397 |
+
#: options.php:262
|
398 |
+
msgid "Goodbye email"
|
399 |
+
msgstr ""
|
400 |
+
|
401 |
+
#: options.php:266
|
402 |
+
msgid "Tags: <strong>{name}</strong> user name."
|
403 |
+
msgstr ""
|
404 |
+
|
405 |
+
#: options.php:277
|
406 |
+
msgid "Advanced"
|
407 |
+
msgstr ""
|
408 |
+
|
409 |
+
#: options.php:281
|
410 |
+
msgid "Disable visual editors?"
|
411 |
+
msgstr ""
|
412 |
+
|
413 |
+
#: smtp.php:7
|
414 |
+
msgid "Newsletter SMTP"
|
415 |
+
msgstr ""
|
416 |
+
|
417 |
+
#: statistics.php:7
|
418 |
+
msgid "Newsletter Statistics"
|
419 |
+
msgstr ""
|
languages/newsletter.pot
DELETED
@@ -1,767 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: Russian Lang for Newsletter\n"
|
4 |
-
"Report-Msgid-Bugs-To: \n"
|
5 |
-
"POT-Creation-Date: 2010-01-22 20:52+0300\n"
|
6 |
-
"PO-Revision-Date: \n"
|
7 |
-
"Last-Translator: M.O.Z.G <mozg@mozg-studio.org>\n"
|
8 |
-
"Language-Team: M.O.Z.G Studio | http://mozg-studio.org <mozg@mozg-studio.org>\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Poedit-Language: Russian\n"
|
13 |
-
"X-Poedit-Country: RUSSIAN FEDERATION\n"
|
14 |
-
"X-Poedit-SourceCharset: utf-8\n"
|
15 |
-
"X-Poedit-KeywordsList: _e;__;_c;_n\n"
|
16 |
-
"X-Poedit-Basepath: ..\n"
|
17 |
-
"X-Poedit-SearchPath-0: .\n"
|
18 |
-
|
19 |
-
#: export.php:8
|
20 |
-
msgid "Subscribers Export"
|
21 |
-
msgstr ""
|
22 |
-
|
23 |
-
|
24 |
-
#: export.php:10
|
25 |
-
msgid "The text below is a list of all your subscribers (confirmed and not) in cvs format. You can copy, save and edit it with Excel or other software. Status column has 2 values: S - subscribed but not confirmed, C - confirmed."
|
26 |
-
msgstr ""
|
27 |
-
|
28 |
-
#: export.php:12
|
29 |
-
#: manage.php:148
|
30 |
-
msgid "Email"
|
31 |
-
msgstr ""
|
32 |
-
|
33 |
-
#: export.php:12
|
34 |
-
#: manage.php:148
|
35 |
-
msgid "Name"
|
36 |
-
msgstr ""
|
37 |
-
|
38 |
-
#: export.php:12
|
39 |
-
#: manage.php:148
|
40 |
-
msgid "Status"
|
41 |
-
msgstr ""
|
42 |
-
|
43 |
-
#: export.php:12
|
44 |
-
#: manage.php:148
|
45 |
-
msgid "Token"
|
46 |
-
msgstr ""
|
47 |
-
|
48 |
-
#: import.php:34
|
49 |
-
msgid "Subscribers Import"
|
50 |
-
msgstr ""
|
51 |
-
|
52 |
-
#: import.php:40
|
53 |
-
msgid "Rows with errors"
|
54 |
-
msgstr ""
|
55 |
-
|
56 |
-
#: import.php:47
|
57 |
-
#: import.php:54
|
58 |
-
#: plugin.php:934
|
59 |
-
msgid "Import"
|
60 |
-
msgstr ""
|
61 |
-
|
62 |
-
#: import.php:48
|
63 |
-
msgid "On the textarea below you can copy a text in CSV (comma separated values) with format:<br /><br /> <pre>user email;user name</pre><br /><br />and then import them. If an email is already stored, it won't be imported. If an email is wrong it won't be imported. Even when there are errors on CSV lines, the import will continue to the end. After the import process has ended, a box will appear with all the line not imported due to duplications or errors. Imported subscriber will be set as confirmed."
|
64 |
-
msgstr ""
|
65 |
-
|
66 |
-
#: import.php:50
|
67 |
-
msgid "Empty rows and rows staring with sharp (#) are skipped. Emails will be normalized and a subscriber token generated for each imported email."
|
68 |
-
msgstr ""
|
69 |
-
|
70 |
-
#: manage.php:95
|
71 |
-
msgid "Subscribers Management"
|
72 |
-
msgstr ""
|
73 |
-
|
74 |
-
#: manage.php:106
|
75 |
-
#: manage.php:109
|
76 |
-
msgid "Search"
|
77 |
-
msgstr "Поиск"
|
78 |
-
|
79 |
-
#: manage.php:109
|
80 |
-
msgid "press without filter to show all"
|
81 |
-
msgstr ""
|
82 |
-
|
83 |
-
#: manage.php:116
|
84 |
-
msgid "Only not yet confirmed"
|
85 |
-
msgstr ""
|
86 |
-
|
87 |
-
#: manage.php:120
|
88 |
-
msgid "Order"
|
89 |
-
msgstr ""
|
90 |
-
|
91 |
-
#: manage.php:134
|
92 |
-
msgid "Remove all unconfirmed"
|
93 |
-
msgstr ""
|
94 |
-
|
95 |
-
#: manage.php:134
|
96 |
-
msgid "Are your sure, really sure?"
|
97 |
-
msgstr ""
|
98 |
-
|
99 |
-
#: manage.php:138
|
100 |
-
msgid "Subscriber's statistics"
|
101 |
-
msgstr ""
|
102 |
-
|
103 |
-
#: manage.php:139
|
104 |
-
#: manage_.php:114
|
105 |
-
msgid "Confirmed subscriber"
|
106 |
-
msgstr ""
|
107 |
-
|
108 |
-
#: manage.php:141
|
109 |
-
msgid "Unconfirmed subscriber"
|
110 |
-
msgstr ""
|
111 |
-
|
112 |
-
#: manage.php:143
|
113 |
-
msgid "Results"
|
114 |
-
msgstr ""
|
115 |
-
|
116 |
-
#: manage.php:148
|
117 |
-
msgid "Profile"
|
118 |
-
msgstr ""
|
119 |
-
|
120 |
-
#: manage.php:148
|
121 |
-
msgid "Actions"
|
122 |
-
msgstr ""
|
123 |
-
|
124 |
-
#: manage.php:166
|
125 |
-
msgid "remove"
|
126 |
-
msgstr ""
|
127 |
-
|
128 |
-
#: manage.php:167
|
129 |
-
msgid "confirm"
|
130 |
-
msgstr ""
|
131 |
-
|
132 |
-
#: manage.php:168
|
133 |
-
msgid "unconfirm"
|
134 |
-
msgstr ""
|
135 |
-
|
136 |
-
#: manage.php:169
|
137 |
-
msgid "resend confirmation"
|
138 |
-
msgstr ""
|
139 |
-
|
140 |
-
#: newsletter.php:79
|
141 |
-
msgid "Newsletter Composer"
|
142 |
-
msgstr ""
|
143 |
-
|
144 |
-
#: newsletter.php:89
|
145 |
-
msgid "Continuing with previous batch"
|
146 |
-
msgstr ""
|
147 |
-
|
148 |
-
#: newsletter.php:95
|
149 |
-
#: newsletter.php:113
|
150 |
-
#: newsletter.php:130
|
151 |
-
msgid "Batch not completed, see more below."
|
152 |
-
msgstr ""
|
153 |
-
|
154 |
-
#: newsletter.php:104
|
155 |
-
msgid "Simulation"
|
156 |
-
msgstr ""
|
157 |
-
|
158 |
-
#: newsletter.php:123
|
159 |
-
msgid "Sending"
|
160 |
-
msgstr ""
|
161 |
-
|
162 |
-
#: newsletter.php:140
|
163 |
-
msgid "Sending to test subscribers"
|
164 |
-
msgstr "Отправка тестовым подписчикам"
|
165 |
-
|
166 |
-
#: newsletter.php:160
|
167 |
-
msgid "Last batch info"
|
168 |
-
msgstr ""
|
169 |
-
|
170 |
-
#: newsletter.php:161
|
171 |
-
msgid "Here you find information about last batch. A sending batch may have completed or not and may be a simulation or not. When a batch is not complete you can use the \"restart\" button and the batch starts again from the last email address processed."
|
172 |
-
msgstr ""
|
173 |
-
|
174 |
-
#: newsletter.php:166
|
175 |
-
msgid "No batch info found, it's ok!"
|
176 |
-
msgstr ""
|
177 |
-
|
178 |
-
#: newsletter.php:172
|
179 |
-
msgid "Total emails to send"
|
180 |
-
msgstr ""
|
181 |
-
|
182 |
-
#: newsletter.php:176
|
183 |
-
msgid "Emails sent till now"
|
184 |
-
msgstr ""
|
185 |
-
|
186 |
-
#: newsletter.php:181
|
187 |
-
#: options.php:353
|
188 |
-
msgid "List"
|
189 |
-
msgstr ""
|
190 |
-
#: newsletter.php:186
|
191 |
-
msgid "Sending type"
|
192 |
-
msgstr ""
|
193 |
-
|
194 |
-
#: newsletter.php:190
|
195 |
-
msgid "Scheduled"
|
196 |
-
msgstr ""
|
197 |
-
|
198 |
-
#: newsletter.php:193
|
199 |
-
msgid "next"
|
200 |
-
msgstr ""
|
201 |
-
|
202 |
-
#: newsletter.php:194
|
203 |
-
msgid "now"
|
204 |
-
msgstr ""
|
205 |
-
|
206 |
-
#: newsletter.php:199
|
207 |
-
msgid "Last subscriber"
|
208 |
-
msgstr ""
|
209 |
-
|
210 |
-
#: newsletter.php:203
|
211 |
-
msgid "Last id"
|
212 |
-
msgstr ""
|
213 |
-
|
214 |
-
#: newsletter.php:204
|
215 |
-
msgid "debug info"
|
216 |
-
msgstr ""
|
217 |
-
|
218 |
-
#: newsletter.php:207
|
219 |
-
#: newsletter.php:263
|
220 |
-
msgid "Message"
|
221 |
-
msgstr ""
|
222 |
-
|
223 |
-
#: newsletter.php:214
|
224 |
-
msgid "Restart batch"
|
225 |
-
msgstr ""
|
226 |
-
|
227 |
-
#: newsletter.php:214
|
228 |
-
msgid "Continue with this batch?"
|
229 |
-
msgstr ""
|
230 |
-
|
231 |
-
#: newsletter.php:216
|
232 |
-
msgid "Reset batch"
|
233 |
-
msgstr ""
|
234 |
-
|
235 |
-
#: newsletter.php:216
|
236 |
-
msgid "Reset the batch status?"
|
237 |
-
msgstr ""
|
238 |
-
|
239 |
-
#: newsletter.php:226
|
240 |
-
msgid "Newsletter message"
|
241 |
-
msgstr ""
|
242 |
-
|
243 |
-
#: newsletter.php:231
|
244 |
-
msgid "Newsletter name"
|
245 |
-
msgstr ""
|
246 |
-
|
247 |
-
#: newsletter.php:235
|
248 |
-
msgid "This symbolic name will be used to track the link clicks and associate them to a specific newsletter. Keep the name compact and significative."
|
249 |
-
msgstr ""
|
250 |
-
|
251 |
-
#: newsletter.php:239
|
252 |
-
#: newsletter.php:249
|
253 |
-
msgid "Tracking"
|
254 |
-
msgstr ""
|
255 |
-
|
256 |
-
#: newsletter.php:242
|
257 |
-
msgid "Track link clicks"
|
258 |
-
msgstr "Отслеживать клики"
|
259 |
-
|
260 |
-
#: newsletter.php:244
|
261 |
-
msgid "When this option is enabled, each link in the email text will be rewritten and clicks on them intercepted."
|
262 |
-
msgstr ""
|
263 |
-
|
264 |
-
#: newsletter.php:250
|
265 |
-
msgid "Tracking options available with Newsletter Extras package"
|
266 |
-
msgstr ""
|
267 |
-
|
268 |
-
#: newsletter.php:255
|
269 |
-
msgid "Subject"
|
270 |
-
msgstr ""
|
271 |
-
|
272 |
-
#: newsletter.php:259
|
273 |
-
msgid "Tags: <strong>{name}</strong> receiver name."
|
274 |
-
msgstr ""
|
275 |
-
|
276 |
-
#: newsletter.php:267
|
277 |
-
msgid "Tags: <strong>{name}</strong> receiver name; <strong>{unsubscription_url}</strong> unsubscription URL; <strong>{token}</strong> the subscriber token."
|
278 |
-
msgstr ""
|
279 |
-
|
280 |
-
#: newsletter.php:272
|
281 |
-
msgid "Theme"
|
282 |
-
msgstr ""
|
283 |
-
|
284 |
-
#: newsletter.php:275
|
285 |
-
msgid "Included themes"
|
286 |
-
msgstr ""
|
287 |
-
|
288 |
-
#: newsletter.php:276
|
289 |
-
msgid "Default"
|
290 |
-
msgstr ""
|
291 |
-
|
292 |
-
#: newsletter.php:277
|
293 |
-
msgid "With picture"
|
294 |
-
msgstr ""
|
295 |
-
|
296 |
-
#: newsletter.php:279
|
297 |
-
msgid "Custom themes"
|
298 |
-
msgstr ""
|
299 |
-
|
300 |
-
#: newsletter.php:289
|
301 |
-
msgid "Auto compose"
|
302 |
-
msgstr ""
|
303 |
-
|
304 |
-
#: newsletter.php:293
|
305 |
-
msgid "Number of posts on theme"
|
306 |
-
msgstr ""
|
307 |
-
|
308 |
-
#: newsletter.php:301
|
309 |
-
#: newsletter.php:332
|
310 |
-
#: newsletter.php:369
|
311 |
-
#: newsletter.php:399
|
312 |
-
#: options.php:99
|
313 |
-
#: options.php:133
|
314 |
-
#: options.php:169
|
315 |
-
#: options.php:222
|
316 |
-
#: options.php:273
|
317 |
-
#: options.php:388
|
318 |
-
#: options.php:406
|
319 |
-
#: options.php:443
|
320 |
-
msgid "Save"
|
321 |
-
msgstr ""
|
322 |
-
|
323 |
-
#: newsletter.php:302
|
324 |
-
msgid "Test"
|
325 |
-
msgstr ""
|
326 |
-
|
327 |
-
#: newsletter.php:303
|
328 |
-
msgid "Simulate"
|
329 |
-
msgstr ""
|
330 |
-
|
331 |
-
#: newsletter.php:303
|
332 |
-
msgid "Simulate? The test address will receive all emails!"
|
333 |
-
msgstr ""
|
334 |
-
|
335 |
-
#: newsletter.php:304
|
336 |
-
msgid "Send"
|
337 |
-
msgstr ""
|
338 |
-
#: newsletter.php:304
|
339 |
-
msgid "Start a real newsletter sending batch?"
|
340 |
-
msgstr ""
|
341 |
-
|
342 |
-
#: newsletter.php:306
|
343 |
-
msgid "Scheduled simulation"
|
344 |
-
msgstr ""
|
345 |
-
|
346 |
-
#: newsletter.php:306
|
347 |
-
msgid "Start a scheduled simulation?"
|
348 |
-
msgstr ""
|
349 |
-
|
350 |
-
#: newsletter.php:307
|
351 |
-
msgid "Scheduled send"
|
352 |
-
msgstr ""
|
353 |
-
|
354 |
-
#: newsletter.php:307
|
355 |
-
msgid "Start a scheduled real send?"
|
356 |
-
msgstr ""
|
357 |
-
|
358 |
-
#: newsletter.php:312
|
359 |
-
msgid "Scheduler"
|
360 |
-
msgstr ""
|
361 |
-
|
362 |
-
#: newsletter.php:313
|
363 |
-
msgid "Scheduler helps to send out a long list of emails slowly to not overload the server."
|
364 |
-
msgstr ""
|
365 |
-
|
366 |
-
#: newsletter.php:317
|
367 |
-
msgid "Interval between sending tasks"
|
368 |
-
msgstr ""
|
369 |
-
|
370 |
-
#: newsletter.php:320
|
371 |
-
msgid "minutes, minimum value is 10"
|
372 |
-
msgstr ""
|
373 |
-
|
374 |
-
#: newsletter.php:324
|
375 |
-
msgid "Max number of emails per task"
|
376 |
-
msgstr ""
|
377 |
-
|
378 |
-
#: newsletter.php:327
|
379 |
-
msgid "good value is 20 but if you use an external SMTP go with 5"
|
380 |
-
msgstr ""
|
381 |
-
|
382 |
-
#: newsletter.php:335
|
383 |
-
msgid "Available only with Newsletter Extras package"
|
384 |
-
msgstr ""
|
385 |
-
|
386 |
-
#: newsletter.php:342
|
387 |
-
msgid "General"
|
388 |
-
msgstr ""
|
389 |
-
|
390 |
-
#: newsletter.php:350
|
391 |
-
msgid "Sending options"
|
392 |
-
msgstr ""
|
393 |
-
|
394 |
-
#: newsletter.php:351
|
395 |
-
msgid "Configuration for not scheduled sending process."
|
396 |
-
msgstr ""
|
397 |
-
|
398 |
-
#: newsletter.php:354
|
399 |
-
msgid "Max emails in a single batch"
|
400 |
-
msgstr ""
|
401 |
-
|
402 |
-
#: newsletter.php:360
|
403 |
-
msgid "Receiver address for simulation"
|
404 |
-
msgstr ""
|
405 |
-
|
406 |
-
#: newsletter.php:363
|
407 |
-
msgid "When you simulate a sending process, emails are really sent but all to this email address. That helps to test out problems with mail server."
|
408 |
-
msgstr ""
|
409 |
-
|
410 |
-
#: newsletter.php:374
|
411 |
-
msgid "Filter"
|
412 |
-
msgstr ""
|
413 |
-
|
414 |
-
#: newsletter.php:381
|
415 |
-
msgid "Test subscribers"
|
416 |
-
msgstr ""
|
417 |
-
|
418 |
-
#: newsletter.php:383
|
419 |
-
msgid "Define more test subscriber to see how your email looks on different clients: GMail, Outlook, Thunderbird, Hotmail, ..."
|
420 |
-
msgstr ""
|
421 |
-
|
422 |
-
#: newsletter.php:389
|
423 |
-
msgid "Subscriber"
|
424 |
-
msgstr ""
|
425 |
-
|
426 |
-
#: newsletter.php:391
|
427 |
-
msgid "name"
|
428 |
-
msgstr ""
|
429 |
-
|
430 |
-
#: newsletter.php:393
|
431 |
-
msgid "email"
|
432 |
-
msgstr ""
|
433 |
-
|
434 |
-
#: options.php:58
|
435 |
-
msgid "Newsletter"
|
436 |
-
msgstr ""
|
437 |
-
|
438 |
-
#: options.php:63
|
439 |
-
msgid "Questions, help, critiques and whatever else <a target=\"_blank\" href=\"http://www.satollo.net/plugins/newsletter\">click here</a>!"
|
440 |
-
msgstr ""
|
441 |
-
|
442 |
-
#: options.php:70
|
443 |
-
msgid "Sender and subscription page"
|
444 |
-
msgstr ""
|
445 |
-
|
446 |
-
#: options.php:73
|
447 |
-
msgid "Sender email"
|
448 |
-
msgstr ""
|
449 |
-
|
450 |
-
#: options.php:77
|
451 |
-
msgid "Newsletter sender email address: the address subscribers will see the newsletters coming from."
|
452 |
-
msgstr ""
|
453 |
-
|
454 |
-
#: options.php:81
|
455 |
-
msgid "Sender name"
|
456 |
-
msgstr ""
|
457 |
-
|
458 |
-
#: options.php:85
|
459 |
-
msgid "The name of the newsletter sender subscribers will see on incoming email."
|
460 |
-
msgstr ""
|
461 |
-
|
462 |
-
#: options.php:89
|
463 |
-
msgid "Subscription page URL"
|
464 |
-
msgstr ""
|
465 |
-
|
466 |
-
#: options.php:93
|
467 |
-
msgid "This is the page where you placed the <strong>[newsletter]</strong> short tag."
|
468 |
-
msgstr ""
|
469 |
-
|
470 |
-
#: options.php:94
|
471 |
-
msgid "Read more on plugin official page"
|
472 |
-
msgstr ""
|
473 |
-
|
474 |
-
#: options.php:105
|
475 |
-
msgid "Subscription form"
|
476 |
-
msgstr ""
|
477 |
-
|
478 |
-
#: options.php:111
|
479 |
-
msgid "Do not ask the user name, only email."
|
480 |
-
msgstr ""
|
481 |
-
|
482 |
-
#: options.php:115
|
483 |
-
msgid "Subscription form page"
|
484 |
-
msgstr ""
|
485 |
-
|
486 |
-
#: options.php:119
|
487 |
-
msgid "This is the text showed to subscriber before the subscription form which is added automatically."
|
488 |
-
msgstr ""
|
489 |
-
|
490 |
-
#: options.php:123
|
491 |
-
msgid "Successfully subscription page"
|
492 |
-
msgstr ""
|
493 |
-
|
494 |
-
#: options.php:127
|
495 |
-
msgid "This is the text showed to a user who has pressed \"subscribe me\" on the previous step informing that an email to confirm subscription has just been sent. Remeber the user to check the spam folder and to follow the email instructions.<br />Tags: <strong>{name}</strong> the user name; <strong>{email}</strong> the user email."
|
496 |
-
msgstr ""
|
497 |
-
|
498 |
-
#: options.php:138
|
499 |
-
msgid "Confirmation"
|
500 |
-
msgstr ""
|
501 |
-
#: options.php:138
|
502 |
-
msgid "double opt-in"
|
503 |
-
msgstr ""
|
504 |
-
|
505 |
-
#: options.php:140
|
506 |
-
msgid "Email sent to the user to confirm his subscription, the successful confirmation page, the welcome email."
|
507 |
-
msgstr ""
|
508 |
-
|
509 |
-
#: options.php:147
|
510 |
-
msgid "Do not use double opt-in. If checked the subscription is direct, so subscribers will be immediately confirmed and will receive the welcome email."
|
511 |
-
msgstr ""
|
512 |
-
|
513 |
-
#: options.php:151
|
514 |
-
msgid "Confirmation email subject"
|
515 |
-
msgstr ""
|
516 |
-
|
517 |
-
#: options.php:155
|
518 |
-
msgid "Tags: <strong>{name}</strong> the user name."
|
519 |
-
msgstr ""
|
520 |
-
|
521 |
-
#: options.php:159
|
522 |
-
msgid "Confirmation email message"
|
523 |
-
msgstr ""
|
524 |
-
|
525 |
-
#: options.php:163
|
526 |
-
msgid "Tags: <strong>{name}</strong> the user name; <strong>{subscription_confirm_url}</strong>confirmation URL to be clicked by the user to confirm his subscription."
|
527 |
-
msgstr ""
|
528 |
-
|
529 |
-
#: options.php:174
|
530 |
-
msgid "Welcome message"
|
531 |
-
msgstr ""
|
532 |
-
|
533 |
-
#: options.php:176
|
534 |
-
msgid "Users jump directly to this step if you disabled the double opt-in step."
|
535 |
-
msgstr ""
|
536 |
-
|
537 |
-
#: options.php:180
|
538 |
-
msgid "Successful confirmation page"
|
539 |
-
msgstr ""
|
540 |
-
|
541 |
-
#: options.php:184
|
542 |
-
msgid "Showed when the user follow the confirmation URL sent to him with previous email settings or if signed up directly with no double opt-in process."
|
543 |
-
msgstr ""
|
544 |
-
|
545 |
-
#: options.php:186
|
546 |
-
msgid "Tags: <strong>{name}</strong> the user name; <strong>{email}</strong> for the user email; <strong>{token}</strong> the subscriber unique token"
|
547 |
-
msgstr ""
|
548 |
-
|
549 |
-
#: options.php:191
|
550 |
-
msgid "Conversion tracking code"
|
551 |
-
msgstr ""
|
552 |
-
|
553 |
-
#: options.php:196
|
554 |
-
msgid "Available with Newsletter Extras package"
|
555 |
-
msgstr ""
|
556 |
-
|
557 |
-
#: options.php:199
|
558 |
-
msgid "That code is injected AS-IS in welcome page and can be used to track conversion (you can use PHP if needed). Conversion code is usually supply by tracking services, like Google AdWords, Google Analytics and so on."
|
559 |
-
msgstr ""
|
560 |
-
|
561 |
-
#: options.php:202
|
562 |
-
msgid "Welcome email"
|
563 |
-
msgstr ""
|
564 |
-
|
565 |
-
#: options.php:204
|
566 |
-
msgid "Welcome email subject"
|
567 |
-
msgstr ""
|
568 |
-
|
569 |
-
#: options.php:208
|
570 |
-
#: options.php:259
|
571 |
-
#: options.php:267
|
572 |
-
msgid "Tags: <strong>{name}</strong> user name."
|
573 |
-
msgstr ""
|
574 |
-
|
575 |
-
#: options.php:212
|
576 |
-
msgid "Welcome email message"
|
577 |
-
msgstr ""
|
578 |
-
|
579 |
-
#: options.php:216
|
580 |
-
msgid "Tags: <strong>{name}</strong> user name; <strong>{token}</strong> the subscriber unique token"
|
581 |
-
msgstr ""
|
582 |
-
|
583 |
-
#: options.php:227
|
584 |
-
msgid "Unsubscription"
|
585 |
-
msgstr ""
|
586 |
-
|
587 |
-
#: options.php:229
|
588 |
-
msgid "A user starts the unsubscription process clicking the unsubscription link in a newsletter. This lkink contains the email to unsubscribe and some unique information to avoid hacking. The user are requird to confirm the unsubscription: this is the last step where YOU can communicate with you almost missed user."
|
589 |
-
msgstr ""
|
590 |
-
|
591 |
-
#: options.php:233
|
592 |
-
#: options.php:282
|
593 |
-
msgid "Unsubscription text"
|
594 |
-
msgstr ""
|
595 |
-
|
596 |
-
#: options.php:237
|
597 |
-
msgid "This text is show to users who click on a \"unsubscription link\" in a newsletter email. You have to insert a link in the text that user can follow to confirm the unsubscription request (see tags)."
|
598 |
-
msgstr ""
|
599 |
-
|
600 |
-
#: options.php:239
|
601 |
-
msgid "Tags: <strong>{name}</strong> user name; <strong>{email}</strong> user email; <strong>{unsubscription_confirm_url}</strong> URL to confirm unsubscription."
|
602 |
-
msgstr ""
|
603 |
-
|
604 |
-
#: options.php:245
|
605 |
-
msgid "Good bye text"
|
606 |
-
msgstr ""
|
607 |
-
|
608 |
-
#: options.php:248
|
609 |
-
msgid "Latest message showed to the user to say \"good bye\"."
|
610 |
-
msgstr ""
|
611 |
-
|
612 |
-
#: options.php:250
|
613 |
-
msgid "Tags: none."
|
614 |
-
msgstr ""
|
615 |
-
|
616 |
-
#: options.php:255
|
617 |
-
msgid "Goodbye email subject"
|
618 |
-
msgstr ""
|
619 |
-
|
620 |
-
#: options.php:263
|
621 |
-
msgid "Goodbye email message"
|
622 |
-
msgstr ""
|
623 |
-
|
624 |
-
#: options.php:277
|
625 |
-
msgid "Unsubscription for mass mail mode"
|
626 |
-
msgstr ""
|
627 |
-
|
628 |
-
#: options.php:278
|
629 |
-
msgid "This section is not working!"
|
630 |
-
msgstr ""
|
631 |
-
|
632 |
-
#: options.php:289
|
633 |
-
msgid "Unsubscription error"
|
634 |
-
msgstr ""
|
635 |
-
|
636 |
-
#: options.php:293
|
637 |
-
msgid "Shown with the unsubscription message then the email to unsubscribe is not found."
|
638 |
-
msgstr ""
|
639 |
-
|
640 |
-
#: options.php:297
|
641 |
-
msgid "\"Email to unsubscribe\" label"
|
642 |
-
msgstr ""
|
643 |
-
|
644 |
-
#: options.php:305
|
645 |
-
msgid "\"Confirm unsubscription\" label"
|
646 |
-
msgstr ""
|
647 |
-
|
648 |
-
#: options.php:309
|
649 |
-
msgid "The button text to confirm unsubscription or to send an unsubscription request for the specified email address when \"mass mail\" mode is used for sending newsletters."
|
650 |
-
msgstr ""
|
651 |
-
|
652 |
-
#: options.php:313
|
653 |
-
msgid "Unsubscription end text"
|
654 |
-
msgstr ""
|
655 |
-
|
656 |
-
#: options.php:317
|
657 |
-
msgid "This text is shown when a user type in an email to be removed and the confirmation email has been sent."
|
658 |
-
msgstr ""
|
659 |
-
|
660 |
-
#: options.php:322
|
661 |
-
msgid "Unsubscription email subject"
|
662 |
-
msgstr ""
|
663 |
-
|
664 |
-
#: options.php:328
|
665 |
-
msgid "Unsubscription email message"
|
666 |
-
msgstr ""
|
667 |
-
|
668 |
-
#: options.php:332
|
669 |
-
msgid "Email sent to confirm unsubscription when the request is made specifying an email address to remove. Use {unsubscription_link} to place the link where the user has to click on; use {unsubscription_url} toplace the plain unsubscription URL."
|
670 |
-
msgstr ""
|
671 |
-
|
672 |
-
#: options.php:336
|
673 |
-
msgid "Unsubscription link text"
|
674 |
-
msgstr ""
|
675 |
-
|
676 |
-
#: options.php:340
|
677 |
-
msgid "The text of the link for unsubscription to be placed in the unsubscription email."
|
678 |
-
msgstr ""
|
679 |
-
|
680 |
-
#: options.php:346
|
681 |
-
msgid "Lists"
|
682 |
-
msgstr ""
|
683 |
-
|
684 |
-
#: options.php:351
|
685 |
-
msgid "List 0 is the general one"
|
686 |
-
msgstr ""
|
687 |
-
|
688 |
-
#: options.php:362
|
689 |
-
msgid "Advanced"
|
690 |
-
msgstr ""
|
691 |
-
|
692 |
-
#: options.php:369
|
693 |
-
msgid "write logs"
|
694 |
-
msgstr ""
|
695 |
-
|
696 |
-
#: options.php:376
|
697 |
-
msgid "do not use visual editors"
|
698 |
-
msgstr ""
|
699 |
-
|
700 |
-
#: options.php:383
|
701 |
-
msgid "allow editors to user the newsletter plugin"
|
702 |
-
msgstr ""
|
703 |
-
|
704 |
-
#: options.php:392
|
705 |
-
msgid "Really advanced options"
|
706 |
-
msgstr ""
|
707 |
-
|
708 |
-
#: options.php:399
|
709 |
-
msgid "Use the custom subscription form below"
|
710 |
-
msgstr ""
|
711 |
-
|
712 |
-
#: options.php:411
|
713 |
-
msgid "Zanzara client"
|
714 |
-
msgstr ""
|
715 |
-
#: options.php:412
|
716 |
-
msgid "Obsolete"
|
717 |
-
msgstr ""
|
718 |
-
|
719 |
-
#: options.php:415
|
720 |
-
msgid "Export key"
|
721 |
-
msgstr ""
|
722 |
-
|
723 |
-
#: options.php:419
|
724 |
-
msgid "Do not search for Zanzara, is a my private software"
|
725 |
-
msgstr ""
|
726 |
-
|
727 |
-
#: options.php:423
|
728 |
-
msgid "SMTP address"
|
729 |
-
msgstr ""
|
730 |
-
|
731 |
-
#: options.php:429
|
732 |
-
msgid "SMTP user"
|
733 |
-
msgstr ""
|
734 |
-
|
735 |
-
#: options.php:435
|
736 |
-
msgid "SMTP password"
|
737 |
-
msgstr ""
|
738 |
-
|
739 |
-
#: options.php:444
|
740 |
-
msgid "Revert to defaults"
|
741 |
-
msgstr ""
|
742 |
-
|
743 |
-
#: plugin.php:932
|
744 |
-
msgid "Configuration"
|
745 |
-
msgstr ""
|
746 |
-
|
747 |
-
#: plugin.php:933
|
748 |
-
msgid "Composer"
|
749 |
-
msgstr ""
|
750 |
-
|
751 |
-
#: plugin.php:935
|
752 |
-
msgid "Export"
|
753 |
-
msgstr ""
|
754 |
-
|
755 |
-
#: plugin.php:936
|
756 |
-
msgid "Manage"
|
757 |
-
msgstr ""
|
758 |
-
|
759 |
-
#: plugin.php:937
|
760 |
-
#: statistics.php:8
|
761 |
-
msgid "Statistics"
|
762 |
-
msgstr ""
|
763 |
-
|
764 |
-
#: statistics.php:11
|
765 |
-
msgid "You need the Newsletter Extras installed to view statistics"
|
766 |
-
msgstr ""
|
767 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
languages/nl_NL.php
ADDED
@@ -0,0 +1,66 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// Subscription form (traslate "your name", "your email" and the button "subscribe me")
|
4 |
+
$newsletter_labels['subscription_form'] =
|
5 |
+
'<form method="post" action="" style="text-align: center">
|
6 |
+
<input type="hidden" name="na" value="s"/>
|
7 |
+
<table cellspacing="3" cellpadding="3" border="0" width="50%">
|
8 |
+
<tr><td>Jouw naam</td><td><input type="text" name="nn" size="30"/></td></tr>
|
9 |
+
<tr><td>Jouw email</td><td><input type="text" name="ne" size="30"/></td></tr>
|
10 |
+
<tr><td colspan="2" style="text-align: center"><input type="submit" value="Inschrijven"/></td></tr>
|
11 |
+
</table>
|
12 |
+
</form>';
|
13 |
+
|
14 |
+
|
15 |
+
$newsletter_labels['subscription_form_noname'] =
|
16 |
+
'<form method="post" action="" style="text-align: center">
|
17 |
+
<input type="hidden" name="na" value="s"/>
|
18 |
+
<table cellspacing="3" cellpadding="3" border="0" width="50%">
|
19 |
+
<tr><td>Jouw email</td><td><input type="text" name="ne" size="30"/></td></tr>
|
20 |
+
<tr><td colspan="2" style="text-align: center"><input type="submit" value="Inschrijven"/></td></tr>
|
21 |
+
</table>
|
22 |
+
</form>';
|
23 |
+
|
24 |
+
$newsletter_labels['widget_form'] =
|
25 |
+
'<form action="{newsletter_url}" method="post">
|
26 |
+
{text}
|
27 |
+
<p><input type="text" name="nn" value="Jouw naam" onclick="if (this.defaultValue==this.value) this.value=\'\'" onblur="if (this.value==\'\') this.value=this.defaultValue"/></p>
|
28 |
+
<p><input type="text" name="ne" value="Jouw email" onclick="if (this.defaultValue==this.value) this.value=\'\'" onblur="if (this.value==\'\') this.value=this.defaultValue"/></p>
|
29 |
+
<p><input type="submit" value="Inschrijven"/></p>
|
30 |
+
<input type="hidden" name="na" value="s"/>
|
31 |
+
</form>';
|
32 |
+
|
33 |
+
|
34 |
+
$newsletter_labels['widget_form_noname'] =
|
35 |
+
'<form action="{newsletter_url}" method="post">
|
36 |
+
{text}
|
37 |
+
<p><input type="text" name="ne" value="Jouw email" onclick="if (this.defaultValue==this.value) this.value=\'\'" onblur="if (this.value==\'\') this.value=this.defaultValue"/></p>
|
38 |
+
<p><input type="submit" value="Inschrijven"/></p>
|
39 |
+
<input type="hidden" name="na" value="s"/>
|
40 |
+
</form>';
|
41 |
+
|
42 |
+
|
43 |
+
|
44 |
+
$newsletter_labels['embedded_form'] =
|
45 |
+
'<form action="{newsletter_url}" method="post">
|
46 |
+
<p><input type="text" name="ne" value="Jouw email" onclick="if (this.defaultValue==this.value) this.value=\'\'" onblur="if (this.value==\'\') this.value=this.defaultValue"/>
|
47 |
+
<input type="text" name="nn" value="Jouw naam" onclick="if (this.defaultValue==this.value) this.value=\'\'" onblur="if (this.value==\'\') this.value=this.defaultValue"/>
|
48 |
+
<input type="submit" value="Inschrijven"/>
|
49 |
+
<input type="hidden" name="na" value="s"/></p>
|
50 |
+
</form>';
|
51 |
+
|
52 |
+
// Example of embedded form without name
|
53 |
+
|
54 |
+
$newsletter_labels['embedded_form_noname'] =
|
55 |
+
'<form action="{newsletter_url}" method="post">
|
56 |
+
<p><input type="text" name="ne" value="Jouw email" onclick="if (this.defaultValue==this.value) this.value=\'\'" onblur="if (this.value==\'\') this.value=this.defaultValue"/>
|
57 |
+
<input type="submit" value="Inschrijven"/>
|
58 |
+
<input type="hidden" name="na" value="s"/></p>
|
59 |
+
</form>';
|
60 |
+
|
61 |
+
|
62 |
+
// Errors on subscription
|
63 |
+
$newsletter_labels['error_email'] = 'Foutief email-adres. <a href="javascript:history.back()">Ga terug</a>.';
|
64 |
+
$newsletter_labels['error_name'] = 'Gelieve jouw naam in te vullen. <a href="javascript:history.back()">Ga terug</a>.';
|
65 |
+
|
66 |
+
?>
|
languages/nl_NL_options.php
ADDED
@@ -0,0 +1,64 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// This file contains the default options values
|
3 |
+
$newsletter_default_options['from_email'] = get_option('admin_email');
|
4 |
+
$newsletter_default_options['from_name'] = get_option('blogname');
|
5 |
+
|
6 |
+
// Subscription page introductory text (befor the subscription form)
|
7 |
+
$newsletter_default_options['subscription_text'] =
|
8 |
+
"<p>Via onderstaand formuliertje kan je je inschrijven voor onze nieuwsbrief. Via deze nieuwsbrief houden we je op de hoogte van komende activiteiten.</p>
|
9 |
+
<p>Nadat je het formuliertje verstuurd hebt, zal je een bevestigingsmail ontvangen. Lees deze mail aandachtig om jouw inschrijving te bevestigen.</p>";
|
10 |
+
|
11 |
+
// Message show after a subbscription request has made.
|
12 |
+
$newsletter_default_options['subscribed_text'] =
|
13 |
+
"<p>Je hebt je ingeschreven op de nieuwsbrief.</p>
|
14 |
+
<p>Binnen enkele minuten zal je een bevestigingsmail ontvangen. Volg de link in die mail om jouw inschrijving te bevestigen. Indien je problemen hebt met het ontvangen van de bevestigingsmail kan je ons via het contactformulier bereiken.</p>";
|
15 |
+
|
16 |
+
// Confirmation email subject (double opt-in)
|
17 |
+
$newsletter_default_options['confirmation_subject'] =
|
18 |
+
"{name}, Bevestig jouw inschrijving op de nieuwsbrief van {blog_title}";
|
19 |
+
|
20 |
+
// Confirmation email body (double opt-in)
|
21 |
+
$newsletter_default_options['confirmation_message'] =
|
22 |
+
"<p>Hallo {name},</p>
|
23 |
+
<p>We ontvingen jouw inschrijving op onze nieuwsbrief. Gelieve de inschrijving te bevestigen door <a href=\"{subscription_confirm_url}\"><strong>hier</strong></a> te klikken. Als het klikken op de link voor jou niet werkt, kan je de volgende link in jouw browser copieren.</p>
|
24 |
+
<p>{subscription_confirm_url}</p>
|
25 |
+
<p>Indien je deze mail ontvangt en toch geen inschrijving gevraagd hebt, hoef je niets te doen. De inschrijving wordt dan automatisch geannuleerd.</p>
|
26 |
+
<p>Dank u wel.</p>";
|
27 |
+
|
28 |
+
// Subscription confirmed text (after a user clicked the confirmation link
|
29 |
+
// on the email he received
|
30 |
+
$newsletter_default_options['confirmed_text'] =
|
31 |
+
"<p>Je hebt zonet jouw inschrijving bevestigd.</p><p>bedankt {name} !</p>";
|
32 |
+
|
33 |
+
$newsletter_default_options['confirmed_subject'] =
|
34 |
+
"Welkom, {name}";
|
35 |
+
|
36 |
+
$newsletter_default_options['confirmed_message'] =
|
37 |
+
"<p>Uw inschrijving op de niewsbrief van {blog_title} is bevestigd.</p>
|
38 |
+
<p>Bedankt !</p>";
|
39 |
+
|
40 |
+
// Unsubscription request introductory text
|
41 |
+
$newsletter_default_options['unsubscription_text'] =
|
42 |
+
"<p>Gelieve uw uitschrijving te bevestigen door <a href=\"{unsubscription_confirm_url}\">hier</a> te klikken.";
|
43 |
+
|
44 |
+
// When you finally loosed your subscriber
|
45 |
+
$newsletter_default_options['unsubscribed_text'] =
|
46 |
+
"<p>U bent uit onze lijst verwijderd.</p>";
|
47 |
+
|
48 |
+
$newsletter_default_options['unsubscribed_subject'] =
|
49 |
+
"Tot ziens, {name}";
|
50 |
+
|
51 |
+
$newsletter_default_options['unsubscribed_message'] =
|
52 |
+
"<p>Uw uitschrijving op de nieuwsbrief van {blog_title} is bevestigd.</p>
|
53 |
+
<p>Tot ziens.</p>";
|
54 |
+
|
55 |
+
$newsletter_default_options['subscription_form'] =
|
56 |
+
'<form method="post" action="" style="text-align: center">
|
57 |
+
<input type="hidden" name="na" value="s"/>
|
58 |
+
<table cellspacing="3" cellpadding="3" border="0" width="50%">
|
59 |
+
<tr><td>Jouw naam</td><td><input type="text" name="nn" size="30"/></td></tr>
|
60 |
+
<tr><td>Jouw email</td><td><input type="text" name="ne" size="30"/></td></tr>
|
61 |
+
<tr><td colspan="2" style="text-align: center"><input type="submit" value="Inschrijven"/></td></tr>
|
62 |
+
</table>
|
63 |
+
</form>';
|
64 |
+
?>
|
main.php
ADDED
@@ -0,0 +1,63 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
@include_once 'commons.php';
|
4 |
+
|
5 |
+
$options = get_option('newsletter_main');
|
6 |
+
|
7 |
+
if ($action == 'save') {
|
8 |
+
$options = stripslashes_deep($_POST['options']);
|
9 |
+
update_option('newsletter_main', $options);
|
10 |
+
}
|
11 |
+
|
12 |
+
$nc = new NewsletterControls($options);
|
13 |
+
|
14 |
+
?>
|
15 |
+
|
16 |
+
<div class="wrap">
|
17 |
+
|
18 |
+
<h2><?php _e('Newsletter Configuration', 'newsletter'); ?></h2>
|
19 |
+
|
20 |
+
<?php require_once 'header.php'; ?>
|
21 |
+
|
22 |
+
<p>
|
23 |
+
<strong>Newsletter has an <a href="http://www.satollo.net/plugins/newsletter">official page</a> where
|
24 |
+
to find documentation on how it
|
25 |
+
works and how to configure it. Version history and tips are located on
|
26 |
+
<a href="http://www.satollo.net/tag/newsletter">this archive</a>. Questions can be submitted
|
27 |
+
on <a href="http://www.satollo.net/newsletter-help">this help page</a>.</strong>
|
28 |
+
</p>
|
29 |
+
|
30 |
+
<form method="post" action="">
|
31 |
+
<?php wp_nonce_field(); ?>
|
32 |
+
<input type="hidden" value="<?php echo NEWSLETTER; ?>" name="options[version]"/>
|
33 |
+
|
34 |
+
<h3><?php _e('General parameters', 'newsletter'); ?></h3>
|
35 |
+
<table class="form-table">
|
36 |
+
<tr valign="top">
|
37 |
+
<th><?php _e('Enable access to editors?', 'newsletter'); ?></th>
|
38 |
+
<td>
|
39 |
+
<?php $nc->yesno('editor'); ?>
|
40 |
+
</td>
|
41 |
+
</tr>
|
42 |
+
<tr valign="top">
|
43 |
+
<th><?php _e('Always show panels in english?', 'newsletter'); ?></th>
|
44 |
+
<td>
|
45 |
+
<?php $nc->yesno('no_translation'); ?>
|
46 |
+
<br />
|
47 |
+
<?php _e('The author does NOT maintain translations, so if you have a doubt about some texts, disable the translations', 'newsletter'); ?>
|
48 |
+
</td>
|
49 |
+
</tr>
|
50 |
+
<tr valign="top">
|
51 |
+
<th><?php _e('Logging', 'newsletter'); ?></th>
|
52 |
+
<td>
|
53 |
+
<?php $nc->select('logs', array(0=>'None', 1=>'Normal', 2=>'Debug')); ?>
|
54 |
+
<br />
|
55 |
+
<?php _e('Debug level saves user data on file system, use only to debug problems.', 'newsletter'); ?>
|
56 |
+
</td>
|
57 |
+
</tr>
|
58 |
+
</table>
|
59 |
+
<p class="submit">
|
60 |
+
<?php $nc->button('save', __('Save', 'newsletter')); ?>
|
61 |
+
</p>
|
62 |
+
</form>
|
63 |
+
</div>
|
manage.php
CHANGED
@@ -1,10 +1,8 @@
|
|
1 |
<?php
|
2 |
-
$options = get_option('newsletter');
|
3 |
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
}
|
8 |
|
9 |
if ($_POST['a'] == 'resend' && check_admin_referer()) {
|
10 |
newsletter_send_confirmation(newsletter_get_subscriber(newsletter_request('id')));
|
@@ -44,6 +42,9 @@ if ($_POST['a'] == 'search' && check_admin_referer()) {
|
|
44 |
$list = newsletter_search(newsletter_request('text'), $status, $order);
|
45 |
}
|
46 |
|
|
|
|
|
|
|
47 |
?>
|
48 |
<script type="text/javascript">
|
49 |
function newsletter_detail(id)
|
@@ -78,29 +79,16 @@ if ($_POST['a'] == 'search' && check_admin_referer()) {
|
|
78 |
}
|
79 |
function newsletter_resend(id)
|
80 |
{
|
81 |
-
if (!confirm("Resend the subscription confirmation email?")) return;
|
82 |
document.getElementById("action").value = "resend";
|
83 |
document.getElementById("id").value = id;
|
84 |
document.getElementById("channel").submit();
|
85 |
}
|
86 |
|
87 |
</script>
|
88 |
-
<style type="text/css">
|
89 |
-
.newsletter-results {
|
90 |
-
border-collapse: collapse;
|
91 |
-
}
|
92 |
-
.newsletter-results td, .newsletter-results th {
|
93 |
-
border: 1px solid #999;
|
94 |
-
padding: 5px;
|
95 |
-
}
|
96 |
-
#newsletter .form-table {
|
97 |
-
border: 1px solid #999;
|
98 |
-
background-color: #fff;
|
99 |
-
}
|
100 |
-
</style>
|
101 |
|
102 |
-
<div class="wrap"
|
103 |
-
<h2><?php _e('Subscribers
|
104 |
|
105 |
<?php require_once 'header.php'; ?>
|
106 |
|
@@ -113,12 +101,12 @@ if ($_POST['a'] == 'search' && check_admin_referer()) {
|
|
113 |
<div style="display: <?php if ($_POST['a'] == 'edit') echo 'none'; else echo 'block'; ?>">
|
114 |
<table class="form-table">
|
115 |
<tr valign="top">
|
116 |
-
<th
|
117 |
<td>
|
118 |
<input name="text" type="text" size="50" value="<?php echo htmlspecialchars(newsletter_request('text'))?>"/>
|
119 |
-
<input type="submit" value="<?php _e('Search', 'newsletter'); ?>" />
|
120 |
<br />
|
121 |
-
Max 100 results will be shown
|
122 |
</td>
|
123 |
</tr>
|
124 |
<tr valign="top">
|
@@ -129,7 +117,7 @@ if ($_POST['a'] == 'search' && check_admin_referer()) {
|
|
129 |
</td>
|
130 |
</tr>
|
131 |
<tr valign="top">
|
132 |
-
<th
|
133 |
<td>
|
134 |
<select name="order">
|
135 |
<option value="id">id</option>
|
@@ -144,7 +132,7 @@ if ($_POST['a'] == 'search' && check_admin_referer()) {
|
|
144 |
if ($_POST['a'] == 'edit' && check_admin_referer()) {
|
145 |
$subscriber = newsletter_get_subscriber($_POST['id']);
|
146 |
?>
|
147 |
-
<input type="hidden" name="subscriber[id]" value="<?php echo $subscriber->id; ?>"
|
148 |
<table class="form-table">
|
149 |
<tr valign="top">
|
150 |
<th>Name</th>
|
@@ -155,7 +143,7 @@ if ($_POST['a'] == 'search' && check_admin_referer()) {
|
|
155 |
<td><input type="text" name="subscriber[email]" size="40" value="<?php echo htmlspecialchars($subscriber->email); ?>"/></td>
|
156 |
</tr>
|
157 |
</table>
|
158 |
-
<p class="submit"><input type="button" value="Save" onclick="newsletter_save()"/></
|
159 |
|
160 |
<?php } ?>
|
161 |
|
@@ -186,35 +174,31 @@ if ($_POST['a'] == 'search' && check_admin_referer()) {
|
|
186 |
|
187 |
<?php
|
188 |
if ($list) {
|
189 |
-
echo '<table class="
|
190 |
-
echo '<tr><th>Id</th><th>' . __('Email', 'newsletter') . '</th><th>' . __('Name', 'newsletter') . '</th><th>' . __('Status', 'newsletter') . '</th><th>' . __('
|
191 |
foreach($list as $s) {
|
192 |
echo '<tr>';
|
193 |
echo '<td>' . $s->id . '</td>';
|
194 |
echo '<td>' . $s->email . '</td>';
|
195 |
echo '<td>' . $s->name . '</td>';
|
196 |
-
echo '<td>' . ($s->status=='S'?'Not confirmed':'Confirmed') . '</td>';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
197 |
echo '<td><small>';
|
198 |
$query = $wpdb->prepare("select name,value from " . $wpdb->prefix . "newsletter_profiles where newsletter_id=%d", $s->id);
|
199 |
$profile = $wpdb->get_results($query);
|
200 |
foreach ($profile as $field) {
|
201 |
echo htmlspecialchars($field->name) . ': ' . htmlspecialchars($field->value) . '<br />';
|
202 |
}
|
203 |
-
|
204 |
-
|
205 |
-
// foreach ($profile as $key=>$value) {
|
206 |
-
// echo htmlspecialchars($key) . ': ' . htmlspecialchars($value) . '<br />';
|
207 |
-
// }
|
208 |
-
// }
|
209 |
echo '</small></td>';
|
210 |
-
|
211 |
-
echo '<td>';
|
212 |
-
echo '<a href="javascript:void(newsletter_edit(' . $s->id . '))">' . __('edit', 'newsletter') . '</a>';
|
213 |
-
echo ' | <a href="javascript:void(newsletter_remove(' . $s->id . '))">' . __('remove', 'newsletter') . '</a>';
|
214 |
-
echo ' | <a href="javascript:void(newsletter_set_status(' . $s->id . ', \'C\'))">' . __('confirm', 'newsletter') . '</a>';
|
215 |
-
echo ' | <a href="javascript:void(newsletter_set_status(' . $s->id . ', \'S\'))">' . __('unconfirm', 'newsletter') . '</a>';
|
216 |
-
echo ' | <a href="javascript:void(newsletter_resend(' . $s->id . '))">' . __('resend confirmation', 'newsletter') . '</a>';
|
217 |
-
echo '</td>';
|
218 |
echo '</tr>';
|
219 |
}
|
220 |
echo '</table>';
|
1 |
<?php
|
|
|
2 |
|
3 |
+
@include_once 'commons.php';
|
4 |
+
|
5 |
+
$options = get_option('newsletter');
|
|
|
6 |
|
7 |
if ($_POST['a'] == 'resend' && check_admin_referer()) {
|
8 |
newsletter_send_confirmation(newsletter_get_subscriber(newsletter_request('id')));
|
42 |
$list = newsletter_search(newsletter_request('text'), $status, $order);
|
43 |
}
|
44 |
|
45 |
+
$options = null;
|
46 |
+
$nc = new NewsletterControls($options, 'manage');
|
47 |
+
|
48 |
?>
|
49 |
<script type="text/javascript">
|
50 |
function newsletter_detail(id)
|
79 |
}
|
80 |
function newsletter_resend(id)
|
81 |
{
|
82 |
+
if (!confirm("<?php _e('Resend the subscription confirmation email?', 'newsletter'); ?>")) return;
|
83 |
document.getElementById("action").value = "resend";
|
84 |
document.getElementById("id").value = id;
|
85 |
document.getElementById("channel").submit();
|
86 |
}
|
87 |
|
88 |
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
|
90 |
+
<div class="wrap">
|
91 |
+
<h2><?php _e('Newsletter Subscribers', 'newsletter'); ?></h2>
|
92 |
|
93 |
<?php require_once 'header.php'; ?>
|
94 |
|
101 |
<div style="display: <?php if ($_POST['a'] == 'edit') echo 'none'; else echo 'block'; ?>">
|
102 |
<table class="form-table">
|
103 |
<tr valign="top">
|
104 |
+
<th><?php _e('Search', 'newsletter'); ?></th>
|
105 |
<td>
|
106 |
<input name="text" type="text" size="50" value="<?php echo htmlspecialchars(newsletter_request('text'))?>"/>
|
107 |
+
<input type="submit" value="<?php _e('Search', 'newsletter'); ?>" />
|
108 |
<br />
|
109 |
+
<?php _e('Press without filter to show all. Max 100 results will be shown. Use export panel to get all subscribers.', 'newsletter'); ?>
|
110 |
</td>
|
111 |
</tr>
|
112 |
<tr valign="top">
|
117 |
</td>
|
118 |
</tr>
|
119 |
<tr valign="top">
|
120 |
+
<th><?php _e('Order', 'newsletter'); ?></th>
|
121 |
<td>
|
122 |
<select name="order">
|
123 |
<option value="id">id</option>
|
132 |
if ($_POST['a'] == 'edit' && check_admin_referer()) {
|
133 |
$subscriber = newsletter_get_subscriber($_POST['id']);
|
134 |
?>
|
135 |
+
<input type="hidden" name="subscriber[id]" value="<?php echo $subscriber->id; ?>"/>
|
136 |
<table class="form-table">
|
137 |
<tr valign="top">
|
138 |
<th>Name</th>
|
143 |
<td><input type="text" name="subscriber[email]" size="40" value="<?php echo htmlspecialchars($subscriber->email); ?>"/></td>
|
144 |
</tr>
|
145 |
</table>
|
146 |
+
<p class="submit"><input type="button" value="Save" onclick="newsletter_save()"/></p>
|
147 |
|
148 |
<?php } ?>
|
149 |
|
174 |
|
175 |
<?php
|
176 |
if ($list) {
|
177 |
+
echo '<table class="bordered-table" border="1" cellspacing="5">';
|
178 |
+
echo '<tr><th>Id</th><th>' . __('Email', 'newsletter') . '</th><th>' . __('Name', 'newsletter') . '</th><th>' . __('Status', 'newsletter') . '</th><th>' . __('Actions', 'newsletter') . '</th><th>' . __('Profile', 'newsletter') . '</th></tr>';
|
179 |
foreach($list as $s) {
|
180 |
echo '<tr>';
|
181 |
echo '<td>' . $s->id . '</td>';
|
182 |
echo '<td>' . $s->email . '</td>';
|
183 |
echo '<td>' . $s->name . '</td>';
|
184 |
+
echo '<td><small>' . ($s->status=='S'?'Not confirmed':'Confirmed') . '</small></td>';
|
185 |
+
echo '<td><small>';
|
186 |
+
echo '<a href="javascript:void(newsletter_edit(' . $s->id . '))">' . __('edit', 'newsletter') . '</a>';
|
187 |
+
echo ' | <a href="javascript:void(newsletter_remove(' . $s->id . '))">' . __('remove', 'newsletter') . '</a>';
|
188 |
+
echo ' | <a href="javascript:void(newsletter_set_status(' . $s->id . ', \'C\'))">' . __('confirm', 'newsletter') . '</a>';
|
189 |
+
echo ' | <a href="javascript:void(newsletter_set_status(' . $s->id . ', \'S\'))">' . __('unconfirm', 'newsletter') . '</a>';
|
190 |
+
echo ' | <a href="javascript:void(newsletter_resend(' . $s->id . '))">' . __('resend confirmation', 'newsletter') . '</a>';
|
191 |
+
echo '</small></td>';
|
192 |
echo '<td><small>';
|
193 |
$query = $wpdb->prepare("select name,value from " . $wpdb->prefix . "newsletter_profiles where newsletter_id=%d", $s->id);
|
194 |
$profile = $wpdb->get_results($query);
|
195 |
foreach ($profile as $field) {
|
196 |
echo htmlspecialchars($field->name) . ': ' . htmlspecialchars($field->value) . '<br />';
|
197 |
}
|
198 |
+
echo 'Token: ' . $s->token;
|
199 |
+
|
|
|
|
|
|
|
|
|
200 |
echo '</small></td>';
|
201 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
202 |
echo '</tr>';
|
203 |
}
|
204 |
echo '</table>';
|
newsletter.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
$options = get_option('newsletter_email');
|
3 |
$options_newsletter = get_option('newsletter');
|
4 |
|
@@ -59,6 +62,8 @@ if (file_exists($theme_dir . '/style.css')) {
|
|
59 |
$css_url = newsletter_get_theme_url($options['theme']) . '/style.css';
|
60 |
}
|
61 |
|
|
|
|
|
62 |
?>
|
63 |
<?php if (!isset($options['novisual'])) { ?>
|
64 |
<script type="text/javascript" src="<?php echo get_option('siteurl'); ?>/wp-content/plugins/newsletter/tiny_mce/tiny_mce.js"></script>
|
@@ -83,20 +88,10 @@ if (file_exists($theme_dir . '/style.css')) {
|
|
83 |
</script>
|
84 |
<?php } ?>
|
85 |
|
86 |
-
<
|
87 |
-
#newsletter h3 {
|
88 |
-
margin-bottom: 0px;
|
89 |
-
margin-top: 30px;
|
90 |
-
}
|
91 |
-
#newsletter .form-table {
|
92 |
-
border: 1px solid #ccc;
|
93 |
-
background-color: #ffffff;
|
94 |
-
}
|
95 |
-
</style>
|
96 |
-
|
97 |
-
<div class="wrap" id="newsletter">
|
98 |
|
99 |
<h2>Newsletter Composer</h2>
|
|
|
100 |
<?php if (!touch(dirname(__FILE__) . '/test.tmp')) { ?>
|
101 |
<div class="error fade" style="background-color:red;"><p><strong>It seems that Newsletter plugin folder is not writable. Make it writable to let
|
102 |
Newsletter write logs and save date when errors occour.</strong></p></div>
|
@@ -272,66 +267,51 @@ if (file_exists($theme_dir . '/style.css')) {
|
|
272 |
|
273 |
|
274 |
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
<h3>Newsletter message</h3>
|
279 |
|
280 |
<table class="form-table">
|
281 |
-
<?php if (defined('NEWSLETTER_EXTRAS')) { ?>
|
282 |
<tr valign="top">
|
283 |
-
<th>Newsletter name</th>
|
284 |
-
|
285 |
-
<input name="options[name]" type="text" size="20" value="<?php echo htmlspecialchars($options['name'])?>"/>
|
286 |
-
<br />
|
287 |
-
This symbolic name will be used to track the link clicks and associate them to a specific newsletter.
|
288 |
-
Keep the name compact and significative.
|
289 |
-
</td>
|
290 |
-
</tr>
|
291 |
-
<tr valign="top">
|
292 |
-
<th>Tracking</th>
|
293 |
<td>
|
|
|
294 |
<input name="options[track]" value="1" type="checkbox" <?php echo $options['track']?'checked':''; ?>/>
|
295 |
Track link clicks
|
296 |
<br />
|
297 |
When this option is enabled, each link in the email text will be rewritten and clicks
|
298 |
on them intercepted.
|
|
|
|
|
299 |
</td>
|
300 |
-
|
301 |
<?php } else { ?>
|
302 |
-
<tr valign="top">
|
303 |
-
<th>Tracking</th>
|
304 |
<td>Tracking options available with Newsletter Extras package</td>
|
305 |
-
</tr>
|
306 |
<?php } ?>
|
|
|
307 |
|
308 |
<tr valign="top">
|
309 |
<th>Subject</th>
|
310 |
<td>
|
311 |
-
|
312 |
<br />
|
313 |
-
Tags: <strong>{name}</strong> receiver name.
|
314 |
</td>
|
315 |
</tr>
|
|
|
316 |
<tr valign="top">
|
317 |
<th>Message</th>
|
318 |
<td>
|
|
|
|
|
|
|
319 |
<textarea name="options[message]" wrap="off" rows="20" style="font-family: monospace; width: 100%"><?php echo htmlspecialchars($options['message'])?></textarea>
|
320 |
<br />
|
321 |
-
Tags:
|
322 |
-
|
323 |
-
|
324 |
-
<strong>{token}</strong> the subscriber token.
|
325 |
-
<pre><?php //echo htmlspecialchars(newsletter_relink($options['message']))?></pre>
|
326 |
</td>
|
327 |
</tr>
|
328 |
-
|
329 |
-
<th>Disable visual editor</th>
|
330 |
-
<td>
|
331 |
-
<input name="options[novisual]" value="1" type="checkbox" <?php echo $options['novisual']?'checked':''; ?>/>
|
332 |
-
(save to apply and be sure to <a href="http://www.satollo.net/plugins/newsletter#composer">read here</a>)
|
333 |
-
</td>
|
334 |
-
</tr>
|
335 |
<tr valign="top">
|
336 |
<th>Theme</th>
|
337 |
<td>
|
@@ -363,12 +343,6 @@ if (file_exists($theme_dir . '/style.css')) {
|
|
363 |
<input class="button" type="submit" name="auto" value="Auto compose"/>
|
364 |
</td>
|
365 |
</tr>
|
366 |
-
<tr valign="top">
|
367 |
-
<th>Number of posts on theme</th>
|
368 |
-
<td>
|
369 |
-
<input name="options[theme_posts]" type="text" size="5" value="<?php echo htmlspecialchars($options['theme_posts'])?>"/>
|
370 |
-
</td>
|
371 |
-
</tr>
|
372 |
</table>
|
373 |
|
374 |
<p class="submit">
|
@@ -382,32 +356,18 @@ if (file_exists($theme_dir . '/style.css')) {
|
|
382 |
<?php } ?>
|
383 |
</p>
|
384 |
|
385 |
-
|
386 |
-
<
|
387 |
-
<p>Scheduler helps to send out a long list of emails slowly to not overload the server.</p>
|
388 |
-
<?php if (defined('NEWSLETTER_EXTRAS')) { ?>
|
389 |
<table class="form-table">
|
390 |
<tr valign="top">
|
391 |
-
<th>
|
392 |
-
<td>
|
393 |
-
<input name="options[scheduler_interval]" type="text" size="5" value="<?php echo htmlspecialchars($options['scheduler_interval'])?>"/>
|
394 |
-
(minutes, minimum value is 1)
|
395 |
-
</td>
|
396 |
-
</tr>
|
397 |
-
<tr valign="top">
|
398 |
-
<th>Max number of emails per task</th>
|
399 |
<td>
|
400 |
-
<input name="options[
|
401 |
-
(good value is 20 to 50)
|
402 |
</td>
|
403 |
</tr>
|
404 |
</table>
|
405 |
-
|
406 |
-
|
407 |
-
</p>
|
408 |
-
<?php } else { ?>
|
409 |
-
<p><strong>Available only with <a href="http://www.satollo.net/plugins/newsletter#extras">Newsletter Extras</a> package</strong></p>
|
410 |
-
<?php } ?>
|
411 |
|
412 |
<!--
|
413 |
|
@@ -422,26 +382,34 @@ if (file_exists($theme_dir . '/style.css')) {
|
|
422 |
|
423 |
|
424 |
<h3>Sending options</h3>
|
425 |
-
<p>Configuration for not scheduled sending process.</p>
|
426 |
<table class="form-table">
|
427 |
<tr valign="top">
|
428 |
<th>Max emails in a single batch</th>
|
429 |
<td>
|
430 |
-
|
431 |
</td>
|
432 |
</tr>
|
433 |
<tr valign="top">
|
434 |
<th>Receiver address for simulation</th>
|
435 |
<td>
|
436 |
-
|
437 |
-
<br />
|
438 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
439 |
</td>
|
440 |
</tr>
|
441 |
-
|
442 |
</table>
|
443 |
<p class="submit">
|
444 |
-
<input class="button" type="submit" name="save" value="Save"/>
|
445 |
</p>
|
446 |
<!--
|
447 |
<tr valign="top">
|
@@ -452,6 +420,33 @@ if (file_exists($theme_dir . '/style.css')) {
|
|
452 |
</tr>
|
453 |
-->
|
454 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
455 |
|
456 |
<h3>Test subscribers</h3>
|
457 |
<p>
|
1 |
<?php
|
2 |
+
|
3 |
+
@include_once 'commons.php';
|
4 |
+
|
5 |
$options = get_option('newsletter_email');
|
6 |
$options_newsletter = get_option('newsletter');
|
7 |
|
62 |
$css_url = newsletter_get_theme_url($options['theme']) . '/style.css';
|
63 |
}
|
64 |
|
65 |
+
$nc = new NewsletterControls($options, 'composer');
|
66 |
+
|
67 |
?>
|
68 |
<?php if (!isset($options['novisual'])) { ?>
|
69 |
<script type="text/javascript" src="<?php echo get_option('siteurl'); ?>/wp-content/plugins/newsletter/tiny_mce/tiny_mce.js"></script>
|
88 |
</script>
|
89 |
<?php } ?>
|
90 |
|
91 |
+
<div class="wrap">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
|
93 |
<h2>Newsletter Composer</h2>
|
94 |
+
|
95 |
<?php if (!touch(dirname(__FILE__) . '/test.tmp')) { ?>
|
96 |
<div class="error fade" style="background-color:red;"><p><strong>It seems that Newsletter plugin folder is not writable. Make it writable to let
|
97 |
Newsletter write logs and save date when errors occour.</strong></p></div>
|
267 |
|
268 |
|
269 |
|
|
|
|
|
|
|
270 |
<h3>Newsletter message</h3>
|
271 |
|
272 |
<table class="form-table">
|
|
|
273 |
<tr valign="top">
|
274 |
+
<th>Newsletter name and tracking</th>
|
275 |
+
<?php if (defined('NEWSLETTER_EXTRAS')) { ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
276 |
<td>
|
277 |
+
<input name="options[name]" type="text" size="25" value="<?php echo htmlspecialchars($options['name'])?>"/>
|
278 |
<input name="options[track]" value="1" type="checkbox" <?php echo $options['track']?'checked':''; ?>/>
|
279 |
Track link clicks
|
280 |
<br />
|
281 |
When this option is enabled, each link in the email text will be rewritten and clicks
|
282 |
on them intercepted.
|
283 |
+
The symbolic name will be used to track the link clicks and associate them to a specific newsletter.
|
284 |
+
Keep the name compact and significative.
|
285 |
</td>
|
286 |
+
|
287 |
<?php } else { ?>
|
|
|
|
|
288 |
<td>Tracking options available with Newsletter Extras package</td>
|
|
|
289 |
<?php } ?>
|
290 |
+
</tr>
|
291 |
|
292 |
<tr valign="top">
|
293 |
<th>Subject</th>
|
294 |
<td>
|
295 |
+
<?php $nc->text('subject', 70); ?>
|
296 |
<br />
|
297 |
+
<?php _e('Tags: <strong>{name}</strong> receiver name.', 'newsletter'); ?>
|
298 |
</td>
|
299 |
</tr>
|
300 |
+
|
301 |
<tr valign="top">
|
302 |
<th>Message</th>
|
303 |
<td>
|
304 |
+
<?php $nc->checkbox('novisual', 'disable the visual editor'); ?>
|
305 |
+
(save to apply and be sure to <a href="http://www.satollo.net/plugins/newsletter#composer">read here</a>)
|
306 |
+
<br />
|
307 |
<textarea name="options[message]" wrap="off" rows="20" style="font-family: monospace; width: 100%"><?php echo htmlspecialchars($options['message'])?></textarea>
|
308 |
<br />
|
309 |
+
<?php _e('Tags: <strong>{name}</strong> receiver name;
|
310 |
+
<strong>{unsubscription_url}</strong> unsubscription URL;
|
311 |
+
<strong>{token}</strong> the subscriber token.', 'newsletter'); ?>
|
|
|
|
|
312 |
</td>
|
313 |
</tr>
|
314 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
315 |
<tr valign="top">
|
316 |
<th>Theme</th>
|
317 |
<td>
|
343 |
<input class="button" type="submit" name="auto" value="Auto compose"/>
|
344 |
</td>
|
345 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
346 |
</table>
|
347 |
|
348 |
<p class="submit">
|
356 |
<?php } ?>
|
357 |
</p>
|
358 |
|
359 |
+
<h3>Theme parameters</h3>
|
360 |
+
<p>Themes may not use such parameters!</p>
|
|
|
|
|
361 |
<table class="form-table">
|
362 |
<tr valign="top">
|
363 |
+
<th>Number of posts on theme</th>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
364 |
<td>
|
365 |
+
<input name="options[theme_posts]" type="text" size="5" value="<?php echo htmlspecialchars($options['theme_posts'])?>"/>
|
|
|
366 |
</td>
|
367 |
</tr>
|
368 |
</table>
|
369 |
+
|
370 |
+
|
|
|
|
|
|
|
|
|
371 |
|
372 |
<!--
|
373 |
|
382 |
|
383 |
|
384 |
<h3>Sending options</h3>
|
|
|
385 |
<table class="form-table">
|
386 |
<tr valign="top">
|
387 |
<th>Max emails in a single batch</th>
|
388 |
<td>
|
389 |
+
<?php $nc->text('max', 5); ?>
|
390 |
</td>
|
391 |
</tr>
|
392 |
<tr valign="top">
|
393 |
<th>Receiver address for simulation</th>
|
394 |
<td>
|
395 |
+
<?php $nc->text('simulate_email', 50); ?>
|
396 |
+
<br />
|
397 |
+
<?php _e('When you simulate a sending process, emails are really sent but all to this
|
398 |
+
email address. That helps to test out problems with mail server.', 'newsletter'); ?>
|
399 |
+
</td>
|
400 |
+
</tr>
|
401 |
+
<tr valign="top">
|
402 |
+
<th>Return path</th>
|
403 |
+
<td>
|
404 |
+
<?php $nc->text('return_path', 50); ?>
|
405 |
+
<br />
|
406 |
+
<?php _e('Force the return path to this email address. Return path is used from mail server to
|
407 |
+
send back messages with delivery errors.', 'newsletter'); ?>
|
408 |
</td>
|
409 |
</tr>
|
|
|
410 |
</table>
|
411 |
<p class="submit">
|
412 |
+
<input class="button" type="submit" name="save" value="<?php _e('Save', 'newsletter'); ?>"/>
|
413 |
</p>
|
414 |
<!--
|
415 |
<tr valign="top">
|
420 |
</tr>
|
421 |
-->
|
422 |
|
423 |
+
<h3>Sending options for scheduler</h3>
|
424 |
+
|
425 |
+
<?php if (defined('NEWSLETTER_EXTRAS')) { ?>
|
426 |
+
<p>Scheduler is described <a href="http://www.satollo.net/plugins/newsletter-extras">here</a>.</p>
|
427 |
+
<table class="form-table">
|
428 |
+
<tr valign="top">
|
429 |
+
<th>Interval between sending tasks</th>
|
430 |
+
<td>
|
431 |
+
<?php $nc->text('scheduler_interval', 5); ?>
|
432 |
+
(minutes, minimum value is 1)
|
433 |
+
</td>
|
434 |
+
</tr>
|
435 |
+
<tr valign="top">
|
436 |
+
<th>Max number of emails per task</th>
|
437 |
+
<td>
|
438 |
+
<?php $nc->text('scheduler_max', 5); ?>
|
439 |
+
(good value is 20 to 50)
|
440 |
+
</td>
|
441 |
+
</tr>
|
442 |
+
</table>
|
443 |
+
<p class="submit">
|
444 |
+
<input class="button" type="submit" name="save" value="Save"/>
|
445 |
+
</p>
|
446 |
+
<?php } else { ?>
|
447 |
+
<p><strong>Available only with <a href="http://www.satollo.net/plugins/newsletter-extras">Newsletter Extras</a> package</strong></p>
|
448 |
+
<?php } ?>
|
449 |
+
|
450 |
|
451 |
<h3>Test subscribers</h3>
|
452 |
<p>
|
options.php
CHANGED
@@ -1,31 +1,22 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
|
4 |
-
|
5 |
-
if (!isset($options['no_translation'])) {
|
6 |
-
$plugin_dir = basename(dirname(__FILE__));
|
7 |
-
load_plugin_textdomain('newsletter', 'wp-content/plugins/' . $plugin_dir . '/languages/');
|
8 |
-
}
|
9 |
|
10 |
-
|
11 |
-
@include(dirname(__FILE__) . '/languages/en_US_options.php');
|
12 |
-
if (WPLANG != '') @include(dirname(__FILE__) . '/languages/' . WPLANG . '_options.php');
|
13 |
-
update_option('newsletter', $newsletter_default_options);
|
14 |
-
}
|
15 |
|
16 |
-
if (
|
17 |
-
$options =
|
18 |
update_option('newsletter', $options);
|
19 |
}
|
20 |
|
|
|
21 |
?>
|
22 |
|
23 |
-
<?php if (
|
24 |
<script type="text/javascript" src="<?php echo get_option('siteurl'); ?>/wp-content/plugins/newsletter/tiny_mce/tiny_mce.js"></script>
|
25 |
|
26 |
<script type="text/javascript">
|
27 |
tinyMCE.init({
|
28 |
-
//mode : "textareas",
|
29 |
mode : "specific_textareas",
|
30 |
editor_selector : "visual",
|
31 |
theme : "advanced",
|
@@ -37,51 +28,34 @@ if (isset($_POST['save'])) {
|
|
37 |
document_base_url : "<?php echo get_option('home'); ?>/"
|
38 |
});
|
39 |
</script>
|
40 |
-
<?php } ?>
|
41 |
-
|
42 |
-
<style>
|
43 |
-
#newsletter h3 {
|
44 |
-
margin-bottom: 0px;
|
45 |
-
margin-top: 30px;
|
46 |
-
}
|
47 |
-
#newsletter h4 {
|
48 |
-
font-size: 1.3em;
|
49 |
-
border-bottom: 1px solid #999;
|
50 |
-
}
|
51 |
-
#newsletter .form-table {
|
52 |
-
border: 1px solid #999;
|
53 |
-
background-color: #fff;
|
54 |
-
}
|
55 |
-
</style>
|
56 |
-
|
57 |
-
<div class="wrap" id="newsletter">
|
58 |
-
|
59 |
-
<h2><?php _e('Newsletter', 'newsletter'); ?></h2>
|
60 |
|
61 |
-
|
62 |
|
63 |
-
<
|
64 |
-
<?php _e('Questions, help, critiques and whatever else <a target="_blank" href="http://www.satollo.net/plugins/newsletter">click here</a>!', 'newsletter'); ?>
|
65 |
-
</p>
|
66 |
|
67 |
-
|
68 |
-
<input type="hidden" value="<?php echo NEWSLETTER; ?>" name="version"/>
|
69 |
|
|
|
|
|
70 |
|
71 |
<h3><?php _e('Sender and subscription page', 'newsletter'); ?></h3>
|
|
|
|
|
|
|
72 |
<table class="form-table">
|
73 |
<tr valign="top">
|
74 |
-
<th><?php _e('Sender email', 'newsletter'); ?></
|
75 |
<td>
|
76 |
-
|
77 |
<br />
|
78 |
<?php _e('Newsletter sender email address: the address subscribers will see the newsletters coming from.', 'newsletter'); ?>
|
79 |
</td>
|
80 |
</tr>
|
81 |
<tr valign="top">
|
82 |
-
<th><?php _e('Sender name'
|
83 |
<td>
|
84 |
-
|
85 |
<br />
|
86 |
<?php _e('The name of the newsletter sender subscribers will see on incoming email.', 'newsletter'); ?>
|
87 |
</td>
|
@@ -89,14 +63,14 @@ if (isset($_POST['save'])) {
|
|
89 |
<tr valign="top">
|
90 |
<th><?php _e('Subscription page URL', 'newsletter'); ?></th>
|
91 |
<td>
|
92 |
-
|
93 |
<br />
|
94 |
-
<?php _e('This is the page where you placed the <strong>[newsletter]</strong> short tag.','
|
95 |
-
(<a href="http://www.satollo.net/plugins/newsletter"><?php _e('Read more on plugin official page', 'newsletter'); ?></a>)
|
96 |
</td>
|
97 |
</tr>
|
|
|
98 |
<tr valign="top">
|
99 |
-
<th
|
100 |
<td>
|
101 |
<select name="options[theme]">
|
102 |
<optgroup label="Included themes">
|
@@ -123,31 +97,29 @@ if (isset($_POST['save'])) {
|
|
123 |
</optgroup>
|
124 |
</select>
|
125 |
<br />
|
126 |
-
Selected theme has to be one with {message} tag inside, tag that will be replaced
|
127 |
-
with messages. Use the blank theme to send messages as you see them in the editor.
|
128 |
</td>
|
129 |
</tr>
|
130 |
</table>
|
131 |
<p class="submit">
|
132 |
-
|
133 |
</p>
|
134 |
|
135 |
|
136 |
|
137 |
|
138 |
-
<h3><?php _e('Subscription
|
139 |
<table class="form-table">
|
140 |
<tr valign="top">
|
141 |
<th> </th>
|
142 |
<td>
|
143 |
-
|
144 |
-
<?php _e('Do not ask the user name, only email.', 'newsletter'); ?>
|
145 |
</td>
|
146 |
</tr>
|
147 |
<tr valign="top">
|
148 |
<th><?php _e('Subscription form page', 'newsletter'); ?></th>
|
149 |
<td>
|
150 |
-
|
151 |
<br />
|
152 |
<?php _e('This is the text showed to subscriber before the subscription form which is added automatically.', 'newsletter'); ?>
|
153 |
</td>
|
@@ -155,147 +127,141 @@ if (isset($_POST['save'])) {
|
|
155 |
<tr valign="top">
|
156 |
<th><?php _e('Successfully subscription page', 'newsletter'); ?></th>
|
157 |
<td>
|
158 |
-
|
159 |
<br />
|
160 |
-
<?php _e('This is the text showed to a user who has pressed "subscribe me" on the previous
|
|
|
|
|
|
|
161 |
</td>
|
162 |
</tr>
|
163 |
</table>
|
164 |
|
165 |
<p class="submit">
|
166 |
-
|
167 |
</p>
|
168 |
|
169 |
|
170 |
|
171 |
-
<h3><?php _e('Confirmation
|
172 |
|
173 |
-
|
|
|
174 |
|
175 |
<table class="form-table">
|
176 |
<tr valign="top">
|
177 |
<th> </th>
|
178 |
<td>
|
179 |
-
|
180 |
-
<?php _e('Do not use double opt-in. If checked the subscription is direct, so subscribers will be immediately confirmed and will receive the welcome email.', 'newsletter'); ?>
|
181 |
-
</td>
|
182 |
-
</tr>
|
183 |
-
<tr valign="top">
|
184 |
-
<th><label for="options[confirmation_subject]"><?php _e('Confirmation email subject', 'newsletter'); ?></label></th>
|
185 |
-
<td>
|
186 |
-
<input name="options[confirmation_subject]" type="text" size="50" value="<?php echo htmlspecialchars($options['confirmation_subject'])?>"/>
|
187 |
-
<br />
|
188 |
-
<?php _e('Tags: <strong>{name}</strong> the user name.', 'newsletter'); ?>
|
189 |
</td>
|
190 |
</tr>
|
|
|
|
|
191 |
<tr valign="top">
|
192 |
-
<th
|
193 |
<td>
|
194 |
-
|
195 |
<br />
|
196 |
-
<?php _e('Tags: <strong>{name}</strong> the user name; <strong>{subscription_confirm_url}</strong>
|
|
|
|
|
197 |
</td>
|
198 |
</tr>
|
|
|
199 |
</table>
|
200 |
|
201 |
<p class="submit">
|
202 |
-
|
203 |
</p>
|
204 |
|
205 |
|
206 |
|
207 |
<h3><?php _e('Welcome message', 'newsletter'); ?></h3>
|
208 |
-
|
209 |
-
<p><?php _e('Users jump directly to this step if you disabled the double opt-in step.', 'newsletter'); ?></p>
|
210 |
|
211 |
<table class="form-table">
|
212 |
<tr valign="top">
|
213 |
-
<th
|
214 |
<td>
|
215 |
-
|
216 |
<br />
|
217 |
-
<?php _e('Showed when the user follow the confirmation URL sent to him with previous email
|
218 |
-
|
219 |
-
|
|
|
|
|
220 |
</td>
|
221 |
</tr>
|
222 |
|
223 |
<tr valign="top">
|
224 |
<th><?php _e('Conversion tracking code', 'newsletter'); ?></th>
|
225 |
<td>
|
226 |
-
<?php
|
227 |
-
<textarea name="options[confirmed_tracking]" wrap="off" rows="5" cols="75"><?php echo htmlspecialchars($options['confirmed_tracking'])?></textarea>
|
228 |
-
<?php } else { ?>
|
229 |
-
<p><strong><?php _e('Available with Newsletter Extras package', 'newsletter'); ?></strong></p>
|
230 |
-
<?php } ?>
|
231 |
<br />
|
232 |
-
<?php _e('
|
233 |
-
</td>
|
234 |
-
</tr>
|
235 |
-
<tr valign="top"><td colspan="2"><h4><?php _e('Welcome email', 'newsletter'); ?></h4></td></tr>
|
236 |
-
<tr valign="top">
|
237 |
-
<th><?php _e('Welcome email subject', 'newsletter'); ?></th>
|
238 |
-
<td>
|
239 |
-
<input name="options[confirmed_subject]" type="text" size="50" value="<?php echo htmlspecialchars($options['confirmed_subject'])?>"/>
|
240 |
<br />
|
241 |
-
<?php _e('
|
|
|
|
|
242 |
</td>
|
243 |
</tr>
|
|
|
|
|
244 |
<tr valign="top">
|
245 |
-
<th
|
|
|
|
|
246 |
<td>
|
247 |
-
|
248 |
<br />
|
249 |
-
<?php _e('Tags: <strong>{
|
|
|
|
|
250 |
</td>
|
251 |
</tr>
|
|
|
252 |
</table>
|
253 |
|
254 |
<p class="submit">
|
255 |
-
|
256 |
</p>
|
257 |
|
258 |
|
259 |
|
260 |
<h3><?php _e('Unsubscription', 'newsletter'); ?></h3>
|
261 |
-
|
262 |
-
|
|
|
|
|
263 |
|
264 |
<table class="form-table">
|
265 |
<tr valign="top">
|
266 |
-
<th
|
267 |
<td>
|
268 |
-
|
269 |
<br />
|
270 |
-
<?php _e('This text is show to users who click on a "unsubscription link" in a newsletter
|
271 |
-
|
272 |
-
|
|
|
|
|
|
|
273 |
</td>
|
274 |
</tr>
|
275 |
|
276 |
<!-- Text showed to the user on successful unsubscription -->
|
277 |
<tr valign="top">
|
278 |
-
<th
|
279 |
<td>
|
280 |
-
|
281 |
-
<?php _e('Latest message showed to the user to say "good bye".', 'newsletter'); ?>
|
282 |
-
<br />
|
283 |
-
<?php _e('Tags: none.', 'newsletter'); ?>
|
284 |
</td>
|
285 |
</tr>
|
286 |
|
|
|
287 |
<tr valign="top">
|
288 |
-
<th
|
289 |
-
<td>
|
290 |
-
<input name="options[unsubscribed_subject]" type="text" size="50" value="<?php echo htmlspecialchars($options['unsubscribed_subject'])?>"/>
|
291 |
-
<br />
|
292 |
-
<?php _e('Tags: <strong>{name}</strong> user name.', 'newsletter'); ?>
|
293 |
-
</td>
|
294 |
-
</tr>
|
295 |
-
<tr valign="top">
|
296 |
-
<th><label><?php _e('Goodbye email message', 'newsletter'); ?></label></th>
|
297 |
<td>
|
298 |
-
|
299 |
<br />
|
300 |
<?php _e('Tags: <strong>{name}</strong> user name.', 'newsletter'); ?>
|
301 |
</td>
|
@@ -303,191 +269,24 @@ if (isset($_POST['save'])) {
|
|
303 |
</table>
|
304 |
|
305 |
<p class="submit">
|
306 |
-
|
307 |
</p>
|
308 |
|
309 |
-
<!--
|
310 |
-
<h2><?php _e('Unsubscription for mass mail mode', 'newsletter'); ?></h2>
|
311 |
-
<p><?php _e('This section is not working!', 'newsletter'); ?></p>
|
312 |
-
|
313 |
-
<table class="form-table">
|
314 |
-
<tr valign="top">
|
315 |
-
<th><label><?php _e('Unsubscription text', 'newsletter'); ?></label></th>
|
316 |
-
<td>
|
317 |
-
<textarea name="options[unsubscription_mm_text]" wrap="off" rows="5" cols="75"><?php echo htmlspecialchars($options['unsubscription_mm_text'])?></textarea>
|
318 |
-
</td>
|
319 |
-
</tr>
|
320 |
-
|
321 |
-
<tr valign="top">
|
322 |
-
<th><label><?php _e('Unsubscription error', 'newsletter'); ?></label></th>
|
323 |
-
<td>
|
324 |
-
<input name="options[unsubscription_mm_error]" type="text" size="50" value="<?php echo htmlspecialchars($options['unsubscription_mm_error'])?>"/>
|
325 |
-
<br />
|
326 |
-
<?php _e('Shown with the unsubscription message then the email to unsubscribe is not found.', 'newsletter'); ?>
|
327 |
-
</td>
|
328 |
-
</tr>
|
329 |
-
<tr valign="top">
|
330 |
-
<th><label><?php _e('"Email to unsubscribe" label', 'newsletter'); ?></label></th>
|
331 |
-
<td>
|
332 |
-
<input name="options[unsubscription_mm_email_label]" type="text" size="50" value="<?php echo htmlspecialchars($options['unsubscription_mm_email_label'])?>"/>
|
333 |
-
<br />
|
334 |
-
Used when the newsletter is sent with "mass mail" mode.
|
335 |
-
</td>
|
336 |
-
</tr>
|
337 |
-
<tr valign="top">
|
338 |
-
<th><label><?php _e('"Confirm unsubscription" label', 'newsletter'); ?></label></th>
|
339 |
-
<td>
|
340 |
-
<input name="options[unsubscription_mm_label]" type="text" size="50" value="<?php echo htmlspecialchars($options['unsubscription_mm_label'])?>"/>
|
341 |
-
<br />
|
342 |
-
<?php _e('The button text to confirm unsubscription or to send an unsubscription request for the specified email address when "mass mail" mode is used for sending newsletters.', 'newsletter'); ?>
|
343 |
-
</td>
|
344 |
-
</tr>
|
345 |
-
<tr valign="top">
|
346 |
-
<th><label><?php _e('Unsubscription end text', 'newsletter'); ?></label></th>
|
347 |
-
<td>
|
348 |
-
<textarea name="options[unsubscription_mm_end_text]" wrap="off" rows="5" cols="75"><?php echo htmlspecialchars($options['unsubscription_mm_end_text'])?></textarea>
|
349 |
-
<br />
|
350 |
-
<?php _e('This text is shown when a user type in an email to be removed and the confirmation email has been sent.', 'newsletter'); ?>
|
351 |
-
</td>
|
352 |
-
</tr>
|
353 |
-
|
354 |
-
<tr valign="top">
|
355 |
-
<th><label for="options[unsubscription_subject]"><?php _e('Unsubscription email subject', 'newsletter'); ?></label></th>
|
356 |
-
<td>
|
357 |
-
<input name="options[unsubscription_subject]" type="text" size="50" value="<?php echo htmlspecialchars($options['unsubscription_subject'])?>"/>
|
358 |
-
</td>
|
359 |
-
</tr>
|
360 |
-
<tr valign="top">
|
361 |
-
<th><label for="options[unsubscription_message]"><?php _e('Unsubscription email message', 'newsletter'); ?></label></th>
|
362 |
-
<td>
|
363 |
-
<textarea name="options[unsubscription_message]" wrap="off" rows="5" cols="75"><?php echo htmlspecialchars($options['unsubscription_message'])?></textarea>
|
364 |
-
<br />
|
365 |
-
<?php _e('Email sent to confirm unsubscription when the request is made specifying an email address to remove. Use {unsubscription_link} to place the link where the user has to click on; use {unsubscription_url} toplace the plain unsubscription URL.', 'newsletter'); ?>
|
366 |
-
</td>
|
367 |
-
</tr>
|
368 |
-
<tr valign="top">
|
369 |
-
<th><label for="options[unsubscription_link]"><?php _e('Unsubscription link text', 'newsletter'); ?></label></th>
|
370 |
-
<td>
|
371 |
-
<input name="options[unsubscription_link]" type="text" size="50" value="<?php echo htmlspecialchars($options['unsubscription_link'])?>"/>
|
372 |
-
<br />
|
373 |
-
<?php _e('The text of the link for unsubscription to be placed in the unsubscription email.', 'newsletter'); ?>
|
374 |
-
</td>
|
375 |
-
</tr>
|
376 |
-
</table>
|
377 |
-
-->
|
378 |
-
<!--
|
379 |
-
<h2><?php _e('Lists', 'newsletter'); ?></h2>
|
380 |
-
<table class="form-table">
|
381 |
-
<tr valign="top">
|
382 |
-
<th> </th>
|
383 |
-
<td>
|
384 |
-
<?php _e('List 0 is the general one', 'newsletter'); ?><br />
|
385 |
-
<?php for ($i=1; $i<=10; $i++) { ?>
|
386 |
-
<?php _e('List', 'newsletter'); ?> <?php echo $i; ?> <input name="options[list_<?php echo $i; ?>]" type="text" size="50" value="<?php echo htmlspecialchars($options['list_' . $i])?>"/>
|
387 |
-
<br />
|
388 |
-
<?php } ?>
|
389 |
-
|
390 |
-
</td>
|
391 |
-
</tr>
|
392 |
-
</table>
|
393 |
-
-->
|
394 |
|
395 |
-
<h3><?php _e('Advanced', 'newsletter'); ?></h3>
|
396 |
|
397 |
-
<
|
398 |
-
<tr valign="top">
|
399 |
-
<th> </th>
|
400 |
-
<td>
|
401 |
-
<input type="checkbox" name="options[no_translation]" value="1" <?php echo $options['no_translation']!= null?'checked':''; ?> />
|
402 |
-
Show always in original english
|
403 |
-
</td>
|
404 |
-
</tr>
|
405 |
-
<tr valign="top">
|
406 |
-
<th>Logging</th>
|
407 |
-
<td>
|
408 |
-
<select name="options[logs]">
|
409 |
-
<option <?php echo (0==$options['logs'])?'selected':''; ?> value="0">None</option>
|
410 |
-
<option <?php echo (1==$options['logs'])?'selected':''; ?> value="1">Normal</option>
|
411 |
-
<option <?php echo (2==$options['logs'])?'selected':''; ?> value="2">Debug</option>
|
412 |
-
</select>
|
413 |
-
(debug level saves user data on file system, use only to debug problems)
|
414 |
-
</td>
|
415 |
-
</tr>
|
416 |
-
<tr valign="top">
|
417 |
-
<th> </th>
|
418 |
-
<td>
|
419 |
-
<input type="checkbox" name="options[novisual]" value="1" <?php echo $options['novisual']!= null?'checked':''; ?> />
|
420 |
-
<label for="options[novisual]"><?php _e('do not use visual editors', 'newsletter'); ?></label>
|
421 |
-
</td>
|
422 |
-
</tr>
|
423 |
-
<tr valign="top">
|
424 |
-
<th> </th>
|
425 |
-
<td>
|
426 |
-
<input type="checkbox" name="options[editor]" value="1" <?php echo $options['editor']!= null?'checked':''; ?> />
|
427 |
-
<label for="options[editor]"><?php _e('allow editors to user the newsletter plugin', 'newsletter'); ?></label>
|
428 |
-
</td>
|
429 |
-
</tr>
|
430 |
-
</table>
|
431 |
-
<p class="submit">
|
432 |
-
<input class="button" type="submit" name="save" value="<?php _e('Save', 'newsletter'); ?>"/>
|
433 |
-
</p>
|
434 |
|
435 |
-
<!--
|
436 |
-
<h2><?php _e('Really advanced options', 'newsletter'); ?></h2>
|
437 |
-
|
438 |
-
<table class="form-table">
|
439 |
-
<tr valign="top">
|
440 |
-
<th> </th>
|
441 |
-
<td>
|
442 |
-
<input type="checkbox" name="options[subscription_form_enabled]" value="1" <?php echo $options['subscription_form_enabled']!= null?'checked':''; ?> />
|
443 |
-
<label for="options[subscription_form]"><?php _e('Use the custom subscription form below', 'newsletter'); ?></label>
|
444 |
-
<br />
|
445 |
-
<textarea cols="75" rows="5" name="options[subscription_form]"><?php echo htmlspecialchars($options['subscription_form'])?></textarea>
|
446 |
-
</td>
|
447 |
-
</tr>
|
448 |
-
</table>
|
449 |
-
<p class="submit">
|
450 |
-
<input class="button" type="submit" name="save" value="<?php _e('Save', 'newsletter'); ?>"/>
|
451 |
-
</p>
|
452 |
-
-->
|
453 |
-
|
454 |
-
<!--
|
455 |
-
<h2><?php _e('Zanzara client', 'newsletter'); ?></h2>
|
456 |
-
<p><?php _e('Obsolete', 'newsletter'); ?></p>
|
457 |
<table class="form-table">
|
458 |
<tr valign="top">
|
459 |
-
<th
|
460 |
-
<td>
|
461 |
-
<input name="options[key]" type="text" size="50" value="<?php echo htmlspecialchars($options['key'])?>"/>
|
462 |
-
<br />
|
463 |
-
<?php _e('Do not search for Zanzara, is a my private software', 'newsletter'); ?>
|
464 |
-
</td>
|
465 |
-
</tr>
|
466 |
-
<tr>
|
467 |
-
<th><label><?php _e('SMTP address', 'newsletter'); ?></label></th>
|
468 |
-
<td>
|
469 |
-
<input name="options[smtp_host]" type="text" size="50" value="<?php echo htmlspecialchars($options['smtp_host'])?>"/>
|
470 |
-
</td>
|
471 |
-
</tr>
|
472 |
-
<tr>
|
473 |
-
<th><label><?php _e('SMTP user', 'newsletter'); ?></label></th>
|
474 |
<td>
|
475 |
-
|
476 |
-
|
477 |
-
</tr>
|
478 |
-
<tr>
|
479 |
-
<th><label><?php _e('SMTP password', 'newsletter'); ?></label></th>
|
480 |
-
<td>
|
481 |
-
<input name="options[smtp_password]" type="text" size="50" value="<?php echo htmlspecialchars($options['smtp_password'])?>"/>
|
482 |
-
</td>
|
483 |
</tr>
|
484 |
</table>
|
485 |
-
|
486 |
<p class="submit">
|
487 |
-
|
488 |
-
<input class="button" type="submit" name="defaults" value="<?php _e('Revert to defaults', 'newsletter'); ?>"/>
|
489 |
</p>
|
490 |
-
-->
|
491 |
|
492 |
</form>
|
493 |
</div>
|
1 |
<?php
|
2 |
|
3 |
+
@include_once 'commons.php';
|
|
|
|
|
|
|
|
|
|
|
4 |
|
5 |
+
$options = get_option('newsletter');
|
|
|
|
|
|
|
|
|
6 |
|
7 |
+
if ($action == 'save') {
|
8 |
+
$options = stripslashes_deep($_POST['options']);
|
9 |
update_option('newsletter', $options);
|
10 |
}
|
11 |
|
12 |
+
$nc = new NewsletterControls($options);
|
13 |
?>
|
14 |
|
15 |
+
<?php if ($options['novisual'] != 1) { ?>
|
16 |
<script type="text/javascript" src="<?php echo get_option('siteurl'); ?>/wp-content/plugins/newsletter/tiny_mce/tiny_mce.js"></script>
|
17 |
|
18 |
<script type="text/javascript">
|
19 |
tinyMCE.init({
|
|
|
20 |
mode : "specific_textareas",
|
21 |
editor_selector : "visual",
|
22 |
theme : "advanced",
|
28 |
document_base_url : "<?php echo get_option('home'); ?>/"
|
29 |
});
|
30 |
</script>
|
31 |
+
<?php } ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
|
33 |
+
<div class="wrap">
|
34 |
|
35 |
+
<h2><?php _e('Newsletter Subscription and Unsubscription', 'newsletter'); ?></h2>
|
|
|
|
|
36 |
|
37 |
+
<?php require_once 'header.php'; ?>
|
|
|
38 |
|
39 |
+
<form method="post" action="">
|
40 |
+
<?php wp_nonce_field(); ?>
|
41 |
|
42 |
<h3><?php _e('Sender and subscription page', 'newsletter'); ?></h3>
|
43 |
+
|
44 |
+
<?php _e('<p><strong>It\'s REQUIRED to complete such configuration.</strong></p>', 'newsletter'); ?>
|
45 |
+
|
46 |
<table class="form-table">
|
47 |
<tr valign="top">
|
48 |
+
<th><?php _e('Sender email', 'newsletter'); ?></th>
|
49 |
<td>
|
50 |
+
<?php $nc->text('from_email', 50); ?>
|
51 |
<br />
|
52 |
<?php _e('Newsletter sender email address: the address subscribers will see the newsletters coming from.', 'newsletter'); ?>
|
53 |
</td>
|
54 |
</tr>
|
55 |
<tr valign="top">
|
56 |
+
<th><?php _e('Sender name'); ?></th>
|
57 |
<td>
|
58 |
+
<?php $nc->text('from_name', 50); ?>
|
59 |
<br />
|
60 |
<?php _e('The name of the newsletter sender subscribers will see on incoming email.', 'newsletter'); ?>
|
61 |
</td>
|
63 |
<tr valign="top">
|
64 |
<th><?php _e('Subscription page URL', 'newsletter'); ?></th>
|
65 |
<td>
|
66 |
+
<?php $nc->text('url', 70); ?>
|
67 |
<br />
|
68 |
+
<?php _e('This is the page where you placed the <strong>[newsletter]</strong> short tag. (<a href="http://www.satollo.net/plugins/newsletter">Read more on plugin official page</a>)', 'newsleetter'); ?>
|
|
|
69 |
</td>
|
70 |
</tr>
|
71 |
+
|
72 |
<tr valign="top">
|
73 |
+
<th><?php _e('Theme to use for emails', 'newsletter'); ?></th>
|
74 |
<td>
|
75 |
<select name="options[theme]">
|
76 |
<optgroup label="Included themes">
|
97 |
</optgroup>
|
98 |
</select>
|
99 |
<br />
|
100 |
+
<?php _e('Selected theme has to be one with {message} tag inside, tag that will be replaced with messages. Use the blank theme to send messages as you see them in the editor.', 'newsletter'); ?>
|
|
|
101 |
</td>
|
102 |
</tr>
|
103 |
</table>
|
104 |
<p class="submit">
|
105 |
+
<?php $nc->button('save', __('Save', 'newsletter')); ?>
|
106 |
</p>
|
107 |
|
108 |
|
109 |
|
110 |
|
111 |
+
<h3><?php _e('Subscription', 'newsletter'); ?></h3>
|
112 |
<table class="form-table">
|
113 |
<tr valign="top">
|
114 |
<th> </th>
|
115 |
<td>
|
116 |
+
<?php $nc->checkbox('noname', __('Do not ask the user name, only email.', 'newsletter')); ?>
|
|
|
117 |
</td>
|
118 |
</tr>
|
119 |
<tr valign="top">
|
120 |
<th><?php _e('Subscription form page', 'newsletter'); ?></th>
|
121 |
<td>
|
122 |
+
<?php $nc->editor('subscription_text'); ?>
|
123 |
<br />
|
124 |
<?php _e('This is the text showed to subscriber before the subscription form which is added automatically.', 'newsletter'); ?>
|
125 |
</td>
|
127 |
<tr valign="top">
|
128 |
<th><?php _e('Successfully subscription page', 'newsletter'); ?></th>
|
129 |
<td>
|
130 |
+
<?php $nc->editor('subscribed_text'); ?>
|
131 |
<br />
|
132 |
+
<?php _e('This is the text showed to a user who has pressed "subscribe me" on the previous
|
133 |
+
step informing that an email to confirm subscription has just been sent. Remeber
|
134 |
+
the user to check the spam folder and to follow the email instructions.<br />
|
135 |
+
Tags: <strong>{name}</strong> the user name; <strong>{email}</strong> the user email.', 'newsletter'); ?>
|
136 |
</td>
|
137 |
</tr>
|
138 |
</table>
|
139 |
|
140 |
<p class="submit">
|
141 |
+
<?php $nc->button('save', __('Save', 'newsletter')); ?>
|
142 |
</p>
|
143 |
|
144 |
|
145 |
|
146 |
+
<h3><?php _e('Confirmation (double opt-in)', 'newsletter'); ?></h3>
|
147 |
|
148 |
+
<?php _e('<p>Email sent to the user to confirm his subscription, the successful confirmation
|
149 |
+
page, the welcome email.</p>', 'newsletter'); ?>
|
150 |
|
151 |
<table class="form-table">
|
152 |
<tr valign="top">
|
153 |
<th> </th>
|
154 |
<td>
|
155 |
+
<?php $nc->checkbox('noconfirmation', __('Do not use double opt-in. If checked the subscription is direct, so subscribers will be immediately confirmed and will receive the welcome email.', 'newsletter')); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
</td>
|
157 |
</tr>
|
158 |
+
|
159 |
+
<!-- CONFIRMATION EMAIL -->
|
160 |
<tr valign="top">
|
161 |
+
<th><?php _e('Confirmation email', 'newsletter'); ?></th>
|
162 |
<td>
|
163 |
+
<?php $nc->email('confirmation'); ?>
|
164 |
<br />
|
165 |
+
<?php _e('Tags: <strong>{name}</strong> the user name; <strong>{subscription_confirm_url}</strong>
|
166 |
+
confirmation URL to be clicked by the user to confirm his subscription;
|
167 |
+
<strong>{unsubscription_url}</strong> the unsubscription link', 'newsletter'); ?>
|
168 |
</td>
|
169 |
</tr>
|
170 |
+
|
171 |
</table>
|
172 |
|
173 |
<p class="submit">
|
174 |
+
<?php $nc->button('save', __('Save', 'newsletter')); ?>
|
175 |
</p>
|
176 |
|
177 |
|
178 |
|
179 |
<h3><?php _e('Welcome message', 'newsletter'); ?></h3>
|
180 |
+
<?php _e('<p>Users jump directly to this step if you disabled the double opt-in step.</p>', 'newsletter'); ?>
|
|
|
181 |
|
182 |
<table class="form-table">
|
183 |
<tr valign="top">
|
184 |
+
<th><?php _e('Welcome message', 'newsletter'); ?></th>
|
185 |
<td>
|
186 |
+
<?php $nc->editor('confirmed_text'); ?>
|
187 |
<br />
|
188 |
+
<?php _e('Showed when the user follow the confirmation URL sent to him with previous email
|
189 |
+
settings or if signed up directly with no double opt-in process.
|
190 |
+
<br />
|
191 |
+
Tags: <strong>{name}</strong> the user name; <strong>{email}</strong> for the
|
192 |
+
user email; <strong>{token}</strong> the subscriber unique token', 'newsletter'); ?>
|
193 |
</td>
|
194 |
</tr>
|
195 |
|
196 |
<tr valign="top">
|
197 |
<th><?php _e('Conversion tracking code', 'newsletter'); ?></th>
|
198 |
<td>
|
199 |
+
<?php $nc->textarea('confirmed_tracking'); ?>
|
|
|
|
|
|
|
|
|
200 |
<br />
|
201 |
+
<?php _e('<strong>Works only with Newsletter Extras installed</strong>', 'newsletter'); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
202 |
<br />
|
203 |
+
<?php _e('The code is injected AS-IS in welcome page and can be used to track conversion
|
204 |
+
(you can use PHP if needed). Conversion code is usually supply by tracking services,
|
205 |
+
like Google AdWords, Google Analytics and so on.', 'newsletter'); ?>
|
206 |
</td>
|
207 |
</tr>
|
208 |
+
|
209 |
+
<!-- WELCOME/CONFIRMED EMAIL -->
|
210 |
<tr valign="top">
|
211 |
+
<th>
|
212 |
+
<?php _e('Welcome email<br /><small>The right place where to put bonus content link</small>', 'newsletter'); ?>
|
213 |
+
</th>
|
214 |
<td>
|
215 |
+
<?php $nc->email('confirmed'); ?>
|
216 |
<br />
|
217 |
+
<?php _e('Tags: <strong>{id}</strong> user id; <strong>{name}</strong> user name;
|
218 |
+
<strong>{token}</strong> the subscriber unique token; <strong>{unsubscription_url}</strong>
|
219 |
+
unsubscription link', 'newsletter'); ?>
|
220 |
</td>
|
221 |
</tr>
|
222 |
+
|
223 |
</table>
|
224 |
|
225 |
<p class="submit">
|
226 |
+
<?php $nc->button('save', __('Save', 'newsletter')); ?>
|
227 |
</p>
|
228 |
|
229 |
|
230 |
|
231 |
<h3><?php _e('Unsubscription', 'newsletter'); ?></h3>
|
232 |
+
<?php _e('<p>A user starts the unsubscription process clicking the unsubscription link in
|
233 |
+
a newsletter. This link contains the email to unsubscribe and some unique information
|
234 |
+
to avoid hacking. The user are requird to confirm the unsubscription: this is the last
|
235 |
+
step where YOU can communicate with you almost missed user.</p>', 'newsletter'); ?>
|
236 |
|
237 |
<table class="form-table">
|
238 |
<tr valign="top">
|
239 |
+
<th><?php _e('Unsubscription message', 'newsletter'); ?></th>
|
240 |
<td>
|
241 |
+
<?php $nc->editor('unsubscription_text'); ?>
|
242 |
<br />
|
243 |
+
<?php _e('This text is show to users who click on a "unsubscription link" in a newsletter
|
244 |
+
email. You have to insert a link in the text that user can follow to confirm the
|
245 |
+
unsubscription request (see tags).
|
246 |
+
<br />
|
247 |
+
Tags: <strong>{name}</strong> user name; <strong>{email}</strong> user email;
|
248 |
+
<strong>{unsubscription_confirm_url}</strong> URL to confirm unsubscription.', 'newsletter'); ?>
|
249 |
</td>
|
250 |
</tr>
|
251 |
|
252 |
<!-- Text showed to the user on successful unsubscription -->
|
253 |
<tr valign="top">
|
254 |
+
<th><?php _e('Goodbye message', 'newsletter'); ?></th>
|
255 |
<td>
|
256 |
+
<?php $nc->editor('unsubscribed_text'); ?>
|
|
|
|
|
|
|
257 |
</td>
|
258 |
</tr>
|
259 |
|
260 |
+
<!-- GOODBYE EMAIL -->
|
261 |
<tr valign="top">
|
262 |
+
<th><?php _e('Goodbye email', 'newsletter'); ?></th>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
263 |
<td>
|
264 |
+
<?php $nc->email('unsubscribed'); ?>
|
265 |
<br />
|
266 |
<?php _e('Tags: <strong>{name}</strong> user name.', 'newsletter'); ?>
|
267 |
</td>
|
269 |
</table>
|
270 |
|
271 |
<p class="submit">
|
272 |
+
<?php $nc->button('save', __('Save', 'newsletter')); ?>
|
273 |
</p>
|
274 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
275 |
|
|
|
276 |
|
277 |
+
<h3><?php _e('Advanced', 'newsletter'); ?></h3>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
278 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
279 |
<table class="form-table">
|
280 |
<tr valign="top">
|
281 |
+
<th><?php _e('Disable visual editors?', 'newsletter')?></th>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
282 |
<td>
|
283 |
+
<?php $nc->yesno('novisual'); ?>
|
284 |
+
</td>
|
|
|
|
|
|
|
|
|
|
|
|
|
285 |
</tr>
|
286 |
</table>
|
|
|
287 |
<p class="submit">
|
288 |
+
<?php $nc->button('save', __('Save', 'newsletter')); ?>
|
|
|
289 |
</p>
|
|
|
290 |
|
291 |
</form>
|
292 |
</div>
|
plugin.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Newsletter
|
4 |
Plugin URI: http://www.satollo.net/plugins/newsletter
|
5 |
Description: Newsletter is a cool plugin to create your own subscriber list, to send newsletters, to build your business. <strong>Before update give a look to <a href="http://www.satollo.net/plugins/newsletter#update">this page</a> to know what's changed.</strong>
|
6 |
-
Version: 1.5.
|
7 |
Author: Satollo
|
8 |
Author URI: http://www.satollo.net
|
9 |
Disclaimer: Use at your own risk. No warranty expressed or implied is provided.
|
@@ -26,35 +26,37 @@ Disclaimer: Use at your own risk. No warranty expressed or implied is provided.
|
|
26 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
27 |
*/
|
28 |
|
29 |
-
define('NEWSLETTER', '1.5.
|
30 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
@include(ABSPATH . 'wp-content/plugins/newsletter-extras/newsletter-extras.php');
|
32 |
|
33 |
require_once(dirname(__FILE__) . '/widget.php');
|
34 |
|
35 |
-
global $newsletter_labels;
|
36 |
$newsletter_step = 'subscription';
|
37 |
-
|
38 |
|
39 |
function newsletter_init_labels() {
|
40 |
-
global $newsletter_labels;
|
41 |
-
|
42 |
-
@include_once(dirname(__FILE__) . '/languages/en_US.php');
|
43 |
-
if (WPLANG != '') @include_once(dirname(__FILE__) . '/languages/' . WPLANG . '.php');
|
44 |
-
@include_once(ABSPATH . 'wp-content/plugins/newsletter-custom/languages/en_US.php');
|
45 |
-
if (WPLANG != '') @include_once(ABSPATH . 'wp-content/plugins/newsletter-custom/languages/' . WPLANG . '.php');
|
46 |
}
|
47 |
|
48 |
-
function newsletter_label($name) {
|
49 |
global $newsletter_labels;
|
50 |
|
51 |
-
if ($newsletter_labels) return $newsletter_labels[$name];
|
52 |
-
|
53 |
-
return $newsletter_labels[$name];
|
54 |
}
|
55 |
|
56 |
-
function newsletter_echo($name) {
|
57 |
-
echo newsletter_label($name);
|
58 |
}
|
59 |
|
60 |
function newsletter_request($name, $default=null ) {
|
@@ -130,8 +132,8 @@ function newsletter_call($attrs, $content=null) {
|
|
130 |
else {
|
131 |
$buffer .= newsletter_label('subscription_form');
|
132 |
}
|
133 |
-
if (!defined('NEWSLETTER_EXTRAS'))
|
134 |
-
|
135 |
}
|
136 |
|
137 |
}
|
@@ -172,31 +174,14 @@ function newsletter_call($attrs, $content=null) {
|
|
172 |
$buffer .= $text;
|
173 |
}
|
174 |
|
175 |
-
// if ($newsletter_step == 'unsubscription_mm' || $newsletter_step == 'unsubscription_mm_error')
|
176 |
-
// {
|
177 |
-
// if ($newsletter_step == 'unsubscription_mm_error')
|
178 |
-
// {
|
179 |
-
// $buffer .= '<p>' . $options['unsubscription_mm_error'] . '</p>';
|
180 |
-
// }
|
181 |
-
// $buffer .= $options['unsubscription_mm_text'];
|
182 |
-
// $buffer .= '<form method="post" action="?">';
|
183 |
-
// $buffer .= '<input type="hidden" name="na" value="ue"/>';
|
184 |
-
// $buffer .= '<table cellspacing="3" cellpadding="3" border="0">';
|
185 |
-
// $buffer .= '<tr><td>' . $options['unsubscription_mm_email_label'] . '</td><td><input type="text" name="ne" size="20"/></td></tr>';
|
186 |
-
// $buffer .= '<tr><td colspan="2" style="text-align: center"><input type="submit" value="' . $options['unsubscription_mm_label'] . '"/></td></tr></table>';
|
187 |
-
// $buffer .= '</form>';
|
188 |
-
// }
|
189 |
-
|
190 |
-
// if ($newsletter_step == 'unsubscription_mm_end')
|
191 |
-
// {
|
192 |
-
// $text = $options['unsubscription_mm_end'];
|
193 |
-
// $text = str_replace('{name}', $newsletter_subscriber->name, $text);
|
194 |
-
// $buffer .= $text;
|
195 |
-
// }
|
196 |
-
|
197 |
return '<div class="newsletter">' . $buffer . '</div>';
|
198 |
}
|
199 |
|
|
|
|
|
|
|
|
|
|
|
200 |
/**
|
201 |
* Sends out newsletters.
|
202 |
*
|
@@ -257,8 +242,20 @@ function newsletter_send_batch() {
|
|
257 |
$simulate = (bool)$batch['simulate'];
|
258 |
$scheduled = (bool)$batch['scheduled']; // Used to avoid echo
|
259 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
260 |
$query = "select * from " . $wpdb->prefix . "newsletter where status='C' and list=" . $list .
|
261 |
" and id>" . $id . " order by id";
|
|
|
|
|
|
|
262 |
|
263 |
$recipients = $wpdb->get_results($query);
|
264 |
|
@@ -266,7 +263,7 @@ function newsletter_send_batch() {
|
|
266 |
if ($id == 0) {
|
267 |
newsletter_delete_batch_file();
|
268 |
wp_clear_scheduled_hook('newsletter_cron_hook');
|
269 |
-
$batch['total'] = count($
|
270 |
$batch['sent'] = 0;
|
271 |
$batch['completed'] = false;
|
272 |
$batch['message'] = '';
|
@@ -279,14 +276,7 @@ function newsletter_send_batch() {
|
|
279 |
$max_time = (int)(ini_get('max_execution_time') * 0.8);
|
280 |
$db_time = time();
|
281 |
|
282 |
-
|
283 |
-
$max = $options_email['scheduler_max'];
|
284 |
-
if (!is_numeric($max)) $max = 10;
|
285 |
-
}
|
286 |
-
else {
|
287 |
-
$max = $options_email['max'];
|
288 |
-
if (!is_numeric($max)) $max = 0;
|
289 |
-
}
|
290 |
|
291 |
if (!$scheduled) {
|
292 |
echo 'Sending to: <br />';
|
@@ -303,6 +293,8 @@ function newsletter_send_batch() {
|
|
303 |
|
304 |
$idx = 0;
|
305 |
|
|
|
|
|
306 |
foreach ($recipients as $r) {
|
307 |
|
308 |
$url = newsletter_add_qs($options['url'],
|
@@ -349,9 +341,11 @@ function newsletter_send_batch() {
|
|
349 |
$batch['message'] = 'Temporary saved batch to avoid database timeout';
|
350 |
if (!update_option('newsletter_batch', $batch)) {
|
351 |
newsletter_error(__FUNCTION__, 'Unable to save to database, saving on file system');
|
352 |
-
newsletter_error(__FUNCTION__, "Batch:\n" . print_r($
|
353 |
|
354 |
newsletter_save_batch_file($batch);
|
|
|
|
|
355 |
return false;
|
356 |
}
|
357 |
}
|
@@ -362,11 +356,18 @@ function newsletter_send_batch() {
|
|
362 |
$batch['message'] = 'Batch max emails limit reached (it is ok)';
|
363 |
if (!update_option('newsletter_batch', $batch)) {
|
364 |
newsletter_error(__FUNCTION__, 'Unable to save to database, saving on file system');
|
365 |
-
newsletter_error(__FUNCTION__, "Batch:\n" . print_r($
|
366 |
|
367 |
newsletter_save_batch_file($batch);
|
|
|
|
|
|
|
368 |
return false;
|
369 |
}
|
|
|
|
|
|
|
|
|
370 |
return true;
|
371 |
}
|
372 |
|
@@ -379,8 +380,14 @@ function newsletter_send_batch() {
|
|
379 |
newsletter_error(__FUNCTION__, "Batch:\n" . print_r($last, true));
|
380 |
|
381 |
newsletter_save_batch_file($batch);
|
|
|
|
|
|
|
382 |
return false;
|
383 |
}
|
|
|
|
|
|
|
384 |
return true;
|
385 |
}
|
386 |
}
|
@@ -388,14 +395,20 @@ function newsletter_send_batch() {
|
|
388 |
// All right (incredible!)
|
389 |
newsletter_info(__FUNCTION__, 'Sending completed!');
|
390 |
$batch['completed'] = true;
|
|
|
391 |
if (!update_option('newsletter_batch', $batch)) {
|
392 |
newsletter_error(__FUNCTION__, 'Unable to save to database, saving on file system');
|
393 |
newsletter_error(__FUNCTION__, "Batch:\n" . print_r($last, true));
|
394 |
|
395 |
newsletter_save_batch_file($batch);
|
|
|
|
|
|
|
396 |
return false;
|
397 |
}
|
398 |
|
|
|
|
|
399 |
return true;
|
400 |
}
|
401 |
|
@@ -423,6 +436,7 @@ function newsletter_send_test($recipients) {
|
|
423 |
'</style></head><body>' . $options_email['message'] . '</body></html>';
|
424 |
}
|
425 |
|
|
|
426 |
foreach ($recipients as $r) {
|
427 |
|
428 |
$url = newsletter_add_qs($options['url'],
|
@@ -444,13 +458,14 @@ function newsletter_send_test($recipients) {
|
|
444 |
|
445 |
if ($x) {
|
446 |
echo '[OK] -- ';
|
447 |
-
newsletter_debug(__FUNCTION__, 'Sent to ' . $r->id . '
|
448 |
} else {
|
449 |
echo '[KO] -- ';
|
450 |
-
newsletter_debug(__FUNCTION__, 'Sent to ' . $r->id . '
|
451 |
}
|
452 |
-
|
453 |
}
|
|
|
|
|
454 |
}
|
455 |
|
456 |
|
@@ -554,7 +569,7 @@ function newsletter_send_confirmation($subscriber) {
|
|
554 |
if ($html == null) $html = '{message}';
|
555 |
|
556 |
$message = str_replace('{message}', $message, $html);
|
557 |
-
|
558 |
// The full URL to the confirmation page
|
559 |
$url = newsletter_add_qs($options['url'], 'na=c&ni=' . $subscriber->id .
|
560 |
'&nt=' . $subscriber->token);
|
@@ -569,7 +584,10 @@ function newsletter_send_confirmation($subscriber) {
|
|
569 |
|
570 |
$subject = newsletter_replace($options['confirmation_subject'], $subscriber);
|
571 |
|
|
|
572 |
newsletter_mail($subscriber->email, $subject, $message);
|
|
|
|
|
573 |
}
|
574 |
|
575 |
/**
|
@@ -709,7 +727,7 @@ function newsletter_init() {
|
|
709 |
if ($action == 'c') {
|
710 |
$id = $_REQUEST['ni'];
|
711 |
newsletter_confirm($id, $_REQUEST['nt']);
|
712 |
-
header('Location: ' . newsletter_add_qs($options['url'], 'na=cs&ni=' . $id, false));
|
713 |
die();
|
714 |
}
|
715 |
|
@@ -717,6 +735,7 @@ function newsletter_init() {
|
|
717 |
// Redirect is sent by action "c".
|
718 |
if ($action == 'cs') {
|
719 |
$newsletter_subscriber = newsletter_get_subscriber($_REQUEST['ni']);
|
|
|
720 |
$newsletter_step = 'confirmed';
|
721 |
}
|
722 |
|
@@ -727,79 +746,6 @@ function newsletter_init() {
|
|
727 |
$newsletter_step = 'unsubscription';
|
728 |
}
|
729 |
|
730 |
-
/*
|
731 |
-
// Export for Zanzara
|
732 |
-
if ($action == 'z') {
|
733 |
-
if (!$_GET['nk'] || $_GET['nk'] != $options['key']) return;
|
734 |
-
|
735 |
-
$options_email = get_option('newsletter_email');
|
736 |
-
header('Content-Type: text/xml;charset=UTF-8');
|
737 |
-
|
738 |
-
echo '<' . '?xml version="1.0" encoding="UTF-8"?' . '>' . "\n";
|
739 |
-
echo '<java version="1.6.0_12" class="java.beans.XMLDecoder">' . "\n";
|
740 |
-
echo '<object class="zanzara.Newsletter">' . "\n";
|
741 |
-
|
742 |
-
echo '<void property="message">' . "\n";
|
743 |
-
echo '<string><![CDATA['. $options_email['message'] . ']]></string>' . "\n";
|
744 |
-
echo '</void>' . "\n";
|
745 |
-
echo '<void property="newsletterUrl">' . "\n";
|
746 |
-
echo '<string><![CDATA['. $options['url'] . ']]></string>' . "\n";
|
747 |
-
echo '</void>' . "\n";
|
748 |
-
echo '<void property="fromEmail">' . "\n";
|
749 |
-
echo '<string><![CDATA['. $options['from_email'] . ']]></string>' . "\n";
|
750 |
-
echo '</void>' . "\n";
|
751 |
-
echo '<void property="fromName">' . "\n";
|
752 |
-
echo '<string><![CDATA['. $options['from_name'] . ']]></string>' . "\n";
|
753 |
-
echo '</void>' . "\n";
|
754 |
-
echo '<void property="homeUrl">' . "\n";
|
755 |
-
echo '<string><![CDATA['. get_option('home') . ']]></string>' . "\n";
|
756 |
-
echo '</void>' . "\n";
|
757 |
-
echo '<void property="blogTitle">' . "\n";
|
758 |
-
echo '<string><![CDATA['. get_option('blogname') . ']]></string>' . "\n";
|
759 |
-
echo '</void>' . "\n";
|
760 |
-
|
761 |
-
echo '<void property="subject">' . "\n";
|
762 |
-
echo '<string><![CDATA[' . $options_email['subject'] . ']]></string>' . "\n";
|
763 |
-
echo '</void>' . "\n";
|
764 |
-
|
765 |
-
echo '<void property="smtpHost">' . "\n";
|
766 |
-
echo '<string><![CDATA[' . $options['smtp_host'] . ']]></string>' . "\n";
|
767 |
-
echo '</void>' . "\n";
|
768 |
-
echo '<void property="smtpUser">' . "\n";
|
769 |
-
echo '<string><![CDATA[' . $options['smtp_user'] . ']]></string>' . "\n";
|
770 |
-
echo '</void>' . "\n";
|
771 |
-
echo '<void property="smtpPassword">' . "\n";
|
772 |
-
echo '<string><![CDATA[' . $options['smtp_password'] . ']]></string>' . "\n";
|
773 |
-
echo '</void>' . "\n";
|
774 |
-
|
775 |
-
echo '<void property="recipients">' . "\n";
|
776 |
-
echo '<string><![CDATA[';
|
777 |
-
|
778 |
-
$query = "select * from " . $wpdb->prefix . "newsletter where status='C'";
|
779 |
-
$recipients = $wpdb->get_results($query . " order by email");
|
780 |
-
for ($i=0; $i<count($recipients); $i++) {
|
781 |
-
echo $recipients[$i]->email . ';' . $recipients[$i]->name .
|
782 |
-
';' . $recipients[$i]->token . ';' . $recipients[$i]->id . ';' . $recipients[$i]->group . "\n";
|
783 |
-
}
|
784 |
-
echo ']]></string>' . "\n";
|
785 |
-
echo '</void>' . "\n";
|
786 |
-
|
787 |
-
echo '<void property="testRecipients">' . "\n";
|
788 |
-
echo '<string><![CDATA[';
|
789 |
-
for ($i=1; $i<=10; $i++) {
|
790 |
-
if (!$options_email['test_email_' . $i]) continue;
|
791 |
-
echo $options_email['test_email_' . $i] . ';' . $options_email['test_name_' . $i] .
|
792 |
-
';FAKETOKEN;0;0' . "\n";
|
793 |
-
}
|
794 |
-
echo ']]></string>' . "\n";
|
795 |
-
echo '</void>' . "\n";
|
796 |
-
|
797 |
-
echo '</object>' . "\n";
|
798 |
-
echo '</java>' . "\n";
|
799 |
-
die();
|
800 |
-
}
|
801 |
-
*/
|
802 |
-
|
803 |
// User confirmed he want to unsubscribe clicking the link on unsubscription
|
804 |
// page
|
805 |
if ($action == 'uc') {
|
@@ -822,6 +768,8 @@ function newsletter_unsubscribe($id, $token) {
|
|
822 |
$wpdb->query($wpdb->prepare("delete from " . $wpdb->prefix . "newsletter where id=%d" .
|
823 |
" and token=%s", $id, $token));
|
824 |
|
|
|
|
|
825 |
$html = newsletter_get_theme_html($options['theme']);
|
826 |
if ($html == null) $html = '{message}';
|
827 |
$message = str_replace('{message}', $options['unsubscribed_message'], $html);
|
@@ -835,7 +783,10 @@ function newsletter_unsubscribe($id, $token) {
|
|
835 |
|
836 |
$subject = newsletter_replace($options['unsubscribed_subject'], $newsletter_subscriber);
|
837 |
|
|
|
838 |
newsletter_mail($newsletter_subscriber->email, $subject, $message);
|
|
|
|
|
839 |
|
840 |
|
841 |
// Admin notification
|
@@ -918,8 +869,9 @@ function newsletter_send_welcome($subscriber) {
|
|
918 |
$message = newsletter_replace_url($message, 'UNSUBSCRIPTION_URL', $url);
|
919 |
|
920 |
$subject = newsletter_replace($options['confirmed_subject'], $subscriber);
|
921 |
-
|
922 |
newsletter_mail($subscriber->email, $subject, $message);
|
|
|
923 |
}
|
924 |
|
925 |
/*
|
@@ -947,15 +899,19 @@ function newsletter_notify_admin(&$subject, &$message) {
|
|
947 |
* The function uses wp_mail() to really send the message.
|
948 |
*/
|
949 |
function newsletter_mail($to, &$subject, &$message, $html=true) {
|
950 |
-
global $
|
951 |
|
952 |
if ($subject == '') {
|
953 |
newsletter_debug(__FUNCTION__, 'Subject empty, skipped');
|
954 |
return true;
|
955 |
}
|
956 |
|
957 |
-
|
|
|
|
|
958 |
|
|
|
|
|
959 |
$headers = "MIME-Version: 1.0\n";
|
960 |
if ($html) $headers .= "Content-type: text/html; charset=UTF-8\n";
|
961 |
else $headers .= "Content-type: text/plain; charset=UTF-8\n";
|
@@ -973,17 +929,23 @@ function newsletter_mail($to, &$subject, &$message, $html=true) {
|
|
973 |
|
974 |
add_action('activate_newsletter/plugin.php', 'newsletter_activate');
|
975 |
function newsletter_activate() {
|
976 |
-
global $wpdb;
|
977 |
|
978 |
-
$options = get_option('newsletter');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
979 |
|
980 |
// Load the default options
|
981 |
@include_once(dirname(__FILE__) . '/languages/en_US_options.php');
|
982 |
if (WPLANG != '') @include_once(dirname(__FILE__) . '/languages/' . WPLANG . '_options.php');
|
983 |
//@include_once(ABSPATH . 'wp-content/newsletter/languages/custom_options.php');
|
984 |
|
985 |
-
|
986 |
-
else $options = $newsletter_default_options;
|
987 |
|
988 |
// SQL to create the table
|
989 |
$sql = 'create table if not exists ' . $wpdb->prefix . 'newsletter (
|
@@ -998,7 +960,7 @@ function newsletter_activate() {
|
|
998 |
|
999 |
@$wpdb->query($sql);
|
1000 |
|
1001 |
-
if (!isset($
|
1002 |
|
1003 |
$sql = "alter table " . $wpdb->prefix . "newsletter drop primary key";
|
1004 |
@$wpdb->query($sql);
|
@@ -1019,7 +981,7 @@ function newsletter_activate() {
|
|
1019 |
@$wpdb->query($sql);
|
1020 |
}
|
1021 |
|
1022 |
-
if (!isset($
|
1023 |
$sql = "alter table " . $wpdb->prefix . "newsletter add column created timestamp not null default current_timestamp";
|
1024 |
@$wpdb->query($sql);
|
1025 |
}
|
@@ -1035,7 +997,8 @@ function newsletter_activate() {
|
|
1035 |
|
1036 |
newsletter_info(__FUNCTION__, 'Activated');
|
1037 |
|
1038 |
-
$
|
|
|
1039 |
update_option('newsletter', $options);
|
1040 |
|
1041 |
if (defined('NEWSLETTER_EXTRAS')) newsletter_extra_activate();
|
@@ -1044,22 +1007,33 @@ function newsletter_activate() {
|
|
1044 |
if (is_admin()) {
|
1045 |
add_action('admin_menu', 'newsletter_admin_menu');
|
1046 |
function newsletter_admin_menu() {
|
|
|
1047 |
$options = get_option('newsletter');
|
1048 |
-
$level = $
|
1049 |
|
1050 |
if (function_exists('add_menu_page')) {
|
1051 |
-
add_menu_page('Newsletter', 'Newsletter', $level, 'newsletter/
|
1052 |
}
|
1053 |
|
1054 |
if (function_exists('add_submenu_page')) {
|
1055 |
-
add_submenu_page('newsletter/
|
1056 |
-
add_submenu_page('newsletter/
|
1057 |
-
add_submenu_page('newsletter/
|
1058 |
-
add_submenu_page('newsletter/
|
1059 |
-
add_submenu_page('newsletter/
|
1060 |
-
add_submenu_page('newsletter/
|
1061 |
-
add_submenu_page('newsletter/
|
1062 |
-
add_submenu_page('newsletter/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1063 |
}
|
1064 |
}
|
1065 |
}
|
@@ -1074,6 +1048,9 @@ function newsletter_replace($text, $subscriber) {
|
|
1074 |
$text = str_replace('{id}', $subscriber->id, $text);
|
1075 |
$text = str_replace('{name}', $subscriber->name, $text);
|
1076 |
$text = str_replace('{token}', $subscriber->token, $text);
|
|
|
|
|
|
|
1077 |
return $text;
|
1078 |
}
|
1079 |
|
@@ -1136,20 +1113,18 @@ function newsletter_log($text) {
|
|
1136 |
}
|
1137 |
|
1138 |
function newsletter_debug($fn, $text) {
|
1139 |
-
$
|
1140 |
-
if ($
|
1141 |
newsletter_log('- DEBUG - ' . $fn . ' - ' . $text);
|
1142 |
}
|
1143 |
|
1144 |
function newsletter_info($fn, $text) {
|
1145 |
-
|
1146 |
-
if ($options['logs'] < 1) return;
|
1147 |
newsletter_log('- INFO - ' . $fn . ' - ' . $text);
|
1148 |
}
|
1149 |
|
1150 |
function newsletter_error($fn, $text) {
|
1151 |
-
|
1152 |
-
if ($options['logs'] < 1) return;
|
1153 |
newsletter_log('- ERROR - ' . $fn . ' - ' . $text);
|
1154 |
}
|
1155 |
|
@@ -1195,7 +1170,7 @@ function newsletter_reset_batch() {
|
|
1195 |
function newsletter_has_extras($version=null) {
|
1196 |
if (!defined('NEWSLETTER_EXTRAS')) return false;
|
1197 |
if ($version == null) return true;
|
1198 |
-
if ($version
|
1199 |
return false;
|
1200 |
}
|
1201 |
|
@@ -1213,13 +1188,16 @@ function nt_post_image($post_id, $size='thumbnail', $alternative=null) {
|
|
1213 |
|
1214 |
foreach ($attachments as $id=>$attachment) {
|
1215 |
$image = wp_get_attachment_image_src($id, $size);
|
1216 |
-
//$image = $image[0];
|
1217 |
return $image[0];
|
1218 |
}
|
1219 |
return null;
|
1220 |
}
|
1221 |
|
1222 |
function nt_option($name, $def = null) {
|
|
|
|
|
|
|
|
|
1223 |
$options = get_option('newsletter_email');
|
1224 |
$option = $options['theme_' . $name];
|
1225 |
if (!isset($option)) return $def;
|
@@ -1264,8 +1242,7 @@ function newsletter_get_theme_css($theme) {
|
|
1264 |
return @file_get_contents(newsletter_get_theme_dir($theme) . '/style.css');
|
1265 |
}
|
1266 |
|
1267 |
-
function newsletter_get_theme_html($theme)
|
1268 |
-
{
|
1269 |
if ($theme == 'blank') return '';
|
1270 |
$file = newsletter_get_theme_dir($theme) . '/theme.php';
|
1271 |
|
@@ -1276,4 +1253,5 @@ function newsletter_get_theme_html($theme)
|
|
1276 |
ob_end_clean();
|
1277 |
return $html;
|
1278 |
}
|
|
|
1279 |
?>
|
3 |
Plugin Name: Newsletter
|
4 |
Plugin URI: http://www.satollo.net/plugins/newsletter
|
5 |
Description: Newsletter is a cool plugin to create your own subscriber list, to send newsletters, to build your business. <strong>Before update give a look to <a href="http://www.satollo.net/plugins/newsletter#update">this page</a> to know what's changed.</strong>
|
6 |
+
Version: 1.5.9
|
7 |
Author: Satollo
|
8 |
Author URI: http://www.satollo.net
|
9 |
Disclaimer: Use at your own risk. No warranty expressed or implied is provided.
|
26 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
27 |
*/
|
28 |
|
29 |
+
define('NEWSLETTER', '1.5.9');
|
30 |
|
31 |
+
$newsletter_options_main = get_option('newsletter_main', array());
|
32 |
+
|
33 |
+
// Labels loading, after that $newsletter_labels is filled
|
34 |
+
$newsletter_labels = null;
|
35 |
+
@include_once(dirname(__FILE__) . '/languages/en_US.php');
|
36 |
+
if (WPLANG != '') @include_once(dirname(__FILE__) . '/languages/' . WPLANG . '.php');
|
37 |
+
@include_once(ABSPATH . 'wp-content/plugins/newsletter-custom/languages/en_US.php');
|
38 |
+
if (WPLANG != '') @include_once(ABSPATH . 'wp-content/plugins/newsletter-custom/languages/' . WPLANG . '.php');
|
39 |
+
|
40 |
+
// Don't try to hack that, Newsletter will badly fail
|
41 |
@include(ABSPATH . 'wp-content/plugins/newsletter-extras/newsletter-extras.php');
|
42 |
|
43 |
require_once(dirname(__FILE__) . '/widget.php');
|
44 |
|
|
|
45 |
$newsletter_step = 'subscription';
|
46 |
+
$newsletter_subscriber;
|
47 |
|
48 |
function newsletter_init_labels() {
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
}
|
50 |
|
51 |
+
function newsletter_label($name, $default='') {
|
52 |
global $newsletter_labels;
|
53 |
|
54 |
+
if (isset($newsletter_labels[$name])) return $newsletter_labels[$name];
|
55 |
+
return $default;
|
|
|
56 |
}
|
57 |
|
58 |
+
function newsletter_echo($name, $default) {
|
59 |
+
echo newsletter_label($name, $default);
|
60 |
}
|
61 |
|
62 |
function newsletter_request($name, $default=null ) {
|
132 |
else {
|
133 |
$buffer .= newsletter_label('subscription_form');
|
134 |
}
|
135 |
+
//if (!defined('NEWSLETTER_EXTRAS'))
|
136 |
+
// $buffer .= '<div style="text-align:right;padding:0 10px;margin:0;"><a style="font-size:9px;color:#bbb;text-decoration:none" href="http://www.satollo.net">by satollo.net</a></div>';
|
137 |
}
|
138 |
|
139 |
}
|
174 |
$buffer .= $text;
|
175 |
}
|
176 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
return '<div class="newsletter">' . $buffer . '</div>';
|
178 |
}
|
179 |
|
180 |
+
function newsletter_phpmailer_init($phpmailer) {
|
181 |
+
$options_email = get_option('newsletter_email');
|
182 |
+
$phpmailer->Sender = $options_email['return_path'];
|
183 |
+
}
|
184 |
+
|
185 |
/**
|
186 |
* Sends out newsletters.
|
187 |
*
|
242 |
$simulate = (bool)$batch['simulate'];
|
243 |
$scheduled = (bool)$batch['scheduled']; // Used to avoid echo
|
244 |
|
245 |
+
if ($scheduled) {
|
246 |
+
$max = $options_email['scheduler_max'];
|
247 |
+
if (!is_numeric($max)) $max = 10;
|
248 |
+
}
|
249 |
+
else {
|
250 |
+
$max = $options_email['max'];
|
251 |
+
if (!is_numeric($max)) $max = 0;
|
252 |
+
}
|
253 |
+
|
254 |
$query = "select * from " . $wpdb->prefix . "newsletter where status='C' and list=" . $list .
|
255 |
" and id>" . $id . " order by id";
|
256 |
+
if ($max > 0) {
|
257 |
+
$query .= " limit " . $max;
|
258 |
+
}
|
259 |
|
260 |
$recipients = $wpdb->get_results($query);
|
261 |
|
263 |
if ($id == 0) {
|
264 |
newsletter_delete_batch_file();
|
265 |
wp_clear_scheduled_hook('newsletter_cron_hook');
|
266 |
+
$batch['total'] = $wpdb->get_var("select count(*) from " . $wpdb->prefix . "newsletter where status='C' and list=" . $list);
|
267 |
$batch['sent'] = 0;
|
268 |
$batch['completed'] = false;
|
269 |
$batch['message'] = '';
|
276 |
$max_time = (int)(ini_get('max_execution_time') * 0.8);
|
277 |
$db_time = time();
|
278 |
|
279 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
280 |
|
281 |
if (!$scheduled) {
|
282 |
echo 'Sending to: <br />';
|
293 |
|
294 |
$idx = 0;
|
295 |
|
296 |
+
add_action('phpmailer_init','newsletter_phpmailer_init');
|
297 |
+
if (newsletter_has_extras('1.0.4')) newsletter_init_mail();
|
298 |
foreach ($recipients as $r) {
|
299 |
|
300 |
$url = newsletter_add_qs($options['url'],
|
341 |
$batch['message'] = 'Temporary saved batch to avoid database timeout';
|
342 |
if (!update_option('newsletter_batch', $batch)) {
|
343 |
newsletter_error(__FUNCTION__, 'Unable to save to database, saving on file system');
|
344 |
+
newsletter_error(__FUNCTION__, "Batch:\n" . print_r($batch, true));
|
345 |
|
346 |
newsletter_save_batch_file($batch);
|
347 |
+
remove_action('phpmailer_init','newsletter_phpmailer_init');
|
348 |
+
if (newsletter_has_extras('1.0.4')) newsletter_close_mail();
|
349 |
return false;
|
350 |
}
|
351 |
}
|
356 |
$batch['message'] = 'Batch max emails limit reached (it is ok)';
|
357 |
if (!update_option('newsletter_batch', $batch)) {
|
358 |
newsletter_error(__FUNCTION__, 'Unable to save to database, saving on file system');
|
359 |
+
newsletter_error(__FUNCTION__, "Batch:\n" . print_r($batch, true));
|
360 |
|
361 |
newsletter_save_batch_file($batch);
|
362 |
+
remove_action('phpmailer_init','newsletter_phpmailer_init');
|
363 |
+
if (newsletter_has_extras('1.0.4')) newsletter_close_mail();
|
364 |
+
|
365 |
return false;
|
366 |
}
|
367 |
+
|
368 |
+
remove_action('phpmailer_init','newsletter_phpmailer_init');
|
369 |
+
if (newsletter_has_extras('1.0.4')) newsletter_close_mail();
|
370 |
+
|
371 |
return true;
|
372 |
}
|
373 |
|
380 |
newsletter_error(__FUNCTION__, "Batch:\n" . print_r($last, true));
|
381 |
|
382 |
newsletter_save_batch_file($batch);
|
383 |
+
remove_action('phpmailer_init','newsletter_phpmailer_init');
|
384 |
+
if (newsletter_has_extras('1.0.4')) newsletter_close_mail();
|
385 |
+
|
386 |
return false;
|
387 |
}
|
388 |
+
|
389 |
+
remove_action('phpmailer_init','newsletter_phpmailer_init');
|
390 |
+
if (newsletter_has_extras('1.0.4')) newsletter_close_mail();
|
391 |
return true;
|
392 |
}
|
393 |
}
|
395 |
// All right (incredible!)
|
396 |
newsletter_info(__FUNCTION__, 'Sending completed!');
|
397 |
$batch['completed'] = true;
|
398 |
+
$batch['message'] = '';
|
399 |
if (!update_option('newsletter_batch', $batch)) {
|
400 |
newsletter_error(__FUNCTION__, 'Unable to save to database, saving on file system');
|
401 |
newsletter_error(__FUNCTION__, "Batch:\n" . print_r($last, true));
|
402 |
|
403 |
newsletter_save_batch_file($batch);
|
404 |
+
remove_action('phpmailer_init','newsletter_phpmailer_init');
|
405 |
+
if (newsletter_has_extras('1.0.4')) newsletter_close_mail();
|
406 |
+
|
407 |
return false;
|
408 |
}
|
409 |
|
410 |
+
remove_action('phpmailer_init','newsletter_phpmailer_init');
|
411 |
+
if (newsletter_has_extras('1.0.4')) newsletter_close_mail();
|
412 |
return true;
|
413 |
}
|
414 |
|
436 |
'</style></head><body>' . $options_email['message'] . '</body></html>';
|
437 |
}
|
438 |
|
439 |
+
if (newsletter_has_extras('1.0.4')) newsletter_init_mail();
|
440 |
foreach ($recipients as $r) {
|
441 |
|
442 |
$url = newsletter_add_qs($options['url'],
|
458 |
|
459 |
if ($x) {
|
460 |
echo '[OK] -- ';
|
461 |
+
newsletter_debug(__FUNCTION__, 'Sent to ' . $r->id . ' success');
|
462 |
} else {
|
463 |
echo '[KO] -- ';
|
464 |
+
newsletter_debug(__FUNCTION__, 'Sent to ' . $r->id . ' failed');
|
465 |
}
|
|
|
466 |
}
|
467 |
+
if (newsletter_has_extras('1.0.4')) newsletter_close_mail();
|
468 |
+
|
469 |
}
|
470 |
|
471 |
|
569 |
if ($html == null) $html = '{message}';
|
570 |
|
571 |
$message = str_replace('{message}', $message, $html);
|
572 |
+
|
573 |
// The full URL to the confirmation page
|
574 |
$url = newsletter_add_qs($options['url'], 'na=c&ni=' . $subscriber->id .
|
575 |
'&nt=' . $subscriber->token);
|
584 |
|
585 |
$subject = newsletter_replace($options['confirmation_subject'], $subscriber);
|
586 |
|
587 |
+
if (newsletter_has_extras('1.0.4')) newsletter_init_mail();
|
588 |
newsletter_mail($subscriber->email, $subject, $message);
|
589 |
+
if (newsletter_has_extras('1.0.4')) newsletter_close_mail();
|
590 |
+
|
591 |
}
|
592 |
|
593 |
/**
|
727 |
if ($action == 'c') {
|
728 |
$id = $_REQUEST['ni'];
|
729 |
newsletter_confirm($id, $_REQUEST['nt']);
|
730 |
+
header('Location: ' . newsletter_add_qs($options['url'], 'na=cs&ni=' . $id . '&nt=' . $_REQUEST['nt'], false));
|
731 |
die();
|
732 |
}
|
733 |
|
735 |
// Redirect is sent by action "c".
|
736 |
if ($action == 'cs') {
|
737 |
$newsletter_subscriber = newsletter_get_subscriber($_REQUEST['ni']);
|
738 |
+
if ($newsletter_subscriber->token != $_REQUEST['nt']) die('Ivalid token');
|
739 |
$newsletter_step = 'confirmed';
|
740 |
}
|
741 |
|
746 |
$newsletter_step = 'unsubscription';
|
747 |
}
|
748 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
749 |
// User confirmed he want to unsubscribe clicking the link on unsubscription
|
750 |
// page
|
751 |
if ($action == 'uc') {
|
768 |
$wpdb->query($wpdb->prepare("delete from " . $wpdb->prefix . "newsletter where id=%d" .
|
769 |
" and token=%s", $id, $token));
|
770 |
|
771 |
+
$options = get_option('newsletter');
|
772 |
+
|
773 |
$html = newsletter_get_theme_html($options['theme']);
|
774 |
if ($html == null) $html = '{message}';
|
775 |
$message = str_replace('{message}', $options['unsubscribed_message'], $html);
|
783 |
|
784 |
$subject = newsletter_replace($options['unsubscribed_subject'], $newsletter_subscriber);
|
785 |
|
786 |
+
if (newsletter_has_extras('1.0.4')) newsletter_init_mail();
|
787 |
newsletter_mail($newsletter_subscriber->email, $subject, $message);
|
788 |
+
if (newsletter_has_extras('1.0.4')) newsletter_close_mail();
|
789 |
+
|
790 |
|
791 |
|
792 |
// Admin notification
|
869 |
$message = newsletter_replace_url($message, 'UNSUBSCRIPTION_URL', $url);
|
870 |
|
871 |
$subject = newsletter_replace($options['confirmed_subject'], $subscriber);
|
872 |
+
if (newsletter_has_extras('1.0.4')) newsletter_init_mail();
|
873 |
newsletter_mail($subscriber->email, $subject, $message);
|
874 |
+
if (newsletter_has_extras('1.0.4')) newsletter_close_mail();
|
875 |
}
|
876 |
|
877 |
/*
|
899 |
* The function uses wp_mail() to really send the message.
|
900 |
*/
|
901 |
function newsletter_mail($to, &$subject, &$message, $html=true) {
|
902 |
+
global $newsletter_mailer, $newsletter_options_main;
|
903 |
|
904 |
if ($subject == '') {
|
905 |
newsletter_debug(__FUNCTION__, 'Subject empty, skipped');
|
906 |
return true;
|
907 |
}
|
908 |
|
909 |
+
if (newsletter_has_extras('1.0.4')) {
|
910 |
+
return newsletter_extra_mail($to, &$subject, &$message, $html);
|
911 |
+
}
|
912 |
|
913 |
+
$options = get_option('newsletter');
|
914 |
+
|
915 |
$headers = "MIME-Version: 1.0\n";
|
916 |
if ($html) $headers .= "Content-type: text/html; charset=UTF-8\n";
|
917 |
else $headers .= "Content-type: text/plain; charset=UTF-8\n";
|
929 |
|
930 |
add_action('activate_newsletter/plugin.php', 'newsletter_activate');
|
931 |
function newsletter_activate() {
|
932 |
+
global $wpdb, $newsletter_options_main;
|
933 |
|
934 |
+
$options = get_option('newsletter', array());
|
935 |
+
|
936 |
+
if (NEWSLETTER >= '1.5.2') {
|
937 |
+
if (isset($options['logs'])) $newsletter_options_main['logs'] = $options['logs'];
|
938 |
+
if (isset($options['editor'])) $newsletter_options_main['editor'] = $options['editor'];
|
939 |
+
if (isset($options['version'])) $newsletter_options_main['version'] = $options['version'];
|
940 |
+
if (isset($options['no_translation'])) $newsletter_options_main['no_translation'] = $options['no_translation'];
|
941 |
+
}
|
942 |
|
943 |
// Load the default options
|
944 |
@include_once(dirname(__FILE__) . '/languages/en_US_options.php');
|
945 |
if (WPLANG != '') @include_once(dirname(__FILE__) . '/languages/' . WPLANG . '_options.php');
|
946 |
//@include_once(ABSPATH . 'wp-content/newsletter/languages/custom_options.php');
|
947 |
|
948 |
+
$options = array_merge($newsletter_default_options, $options);
|
|
|
949 |
|
950 |
// SQL to create the table
|
951 |
$sql = 'create table if not exists ' . $wpdb->prefix . 'newsletter (
|
960 |
|
961 |
@$wpdb->query($sql);
|
962 |
|
963 |
+
if (!isset($newsletter_options_main['version']) || $newsletter_options_main['version'] < '1.4.0') {
|
964 |
|
965 |
$sql = "alter table " . $wpdb->prefix . "newsletter drop primary key";
|
966 |
@$wpdb->query($sql);
|
981 |
@$wpdb->query($sql);
|
982 |
}
|
983 |
|
984 |
+
if (!isset($newsletter_options_main['version']) || $newsletter_options_main['version'] < '1.4.1') {
|
985 |
$sql = "alter table " . $wpdb->prefix . "newsletter add column created timestamp not null default current_timestamp";
|
986 |
@$wpdb->query($sql);
|
987 |
}
|
997 |
|
998 |
newsletter_info(__FUNCTION__, 'Activated');
|
999 |
|
1000 |
+
$newsletter_options_main['version'] = NEWSLETTER;
|
1001 |
+
update_option('newsletter_main', $newsletter_options_main);
|
1002 |
update_option('newsletter', $options);
|
1003 |
|
1004 |
if (defined('NEWSLETTER_EXTRAS')) newsletter_extra_activate();
|
1007 |
if (is_admin()) {
|
1008 |
add_action('admin_menu', 'newsletter_admin_menu');
|
1009 |
function newsletter_admin_menu() {
|
1010 |
+
global $newsletter_options_main;
|
1011 |
$options = get_option('newsletter');
|
1012 |
+
$level = ($newsletter_options_main['editor']==1)?7:10;
|
1013 |
|
1014 |
if (function_exists('add_menu_page')) {
|
1015 |
+
add_menu_page('Newsletter', 'Newsletter', $level, 'newsletter/main.php', '', '');
|
1016 |
}
|
1017 |
|
1018 |
if (function_exists('add_submenu_page')) {
|
1019 |
+
add_submenu_page('newsletter/main.php', 'Configuration', 'Configuration', $level, 'newsletter/main.php');
|
1020 |
+
add_submenu_page('newsletter/main.php', 'Subscription', 'Subscription', $level, 'newsletter/options.php');
|
1021 |
+
add_submenu_page('newsletter/main.php', 'Composer', 'Composer', $level, 'newsletter/newsletter.php');
|
1022 |
+
add_submenu_page('newsletter/main.php', 'Statistics', 'Statistics', $level, 'newsletter/statistics.php');
|
1023 |
+
add_submenu_page('newsletter/main.php', 'Subscribers', 'Subscribers', $level, 'newsletter/manage.php');
|
1024 |
+
add_submenu_page('newsletter/main.php', 'Import', 'Import', $level, 'newsletter/import.php');
|
1025 |
+
add_submenu_page('newsletter/main.php', 'Export', 'Export', $level, 'newsletter/export.php');
|
1026 |
+
add_submenu_page('newsletter/main.php', 'Forms', 'Forms', $level, 'newsletter/forms.php');
|
1027 |
+
add_submenu_page('newsletter/main.php', 'SMTP', 'SMTP', $level, 'newsletter/smtp.php');
|
1028 |
+
add_submenu_page('newsletter/main.php', 'Update', 'Update', $level, 'newsletter/convert.php');
|
1029 |
+
}
|
1030 |
+
}
|
1031 |
+
|
1032 |
+
add_action('admin_head', 'newsletter_admin_head');
|
1033 |
+
function newsletter_admin_head() {
|
1034 |
+
if (strpos($_GET['page'], 'newsletter/') === 0) {
|
1035 |
+
echo '<link type="text/css" rel="stylesheet" href="' .
|
1036 |
+
get_option('siteurl') . '/wp-content/plugins/newsletter/style.css"/>';
|
1037 |
}
|
1038 |
}
|
1039 |
}
|
1048 |
$text = str_replace('{id}', $subscriber->id, $text);
|
1049 |
$text = str_replace('{name}', $subscriber->name, $text);
|
1050 |
$text = str_replace('{token}', $subscriber->token, $text);
|
1051 |
+
$text = str_replace('%7Btoken%7D', $subscriber->token, $text);
|
1052 |
+
$text = str_replace('%7Bid%7D', $subscriber->id, $text);
|
1053 |
+
|
1054 |
return $text;
|
1055 |
}
|
1056 |
|
1113 |
}
|
1114 |
|
1115 |
function newsletter_debug($fn, $text) {
|
1116 |
+
global $newsletter_options_main;
|
1117 |
+
if ($newsletter_options_main['logs'] < 2) return;
|
1118 |
newsletter_log('- DEBUG - ' . $fn . ' - ' . $text);
|
1119 |
}
|
1120 |
|
1121 |
function newsletter_info($fn, $text) {
|
1122 |
+
if ($newsletter_options_main['logs'] < 1) return;
|
|
|
1123 |
newsletter_log('- INFO - ' . $fn . ' - ' . $text);
|
1124 |
}
|
1125 |
|
1126 |
function newsletter_error($fn, $text) {
|
1127 |
+
if ($newsletter_options_main['logs'] < 1) return;
|
|
|
1128 |
newsletter_log('- ERROR - ' . $fn . ' - ' . $text);
|
1129 |
}
|
1130 |
|
1170 |
function newsletter_has_extras($version=null) {
|
1171 |
if (!defined('NEWSLETTER_EXTRAS')) return false;
|
1172 |
if ($version == null) return true;
|
1173 |
+
if ($version <= NEWSLETTER_EXTRAS) return true;
|
1174 |
return false;
|
1175 |
}
|
1176 |
|
1188 |
|
1189 |
foreach ($attachments as $id=>$attachment) {
|
1190 |
$image = wp_get_attachment_image_src($id, $size);
|
|
|
1191 |
return $image[0];
|
1192 |
}
|
1193 |
return null;
|
1194 |
}
|
1195 |
|
1196 |
function nt_option($name, $def = null) {
|
1197 |
+
// if ($newsletter_is_feed && $name == 'posts') {
|
1198 |
+
// $options = get_option('newsletter_feed');
|
1199 |
+
// return $options['posts'];
|
1200 |
+
// }
|
1201 |
$options = get_option('newsletter_email');
|
1202 |
$option = $options['theme_' . $name];
|
1203 |
if (!isset($option)) return $def;
|
1242 |
return @file_get_contents(newsletter_get_theme_dir($theme) . '/style.css');
|
1243 |
}
|
1244 |
|
1245 |
+
function newsletter_get_theme_html($theme) {
|
|
|
1246 |
if ($theme == 'blank') return '';
|
1247 |
$file = newsletter_get_theme_dir($theme) . '/theme.php';
|
1248 |
|
1253 |
ob_end_clean();
|
1254 |
return $html;
|
1255 |
}
|
1256 |
+
|
1257 |
?>
|
readme.txt
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
=== Newsletter ===
|
3 |
Tags: newsletter,email,subscription,mass mail
|
4 |
Requires at least: 2.7
|
5 |
-
Tested up to: 2.9.
|
6 |
Stable tag: trunk
|
7 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=2545483
|
8 |
Contributors: satollo
|
@@ -26,17 +26,6 @@ with subscriber name.
|
|
26 |
|
27 |
More on Newsletter plug-in official page (http://www.satollo.net/plugins/newsletter).
|
28 |
|
29 |
-
|
30 |
-
|
31 |
-
**Check out my other plug-ins**:
|
32 |
-
|
33 |
-
* [Hyper Cache](http://www.satollo.net/plugins/hyper-cache)
|
34 |
-
* [Post Layout](http://www.satollo.net/plugins/post-layout)
|
35 |
-
* [Post Layout Pro](http://www.satollo.net/plugins/post-layout-pro)
|
36 |
-
* [Other Posts](http://www.satollo.net/plugins/other-posts)
|
37 |
-
* [Feed Layout](http://www.satollo.com/english/wordpress/feed-layout "Feed Layout WordPress plug-in: the easy way to enrich your feed contents")
|
38 |
-
* [Dynatags](http://www.satollo.net/plugins/dynatags "Dynatags WordPress plug-in: Create your own custom short tag in seconds")
|
39 |
-
|
40 |
== Installation ==
|
41 |
|
42 |
1. Put the plug-in folder into [wordpress_dir]/wp-content/plugins/
|
@@ -47,11 +36,7 @@ More on Newsletter plug-in official page (http://www.satollo.net/plugins/newslet
|
|
47 |
|
48 |
**How can I submit a bug?**
|
49 |
|
50 |
-
|
51 |
-
|
52 |
-
**Do you give support?**
|
53 |
-
|
54 |
-
Sorry, not at this time. Not even if you try to tempt me with money. I do not have enough spare time to provide answers without a lengthy delay.
|
55 |
|
56 |
== Screen shots ==
|
57 |
|
2 |
=== Newsletter ===
|
3 |
Tags: newsletter,email,subscription,mass mail
|
4 |
Requires at least: 2.7
|
5 |
+
Tested up to: 2.9.2
|
6 |
Stable tag: trunk
|
7 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=2545483
|
8 |
Contributors: satollo
|
26 |
|
27 |
More on Newsletter plug-in official page (http://www.satollo.net/plugins/newsletter).
|
28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
== Installation ==
|
30 |
|
31 |
1. Put the plug-in folder into [wordpress_dir]/wp-content/plugins/
|
36 |
|
37 |
**How can I submit a bug?**
|
38 |
|
39 |
+
This is your page: (http://www.satollo.net/newsletter-help)
|
|
|
|
|
|
|
|
|
40 |
|
41 |
== Screen shots ==
|
42 |
|
smtp.php
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
@include_once 'commons.php';
|
3 |
+
?>
|
4 |
+
|
5 |
+
<div class="wrap">
|
6 |
+
|
7 |
+
<h2><?php _e('Newsletter SMTP', 'newsletter'); ?></h2>
|
8 |
+
|
9 |
+
<?php if (newsletter_has_extras('1.0.4')) { ?>
|
10 |
+
<?php require_once ABSPATH . 'wp-content/plugins/newsletter-extras/smtp.php'; ?>
|
11 |
+
<?php } else { ?>
|
12 |
+
<strong>You need <a href="http://www.satollo.net/plugins/newsletter-extras">Newsletter Extras 1.0.4+</a> installed to configure SMTP</strong>
|
13 |
+
<?php } ?>
|
14 |
+
|
15 |
+
</div>
|
statistics.php
CHANGED
@@ -1,11 +1,15 @@
|
|
|
|
|
|
|
|
|
|
1 |
<div class="wrap">
|
2 |
|
3 |
-
<h2
|
4 |
|
5 |
-
<?php if (!defined('NEWSLETTER_EXTRAS')) { ?>
|
6 |
-
<strong>You need the <a href="http://www.satollo.net/plugins/newsletter
|
7 |
-
<?php } else { ?>
|
8 |
-
|
9 |
-
<?php } ?>
|
10 |
|
11 |
</div>
|
1 |
+
<?php
|
2 |
+
@include_once 'commons.php';
|
3 |
+
?>
|
4 |
+
|
5 |
<div class="wrap">
|
6 |
|
7 |
+
<h2><?php _e('Newsletter Statistics', 'newsletter'); ?></h2>
|
8 |
|
9 |
+
<?php if (!defined('NEWSLETTER_EXTRAS')) { ?>
|
10 |
+
<strong>You need the <a href="http://www.satollo.net/plugins/newsletter-extras">Newsletter Extras</a> installed to view statistics</strong>
|
11 |
+
<?php } else { ?>
|
12 |
+
<?php require_once ABSPATH . 'wp-content/plugins/newsletter-extras/statistics.php'; ?>
|
13 |
+
<?php } ?>
|
14 |
|
15 |
</div>
|
style.css
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
h3 {
|
3 |
+
margin-bottom: 0px;
|
4 |
+
margin-top: 30px;
|
5 |
+
font-family: Georgia;
|
6 |
+
font-size: 15px;
|
7 |
+
}
|
8 |
+
h4 {
|
9 |
+
font-size: 1.3em;
|
10 |
+
border-bottom: 1px solid #999;
|
11 |
+
}
|
12 |
+
.form-table {
|
13 |
+
border: 1px solid #ccc;
|
14 |
+
background-color: #fff;
|
15 |
+
}
|
16 |
+
|
17 |
+
.form-table th {
|
18 |
+
text-align: right;
|
19 |
+
font-weight: bold;
|
20 |
+
border-right: 1px solid #ccc;
|
21 |
+
}
|
22 |
+
.form-table th small {
|
23 |
+
font-weight: normal;
|
24 |
+
}
|
25 |
+
|
26 |
+
p.submit {
|
27 |
+
margin-top: 5px;
|
28 |
+
padding: 5px;
|
29 |
+
}
|
30 |
+
|
31 |
+
.bordered-table {
|
32 |
+
border-collapse: collapse;
|
33 |
+
}
|
34 |
+
|
35 |
+
.bordered-table td, .bordered-table th {
|
36 |
+
border: 1px solid #ccc;
|
37 |
+
padding: 3px;
|
38 |
+
}
|
39 |
+
|
40 |
+
table.clicks td {
|
41 |
+
border: 1px solid #666;
|
42 |
+
padding: 2px;
|
43 |
+
font-size: 10px;
|
44 |
+
}
|
45 |
+
|
46 |
+
table.clicks {
|
47 |
+
border-collapse: collapse;
|
48 |
+
}
|
themes/feed-by-mail/style.css
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
body, td {
|
2 |
+
font-family: verdana;
|
3 |
+
font-size: 12px;
|
4 |
+
}
|
5 |
+
|
themes/feed-by-mail/theme.php
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$posts = new WP_Query();
|
3 |
+
$posts->query(array('showposts'=>10, 'post_status'=>'publish'));
|
4 |
+
?>
|
5 |
+
|
6 |
+
<h1><?php echo get_option('blogname'); ?></h1>
|
7 |
+
|
8 |
+
<?php
|
9 |
+
while ($posts->have_posts())
|
10 |
+
{
|
11 |
+
$posts->the_post();
|
12 |
+
$image = nt_post_image(get_the_ID());
|
13 |
+
?>
|
14 |
+
<h2><a href="<?php echo get_permalink(); ?>"><?php the_title(); ?></a></h2>
|
15 |
+
<?php if ($image != null) { ?>
|
16 |
+
<img src="<?php echo $image; ?>" alt="COOL PHOTO" align="left" width="100" hspace="10"/>
|
17 |
+
<?php } ?>
|
18 |
+
<?php the_excerpt(); ?>
|
19 |
+
<br clear="both"/>
|
20 |
+
<?php
|
21 |
+
}
|
22 |
+
?>
|
23 |
+
|
24 |
+
<p><small>To unsubscribe this newsletter, <a href="{unsubscription_url}">click here</a>.</small></p>
|
tiny_mce/langs/en.js
CHANGED
@@ -120,7 +120,9 @@ col:"Column",
|
|
120 |
cell:"Cell"
|
121 |
},
|
122 |
autosave:{
|
123 |
-
unload_msg:"The changes you made will be lost if you navigate away from this page."
|
|
|
|
|
124 |
},
|
125 |
fullscreen:{
|
126 |
desc:"Toggle fullscreen mode"
|
@@ -151,4 +153,17 @@ no_mpell:"No misspellings found."
|
|
151 |
},
|
152 |
pagebreak:{
|
153 |
desc:"Insert page break."
|
154 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
120 |
cell:"Cell"
|
121 |
},
|
122 |
autosave:{
|
123 |
+
unload_msg:"The changes you made will be lost if you navigate away from this page.",
|
124 |
+
restore_content: "Restore auto-saved content",
|
125 |
+
warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?"
|
126 |
},
|
127 |
fullscreen:{
|
128 |
desc:"Toggle fullscreen mode"
|
153 |
},
|
154 |
pagebreak:{
|
155 |
desc:"Insert page break."
|
156 |
+
},
|
157 |
+
advlist : {
|
158 |
+
types : 'Types',
|
159 |
+
def : 'Default',
|
160 |
+
lower_alpha : "Lower alpha",
|
161 |
+
lower_greek : "Lower greek",
|
162 |
+
lower_roman : "Lower roman",
|
163 |
+
upper_alpha : "Upper alpha",
|
164 |
+
upper_roman : "Upper roman",
|
165 |
+
circle : "Circle",
|
166 |
+
disc : "Disc",
|
167 |
+
square : "Square"
|
168 |
+
}
|
169 |
+
}});
|
tiny_mce/themes/advanced/img/icons.gif
CHANGED
Binary file
|
tiny_mce/themes/advanced/js/anchor.js
CHANGED
@@ -26,7 +26,7 @@ var AnchorDialog = {
|
|
26 |
|
27 |
// Webkit acts weird if empty inline element is inserted so we need to use a image instead
|
28 |
if (tinymce.isWebKit)
|
29 |
-
ed.execCommand('mceInsertContent', 0, ed.dom.createHTML('img', {
|
30 |
else
|
31 |
ed.execCommand('mceInsertContent', 0, ed.dom.createHTML('a', {name : document.forms[0].anchorName.value, 'class' : 'mceItemAnchor'}, ''));
|
32 |
|
26 |
|
27 |
// Webkit acts weird if empty inline element is inserted so we need to use a image instead
|
28 |
if (tinymce.isWebKit)
|
29 |
+
ed.execCommand('mceInsertContent', 0, ed.dom.createHTML('img', {_mce_name : 'a', name : document.forms[0].anchorName.value, 'class' : 'mceItemAnchor'}));
|
30 |
else
|
31 |
ed.execCommand('mceInsertContent', 0, ed.dom.createHTML('a', {name : document.forms[0].anchorName.value, 'class' : 'mceItemAnchor'}, ''));
|
32 |
|
tiny_mce/themes/advanced/js/charmap.js
CHANGED
@@ -1,3 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
tinyMCEPopup.requireLangPack();
|
2 |
|
3 |
var charmap = [
|
1 |
+
/**
|
2 |
+
* charmap.js
|
3 |
+
*
|
4 |
+
* Copyright 2009, Moxiecode Systems AB
|
5 |
+
* Released under LGPL License.
|
6 |
+
*
|
7 |
+
* License: http://tinymce.moxiecode.com/license
|
8 |
+
* Contributing: http://tinymce.moxiecode.com/contributing
|
9 |
+
*/
|
10 |
+
|
11 |
tinyMCEPopup.requireLangPack();
|
12 |
|
13 |
var charmap = [
|
tiny_mce/themes/advanced/js/image.js
CHANGED
@@ -151,8 +151,8 @@ var ImageDialog = {
|
|
151 |
}
|
152 |
|
153 |
// Merge
|
154 |
-
st = tinyMCEPopup.dom.parseStyle(dom.serializeStyle(st));
|
155 |
-
this.styleVal = dom.serializeStyle(st);
|
156 |
}
|
157 |
},
|
158 |
|
151 |
}
|
152 |
|
153 |
// Merge
|
154 |
+
st = tinyMCEPopup.dom.parseStyle(dom.serializeStyle(st), 'img');
|
155 |
+
this.styleVal = dom.serializeStyle(st, 'img');
|
156 |
}
|
157 |
},
|
158 |
|
tiny_mce/themes/advanced/js/link.js
CHANGED
@@ -63,8 +63,8 @@ var LinkDialog = {
|
|
63 |
ed.dom.setAttribs(e, {
|
64 |
href : f.href.value,
|
65 |
title : f.linktitle.value,
|
66 |
-
target : f.target_list ? f
|
67 |
-
'class' : f.class_list ? f
|
68 |
});
|
69 |
}
|
70 |
});
|
@@ -72,8 +72,8 @@ var LinkDialog = {
|
|
72 |
ed.dom.setAttribs(e, {
|
73 |
href : f.href.value,
|
74 |
title : f.linktitle.value,
|
75 |
-
target : f.target_list ? f
|
76 |
-
'class' : f.class_list ? f
|
77 |
});
|
78 |
}
|
79 |
|
63 |
ed.dom.setAttribs(e, {
|
64 |
href : f.href.value,
|
65 |
title : f.linktitle.value,
|
66 |
+
target : f.target_list ? getSelectValue(f, "target_list") : null,
|
67 |
+
'class' : f.class_list ? getSelectValue(f, "class_list") : null
|
68 |
});
|
69 |
}
|
70 |
});
|
72 |
ed.dom.setAttribs(e, {
|
73 |
href : f.href.value,
|
74 |
title : f.linktitle.value,
|
75 |
+
target : f.target_list ? getSelectValue(f, "target_list") : null,
|
76 |
+
'class' : f.class_list ? getSelectValue(f, "class_list") : null
|
77 |
});
|
78 |
}
|
79 |
|
tiny_mce/utils/editable_selects.js
CHANGED
@@ -1,10 +1,11 @@
|
|
1 |
/**
|
2 |
-
*
|
3 |
*
|
4 |
-
*
|
|
|
5 |
*
|
6 |
-
*
|
7 |
-
*
|
8 |
*/
|
9 |
|
10 |
var TinyMCE_EditableSelects = {
|
1 |
/**
|
2 |
+
* editable_selects.js
|
3 |
*
|
4 |
+
* Copyright 2009, Moxiecode Systems AB
|
5 |
+
* Released under LGPL License.
|
6 |
*
|
7 |
+
* License: http://tinymce.moxiecode.com/license
|
8 |
+
* Contributing: http://tinymce.moxiecode.com/contributing
|
9 |
*/
|
10 |
|
11 |
var TinyMCE_EditableSelects = {
|
tiny_mce/utils/form_utils.js
CHANGED
@@ -1,10 +1,11 @@
|
|
1 |
/**
|
2 |
-
*
|
3 |
*
|
4 |
-
*
|
|
|
5 |
*
|
6 |
-
*
|
7 |
-
*
|
8 |
*/
|
9 |
|
10 |
var themeBaseURL = tinyMCEPopup.editor.baseURI.toAbsolute('themes/' + tinyMCEPopup.getParam("theme"));
|
@@ -92,7 +93,7 @@ function selectByValue(form_obj, field_name, value, add_custom, ignore_case) {
|
|
92 |
function getSelectValue(form_obj, field_name) {
|
93 |
var elm = form_obj.elements[field_name];
|
94 |
|
95 |
-
if (elm == null || elm.options == null)
|
96 |
return "";
|
97 |
|
98 |
return elm.options[elm.selectedIndex].value;
|
1 |
/**
|
2 |
+
* form_utils.js
|
3 |
*
|
4 |
+
* Copyright 2009, Moxiecode Systems AB
|
5 |
+
* Released under LGPL License.
|
6 |
*
|
7 |
+
* License: http://tinymce.moxiecode.com/license
|
8 |
+
* Contributing: http://tinymce.moxiecode.com/contributing
|
9 |
*/
|
10 |
|
11 |
var themeBaseURL = tinyMCEPopup.editor.baseURI.toAbsolute('themes/' + tinyMCEPopup.getParam("theme"));
|
93 |
function getSelectValue(form_obj, field_name) {
|
94 |
var elm = form_obj.elements[field_name];
|
95 |
|
96 |
+
if (elm == null || elm.options == null || elm.selectedIndex === -1)
|
97 |
return "";
|
98 |
|
99 |
return elm.options[elm.selectedIndex].value;
|
tiny_mce/utils/mctabs.js
CHANGED
@@ -1,10 +1,11 @@
|
|
1 |
/**
|
2 |
-
*
|
3 |
*
|
4 |
-
* Moxiecode
|
|
|
5 |
*
|
6 |
-
*
|
7 |
-
*
|
8 |
*/
|
9 |
|
10 |
function MCTabs() {
|
1 |
/**
|
2 |
+
* mctabs.js
|
3 |
*
|
4 |
+
* Copyright 2009, Moxiecode Systems AB
|
5 |
+
* Released under LGPL License.
|
6 |
*
|
7 |
+
* License: http://tinymce.moxiecode.com/license
|
8 |
+
* Contributing: http://tinymce.moxiecode.com/contributing
|
9 |
*/
|
10 |
|
11 |
function MCTabs() {
|
tiny_mce/utils/validate.js
CHANGED
@@ -1,10 +1,11 @@
|
|
1 |
/**
|
2 |
-
*
|
3 |
*
|
4 |
-
*
|
|
|
5 |
*
|
6 |
-
*
|
7 |
-
*
|
8 |
*/
|
9 |
|
10 |
/**
|
1 |
/**
|
2 |
+
* validate.js
|
3 |
*
|
4 |
+
* Copyright 2009, Moxiecode Systems AB
|
5 |
+
* Released under LGPL License.
|
6 |
*
|
7 |
+
* License: http://tinymce.moxiecode.com/license
|
8 |
+
* Contributing: http://tinymce.moxiecode.com/contributing
|
9 |
*/
|
10 |
|
11 |
/**
|
widget.php
CHANGED
@@ -32,8 +32,11 @@ function widget_newsletter_init() {
|
|
32 |
}
|
33 |
$buffer = str_replace('{text}', $optionsw['text'], $buffer);
|
34 |
$buffer = str_replace('{count}', newsletter_subscribers_count(), $buffer);
|
35 |
-
|
36 |
-
|
|
|
|
|
|
|
37 |
|
38 |
echo $after_widget;
|
39 |
}
|
32 |
}
|
33 |
$buffer = str_replace('{text}', $optionsw['text'], $buffer);
|
34 |
$buffer = str_replace('{count}', newsletter_subscribers_count(), $buffer);
|
35 |
+
|
36 |
+
//if (defined('NEWSLETTER_EXTRAS')) echo $buffer;
|
37 |
+
//else echo $buffer . '<div style="text-align:right;padding:0 10px;margin:0;"><a style="font-size:9px;color:#bbb;text-decoration:none" href="http://www.satollo.net">by satollo.net</a></div>';
|
38 |
+
|
39 |
+
echo $buffer;
|
40 |
|
41 |
echo $after_widget;
|
42 |
}
|