MailPoet Newsletters (New) - Version 3.0.0-rc.1.0.2

Version Description

  • 2017-08-08 =
  • Fixed: correct error notice is displayed when using IIS server. Thanks @flauer!
Download this release

Release Info

Developer wysija
Plugin Icon 128x128 MailPoet Newsletters (New)
Version 3.0.0-rc.1.0.2
Comparing to
See all releases

Code changes from version 3.0.0-rc.1.0.1 to 3.0.0-rc.1.0.2

assets/js/{admin_vendor.30ee5115.js → admin_vendor.17370ba7.js} RENAMED
File without changes
assets/js/manifest.json CHANGED
@@ -2,9 +2,9 @@
2
  "mp2migrator.js": "mp2migrator.f7fa3be5.js",
3
  "public.js": "public.0bba05b8.js",
4
  "admin.js": "admin.54487ca1.js",
5
- "admin_vendor.js": "admin_vendor.30ee5115.js",
6
  "form_editor.js": "form_editor.4ee01c41.js",
7
  "mailpoet.js": "mailpoet.02188613.js",
8
  "newsletter_editor.js": "newsletter_editor.8195eca1.js",
9
- "vendor.js": "vendor.80f6e67f.js"
10
  }
2
  "mp2migrator.js": "mp2migrator.f7fa3be5.js",
3
  "public.js": "public.0bba05b8.js",
4
  "admin.js": "admin.54487ca1.js",
5
+ "admin_vendor.js": "admin_vendor.17370ba7.js",
6
  "form_editor.js": "form_editor.4ee01c41.js",
7
  "mailpoet.js": "mailpoet.02188613.js",
8
  "newsletter_editor.js": "newsletter_editor.8195eca1.js",
9
+ "vendor.js": "vendor.6d57818a.js"
10
  }
assets/js/{vendor.80f6e67f.js → vendor.6d57818a.js} RENAMED
@@ -76,7 +76,7 @@
76
  /******/ script.charset = 'utf-8';
77
  /******/ script.async = true;
78
 
79
- /******/ script.src = __webpack_require__.p + "" + ({"0":"admin","1":"admin_vendor","2":"form_editor","3":"mailpoet","4":"newsletter_editor"}[chunkId]||chunkId) + "." + {"0":"54487ca1","1":"30ee5115","2":"4ee01c41","3":"02188613","4":"8195eca1"}[chunkId] + ".chunk.js";
80
  /******/ head.appendChild(script);
81
  /******/ }
82
  /******/ };
76
  /******/ script.charset = 'utf-8';
77
  /******/ script.async = true;
78
 
79
+ /******/ script.src = __webpack_require__.p + "" + ({"0":"admin","1":"admin_vendor","2":"form_editor","3":"mailpoet","4":"newsletter_editor"}[chunkId]||chunkId) + "." + {"0":"54487ca1","1":"17370ba7","2":"4ee01c41","3":"02188613","4":"8195eca1"}[chunkId] + ".chunk.js";
80
  /******/ head.appendChild(script);
81
  /******/ }
82
  /******/ };
lang/mailpoet-fr_CA.mo CHANGED
Binary file
lang/mailpoet-ja.mo CHANGED
Binary file
lang/mailpoet.pot CHANGED
@@ -4,7 +4,7 @@ msgid ""
4
  msgstr ""
5
  "Project-Id-Version: \n"
6
  "Report-Msgid-Bugs-To: http://support.mailpoet.com/\n"
7
- "POT-Creation-Date: 2017-08-02 13:25:20+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -1667,14 +1667,14 @@ msgid ""
1667
  "[link]instructions[/link] on how to resolve this issue."
1668
  msgstr ""
1669
 
1670
- #: mailpoet.php:69
1671
  msgid ""
1672
  "MailPoet plugin cannot run under Microsoft's Internet Information Services "
1673
  "(IIS) web server. We recommend that you use a web server powered by Apache "
1674
  "or NGINX."
1675
  msgstr ""
1676
 
1677
- #: mailpoet.php:83
1678
  msgid ""
1679
  "MailPoet cannot start because it is missing core files. Please reinstall "
1680
  "the plugin."
4
  msgstr ""
5
  "Project-Id-Version: \n"
6
  "Report-Msgid-Bugs-To: http://support.mailpoet.com/\n"
7
+ "POT-Creation-Date: 2017-08-08 14:42:16+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
1667
  "[link]instructions[/link] on how to resolve this issue."
1668
  msgstr ""
1669
 
1670
+ #: mailpoet.php:66
1671
  msgid ""
1672
  "MailPoet plugin cannot run under Microsoft's Internet Information Services "
1673
  "(IIS) web server. We recommend that you use a web server powered by Apache "
1674
  "or NGINX."
1675
  msgstr ""
1676
 
1677
+ #: mailpoet.php:80
1678
  msgid ""
1679
  "MailPoet cannot start because it is missing core files. Please reinstall "
1680
  "the plugin."
lib/Config/Initializer.php CHANGED
@@ -5,6 +5,7 @@ use MailPoet\API;
5
  use MailPoet\Cron\CronTrigger;
6
  use MailPoet\Router;
7
  use MailPoet\Util\ConflictResolver;
 
8
  use MailPoet\WP\Notice as WPNotice;
9
 
10
  if(!defined('ABSPATH')) exit;
@@ -13,7 +14,8 @@ require_once(ABSPATH . 'wp-admin/includes/plugin.php');
13
 
14
  class Initializer {
15
 
16
- const UNABLE_TO_CONNECT = '<strong>Mailpoet:</strong> Unable to connect to the database (the database is unable to open a file or folder), the connection is likely not configured correctly. Please read our <a href="http://beta.docs.mailpoet.com/article/200-solving-database-connection-issues">Knowledge Base article</a> for steps how to resolve it.';
 
17
 
18
  protected $plugin_initialized = false;
19
 
@@ -36,7 +38,11 @@ class Initializer {
36
  try {
37
  $this->setupDB();
38
  } catch(\Exception $e) {
39
- return WPNotice::displayWarning(self::UNABLE_TO_CONNECT);
 
 
 
 
40
  }
41
 
42
  // activation function
5
  use MailPoet\Cron\CronTrigger;
6
  use MailPoet\Router;
7
  use MailPoet\Util\ConflictResolver;
8
+ use MailPoet\Util\Helpers;
9
  use MailPoet\WP\Notice as WPNotice;
10
 
11
  if(!defined('ABSPATH')) exit;
14
 
15
  class Initializer {
16
 
17
+ const UNABLE_TO_CONNECT = 'Unable to connect to the database (the database is unable to open a file or folder), the connection is likely not configured correctly. Please read our [link] Knowledge Base article [/link] for steps how to resolve it.';
18
+ const SOLVE_DB_ISSUE_URL = 'http://beta.docs.mailpoet.com/article/200-solving-database-connection-issues';
19
 
20
  protected $plugin_initialized = false;
21
 
38
  try {
39
  $this->setupDB();
40
  } catch(\Exception $e) {
41
+ return WPNotice::displayError(Helpers::replaceLinkTags(
42
+ __(self::UNABLE_TO_CONNECT, 'mailpoet'),
43
+ self::SOLVE_DB_ISSUE_URL,
44
+ array('target' => '_blank')
45
+ ));
46
  }
47
 
48
  // activation function
lib/Form/Block/Date.php CHANGED
@@ -79,7 +79,7 @@ class Date extends Base {
79
  $html .= '</select>';
80
  } else if($date_selector === 'MM') {
81
  $block['selected'] = $month;
82
- $html .= '<select class="mailpoet_date_month" ';
83
  $html .= static::getInputValidation($block, array(
84
  'required-message' => __('Please select a month', 'mailpoet')
85
  ));
79
  $html .= '</select>';
80
  } else if($date_selector === 'MM') {
81
  $block['selected'] = $month;
82
+ $html .= '<select class="mailpoet_select mailpoet_date_month" ';
83
  $html .= static::getInputValidation($block, array(
84
  'required-message' => __('Please select a month', 'mailpoet')
85
  ));
lib/Form/Block/Submit.php CHANGED
@@ -8,7 +8,7 @@ class Submit extends Base {
8
  static function render($block) {
9
  $html = '';
10
 
11
- $html .= '<p class="mailpoet_submit"><input type="submit" ';
12
 
13
  $html .= 'value="'.static::getFieldLabel($block).'" ';
14
 
8
  static function render($block) {
9
  $html = '';
10
 
11
+ $html .= '<p class="mailpoet_paragraph"><input type="submit" class="mailpoet_submit" ';
12
 
13
  $html .= 'value="'.static::getFieldLabel($block).'" ';
14
 
lib/Form/Util/Styles.php CHANGED
@@ -13,10 +13,11 @@ class Styles {
13
 
14
  /* paragraphs (label + input) */
15
  .mailpoet_paragraph {
16
-
17
  }
18
 
19
  /* labels */
 
20
  .mailpoet_text_label,
21
  .mailpoet_textarea_label,
22
  .mailpoet_select_label,
@@ -25,18 +26,35 @@ class Styles {
25
  .mailpoet_list_label,
26
  .mailpoet_date_label {
27
  display:block;
 
28
  }
29
 
30
  /* inputs */
31
  .mailpoet_text,
32
  .mailpoet_textarea,
33
  .mailpoet_select,
 
 
 
34
  .mailpoet_date {
35
  display:block;
36
  }
37
 
 
 
 
 
 
38
  .mailpoet_checkbox {
 
 
 
 
 
 
 
39
 
 
40
  }
41
 
42
  .mailpoet_validate_success {
13
 
14
  /* paragraphs (label + input) */
15
  .mailpoet_paragraph {
16
+ line-height:20px;
17
  }
18
 
19
  /* labels */
20
+ .mailpoet_segment_label,
21
  .mailpoet_text_label,
22
  .mailpoet_textarea_label,
23
  .mailpoet_select_label,
26
  .mailpoet_list_label,
27
  .mailpoet_date_label {
28
  display:block;
29
+ font-weight:bold;
30
  }
31
 
32
  /* inputs */
33
  .mailpoet_text,
34
  .mailpoet_textarea,
35
  .mailpoet_select,
36
+ .mailpoet_date_month,
37
+ .mailpoet_date_day,
38
+ .mailpoet_date_year,
39
  .mailpoet_date {
40
  display:block;
41
  }
42
 
43
+ .mailpoet_text,
44
+ .mailpoet_textarea {
45
+ width:200px;
46
+ }
47
+
48
  .mailpoet_checkbox {
49
+ }
50
+
51
+ .mailpoet_submit input {
52
+ }
53
+
54
+ .mailpoet_divider {
55
+ }
56
 
57
+ .mailpoet_message {
58
  }
59
 
60
  .mailpoet_validate_success {
mailpoet.php CHANGED
@@ -4,7 +4,7 @@ if(!defined('ABSPATH')) exit;
4
 
5
  /*
6
  * Plugin Name: MailPoet 3 (new)
7
- * Version: 3.0.0-rc.1.0.1
8
  * Plugin URI: http://www.mailpoet.com
9
  * Description: Create and send newsletters, post notifications and welcome emails from your WordPress.
10
  * Author: MailPoet
@@ -21,7 +21,7 @@ if(!defined('ABSPATH')) exit;
21
  */
22
 
23
  $mailpoet_plugin = array(
24
- 'version' => '3.0.0-rc.1.0.1',
25
  'filename' => __FILE__,
26
  'path' => dirname(__FILE__),
27
  'autoloader' => dirname(__FILE__) . '/vendor/autoload.php',
@@ -54,11 +54,8 @@ function mailpoet_php_version_notice() {
54
  printf('<div class="error"><p>%1$s</p></div>', $notice);
55
  }
56
 
57
- if(
58
- isset($_SERVER["SERVER_SOFTWARE"])
59
- && strpos(strtolower($_SERVER["SERVER_SOFTWARE"]), "microsoft-iis") !== false
60
- ) {
61
- add_action('admin_notices', 'mailpoet_php_version_notice');
62
  // deactivate the plugin
63
  add_action('admin_init', 'mailpoet_deactivate_plugin');
64
  return;
@@ -66,7 +63,7 @@ if(
66
 
67
  // Display IIS server error notice
68
  function mailpoet_microsoft_iis_notice() {
69
- $notice = __('MailPoet plugin cannot run under Microsoft\'s Internet Information Services (IIS) web server. We recommend that you use a web server powered by Apache or NGINX.', 'mailpoet');
70
  printf('<div class="error"><p>%1$s</p></div>', $notice);
71
  }
72
 
4
 
5
  /*
6
  * Plugin Name: MailPoet 3 (new)
7
+ * Version: 3.0.0-rc.1.0.2
8
  * Plugin URI: http://www.mailpoet.com
9
  * Description: Create and send newsletters, post notifications and welcome emails from your WordPress.
10
  * Author: MailPoet
21
  */
22
 
23
  $mailpoet_plugin = array(
24
+ 'version' => '3.0.0-rc.1.0.2',
25
  'filename' => __FILE__,
26
  'path' => dirname(__FILE__),
27
  'autoloader' => dirname(__FILE__) . '/vendor/autoload.php',
54
  printf('<div class="error"><p>%1$s</p></div>', $notice);
55
  }
56
 
57
+ if(isset($_SERVER['SERVER_SOFTWARE']) && strpos(strtolower($_SERVER['SERVER_SOFTWARE']), 'microsoft-iis') !== false) {
58
+ add_action('admin_notices', 'mailpoet_microsoft_iis_notice');
 
 
 
59
  // deactivate the plugin
60
  add_action('admin_init', 'mailpoet_deactivate_plugin');
61
  return;
63
 
64
  // Display IIS server error notice
65
  function mailpoet_microsoft_iis_notice() {
66
+ $notice = __("MailPoet plugin cannot run under Microsoft's Internet Information Services (IIS) web server. We recommend that you use a web server powered by Apache or NGINX.", 'mailpoet');
67
  printf('<div class="error"><p>%1$s</p></div>', $notice);
68
  }
69
 
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: mailpoet, wysija
3
  Tags: newsletter, email, welcome email, post notification, autoresponder, signup, subscription, SMTP
4
  Requires at least: 4.6
5
  Tested up to: 4.8
6
- Stable tag: 3.0.0-rc.1.0.1
7
  Create and send beautiful emails and newsletters from WordPress.
8
 
9
  == Description ==
@@ -93,6 +93,9 @@ Our [support site](https://beta.docs.mailpoet.com) has plenty of articles. You c
93
 
94
  == Changelog ==
95
 
 
 
 
96
  = 3.0.0-rc.1.0.1 - 2017-08-02 =
97
  * Fixed: we were so excited to come out of Beta, we forgot to include translation files. Woops :)
98
 
3
  Tags: newsletter, email, welcome email, post notification, autoresponder, signup, subscription, SMTP
4
  Requires at least: 4.6
5
  Tested up to: 4.8
6
+ Stable tag: 3.0.0-rc.1.0.2
7
  Create and send beautiful emails and newsletters from WordPress.
8
 
9
  == Description ==
93
 
94
  == Changelog ==
95
 
96
+ = 3.0.0-rc.1.0.2 - 2017-08-08 =
97
+ * Fixed: correct error notice is displayed when using IIS server. Thanks @flauer!
98
+
99
  = 3.0.0-rc.1.0.1 - 2017-08-02 =
100
  * Fixed: we were so excited to come out of Beta, we forgot to include translation files. Woops :)
101
 
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit25590ca38327f1c7272b7b5b19591598::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInit45fe8fac98c7b1d06ff49464a9b9351d::getLoader();
vendor/composer/ClassLoader.php CHANGED
@@ -374,13 +374,9 @@ class ClassLoader
374
 
375
  $first = $class[0];
376
  if (isset($this->prefixLengthsPsr4[$first])) {
377
- $subPath = $class;
378
- while (false !== $lastPos = strrpos($subPath, '\\')) {
379
- $subPath = substr($subPath, 0, $lastPos);
380
- $search = $subPath.'\\';
381
- if (isset($this->prefixDirsPsr4[$search])) {
382
- foreach ($this->prefixDirsPsr4[$search] as $dir) {
383
- $length = $this->prefixLengthsPsr4[$first][$search];
384
  if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
385
  return $file;
386
  }
374
 
375
  $first = $class[0];
376
  if (isset($this->prefixLengthsPsr4[$first])) {
377
+ foreach ($this->prefixLengthsPsr4[$first] as $prefix => $length) {
378
+ if (0 === strpos($class, $prefix)) {
379
+ foreach ($this->prefixDirsPsr4[$prefix] as $dir) {
 
 
 
 
380
  if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
381
  return $file;
382
  }
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit25590ca38327f1c7272b7b5b19591598
6
  {
7
  private static $loader;
8
 
@@ -19,15 +19,15 @@ class ComposerAutoloaderInit25590ca38327f1c7272b7b5b19591598
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInit25590ca38327f1c7272b7b5b19591598', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit25590ca38327f1c7272b7b5b19591598', 'loadClassLoader'));
25
 
26
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
27
  if ($useStaticLoader) {
28
  require_once __DIR__ . '/autoload_static.php';
29
 
30
- call_user_func(\Composer\Autoload\ComposerStaticInit25590ca38327f1c7272b7b5b19591598::getInitializer($loader));
31
  } else {
32
  $map = require __DIR__ . '/autoload_namespaces.php';
33
  foreach ($map as $namespace => $path) {
@@ -48,19 +48,19 @@ class ComposerAutoloaderInit25590ca38327f1c7272b7b5b19591598
48
  $loader->register(true);
49
 
50
  if ($useStaticLoader) {
51
- $includeFiles = Composer\Autoload\ComposerStaticInit25590ca38327f1c7272b7b5b19591598::$files;
52
  } else {
53
  $includeFiles = require __DIR__ . '/autoload_files.php';
54
  }
55
  foreach ($includeFiles as $fileIdentifier => $file) {
56
- composerRequire25590ca38327f1c7272b7b5b19591598($fileIdentifier, $file);
57
  }
58
 
59
  return $loader;
60
  }
61
  }
62
 
63
- function composerRequire25590ca38327f1c7272b7b5b19591598($fileIdentifier, $file)
64
  {
65
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
66
  require $file;
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInit45fe8fac98c7b1d06ff49464a9b9351d
6
  {
7
  private static $loader;
8
 
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInit45fe8fac98c7b1d06ff49464a9b9351d', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit45fe8fac98c7b1d06ff49464a9b9351d', 'loadClassLoader'));
25
 
26
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
27
  if ($useStaticLoader) {
28
  require_once __DIR__ . '/autoload_static.php';
29
 
30
+ call_user_func(\Composer\Autoload\ComposerStaticInit45fe8fac98c7b1d06ff49464a9b9351d::getInitializer($loader));
31
  } else {
32
  $map = require __DIR__ . '/autoload_namespaces.php';
33
  foreach ($map as $namespace => $path) {
48
  $loader->register(true);
49
 
50
  if ($useStaticLoader) {
51
+ $includeFiles = Composer\Autoload\ComposerStaticInit45fe8fac98c7b1d06ff49464a9b9351d::$files;
52
  } else {
53
  $includeFiles = require __DIR__ . '/autoload_files.php';
54
  }
55
  foreach ($includeFiles as $fileIdentifier => $file) {
56
+ composerRequire45fe8fac98c7b1d06ff49464a9b9351d($fileIdentifier, $file);
57
  }
58
 
59
  return $loader;
60
  }
61
  }
62
 
63
+ function composerRequire45fe8fac98c7b1d06ff49464a9b9351d($fileIdentifier, $file)
64
  {
65
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
66
  require $file;
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit25590ca38327f1c7272b7b5b19591598
8
  {
9
  public static $files = array (
10
  '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
@@ -654,10 +654,10 @@ class ComposerStaticInit25590ca38327f1c7272b7b5b19591598
654
  public static function getInitializer(ClassLoader $loader)
655
  {
656
  return \Closure::bind(function () use ($loader) {
657
- $loader->prefixLengthsPsr4 = ComposerStaticInit25590ca38327f1c7272b7b5b19591598::$prefixLengthsPsr4;
658
- $loader->prefixDirsPsr4 = ComposerStaticInit25590ca38327f1c7272b7b5b19591598::$prefixDirsPsr4;
659
- $loader->prefixesPsr0 = ComposerStaticInit25590ca38327f1c7272b7b5b19591598::$prefixesPsr0;
660
- $loader->classMap = ComposerStaticInit25590ca38327f1c7272b7b5b19591598::$classMap;
661
 
662
  }, null, ClassLoader::class);
663
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInit45fe8fac98c7b1d06ff49464a9b9351d
8
  {
9
  public static $files = array (
10
  '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
654
  public static function getInitializer(ClassLoader $loader)
655
  {
656
  return \Closure::bind(function () use ($loader) {
657
+ $loader->prefixLengthsPsr4 = ComposerStaticInit45fe8fac98c7b1d06ff49464a9b9351d::$prefixLengthsPsr4;
658
+ $loader->prefixDirsPsr4 = ComposerStaticInit45fe8fac98c7b1d06ff49464a9b9351d::$prefixDirsPsr4;
659
+ $loader->prefixesPsr0 = ComposerStaticInit45fe8fac98c7b1d06ff49464a9b9351d::$prefixesPsr0;
660
+ $loader->classMap = ComposerStaticInit45fe8fac98c7b1d06ff49464a9b9351d::$classMap;
661
 
662
  }, null, ClassLoader::class);
663
  }
views/update.html CHANGED
@@ -60,8 +60,8 @@
60
  <div class="feature-section one-col mailpoet_centered">
61
  <h2><%= __('Care to Give Your Opinion?') %></h2>
62
 
63
- <script type="text/javascript" charset="utf-8" src="//static.polldaddy.com/p/9601216.js"></script>
64
- <noscript><a href="//polldaddy.com/poll/9601216/">You're using MailPoet version 3. But have you ever used version 2 before?</a></noscript>
65
  </div>
66
 
67
  <hr>
60
  <div class="feature-section one-col mailpoet_centered">
61
  <h2><%= __('Care to Give Your Opinion?') %></h2>
62
 
63
+ <script type="text/javascript" charset="utf-8" src="https://secure.polldaddy.com/p/9792513.js"></script>
64
+ <noscript><a href="//polldaddy.com/poll/9792513/">How many people on this website use MailPoet to send emails?</a></noscript>
65
  </div>
66
 
67
  <hr>