Version Description
- Added hook to register custom theme folders
- Removed old themes
- Removed packages theme folder scan (so locally added themes are not loaded, see site documentation if you need to create a custom theme)
- Polylang support on default theme
- Better error check on addon list retrieval
- Added language on targeting options
- Fixed user list pagination
- Subject replacement for online preview
Download this release
Release Info
Developer | satollo |
Plugin | Newsletter |
Version | 6.4.6 |
Comparing to | |
See all releases |
Code changes from version 6.4.4 to 6.4.6
- admin.css +16 -4
- changelog.txt +1673 -0
- css/dropdown.css +1 -0
- emails/edit.php +12 -0
- emails/emails.php +83 -134
- emails/new.php +79 -101
- emails/theme.php +13 -15
- emails/themes/blank/screenshot.png +0 -0
- emails/themes/blank/theme.php +9 -1
- emails/themes/cta-2015/screenshot.png +0 -0
- emails/themes/default/screenshot.png +0 -0
- emails/themes/default/theme-defaults.php +8 -0
- emails/themes/default/theme-options.php +8 -1
- emails/themes/default/theme.php +159 -89
- images/theme-screenshot.png +0 -0
- includes/helper.php +8 -0
- includes/module.php +23 -18
- includes/themes.php +114 -155
- plugin.php +11 -5
- readme.txt +17 -1674
- statistics/statistics.php +10 -0
- unsubscription/unsubscription.php +8 -7
- users/index.php +0 -1
admin.css
CHANGED
@@ -1247,6 +1247,13 @@ table.widefat {
|
|
1247 |
font-family: "Circular Std", sans-serif;
|
1248 |
}
|
1249 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1250 |
#tnp-body #tabs .ui-widget-header {
|
1251 |
background: #28313C;
|
1252 |
border: 0;
|
@@ -1262,23 +1269,27 @@ table.widefat {
|
|
1262 |
color: #444;
|
1263 |
}
|
1264 |
|
|
|
|
|
|
|
|
|
1265 |
#tnp-body .ui-tabs .ui-tabs-nav li a {
|
1266 |
font-size: 14px;
|
1267 |
}
|
1268 |
|
1269 |
-
#tnp-body .ui-tabs {
|
1270 |
border-color: #28313C;
|
1271 |
background-color: #28313C;
|
1272 |
border: 0;
|
1273 |
}
|
1274 |
|
1275 |
-
#tnp-body .ui-tabs .ui-tabs-nav {
|
1276 |
margin: 0;
|
1277 |
padding: .2em .2em 0 0;
|
1278 |
background-color: #f2f2f2;
|
1279 |
}
|
1280 |
|
1281 |
-
#tnp-body .ui-tabs .ui-tabs-panel {
|
1282 |
padding: 1em 0;
|
1283 |
background-color: #f2f2f2;
|
1284 |
margin: 0;
|
@@ -1291,8 +1302,9 @@ table.widefat {
|
|
1291 |
font-family: "Circular Std", sans-serif;
|
1292 |
}
|
1293 |
|
|
|
1294 |
#tnp-body .ui-widget-content {
|
1295 |
-
background: #fff
|
1296 |
}
|
1297 |
|
1298 |
#tnp-body .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
|
1247 |
font-family: "Circular Std", sans-serif;
|
1248 |
}
|
1249 |
|
1250 |
+
#tnp-body #tabs {
|
1251 |
+
background-color: transparent;
|
1252 |
+
border: 0!important;
|
1253 |
+
padding: 0;
|
1254 |
+
margin: 0;
|
1255 |
+
}
|
1256 |
+
|
1257 |
#tnp-body #tabs .ui-widget-header {
|
1258 |
background: #28313C;
|
1259 |
border: 0;
|
1269 |
color: #444;
|
1270 |
}
|
1271 |
|
1272 |
+
#tnp-body .ui-tabs .ui-tabs-nav {
|
1273 |
+
padding: 0;
|
1274 |
+
}
|
1275 |
+
|
1276 |
#tnp-body .ui-tabs .ui-tabs-nav li a {
|
1277 |
font-size: 14px;
|
1278 |
}
|
1279 |
|
1280 |
+
#tnp-body #tabs .ui-tabs {
|
1281 |
border-color: #28313C;
|
1282 |
background-color: #28313C;
|
1283 |
border: 0;
|
1284 |
}
|
1285 |
|
1286 |
+
#tnp-body #tabs .ui-tabs .ui-tabs-nav {
|
1287 |
margin: 0;
|
1288 |
padding: .2em .2em 0 0;
|
1289 |
background-color: #f2f2f2;
|
1290 |
}
|
1291 |
|
1292 |
+
#tnp-body #tabs .ui-tabs .ui-tabs-panel {
|
1293 |
padding: 1em 0;
|
1294 |
background-color: #f2f2f2;
|
1295 |
margin: 0;
|
1302 |
font-family: "Circular Std", sans-serif;
|
1303 |
}
|
1304 |
|
1305 |
+
|
1306 |
#tnp-body .ui-widget-content {
|
1307 |
+
background: #fff;
|
1308 |
}
|
1309 |
|
1310 |
#tnp-body .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
|
changelog.txt
ADDED
@@ -0,0 +1,1673 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
= 5.9.5 =
|
3 |
+
|
4 |
+
* Changed edit and delete icons on composer to avoid conflict with FontAwesome JS
|
5 |
+
|
6 |
+
= 5.9.4 =
|
7 |
+
|
8 |
+
* Added multi subscriber deletion
|
9 |
+
|
10 |
+
= 5.9.3 =
|
11 |
+
|
12 |
+
* Fixed multi newsletter deletion warning
|
13 |
+
* Fixed privacy checkbox
|
14 |
+
* Fixed a link on header warning
|
15 |
+
|
16 |
+
= 5.9.2 =
|
17 |
+
|
18 |
+
* Fixed a debug notice on subscription page
|
19 |
+
|
20 |
+
= 5.9.1 =
|
21 |
+
|
22 |
+
* Fixed language support on some shortcodes
|
23 |
+
|
24 |
+
= 5.9.0 =
|
25 |
+
|
26 |
+
* Fixes on privacy setting with multilanguage plugins
|
27 |
+
* Added per language statistics on subscribers statistics panel
|
28 |
+
* Added language set action on subscribers maintenance panel
|
29 |
+
* Separated the pre confirm and post confirm tokens
|
30 |
+
|
31 |
+
= 5.8.9 =
|
32 |
+
|
33 |
+
* Global constant to block the media resizing
|
34 |
+
* Resized thumbnails folder changed to the uploads folder (newsletter/thumbnails subfolder)
|
35 |
+
* Fall back on first post gallery image if the featured image is missing
|
36 |
+
* Patch to block third party plugins visual editor injection in out pages
|
37 |
+
* Fix media selector button on visual composer
|
38 |
+
|
39 |
+
= 5.8.8 =
|
40 |
+
|
41 |
+
* Fixed multilanguage text for newsletter page
|
42 |
+
* Fixed a profile panel debug notice
|
43 |
+
|
44 |
+
= 5.8.7 =
|
45 |
+
|
46 |
+
* Tags replacement even on template for messages
|
47 |
+
* Fixed profile page labels translation
|
48 |
+
* Added text and title color on hero block
|
49 |
+
* Added text color on preheader block
|
50 |
+
* Fixed giphy options panel
|
51 |
+
|
52 |
+
|
53 |
+
= 5.8.6 =
|
54 |
+
|
55 |
+
* Improved geolocation support
|
56 |
+
* Improved composer image block
|
57 |
+
|
58 |
+
= 5.8.5 =
|
59 |
+
|
60 |
+
* Reverted back to select2 3.x
|
61 |
+
* Added last_ip field for better geolocation
|
62 |
+
* Changed the thumbnails folder from wp-content to wp-content/uploads
|
63 |
+
* Added a more uniform internal mailer management
|
64 |
+
* Improved the mail test on status panel
|
65 |
+
|
66 |
+
= 5.8.4 =
|
67 |
+
|
68 |
+
* Fixed export error
|
69 |
+
|
70 |
+
= 5.8.3 =
|
71 |
+
|
72 |
+
* Fixed a debug notice with PHP 7.2
|
73 |
+
* Status, SMTP and main settings limited to the administrators
|
74 |
+
* Fixed buttons overlapping on composer text block
|
75 |
+
* Support for the advanced import addons
|
76 |
+
|
77 |
+
= 5.8.2 =
|
78 |
+
|
79 |
+
* Fixed shortcode check on dedicated page
|
80 |
+
|
81 |
+
= 5.8.1 =
|
82 |
+
|
83 |
+
* Delivery expected time indicator on status panel
|
84 |
+
* Fixed notice on email token missing
|
85 |
+
* Addons installation availability on status panel
|
86 |
+
* Option to remove the dedicated page check
|
87 |
+
|
88 |
+
= 5.8.0 =
|
89 |
+
|
90 |
+
* Addons manager compatibility
|
91 |
+
|
92 |
+
= 5.7.9 =
|
93 |
+
|
94 |
+
* Fixes on add-ons panel
|
95 |
+
|
96 |
+
= 5.7.8 =
|
97 |
+
|
98 |
+
* Support for the [Add on Manager](https://www.thenewsletterplugin.com/documentation/how-to-install-the-addons-manager)
|
99 |
+
|
100 |
+
= 5.7.7 =
|
101 |
+
|
102 |
+
* TinyMCE library fix
|
103 |
+
|
104 |
+
= 5.7.6 =
|
105 |
+
|
106 |
+
* Included third party's js libraries
|
107 |
+
|
108 |
+
= 5.7.5 =
|
109 |
+
|
110 |
+
* Init hook priority fix for who uses alternative wp cron
|
111 |
+
|
112 |
+
= 5.7.4 =
|
113 |
+
|
114 |
+
* Support for first and last name from wp users integration extension
|
115 |
+
* CSS fix for few themes
|
116 |
+
|
117 |
+
= 5.7.3 =
|
118 |
+
|
119 |
+
* Fixed block padding warning
|
120 |
+
* Fixed lists display on import panel
|
121 |
+
* Fixed lists display on targeting panel when in multilanguage mode
|
122 |
+
|
123 |
+
= 5.7.2 =
|
124 |
+
|
125 |
+
* Improvements on posts block
|
126 |
+
* New hero block layout
|
127 |
+
* Transaltepress extension compatibility pack
|
128 |
+
|
129 |
+
= 5.7.1 =
|
130 |
+
|
131 |
+
* Improvements on posts block
|
132 |
+
|
133 |
+
= 5.7.0 =
|
134 |
+
|
135 |
+
* Cancellation error message fix
|
136 |
+
|
137 |
+
= 5.6.9 =
|
138 |
+
|
139 |
+
* Improved separator block for Outlook compatibility
|
140 |
+
* Fixed "read more" button on posts block
|
141 |
+
* Fixed lists on notification email
|
142 |
+
|
143 |
+
= 5.6.8 =
|
144 |
+
|
145 |
+
* Removed debug notices
|
146 |
+
|
147 |
+
= 5.6.7 =
|
148 |
+
|
149 |
+
* Fixed multilanguage support for service messages template
|
150 |
+
|
151 |
+
= 5.6.6 =
|
152 |
+
|
153 |
+
* Fixed unsubscription two-steps process message
|
154 |
+
|
155 |
+
= 5.6.5 =
|
156 |
+
|
157 |
+
* Fixed email validation message
|
158 |
+
|
159 |
+
= 5.6.4 =
|
160 |
+
|
161 |
+
* Fixed reactivation message display
|
162 |
+
|
163 |
+
= 5.6.3 =
|
164 |
+
|
165 |
+
* Removed unused files
|
166 |
+
* Fixed few links with permalink disabled and WMPL language as parameter
|
167 |
+
* Fixed the minimal form with WPML
|
168 |
+
|
169 |
+
= 5.6.2 =
|
170 |
+
|
171 |
+
* readme.txt improvements
|
172 |
+
* Fixed subscribe URL for blogs with WPML and permalinks disabled
|
173 |
+
|
174 |
+
= 5.6.1 =
|
175 |
+
|
176 |
+
* Fix debug notice on profile URL when no privacy page is set on WP
|
177 |
+
* Fixed export list filter
|
178 |
+
|
179 |
+
= 5.6.0 =
|
180 |
+
|
181 |
+
* Lists pre-assignment by language (no more need to customize the newsletter shortcode or duplicate the widgets)
|
182 |
+
* Improved Polylang support (still not fully tested)
|
183 |
+
|
184 |
+
= 5.5.9 =
|
185 |
+
|
186 |
+
* Fixed a possible debug notice on subscription without a dedicated page configured
|
187 |
+
* Fixed minimal widget with WPML language selector without permalink
|
188 |
+
|
189 |
+
= 5.5.8 =
|
190 |
+
|
191 |
+
* Fixed multilanguage text on profile page
|
192 |
+
* Fix the image resizer for small images
|
193 |
+
* Page message url based on subscriber language if available
|
194 |
+
|
195 |
+
= 5.5.7 =
|
196 |
+
|
197 |
+
* Fixed the unsubscription multilanguage messages using even the user language
|
198 |
+
* Fixed the goodby message
|
199 |
+
|
200 |
+
= 5.5.5 =
|
201 |
+
|
202 |
+
* Minimal form fix with WPML
|
203 |
+
* Privacy label fix with WPML
|
204 |
+
|
205 |
+
= 5.5.4 =
|
206 |
+
|
207 |
+
* WPML integration. [Read our integration page](https://www.thenewsletterplugin.com/documentation/multilanguage)
|
208 |
+
|
209 |
+
= 5.5.3 =
|
210 |
+
|
211 |
+
* Updated tinyMCE for Edge compatibility
|
212 |
+
* Debug mode notification
|
213 |
+
* Fix debug notice on profile page
|
214 |
+
|
215 |
+
= 5.5.2 =
|
216 |
+
|
217 |
+
* Fixed the multiple dedicated page creation on Welcome screen
|
218 |
+
|
219 |
+
= 5.5.1 =
|
220 |
+
|
221 |
+
* Fixed few debug notices
|
222 |
+
* API unsubscription messages fix
|
223 |
+
|
224 |
+
= 5.5.0 =
|
225 |
+
|
226 |
+
* Added IP storage control
|
227 |
+
* Fixed a warning and a debug notice
|
228 |
+
* Aggregated warnings on admin side
|
229 |
+
|
230 |
+
= 5.4.9 =
|
231 |
+
|
232 |
+
* Lists management in APIs
|
233 |
+
* Code cleanup
|
234 |
+
* New subscribers data export controls
|
235 |
+
* New global check and notice if the dedicated page is misconfigured
|
236 |
+
* Fix privacy note display on profile page even without a privacy url set
|
237 |
+
|
238 |
+
= 5.4.8 =
|
239 |
+
|
240 |
+
* Fixed the (duplicated) style.css reference
|
241 |
+
|
242 |
+
= 5.4.7 =
|
243 |
+
|
244 |
+
* Fixed pre-assigned lists
|
245 |
+
|
246 |
+
= 5.4.6 =
|
247 |
+
|
248 |
+
* Fixed few debug notices
|
249 |
+
* Added more translatable texts
|
250 |
+
* Improved performances
|
251 |
+
* Profile saving used as confirmation
|
252 |
+
* Fixed the captcha layout and style
|
253 |
+
* Fix initialization default messages template on first install
|
254 |
+
|
255 |
+
= 5.4.5 =
|
256 |
+
|
257 |
+
* Fixed tested up version value in readme.txt
|
258 |
+
* Added support for the WP privacy url
|
259 |
+
* Added initialization values for company info on first installation
|
260 |
+
* Fixed few debug notices
|
261 |
+
* Added button in lists panel to dissociate the list from every subscriber (list clean up)
|
262 |
+
* Fix of messages on profile editing panel
|
263 |
+
|
264 |
+
= 5.4.4 =
|
265 |
+
|
266 |
+
* Fixed warning on default option init
|
267 |
+
|
268 |
+
= 5.4.3 =
|
269 |
+
|
270 |
+
* Improved the profile editing page and the email change check with activation id in double opt-in mode
|
271 |
+
* New profile editing panel configuration
|
272 |
+
* Privacy notice optionally even on profile panel
|
273 |
+
* New list change logging with source
|
274 |
+
* Removed old tabled-layout on profile editing page
|
275 |
+
* Clean up procedure for statistics and logs tables
|
276 |
+
* Removed old widget layout
|
277 |
+
* New options on list management panel
|
278 |
+
* Forced lists option removed from the subscription panel
|
279 |
+
* Dedicated page moved to main settings panel
|
280 |
+
* Tracking default value on main settings panel
|
281 |
+
* Removed old translations
|
282 |
+
* Added default option files
|
283 |
+
* Service message template no more on PHP file, the configurable template must be used
|
284 |
+
* Reactivation after cancellation feature
|
285 |
+
* Revised and simplified all texts for easy translation by the community
|
286 |
+
* The messages alternative page (/extensions/newsletter/subscription/page.php) is now deprecated and will be removed
|
287 |
+
* New [cancellation documentation page published](/extensions/newsletter/subscription/page.php)
|
288 |
+
* Integrated SMTP is now deprecated (soon will be replaced with a **free extension**)
|
289 |
+
* {home_url} tag is now deprecated, use {blog_url} instead
|
290 |
+
* Introduced tags {company_name} and {company_address} replaced by info in the company info configuration
|
291 |
+
* Default template for messages has been improved with company contacts
|
292 |
+
* Repeated subscriptions management
|
293 |
+
* Generally improved the performances with caching and code clean up
|
294 |
+
* General CSS moved to the main settings panel
|
295 |
+
* Option to disable the default CSS
|
296 |
+
* Profile export fix
|
297 |
+
|
298 |
+
= 5.4.2 =
|
299 |
+
|
300 |
+
* SVN Deleted files fix
|
301 |
+
|
302 |
+
= 5.4.1 =
|
303 |
+
|
304 |
+
* Fixed debug notice in the standard widget
|
305 |
+
* Gender label fix
|
306 |
+
* Fixed the global variable conflict on widget (rare case)
|
307 |
+
* CSS fix on widget list field
|
308 |
+
|
309 |
+
= 5.4.0 =
|
310 |
+
|
311 |
+
* Fix lists as dropdown in the widget
|
312 |
+
|
313 |
+
= 5.3.9 =
|
314 |
+
|
315 |
+
* Version number fix
|
316 |
+
|
317 |
+
= 5.3.8 =
|
318 |
+
|
319 |
+
* Fixed failed insert on ip null
|
320 |
+
|
321 |
+
= 5.3.7 =
|
322 |
+
|
323 |
+
* Fixed the newsletter deletion with clean up of log tables
|
324 |
+
|
325 |
+
= 5.3.6 =
|
326 |
+
|
327 |
+
* Fixed composer block background editing
|
328 |
+
* Fixed API functions
|
329 |
+
* Minor fixes
|
330 |
+
|
331 |
+
= 5.3.5 =
|
332 |
+
|
333 |
+
* Fixed error notice on profile.php
|
334 |
+
|
335 |
+
= 5.3.4 =
|
336 |
+
|
337 |
+
* GDPR ready
|
338 |
+
* Maintenance option to add all subscriber without a list to a specified list
|
339 |
+
* Dismissed the tabled subscription form
|
340 |
+
* Fixed privacy checkbox label for field shortcode
|
341 |
+
* Logs of lists change
|
342 |
+
* Last activity tracking
|
343 |
+
* Retargeting/deletion of inactive subscribers
|
344 |
+
* Privacy checkbox without the checkbox (option)
|
345 |
+
* Personal data export
|
346 |
+
* Improved subscriber deletion with cleanup of log tables
|
347 |
+
|
348 |
+
= 5.3.3 =
|
349 |
+
|
350 |
+
* Added GIPHY composer block
|
351 |
+
* Added raw HTML composer block
|
352 |
+
* API: Newsletters and subscribers lists
|
353 |
+
|
354 |
+
= 5.3.2 =
|
355 |
+
|
356 |
+
* Security panel reorganized
|
357 |
+
* Added Akismet spam check
|
358 |
+
|
359 |
+
= 5.3.1 =
|
360 |
+
|
361 |
+
* Name and last name check for spam
|
362 |
+
* 404 responses on error condition
|
363 |
+
* jQuery fix
|
364 |
+
* Email cleanup on admin edit panel
|
365 |
+
* Name check for spam on subscription
|
366 |
+
|
367 |
+
= 5.3.0 =
|
368 |
+
|
369 |
+
* CAPTCHA system
|
370 |
+
* IP black list
|
371 |
+
* Email address black list
|
372 |
+
|
373 |
+
= 5.2.8 =
|
374 |
+
|
375 |
+
* Redirect fix
|
376 |
+
|
377 |
+
= 5.2.7 =
|
378 |
+
|
379 |
+
* Improved block layout
|
380 |
+
* Added filter on profile url
|
381 |
+
* Removed old obsolete query
|
382 |
+
* Improved the antibot
|
383 |
+
* Antiflood configurable to 30 minutes
|
384 |
+
|
385 |
+
= 5.2.6 =
|
386 |
+
|
387 |
+
* Fixed url attributes on privacy field shortcode
|
388 |
+
* Fixed few debug notices
|
389 |
+
* (NEW) PHP API for coders (and companion REST API with the free Newsletter API extension)
|
390 |
+
|
391 |
+
= 5.2.4 =
|
392 |
+
|
393 |
+
* readme.txt fix
|
394 |
+
* Improved extension version checking
|
395 |
+
* Changed the database timeout check on status panel
|
396 |
+
* Added support for pixel perfect thumb nails of media library images
|
397 |
+
|
398 |
+
= 5.2.3 =
|
399 |
+
|
400 |
+
* Newsletter subject ideas popup
|
401 |
+
|
402 |
+
= 5.2.2 =
|
403 |
+
|
404 |
+
* Removed create_function from widgets (compatibility PHP 7.2)
|
405 |
+
* Fixed the list exclusion condition
|
406 |
+
* Added [options to Newsletter shortcodes](https://www.thenewsletterplugin.com/documentation/subscription-form-shortcodes) to show the lists as dropdown
|
407 |
+
|
408 |
+
= 5.2.1 =
|
409 |
+
|
410 |
+
* Commit fix
|
411 |
+
|
412 |
+
= 5.2.0 =
|
413 |
+
|
414 |
+
* Fixed email_url tag (broken to fix Automated in previous version)
|
415 |
+
|
416 |
+
= 5.1.9 =
|
417 |
+
|
418 |
+
* Fixed debug notice on test email from Automated Extension
|
419 |
+
|
420 |
+
= 5.1.8 =
|
421 |
+
|
422 |
+
* Newsletter page creation fix
|
423 |
+
|
424 |
+
= 5.1.7 =
|
425 |
+
|
426 |
+
* NEW! Welcome wizard
|
427 |
+
|
428 |
+
= 5.1.6 =
|
429 |
+
|
430 |
+
* Fix list selection on first save
|
431 |
+
|
432 |
+
= 5.1.5 =
|
433 |
+
|
434 |
+
* Re-confirmation is now allows for unsubscribed and bounced
|
435 |
+
* Fixed to minimal widget and minimal css
|
436 |
+
* Fixed the approx. subscriber count on newsletter creation (was showing encoded data)
|
437 |
+
|
438 |
+
= 5.1.4 =
|
439 |
+
|
440 |
+
* Fixed notices on email edit panel
|
441 |
+
* Added microdata to the call to action block
|
442 |
+
* Added filter on name field while sending. [See this post](https://www.thenewsletterplugin.com/?p=54292)
|
443 |
+
* Improved the online [viewability rules](https://www.thenewsletterplugin.com/documentation/newsletters-module#view-online)
|
444 |
+
* Fixed theme editor bad behavior
|
445 |
+
* Fixed the min size of thumbnails on default theme
|
446 |
+
* Removed references to font awesome where not used
|
447 |
+
|
448 |
+
= 5.1.3 =
|
449 |
+
|
450 |
+
* Fixed newsletter duplication which was loosing the editor type
|
451 |
+
* Fixed gender saving on targeting
|
452 |
+
|
453 |
+
= 5.1.2 =
|
454 |
+
|
455 |
+
* Improved the speed report on status panel
|
456 |
+
* Removed the obsolete diagnostic panel
|
457 |
+
* Removed obsolete code
|
458 |
+
* Removed the locked content menu entry (please install the free content lock extension)
|
459 |
+
* Fixed validation call on widget minimal
|
460 |
+
* Added more translatable strings
|
461 |
+
* Fixed the editor CSS when a theme has its own
|
462 |
+
* Confirmation is now activation
|
463 |
+
* CSS clean up
|
464 |
+
|
465 |
+
= 5.1.1 =
|
466 |
+
|
467 |
+
* Fix on email check
|
468 |
+
|
469 |
+
= 5.1.0 =
|
470 |
+
|
471 |
+
* "ncu" parameter can be used for alternative welcome page as well, not only confirmation, when single opt in is selected
|
472 |
+
* Removed the old "email alternative" to create custom subscription messages templates (has no effects)
|
473 |
+
* Added the antiflood system
|
474 |
+
|
475 |
+
= 5.0.9 =
|
476 |
+
|
477 |
+
* Removed wp users integration and locked content now available as FREE optional extensions (to make the plugin smaller)
|
478 |
+
* Removed obsolete code loading old-style extensions
|
479 |
+
|
480 |
+
= 5.0.8 =
|
481 |
+
|
482 |
+
* Improved select 2 layout
|
483 |
+
* Support for conditional comments in the editor
|
484 |
+
|
485 |
+
= 5.0.7 =
|
486 |
+
|
487 |
+
* Fix a database table field size
|
488 |
+
|
489 |
+
= 5.0.6 =
|
490 |
+
|
491 |
+
* Improved performance with new db indexes
|
492 |
+
* Fixed a bug in social URLs
|
493 |
+
* Home URL check on status panel
|
494 |
+
* Fixed a not removable notice
|
495 |
+
|
496 |
+
= 5.0.5 =
|
497 |
+
|
498 |
+
* Fixed an administration notice removal
|
499 |
+
|
500 |
+
= 5.0.4 =
|
501 |
+
|
502 |
+
* Fix media selector for blog without absolute URLs
|
503 |
+
* Notice to install the wp users integration
|
504 |
+
* Added workaround for XSS protection in chrome on custom form when they contains JS code
|
505 |
+
|
506 |
+
= 5.0.3 =
|
507 |
+
|
508 |
+
* Added {email_url_encoded} tag
|
509 |
+
* Changed https to http for compatibility with old servers
|
510 |
+
|
511 |
+
= 5.0.2 =
|
512 |
+
|
513 |
+
* Fixed a notice on theme selection panel
|
514 |
+
* Fixed a block initialization error notice for woocommerce
|
515 |
+
* Improved the emoji support on newsletter subject
|
516 |
+
|
517 |
+
= 5.0.1 =
|
518 |
+
|
519 |
+
* Fixed and improved the heading block
|
520 |
+
* Fixed the can spam block (not showing default texts is not configured)
|
521 |
+
* Fixed the footer block changed the unsubscribe url to the profile url
|
522 |
+
|
523 |
+
= 5.0.0 =
|
524 |
+
|
525 |
+
* Added wp user identifier on subscriber details panel
|
526 |
+
* Fixed a notice on subscriber list panel
|
527 |
+
* Added the Auto-Submit header
|
528 |
+
* Added the X-Auto-Response-Suppress header
|
529 |
+
* Added microdata markup for native confirmation button on email clients
|
530 |
+
* Fixed url checking with ending spaces
|
531 |
+
* Fix for sites with forced relative content url
|
532 |
+
* Fix debug notices on vimeo theme
|
533 |
+
|
534 |
+
= 4.9.9 =
|
535 |
+
|
536 |
+
* Fixed action URL for hand written forms in the subscription text
|
537 |
+
* Fixed rewrite not working with specific html formatting
|
538 |
+
* Change the composer text editor height
|
539 |
+
|
540 |
+
= 4.9.8 =
|
541 |
+
|
542 |
+
* Fixed the antibot option
|
543 |
+
|
544 |
+
= 4.9.7 =
|
545 |
+
|
546 |
+
* Fixed setup script throwing a debug notice
|
547 |
+
* Changed chart library
|
548 |
+
|
549 |
+
= 4.9.6 =
|
550 |
+
|
551 |
+
* Extension version check improved
|
552 |
+
* HTML5 form source code on profile panel
|
553 |
+
|
554 |
+
= 4.9.5 =
|
555 |
+
|
556 |
+
* Fixed table creation with dbDelta
|
557 |
+
|
558 |
+
= 4.9.4 =
|
559 |
+
|
560 |
+
* Admin css fix
|
561 |
+
* Log fix
|
562 |
+
|
563 |
+
= 4.9.3 =
|
564 |
+
|
565 |
+
* Replacing fix
|
566 |
+
|
567 |
+
= 4.9.2 =
|
568 |
+
|
569 |
+
* Style fix
|
570 |
+
|
571 |
+
= 4.9.1 =
|
572 |
+
|
573 |
+
* Small code fixes
|
574 |
+
* Chart js conflict fix
|
575 |
+
* Curl SSL version on status panel
|
576 |
+
|
577 |
+
= 4.9.0 =
|
578 |
+
|
579 |
+
* Fixed logo editing when not set in the Company Info
|
580 |
+
* Fix few layout problem on the user statistics panel
|
581 |
+
* Composer layout improvements
|
582 |
+
* Added select2 support
|
583 |
+
* Fixed syntax error on status panel auto call check
|
584 |
+
* Fixed notice for theme without the text part
|
585 |
+
* Added chart.js from cdn
|
586 |
+
* Improved stats collection and aggregation
|
587 |
+
|
588 |
+
= 4.8.9 =
|
589 |
+
|
590 |
+
* Package problems on WP.org
|
591 |
+
|
592 |
+
= 4.8.8 =
|
593 |
+
|
594 |
+
* WP Users Integration and Locked Content Extensions readiness
|
595 |
+
* Improved the SSL management on admin side
|
596 |
+
* Fix privacy checkbox layout when the link is used
|
597 |
+
* Standard form CSS improvements
|
598 |
+
|
599 |
+
= 4.8.7 =
|
600 |
+
|
601 |
+
* Empty excerpt fix
|
602 |
+
* Fixed the list of blocks not appearing on few PHP installations
|
603 |
+
* Fixed the composer editor
|
604 |
+
|
605 |
+
= 4.8.6 =
|
606 |
+
|
607 |
+
* Warnings on SMTP panel when configured but not yet activated
|
608 |
+
* Warning management in controls
|
609 |
+
* Font family selector in the editor
|
610 |
+
* Font size selector in the editor
|
611 |
+
* Removed embedded tiny
|
612 |
+
* Removed embedded ace
|
613 |
+
* HTTPS on external links
|
614 |
+
* Fixed tag replacement on subject on test confirmation and welcome emails
|
615 |
+
|
616 |
+
= 4.8.5 =
|
617 |
+
|
618 |
+
* Added HTML editor plugin to tiny
|
619 |
+
* Fixed a couple of debug notices on widget
|
620 |
+
|
621 |
+
= 4.8.4 =
|
622 |
+
|
623 |
+
* Fixed posts block background editing
|
624 |
+
* Composer js improvements
|
625 |
+
* Fixed a couple of debug notices
|
626 |
+
* CSS fix
|
627 |
+
|
628 |
+
= 4.8.3 =
|
629 |
+
|
630 |
+
* Fixed debug notices on widgets
|
631 |
+
* Fixed Vimeo icon on social block
|
632 |
+
* Fixed javascript in the editor
|
633 |
+
|
634 |
+
= 4.8.2 =
|
635 |
+
|
636 |
+
* Changed few labels
|
637 |
+
* CSS fix on admin panels
|
638 |
+
|
639 |
+
= 4.8.1 =
|
640 |
+
|
641 |
+
* Lists selection on widget
|
642 |
+
* CSS fix for submit button on widget
|
643 |
+
* Fixed the status panel on action call check
|
644 |
+
* Fixed the dedicated page creation
|
645 |
+
* New editor for service messages' template with desktop and mobile preview
|
646 |
+
* New raw html editor for newsletter with with desktop and mobile preview
|
647 |
+
* Improved status panel scheduler check
|
648 |
+
* Removed the old tiny mce 3
|
649 |
+
|
650 |
+
= 4.8.0 =
|
651 |
+
|
652 |
+
* New media selection on newsletter editor with size picker
|
653 |
+
* Fixed the required attribute on profile form
|
654 |
+
* Support for Analytics extension
|
655 |
+
|
656 |
+
= 4.7.9 =
|
657 |
+
|
658 |
+
* Removed the TGMPA library
|
659 |
+
* Some CSS fixes
|
660 |
+
* Fix few debug notices
|
661 |
+
|
662 |
+
= 4.7.8 =
|
663 |
+
|
664 |
+
* Old TGMPA library compatibility
|
665 |
+
|
666 |
+
= 4.7.7 =
|
667 |
+
|
668 |
+
* New extensions panel
|
669 |
+
* Minor fixes and enhancements
|
670 |
+
* New media selection on newsletter edit panel
|
671 |
+
* Removed enqueuing of no more used scripts
|
672 |
+
* Fixed the subscriber count on targeting panel
|
673 |
+
|
674 |
+
= 4.7.6 =
|
675 |
+
|
676 |
+
* New status panel
|
677 |
+
|
678 |
+
= 4.7.5 =
|
679 |
+
|
680 |
+
* Removed references to old css
|
681 |
+
* Fixed the relative URLs problem in the composer
|
682 |
+
|
683 |
+
= 4.7.4 =
|
684 |
+
|
685 |
+
* Improved widget CSS
|
686 |
+
* Added Instagram to social icons
|
687 |
+
* Little style improvements
|
688 |
+
|
689 |
+
= 4.7.3 =
|
690 |
+
|
691 |
+
* Added custom CSS field to customize the forms appearance
|
692 |
+
* Added codemirror for CSS edit
|
693 |
+
* Added plugin version to style link
|
694 |
+
* Added plugin version to script link
|
695 |
+
* Corrected a tag in newsletter widget minimal
|
696 |
+
* Added line height on form fields
|
697 |
+
* Changed CSS class prefixes to tnp
|
698 |
+
* Fixed a divide by zero on diagnostic panel
|
699 |
+
* Improved the collection of emails sending speed data
|
700 |
+
* Fixed a bug when adding a new subscriber from the admin panel
|
701 |
+
|
702 |
+
= 4.7.2 =
|
703 |
+
|
704 |
+
* Fixed a debug notice
|
705 |
+
|
706 |
+
= 4.7.1 =
|
707 |
+
|
708 |
+
* Fixed missing files in the package
|
709 |
+
|
710 |
+
= 4.7.0 =
|
711 |
+
|
712 |
+
* Added the selection for the Newsletter messages dedicated page
|
713 |
+
* New forms CSS and validator
|
714 |
+
* New widget for a minimal form
|
715 |
+
* Use shortcode attribute "layout" to revert to old style table forms, using layout=table
|
716 |
+
* Added reset button for diagnostic scheduler statistics
|
717 |
+
|
718 |
+
= 4.6.8 =
|
719 |
+
|
720 |
+
* Fixed the image browser/upload URL error in themes
|
721 |
+
|
722 |
+
= 4.6.7 =
|
723 |
+
|
724 |
+
* Fixed blank page without a newsletter dedicated page
|
725 |
+
|
726 |
+
= 4.6.6 =
|
727 |
+
|
728 |
+
* Fixed the blocks reload
|
729 |
+
|
730 |
+
= 4.6.5 =
|
731 |
+
|
732 |
+
* Fixed the style stripped when switching back and forth betwenn the visual and raw editor (from version 4.6.4)
|
733 |
+
|
734 |
+
= 4.6.4 =
|
735 |
+
|
736 |
+
* Fixed the profile link in admin panels
|
737 |
+
* Fixed the composer editor
|
738 |
+
* Cleanup of old code
|
739 |
+
* Force the composer editor to keep the absolute urls
|
740 |
+
|
741 |
+
= 4.6.3 =
|
742 |
+
|
743 |
+
* Fixed the profile save with new action url
|
744 |
+
|
745 |
+
= 4.6.2 =
|
746 |
+
|
747 |
+
* Fixed the import option "override status" not working in update mode
|
748 |
+
* Fixed the missing http when the couldflare plugin is installed (!)
|
749 |
+
* Improved controls and security on open tracking link
|
750 |
+
* Added few new diagnostic parameters
|
751 |
+
|
752 |
+
= 4.6.1 =
|
753 |
+
|
754 |
+
* Fixed a security issue on admin side only exploitable by logged in admins
|
755 |
+
|
756 |
+
= 4.6.0 =
|
757 |
+
|
758 |
+
* Fixed debug notices on composer post blocks
|
759 |
+
* Improved image styles on composer hero block
|
760 |
+
* Added support for WP_Error in the logger
|
761 |
+
* Improved the license checking
|
762 |
+
|
763 |
+
= 4.5.9 =
|
764 |
+
|
765 |
+
* Fixed a PHP syntax error on composer panel
|
766 |
+
|
767 |
+
= 4.5.8 =
|
768 |
+
|
769 |
+
* Edit image alt text in the composer
|
770 |
+
* Fixed german characters problem on visual composer
|
771 |
+
* Added new data to diagnostic panel
|
772 |
+
* Change the export to be more compatible with specific blog installations
|
773 |
+
* Added translations to export panel
|
774 |
+
|
775 |
+
= 4.5.7 =
|
776 |
+
|
777 |
+
* Fixed the total sent email in dashboard
|
778 |
+
* Fixed the total sent number on newsletter list when an already sent newsletter is edited
|
779 |
+
* Removed the save button on sent newsletter
|
780 |
+
* Code cleanup
|
781 |
+
* Service message for stats panel of draft newsletters
|
782 |
+
|
783 |
+
= 4.5.6 =
|
784 |
+
|
785 |
+
* New unified themes and composer selection screen
|
786 |
+
* Fixed the WP integration panel (incompatibility with WP 4.5.3)
|
787 |
+
* Removed few notices
|
788 |
+
* More warning fix
|
789 |
+
* Fix "isHTML" error
|
790 |
+
* jQuery conflict fix
|
791 |
+
* Escape fix
|
792 |
+
* Warning fix
|
793 |
+
* Fixed the mime header
|
794 |
+
|
795 |
+
= 4.5.0 =
|
796 |
+
|
797 |
+
* New responsive email Drag & Drop composer, see [the guide](https://www.thenewsletterplugin.com/plugins/newsletter/composer).
|
798 |
+
|
799 |
+
= 4.2.4 =
|
800 |
+
|
801 |
+
* Fixed the notices display in Newsletter admin pages
|
802 |
+
* Administrative emails sent now with the Newsletter engine
|
803 |
+
* New {email_id} and {email_subject} placeholders
|
804 |
+
|
805 |
+
= 4.2.3 =
|
806 |
+
|
807 |
+
* Improvements in database error management
|
808 |
+
* Added hook for Reports Extension
|
809 |
+
|
810 |
+
= 4.2.2 =
|
811 |
+
|
812 |
+
* The lock feature is disabled for editors and administrators
|
813 |
+
* Fixed the newsletter sent table
|
814 |
+
|
815 |
+
= 4.2.1 =
|
816 |
+
|
817 |
+
* Fixed the progress indicator on newsletter list
|
818 |
+
|
819 |
+
= 4.2.0 =
|
820 |
+
|
821 |
+
* New statistics dashboard
|
822 |
+
* Newsletter Reports 4 support
|
823 |
+
|
824 |
+
= 4.1.3 =
|
825 |
+
|
826 |
+
* Fixed the notice dismiss not working on every page
|
827 |
+
* Fixed debug notice on WP 4.5
|
828 |
+
* Added unverified SSL connection option on SMTP panel
|
829 |
+
|
830 |
+
= 4.1.2 =
|
831 |
+
|
832 |
+
* Minor security fix (on admin side with admin access)
|
833 |
+
|
834 |
+
= 4.2.0 =
|
835 |
+
|
836 |
+
* Added support for Reports Extension 4
|
837 |
+
* Improved license check
|
838 |
+
|
839 |
+
= 4.1.1 =
|
840 |
+
|
841 |
+
* Added compatibility with SMTP plugins (Newsletter now sends with wp_mail if not otherwise configured)
|
842 |
+
* Small CSS fixes
|
843 |
+
|
844 |
+
= 4.1.0 =
|
845 |
+
|
846 |
+
* Fix statistics link in the dashboard newsletter list
|
847 |
+
|
848 |
+
= 4.0.9 =
|
849 |
+
|
850 |
+
* Updated jQuery UI
|
851 |
+
* Updated compatibility notice
|
852 |
+
* Fixed tabs on subscriber stats panel
|
853 |
+
* Fixed documentation on profile page
|
854 |
+
|
855 |
+
= 4.0.8 =
|
856 |
+
|
857 |
+
* Dashboard style fix for WordPress >= 4.4
|
858 |
+
* Minor improvements
|
859 |
+
|
860 |
+
= 4.0.7 =
|
861 |
+
|
862 |
+
* New check to prevent not correct message template settings to block emails
|
863 |
+
* Improved confirmation email test
|
864 |
+
* Added welcome email test
|
865 |
+
* Resubscription in single opt-in does not send the confirmation email anymore
|
866 |
+
* Fixed second subscription with Facebook extension
|
867 |
+
|
868 |
+
= 4.0.6 =
|
869 |
+
|
870 |
+
* Fixed forced lists on subscription panel
|
871 |
+
* Fixed few i18n tags
|
872 |
+
* Fixed background color on theme selector
|
873 |
+
|
874 |
+
= 4.0.5 =
|
875 |
+
|
876 |
+
* Fixed an error on content lock
|
877 |
+
* Fixed CSS for extensions
|
878 |
+
* Fixed few debug notices
|
879 |
+
* Improved the content lock user recognition
|
880 |
+
* Subscriber search by list
|
881 |
+
|
882 |
+
= 4.0.4 =
|
883 |
+
|
884 |
+
* Fixed and improved the email template for service messages
|
885 |
+
|
886 |
+
= 4.0.3 =
|
887 |
+
|
888 |
+
* Fixed the welcome email enable/disable setting
|
889 |
+
|
890 |
+
= 4.0.2 =
|
891 |
+
|
892 |
+
* Fixed main settings saving
|
893 |
+
* Fixed unsubscription settings saving
|
894 |
+
|
895 |
+
= 4.0.0 =
|
896 |
+
|
897 |
+
* Shiny new look
|
898 |
+
* New top menu
|
899 |
+
* Locked content feature moved into the subscription module
|
900 |
+
* Separated SMTP configuration panel
|
901 |
+
* Newsletter users import transfer first and last name
|
902 |
+
* Various bug fixes and improvements
|
903 |
+
|
904 |
+
= 3.9.5 =
|
905 |
+
|
906 |
+
* Corrected the call to maybe_maybe_convert_table_to_utf8mb4
|
907 |
+
|
908 |
+
= 3.9.4 =
|
909 |
+
|
910 |
+
* CSV export fix
|
911 |
+
* Delete button on newsletter list fixed (wrong since version 3.9.3)
|
912 |
+
|
913 |
+
= 3.9.3 =
|
914 |
+
|
915 |
+
* Added the blog charset to the dagnostic panel
|
916 |
+
* Fixed the read count (was due to antispam filter changes)
|
917 |
+
* Language domain fixes
|
918 |
+
|
919 |
+
= 3.9.2 =
|
920 |
+
|
921 |
+
* Fixed the tab separator in CSV export
|
922 |
+
* Removed the already subscribed option
|
923 |
+
* Removed obsolete code for anchor tracking
|
924 |
+
* Added the sent newsletters to the subscriber editing panel
|
925 |
+
* Added a sent-to table
|
926 |
+
|
927 |
+
= 3.9.1 =
|
928 |
+
|
929 |
+
* Enable the tracking key edit
|
930 |
+
* Removed the antibot option, active by default
|
931 |
+
* First round of changes for translate.wordpress.org
|
932 |
+
* Fixed few notices
|
933 |
+
* Added deprecation notices for the email.php and email-alternative.php files
|
934 |
+
* Fixed the export separator
|
935 |
+
* Removed reference to plugin files in URLs to avoid spam filter
|
936 |
+
* Removed the selection of Newsletter action URL
|
937 |
+
* Removed obsolete files
|
938 |
+
|
939 |
+
= 3.9.0 =
|
940 |
+
|
941 |
+
* Fixed the new excerpt extraction
|
942 |
+
|
943 |
+
= 3.8.9 =
|
944 |
+
|
945 |
+
* Fixed few debug notices
|
946 |
+
* Improved support for browser without javascript
|
947 |
+
* Adding multi subscription support
|
948 |
+
* Improved antibot
|
949 |
+
* Fixed some debug/deprecated noticies
|
950 |
+
* Added support for new beta Report Extension features
|
951 |
+
|
952 |
+
= 3.8.8 =
|
953 |
+
|
954 |
+
* Unsubscription works now only with JavaScript enabled browser to block bots
|
955 |
+
* New way to extract excerpts to avoid third party filters
|
956 |
+
* Fixed the image selector for header logo
|
957 |
+
* Added preview form subscription message template
|
958 |
+
* Added WordPress like metadata on themes
|
959 |
+
* Fixed the default theme
|
960 |
+
* Changed few theme screeshots
|
961 |
+
* Added attribute "layout" to shortcode with value "html5" for tableless form
|
962 |
+
|
963 |
+
= 3.8.7 =
|
964 |
+
|
965 |
+
* Fixed the widget constructor
|
966 |
+
|
967 |
+
= 3.8.6 =
|
968 |
+
|
969 |
+
* Improved checks on tracking links which could be used for spamming links (open redirect)
|
970 |
+
|
971 |
+
= 3.8.5 =
|
972 |
+
|
973 |
+
* Changed the widget constructor
|
974 |
+
* Fixed the newsletter_form shortcode
|
975 |
+
* Added shortcodes for in page form building (beta): see the [plugin documentation](https://www.thenewsletterplugin.com/plugins/newsletter/newsletter-documentation).
|
976 |
+
|
977 |
+
= 3.8.4 =
|
978 |
+
|
979 |
+
* Fixed the unsubscription problem
|
980 |
+
|
981 |
+
= 3.8.3 =
|
982 |
+
|
983 |
+
* Fixed the editor for unsubscription messages
|
984 |
+
* Added the unsubscription error message
|
985 |
+
* Fixed the email change from admin panels
|
986 |
+
* Fixed the profile field check when set as optionals
|
987 |
+
|
988 |
+
= 3.8.2 =
|
989 |
+
|
990 |
+
* Improved the profile editing page (with confirmation for email change)
|
991 |
+
* Added new sync between confirmed email and linked wp user email
|
992 |
+
* Improved check and messages on subscriber edit panel
|
993 |
+
* Changed the confirmation behavior for already confirmed users (welcome page reshown)
|
994 |
+
* Added the subscription delete option when a WordPress user si deleted
|
995 |
+
* Unsubscribe action for already unsubscribed subscribers reshow the unsubscription message
|
996 |
+
* Better management of emoji (creating sometime a database error)
|
997 |
+
|
998 |
+
= 3.8.1 =
|
999 |
+
|
1000 |
+
* Corrected open tracking with new tracking URL schema
|
1001 |
+
|
1002 |
+
= 3.8.0 =
|
1003 |
+
|
1004 |
+
* CSV import fix
|
1005 |
+
|
1006 |
+
= 3.7.9 =
|
1007 |
+
|
1008 |
+
* Added subject empty check when sending tests
|
1009 |
+
* Added option to import subscribers as confirmed or not confirmed
|
1010 |
+
* Added import subscribers from CSV file
|
1011 |
+
* Updated the WP compatibility version number
|
1012 |
+
* Fixed the save button on sent emails
|
1013 |
+
* Fixed the List-Unsubscribe header with new URL schema
|
1014 |
+
|
1015 |
+
= 3.7.8 =
|
1016 |
+
|
1017 |
+
* Fixed the online email view with the new URL schema
|
1018 |
+
|
1019 |
+
= 3.7.7 =
|
1020 |
+
|
1021 |
+
* Fixed the editor role
|
1022 |
+
* Fixed the unsubscription url with the new action url schema
|
1023 |
+
* Fixed the readme.txt
|
1024 |
+
* Tested with WP 4.2
|
1025 |
+
|
1026 |
+
= 3.7.6 =
|
1027 |
+
|
1028 |
+
* Fixed the new action URL schema
|
1029 |
+
* Added a notice for blank page on newsletter creation
|
1030 |
+
* Few notices removed
|
1031 |
+
* Added more html require attributes
|
1032 |
+
* Fixed the alternative confirmation redirect
|
1033 |
+
|
1034 |
+
= 3.7.5 =
|
1035 |
+
|
1036 |
+
* Fixed the referrer attribute on shortcodes
|
1037 |
+
|
1038 |
+
= 3.7.4 =
|
1039 |
+
|
1040 |
+
* Added control to avoid the wp super cache caching on newsletter services
|
1041 |
+
* Added the new action URL schema (see the subscription steps panel)
|
1042 |
+
* Added confirmation_url attribute to the form short code
|
1043 |
+
* Added referrer attribute to the form short code
|
1044 |
+
* Newsletters now start with empty subject and it's require to write it
|
1045 |
+
* Fixed the API add service key check
|
1046 |
+
* Fixed a couple of PHP noticies on widget (when not configured)
|
1047 |
+
|
1048 |
+
= 3.7.3 =
|
1049 |
+
|
1050 |
+
* Fixed extra profile field rules and placeholder
|
1051 |
+
|
1052 |
+
= 3.7.2 =
|
1053 |
+
|
1054 |
+
* Fixed the editor issue on subscription steps panel
|
1055 |
+
|
1056 |
+
= 3.7.1 =
|
1057 |
+
|
1058 |
+
* Attempt to fix the home url retrieval on some custom installations
|
1059 |
+
* Removed some unused code
|
1060 |
+
* Fixed the rate request notice
|
1061 |
+
* Added the new URL tracking option (beta)
|
1062 |
+
* Added the new URL tracking option notice
|
1063 |
+
* Added file owner checking on diagnostic panel
|
1064 |
+
* Added action files call checking on diagnostic panel
|
1065 |
+
* Added dimensions on read-tracking image
|
1066 |
+
* Added the html tag to the message templates
|
1067 |
+
* Changed the template generation method to avoid conflicts with themes
|
1068 |
+
|
1069 |
+
= 3.7.0 =
|
1070 |
+
|
1071 |
+
* Bugfix
|
1072 |
+
|
1073 |
+
= 3.6.9 =
|
1074 |
+
|
1075 |
+
* Little fix
|
1076 |
+
|
1077 |
+
= 3.6.8 =
|
1078 |
+
|
1079 |
+
* Fixed the subject of the administrative notification
|
1080 |
+
* Cleaned up obsolete code
|
1081 |
+
* Added support for extension versions check
|
1082 |
+
* Fixed typo in text only themes
|
1083 |
+
* Fixed wrong unsubscribe code in German Welcome Email
|
1084 |
+
|
1085 |
+
= 3.6.7 =
|
1086 |
+
|
1087 |
+
* New Blog Info configuration panel
|
1088 |
+
* New Default Theme
|
1089 |
+
* Minor layout changes
|
1090 |
+
* Fix subscription email link
|
1091 |
+
* Added notices when filters are active on subscriber management panel
|
1092 |
+
* Few fixes on statistic panel
|
1093 |
+
* Fixed undefined index noticies on subscription page
|
1094 |
+
* Several fixes
|
1095 |
+
* A TNT team member quitted smoking, so the plugin become smoking free
|
1096 |
+
|
1097 |
+
= 3.6.6 =
|
1098 |
+
|
1099 |
+
* Added a cron monitor
|
1100 |
+
* Added a xmas theme
|
1101 |
+
* Fixed the opt-in mode for wordpress registsred users
|
1102 |
+
* Fixed the noticies
|
1103 |
+
* Fixed somes styles
|
1104 |
+
* Added the direct newsletter edit for themes without options
|
1105 |
+
* Header changed
|
1106 |
+
* Fixed all links to refer the new site www.thenewsletterplugin.com
|
1107 |
+
* Fixed the newsletter editor default style
|
1108 |
+
|
1109 |
+
= 3.6.5 =
|
1110 |
+
|
1111 |
+
* Added parameter "plugin url" on diagnostic panel
|
1112 |
+
* Added custom post types to the linear theme
|
1113 |
+
* Added custom post types to the vimeo-like theme
|
1114 |
+
* Fixed the feed by mail placeholder panel
|
1115 |
+
* Fixed the antibot option with preferences
|
1116 |
+
|
1117 |
+
= 3.6.4 =
|
1118 |
+
|
1119 |
+
* Support for greek (and others) characters without the entity encoding
|
1120 |
+
* Fixed a debug notice in the widget code
|
1121 |
+
* Added gender on import
|
1122 |
+
* Added support for the constant NEWSLETTER_LOG_DIR in wp-config.php to define the loggin folder
|
1123 |
+
* Fixed the domain removal on subscription steps messages
|
1124 |
+
|
1125 |
+
= 3.6.3 =
|
1126 |
+
|
1127 |
+
* Fixed the feed by mail test function
|
1128 |
+
|
1129 |
+
= 3.6.2 =
|
1130 |
+
|
1131 |
+
* Added the separator selection on CSV export
|
1132 |
+
* Added the UTF-8 BOM to the export
|
1133 |
+
* Fixed some debug noticies
|
1134 |
+
|
1135 |
+
= 3.6.1 =
|
1136 |
+
|
1137 |
+
* Fixed the widget when field names contain double quotes
|
1138 |
+
|
1139 |
+
= 3.6.0 =
|
1140 |
+
|
1141 |
+
* Removed the extension list from welcome panel
|
1142 |
+
* Added the and operator in the newsletter recipients selector
|
1143 |
+
* Fixed the select_group(...) in NewsletterControls class
|
1144 |
+
|
1145 |
+
= 3.5.9 =
|
1146 |
+
|
1147 |
+
* Added a possible antibot to the subscription flow
|
1148 |
+
|
1149 |
+
= 3.5.8 =
|
1150 |
+
|
1151 |
+
* Added soundcloud for social icon on default theme
|
1152 |
+
* Fixed the welcome screen (should)
|
1153 |
+
|
1154 |
+
= 3.5.7 =
|
1155 |
+
|
1156 |
+
* Added the private flag on newsletters
|
1157 |
+
* Fixed old extension version checking/reporting
|
1158 |
+
|
1159 |
+
= 3.5.6 =
|
1160 |
+
|
1161 |
+
* Added custom header for newsletter tagging with mandrill
|
1162 |
+
* Added internally used html 5 subscription form
|
1163 |
+
|
1164 |
+
= 3.5.5 =
|
1165 |
+
|
1166 |
+
* Added the license key field for special installations
|
1167 |
+
|
1168 |
+
= 3.5.4 =
|
1169 |
+
|
1170 |
+
* Fixed the web preview charset
|
1171 |
+
|
1172 |
+
= 3.5.3 =
|
1173 |
+
|
1174 |
+
* Added support for extensions as plugins
|
1175 |
+
|
1176 |
+
= 3.5.2 =
|
1177 |
+
|
1178 |
+
* Fixed the {title} tag replacement for old subscriber list with the gender not set
|
1179 |
+
* Added the upgrade from old versions button on diagnostic panel
|
1180 |
+
|
1181 |
+
= 3.5.1 =
|
1182 |
+
|
1183 |
+
* Support for the SendGrid extension
|
1184 |
+
|
1185 |
+
= 3.5.0 =
|
1186 |
+
|
1187 |
+
* Fixed the subscriber list panel
|
1188 |
+
* Interface reviewed
|
1189 |
+
* Fixed the image chooser for WP 3.8.1
|
1190 |
+
* Fixed the export for editors
|
1191 |
+
* Patch for anonymous users create by woocommerce
|
1192 |
+
* Madrill API adapter
|
1193 |
+
* Header separation between this plugin and the extensions
|
1194 |
+
* Default to base 64 encoding of outgoing email to solve the long lines problem
|
1195 |
+
|
1196 |
+
= 3.4.9 =
|
1197 |
+
|
1198 |
+
* Fixed some warnings in debug mode
|
1199 |
+
* Fixed the disabling setting of the social icons (on default newsletter themes)
|
1200 |
+
* Added filters on widget for WPML
|
1201 |
+
* Added filter for single line feeds refused by some mail servers
|
1202 |
+
|
1203 |
+
= 3.4.8 =
|
1204 |
+
|
1205 |
+
* Added a javascript protection against auto confirmation from bot
|
1206 |
+
* Fixed a warning with debug active on site login
|
1207 |
+
|
1208 |
+
= 3.4.7 =
|
1209 |
+
|
1210 |
+
* Fixed the subscription panel where some panels where no more visible.
|
1211 |
+
|
1212 |
+
= 3.4.6 =
|
1213 |
+
|
1214 |
+
* Added the full_name tag
|
1215 |
+
* Added the "simple" theme
|
1216 |
+
* Added indexes to the statistic table to improve the reports extension response time
|
1217 |
+
* Fixed some noticies in debug mode
|
1218 |
+
|
1219 |
+
= 3.4.5 =
|
1220 |
+
|
1221 |
+
* Revisited the theme chooser and the theme configuration
|
1222 |
+
* Fixed a double field on the locked content configuration
|
1223 |
+
* Improved the delivery engine
|
1224 |
+
|
1225 |
+
= 3.4.4 =
|
1226 |
+
|
1227 |
+
* Improved error messages
|
1228 |
+
* Fixed the last tab store (jquery changes)
|
1229 |
+
* Added some new controls for the pop up extensions
|
1230 |
+
|
1231 |
+
= 3.4.3 =
|
1232 |
+
|
1233 |
+
* Added the precendence bulk header (https://support.google.com/mail/answer/81126)
|
1234 |
+
* Added filter on messages to avoid wrong URLs when the blog change domain or folder
|
1235 |
+
* Added the alt attribute to the tracking image
|
1236 |
+
* New option to set the PHP max execution time
|
1237 |
+
* Fixed some text on main configuration panel
|
1238 |
+
|
1239 |
+
= 3.4.2 =
|
1240 |
+
|
1241 |
+
* Refined the subscription for already subscribed emails
|
1242 |
+
|
1243 |
+
= 3.4.1 =
|
1244 |
+
|
1245 |
+
* Fixed the delivery engine warning message
|
1246 |
+
* Fixed the version check
|
1247 |
+
|
1248 |
+
= 3.4.0 =
|
1249 |
+
|
1250 |
+
* Changed newsletter copy to copy even the editor and traking status
|
1251 |
+
* Fixed the subscribers search list
|
1252 |
+
* Added some more buttons on Newsletter editor
|
1253 |
+
* Added the subscription form menu voice (I cannot answer anymore the same request about subscribe button translation :-)
|
1254 |
+
* Suppressed warning on log function
|
1255 |
+
|
1256 |
+
= 3.3.9 =
|
1257 |
+
|
1258 |
+
* Fixed activation in debug mode
|
1259 |
+
* Fixed some notices
|
1260 |
+
* Added defaults for subscriber titles (Mr, Mrs, ...)
|
1261 |
+
|
1262 |
+
= 3.3.8 =
|
1263 |
+
|
1264 |
+
* Internal code fixes
|
1265 |
+
* Fixed the "editor" access control
|
1266 |
+
|
1267 |
+
= 3.3.7 =
|
1268 |
+
|
1269 |
+
* Fixed the feed by mail field on widget
|
1270 |
+
* Fixed tab names to avoid mod_security interference
|
1271 |
+
* Fixed the "name" form field rules
|
1272 |
+
* Added (undocumented/untested) way to change the table names
|
1273 |
+
|
1274 |
+
= 3.3.6 =
|
1275 |
+
|
1276 |
+
* Fixed a caching blocking on short code
|
1277 |
+
* New way to create a newsletter
|
1278 |
+
|
1279 |
+
= 3.3.5 =
|
1280 |
+
|
1281 |
+
* Fixed the mailto rewriting
|
1282 |
+
* Added tags and categories to default theme
|
1283 |
+
* Added post type on default theme
|
1284 |
+
* Fixed some administrative CSS
|
1285 |
+
* Revisited the theme selection and configuration
|
1286 |
+
|
1287 |
+
= 3.3.4 =
|
1288 |
+
|
1289 |
+
* Fixed the module version check
|
1290 |
+
|
1291 |
+
= 3.3.3 =
|
1292 |
+
|
1293 |
+
* Fixed the IP tracking on opening
|
1294 |
+
|
1295 |
+
= 3.3.2 =
|
1296 |
+
|
1297 |
+
* Disabled the save button on composer when the newsletter is "sending" or "sent"
|
1298 |
+
* Added ip field on statistics
|
1299 |
+
* Reviewed the subscriber statistics panel
|
1300 |
+
* Fixed some links on welcome panel
|
1301 |
+
* Added extensions version check
|
1302 |
+
* Added the Mandrill Extension support
|
1303 |
+
* Fixed the banner options on default theme
|
1304 |
+
* New "new newsletter" panel (hope simpler to use)
|
1305 |
+
|
1306 |
+
= 3.3.1 =
|
1307 |
+
|
1308 |
+
* Fixed a bug in an administrative query
|
1309 |
+
|
1310 |
+
= 3.3.0 =
|
1311 |
+
|
1312 |
+
* Fixed a replacement on online email version
|
1313 |
+
* Fixed a missing privacy check box configuration
|
1314 |
+
* Improved the split posts
|
1315 |
+
* Added post_type control
|
1316 |
+
* Re-enabled the subscription for addresses not confirmed
|
1317 |
+
* Fixed the welcome and ocnfirmaiton email when sent from subscribers list panel (were not using the theme)
|
1318 |
+
* Added the "pre-checked" option to preferences configuration
|
1319 |
+
|
1320 |
+
= 3.2.9 =
|
1321 |
+
|
1322 |
+
* Fixed a possible loop on widget (when using extended fields in combobox format)
|
1323 |
+
|
1324 |
+
= 3.2.8 =
|
1325 |
+
|
1326 |
+
* Fixed the newsletter_replace filter
|
1327 |
+
* Added the person title for salutation
|
1328 |
+
* Changed the profile field panel
|
1329 |
+
* Fixed the massive deletion of unsubscribed users
|
1330 |
+
|
1331 |
+
= 3.2.7 =
|
1332 |
+
|
1333 |
+
* Added a controls for the Reports module version 1.0.4
|
1334 |
+
* Changed opening tracking and removed 1x1 GIF
|
1335 |
+
* Added support for popup on subscription form
|
1336 |
+
* Fixed the link to the reports module
|
1337 |
+
|
1338 |
+
= 3.2.6 =
|
1339 |
+
|
1340 |
+
* Fixed the forced preferences on subscription panel
|
1341 |
+
|
1342 |
+
= 3.2.5 =
|
1343 |
+
|
1344 |
+
* Fixed the home_url and blog_url replacements
|
1345 |
+
* Added the cleans up of tags used in href attributes
|
1346 |
+
* Fixed the cleans up of URL tags
|
1347 |
+
* Added module version checking support
|
1348 |
+
* Added the welcome email option to disable it
|
1349 |
+
* Fixed the new subscriber notification missing under some specific conditions
|
1350 |
+
|
1351 |
+
= 3.2.4 =
|
1352 |
+
|
1353 |
+
* Added target _blank on theme links so they open on a new windows for the online version
|
1354 |
+
* Changed to the plugins_url() function
|
1355 |
+
* Added clean up of url tags on composer
|
1356 |
+
|
1357 |
+
= 3.2.3 =
|
1358 |
+
|
1359 |
+
* Added schedule list on Diagnostic panel
|
1360 |
+
* Removed the enable/disable resubscription option
|
1361 |
+
* Added a check for the delivery engine shutdown on some particular situations
|
1362 |
+
* Revisited the WordPress registration integration
|
1363 |
+
* Revisited the WordPress user import and moved on subscriber massive action panel
|
1364 |
+
* Added links to new documentation chapter
|
1365 |
+
* Removed a survived reference to an old table
|
1366 |
+
* Reactivated the replacement of the {blog_url} tag
|
1367 |
+
* Fixed the tracking code injection
|
1368 |
+
* Fixed a default query generation for compatibility with 2.5 version
|
1369 |
+
* Fixed the tag replacements when using the old forms
|
1370 |
+
|
1371 |
+
= 3.2.2 =
|
1372 |
+
|
1373 |
+
* Fixed the subscription options change problem during the upgrade
|
1374 |
+
* English corrections by Rita Vaccaro
|
1375 |
+
* Added the Feed by Mail demo module
|
1376 |
+
* Added support for the Facebook module
|
1377 |
+
|
1378 |
+
= 3.2.1 =
|
1379 |
+
|
1380 |
+
* Fixed fatal error with old form formats
|
1381 |
+
|
1382 |
+
= 3.2.0 =
|
1383 |
+
|
1384 |
+
* Added hint() method to NewsletterControls
|
1385 |
+
* Fixed the Newsletter::replace_date() to replace even the {date} tag without a format
|
1386 |
+
* Added NewsletterModule::format_time_delta()
|
1387 |
+
* Added NewsletterModule::format_scheduler_time
|
1388 |
+
* Improved the diagnostic panel
|
1389 |
+
* Fixed an error on subscription with old forms
|
1390 |
+
* Fixed the unsubscription with old formats
|
1391 |
+
* Fixed the confirmation for multiple calls
|
1392 |
+
* Fixed user saving on new installation (column missing for followup module)
|
1393 |
+
* Added compatibility code with domain remaping plugin
|
1394 |
+
* Added a setting to let unsubscribed users to subscribe again
|
1395 |
+
* Added the re-subscription option
|
1396 |
+
|
1397 |
+
= 3.1.9 =
|
1398 |
+
|
1399 |
+
* Added the NEWSLETTER_MAX_EXECUTION_TIME
|
1400 |
+
* Added the NEWSLETTER_CRON_INTERVAL
|
1401 |
+
* Improved the delivery engine performances
|
1402 |
+
* Improved the newsletter list panel
|
1403 |
+
* Change the subscription in case of unsubscribed, bounced or confirmed address with a configurable error message
|
1404 |
+
* Some CSS review
|
1405 |
+
* Fixed the unsubscription procedure with a check on user status
|
1406 |
+
* Added Pint theme
|
1407 |
+
|
1408 |
+
= 3.1.7 =
|
1409 |
+
|
1410 |
+
* Added better support for Follow Up for Newsletter
|
1411 |
+
* Fixed integration with Feed by Mail for Newsletter
|
1412 |
+
* Fixed a bug on profile save
|
1413 |
+
* Fixed a message about log folder on diagnostic panel
|
1414 |
+
* Fixed the sex field on user creation
|
1415 |
+
|
1416 |
+
= 3.1.6 =
|
1417 |
+
|
1418 |
+
* Fixed the subscription form absent on some configurations
|
1419 |
+
|
1420 |
+
= 3.1.5 =
|
1421 |
+
|
1422 |
+
* Content locking deactivated if a user is logged in
|
1423 |
+
* Added a button to create a newsletter dedicated page
|
1424 |
+
* Added top message is the newsletter dedicated page is not configured
|
1425 |
+
* Fixed the subscription process with the old "na" action
|
1426 |
+
* Added a new option with wp registration integration
|
1427 |
+
* Added the opt-in mode to wp registration integration
|
1428 |
+
|
1429 |
+
= 3.1.4 =
|
1430 |
+
|
1431 |
+
* Fixed a bug on post/page preview
|
1432 |
+
|
1433 |
+
= 3.1.3 =
|
1434 |
+
|
1435 |
+
* Added support for SendGrid Module
|
1436 |
+
* Fixed a fatal error on new installations on emails.php
|
1437 |
+
|
1438 |
+
= 3.1.2 =
|
1439 |
+
|
1440 |
+
* Fixed the access control for editors
|
1441 |
+
* Improved to the log system to block it when the log folder cannot be created
|
1442 |
+
* Moved all menu voices to the new format
|
1443 |
+
* Improved the diagnostic panel
|
1444 |
+
* Added ability to send and email to not confirmed subscribers
|
1445 |
+
* Fixed a problem with internal module versions
|
1446 |
+
|
1447 |
+
= 3.1.1 =
|
1448 |
+
|
1449 |
+
* Fixed the copy and delete buttons on newsletter list
|
1450 |
+
* Removed the old trigger button on newsletter list
|
1451 |
+
* Fixed the edit button on old user search
|
1452 |
+
* Improved the module version checking
|
1453 |
+
* Added the "unconfirm" button on massive subscriber management panel
|
1454 |
+
|
1455 |
+
= 3.1.0 =
|
1456 |
+
|
1457 |
+
* Added link to change preferences/sex from emails
|
1458 |
+
* Added tag reference on email composer
|
1459 |
+
* Added "negative" preference selection on email targeting
|
1460 |
+
* Improved the subscription during WordPress user registration
|
1461 |
+
* Fixed the preference saving from profile page
|
1462 |
+
* Fixed the default value for the gender field to "n"
|
1463 |
+
* Added loading of the Feed by Mail module
|
1464 |
+
* Added loading of the Follow Up module
|
1465 |
+
* Added loading of the MailJet module
|
1466 |
+
* Changed the administrative page header
|
1467 |
+
* Changed the subscriber list and search panel
|
1468 |
+
* Improved the locked content feature
|
1469 |
+
* Fixed the good bye email not using the standard email template
|
1470 |
+
* Changed the diagnostics panel with module versions checking
|
1471 |
+
* Fixed some code on NewsletterModule
|
1472 |
+
|
1473 |
+
= 3.0.9 =
|
1474 |
+
|
1475 |
+
* Fixed an important bug
|
1476 |
+
|
1477 |
+
= 3.0.8 =
|
1478 |
+
|
1479 |
+
* Fixed the charset on some pages and previews for umlaut characters
|
1480 |
+
|
1481 |
+
= 3.0.7 =
|
1482 |
+
|
1483 |
+
* Fixed a warning in WP 3.5
|
1484 |
+
* Fixed the visual editor on/off on composer panel
|
1485 |
+
|
1486 |
+
= 3.0.6 =
|
1487 |
+
|
1488 |
+
* Added file permissions check on diagnostic panel
|
1489 |
+
* Fixed the default value for "sex" on email at database level
|
1490 |
+
* Fixed the checking of required surname
|
1491 |
+
* Fixed a warning on subscription panel
|
1492 |
+
* Improved the subscription management for bounced or unsubscribed addresses
|
1493 |
+
* Removed the simple theme of tinymce to reduce the number of files
|
1494 |
+
* Added neutral style for subscription form
|
1495 |
+
|
1496 |
+
= 3.0.5 =
|
1497 |
+
|
1498 |
+
* Added styling for widget
|
1499 |
+
* Fixed the widget html
|
1500 |
+
* Fixed the reset button on subscription panels
|
1501 |
+
* Fixed the language initialization on first installation
|
1502 |
+
* Fixed save button on profile page (now it can be an image)
|
1503 |
+
* Fixed email listing showing the planned status
|
1504 |
+
|
1505 |
+
= 3.0.4 =
|
1506 |
+
|
1507 |
+
* Fixed the alternative email template for subscription messages
|
1508 |
+
* Added user statistics by referrer (field nr passed during subscription)
|
1509 |
+
* Added user statistics by http referer (one r missing according to the http protocol)
|
1510 |
+
* Fixed the preview for themes without textual version
|
1511 |
+
* Fixed the subscription redirect for blogs without permalink
|
1512 |
+
* Fixed the "sex" column on database so email configuration is correctly stored
|
1513 |
+
* Fixed the wp user integration
|
1514 |
+
|
1515 |
+
= 3.0.3 =
|
1516 |
+
|
1517 |
+
* Fixed documentation on subscription panel and on subscription/page.php file
|
1518 |
+
* Fixed the statistics module URL rewriting
|
1519 |
+
* Fixed a "echo" on module.php datetime method
|
1520 |
+
* Fixed the multi-delete on newsletter list
|
1521 |
+
* Fixed eval() usage on add_menu_page and add_admin_page function
|
1522 |
+
* Fixed a number of ob_end_clean() called wht not required and interfering with other output buffering
|
1523 |
+
* Fixed the editor access level
|
1524 |
+
|
1525 |
+
= 3.0.2 =
|
1526 |
+
|
1527 |
+
* Documented how to customize the subscription/email.php file (see inside the file) for subscription messages
|
1528 |
+
* Fixed the confirmation message lost (only for who do not already save the subscription options...)
|
1529 |
+
|
1530 |
+
= 3.0.1 =
|
1531 |
+
|
1532 |
+
* Fixed an extra character on head when including the form css
|
1533 |
+
* Fixed the double privacy check on subscription widget
|
1534 |
+
* Fixed the charset of subscription/page.php
|
1535 |
+
* Fixed the theme preview with wp_nonce_url
|
1536 |
+
* Added compatibility code for forms directly coded inside the subscription message
|
1537 |
+
* Added link to composer when the javascript redirect fails on creation of a new newsletter
|
1538 |
+
* Fixed the old email list and conversion
|
1539 |
+
|
1540 |
+
= 3.0.0 =
|
1541 |
+
|
1542 |
+
* Release
|
1543 |
+
|
1544 |
+
= 2.6.2 =
|
1545 |
+
|
1546 |
+
* Added the user massive management panel
|
1547 |
+
|
1548 |
+
= 2.5.3.3 =
|
1549 |
+
|
1550 |
+
* Updated to 20 lists instead of 9
|
1551 |
+
* Max lists can be set on wp-config.php with define('NEWSLETTER_LIST_MAX', [number])
|
1552 |
+
* Default preferences ocnfigurable on subscription panel
|
1553 |
+
|
1554 |
+
= 2.5.3.2 =
|
1555 |
+
|
1556 |
+
* fixed the profile fields generation on subscription form
|
1557 |
+
|
1558 |
+
= 2.5.3.1 =
|
1559 |
+
|
1560 |
+
* fixed javascript email check
|
1561 |
+
* fixed rewrite of link that are anchors
|
1562 |
+
* possible patch to increase concurrency detection while sending
|
1563 |
+
* fixed warning message on email composer panel
|
1564 |
+
|
1565 |
+
= 2.5.3 =
|
1566 |
+
|
1567 |
+
* changed the confirmation and cancellation URLs to a direct call to Newsletter Pro to avoid double emails
|
1568 |
+
* mail opening now tracked
|
1569 |
+
* fixed the add api
|
1570 |
+
* feed by mail settings added: categories and max posts
|
1571 |
+
* feed by mail themes change to use the new settings
|
1572 |
+
* unsubscribed users are marked as unsubscribed and not removed
|
1573 |
+
* api now respect follow up and feed by mail subscription options
|
1574 |
+
* fixed the profile form to add the user id and token
|
1575 |
+
* subscribers' panel changed
|
1576 |
+
* optimizations
|
1577 |
+
* main url fixed everywhere
|
1578 |
+
* small changes to the email composer
|
1579 |
+
* small changes to the blank theme
|
1580 |
+
|
1581 |
+
= 2.5.2.3 =
|
1582 |
+
|
1583 |
+
* subscribers panel now show the profile data
|
1584 |
+
* search can be ordered by profile data
|
1585 |
+
* result limit on search can be specified
|
1586 |
+
* {unlock_url} fixed (it was not pointing to the right configured url)
|
1587 |
+
|
1588 |
+
= 2.5.2.2 =
|
1589 |
+
|
1590 |
+
* fixed the concurrent email sending problem
|
1591 |
+
* added WordPress media gallery integration inside email composer
|
1592 |
+
|
1593 |
+
= 2.5.2.1 =
|
1594 |
+
|
1595 |
+
* added the add_user method
|
1596 |
+
* fixed the API (was not working) and added multilist on API (thankyou betting-tips-uk.com)
|
1597 |
+
* fixed privacy check box on widget
|
1598 |
+
|
1599 |
+
= 2.5.2 =
|
1600 |
+
|
1601 |
+
* added compatibility with lite cache
|
1602 |
+
* fixed the list checkboxes on user edit panel
|
1603 |
+
* removed the 100 users limit on search panel
|
1604 |
+
* category an max posts selection on email composer
|
1605 |
+
|
1606 |
+
= 2.5.1.5 =
|
1607 |
+
|
1608 |
+
* improved the url tag replacement for some particular blog installation
|
1609 |
+
* fixed the unsubscription administrator notification
|
1610 |
+
* replaced sex with gender in notification emails
|
1611 |
+
* fixed the confirm/unconfirm button on user list
|
1612 |
+
* fixed some labels
|
1613 |
+
* subscription form table HTML
|
1614 |
+
|
1615 |
+
= 2.5.1.4 =
|
1616 |
+
|
1617 |
+
* added {date} tag and {date_'format'} tag, where 'format' can be any of the PHP date formats
|
1618 |
+
* added {blog_description} tag
|
1619 |
+
* fixed the feed reset button
|
1620 |
+
* added one day back button to the feed
|
1621 |
+
* updated custom forms documentation
|
1622 |
+
* fixed the trigger button on emails panel
|
1623 |
+
* changed both feed by mail themes (check them if you create your own theme)
|
1624 |
+
* fixed the custom profile field generation (important!)
|
1625 |
+
* fixed documentation about custom forms
|
1626 |
+
|
1627 |
+
Version 2.5.1.3
|
1628 |
+
- fix the feed email test id (not important, it only generates PHP error logs)
|
1629 |
+
- feed by mail send now now force the sending if in a non sending day
|
1630 |
+
- changed the way feed by mail themes extract the posts: solves the sticky posts problem
|
1631 |
+
- added the feed last check time reset button
|
1632 |
+
- fixed the confirm and cancel buttons on user list
|
1633 |
+
- fixed the welcome email when using a custom thank you page
|
1634 |
+
- added images to theme 1
|
1635 |
+
- added button to trigger the delivery engine
|
1636 |
+
- fixed the widget mail check
|
1637 |
+
- reintroduced style.css for themes
|
1638 |
+
- updated theme documentation
|
1639 |
+
- added CDATA on JavaScript
|
1640 |
+
- fixed theme 1 which was not adding the images
|
1641 |
+
- added theme 3
|
1642 |
+
|
1643 |
+
Version 2.5.1.2
|
1644 |
+
- fixed the old profile fields saving
|
1645 |
+
|
1646 |
+
Version 2.5.1.1
|
1647 |
+
- new fr_FR file
|
1648 |
+
- fixed test of SMTP configuration which was sending to test address 2 instead of test address 1
|
1649 |
+
- bounced voice remove on search filter
|
1650 |
+
- added action "of" which return only the subscription form and fire a subcription of type "os"
|
1651 |
+
- added action "os" that subscribe the user and show only the welcome/confirmation required message
|
1652 |
+
- fixed issue with main page url configuration
|
1653 |
+
|
1654 |
+
Version 2.5.1
|
1655 |
+
- Fixed the widget that was not using the extended fields
|
1656 |
+
- Fixed the widget that was not using the lists
|
1657 |
+
- Added the class "newsletter-profile" and "newsletter-profile-[number]" to the widget form
|
1658 |
+
- Added the class "newsletter-profile" and "newsletter-profile-[number]" to the main subscription form
|
1659 |
+
- Added the class "newsletter-profile" and "newsletter-profile-[number]" to the profile form
|
1660 |
+
- Added the classes "newsletter-email", "newsletter-firstname", "newsletter-surname" to the respective fields on every form
|
1661 |
+
- Removed email theme option on subscription panel (was not used)
|
1662 |
+
- Fixed the welcome email on double opt in process
|
1663 |
+
- Subscription notifications to admin only for confirmed subscription
|
1664 |
+
- Fixed subscription process panel for double opt in (layout problems)
|
1665 |
+
- Improved subscription process panel
|
1666 |
+
|
1667 |
+
|
1668 |
+
Version 2.5.0.1
|
1669 |
+
- Fix unsubscription process not working
|
1670 |
+
|
1671 |
+
Version 2.5.0
|
1672 |
+
- Official first release
|
1673 |
+
|
css/dropdown.css
CHANGED
@@ -77,6 +77,7 @@
|
|
77 |
.tnp-drowpdown ul li a small {
|
78 |
display: block;
|
79 |
color: #afafaf;
|
|
|
80 |
}
|
81 |
|
82 |
.tnp-drowpdown ul ul {
|
77 |
.tnp-drowpdown ul li a small {
|
78 |
display: block;
|
79 |
color: #afafaf;
|
80 |
+
float: none !important;
|
81 |
}
|
82 |
|
83 |
.tnp-drowpdown ul ul {
|
emails/edit.php
CHANGED
@@ -146,6 +146,10 @@ if ($controls->is_action('test') || $controls->is_action('save') || $controls->i
|
|
146 |
$query .= " and wp_user_id<>0";
|
147 |
}
|
148 |
|
|
|
|
|
|
|
|
|
149 |
|
150 |
$list_where = array();
|
151 |
if (isset($email['options']['lists']) && count($email['options']['lists'])) {
|
@@ -376,6 +380,14 @@ if ($email['status'] != 'sent') {
|
|
376 |
<?php $controls->select2('options_lists_exclude', $lists, null, true, null, __('None', 'newsletter')); ?>
|
377 |
</td>
|
378 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
379 |
<tr>
|
380 |
<th><?php _e('Gender', 'newsletter') ?></th>
|
381 |
<td>
|
146 |
$query .= " and wp_user_id<>0";
|
147 |
}
|
148 |
|
149 |
+
if (!empty($email['options']['language'])) {
|
150 |
+
$query .= " and language='" . esc_sql((string) $email['options']['language']) . "'";
|
151 |
+
}
|
152 |
+
|
153 |
|
154 |
$list_where = array();
|
155 |
if (isset($email['options']['lists']) && count($email['options']['lists'])) {
|
380 |
<?php $controls->select2('options_lists_exclude', $lists, null, true, null, __('None', 'newsletter')); ?>
|
381 |
</td>
|
382 |
</tr>
|
383 |
+
|
384 |
+
<tr>
|
385 |
+
<th><?php _e('Language', 'newsletter') ?></th>
|
386 |
+
<td>
|
387 |
+
<?php $controls->language('options_language'); ?>
|
388 |
+
</td>
|
389 |
+
</tr>
|
390 |
+
|
391 |
<tr>
|
392 |
<th><?php _e('Gender', 'newsletter') ?></th>
|
393 |
<td>
|
emails/emails.php
CHANGED
@@ -2,8 +2,6 @@
|
|
2 |
|
3 |
defined('ABSPATH') || exit;
|
4 |
|
5 |
-
require_once NEWSLETTER_INCLUDES_DIR . '/themes.php';
|
6 |
-
|
7 |
class NewsletterEmails extends NewsletterModule {
|
8 |
|
9 |
static $instance;
|
@@ -91,9 +89,10 @@ class NewsletterEmails extends NewsletterModule {
|
|
91 |
include NEWSLETTER_INCLUDES_DIR . '/controls.php';
|
92 |
}
|
93 |
$options = $this->options_decode(stripslashes_deep($_REQUEST['options']));
|
94 |
-
|
95 |
-
$context = array('type'=>'');
|
96 |
-
if (isset($_REQUEST['context_type']))
|
|
|
97 |
|
98 |
// $defaults = array(
|
99 |
// 'block_padding_top' => 15,
|
@@ -251,6 +250,14 @@ class NewsletterEmails extends NewsletterModule {
|
|
251 |
return $text;
|
252 |
}
|
253 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
254 |
/**
|
255 |
* Renders a block identified by its id, using the block options and adding a wrapper
|
256 |
* if required (for the first block rendering.
|
@@ -282,19 +289,19 @@ class NewsletterEmails extends NewsletterModule {
|
|
282 |
echo '<tr>';
|
283 |
echo '<td data-options="" bgcolor="#ffffff" align="center" style="padding: 0; font-family: Helvetica, Arial, sans-serif;" class="edit-block">';
|
284 |
}
|
285 |
-
echo
|
286 |
-
|
|
|
287 |
|
288 |
-
echo
|
289 |
|
290 |
-
echo "<!--[if mso]></td></tr></table><![endif]-->\n";
|
291 |
if ($wrapper) {
|
292 |
echo '</td></tr></table>';
|
293 |
}
|
294 |
return;
|
295 |
}
|
296 |
|
297 |
-
$out = array('subject' => '', 'return_empty_message'=>false);
|
298 |
|
299 |
|
300 |
ob_start();
|
@@ -350,8 +357,8 @@ class NewsletterEmails extends NewsletterModule {
|
|
350 |
}
|
351 |
|
352 |
// Container that fixes the width and makes the block responsive
|
353 |
-
echo
|
354 |
-
|
355 |
echo '<table type="options" data-json="', esc_attr($data), '" class="tnpc-block-content" border="0" cellpadding="0" align="center" cellspacing="0" width="100%" style="width: 100%!important; max-width: ', $width, 'px!important">', "\n";
|
356 |
echo "<tr>";
|
357 |
echo '<td align="center" style="', $style, '" bgcolor="', $options['block_background'], '" width="100%">', "\n";
|
@@ -361,7 +368,7 @@ class NewsletterEmails extends NewsletterModule {
|
|
361 |
//echo "\n<!-- /block generated content -->\n";
|
362 |
|
363 |
echo "\n</td></tr></table>";
|
364 |
-
echo
|
365 |
|
366 |
// First time block creation wrapper
|
367 |
if ($wrapper) {
|
@@ -544,12 +551,17 @@ class NewsletterEmails extends NewsletterModule {
|
|
544 |
die();
|
545 |
}
|
546 |
|
|
|
|
|
|
|
547 |
// Used by theme code
|
548 |
-
$theme_options = $this->
|
549 |
-
|
|
|
|
|
550 |
header('Content-Type: text/html;charset=UTF-8');
|
551 |
|
552 |
-
include
|
553 |
|
554 |
die();
|
555 |
break;
|
@@ -567,17 +579,20 @@ class NewsletterEmails extends NewsletterModule {
|
|
567 |
// Used by theme code
|
568 |
$theme_options = $this->get_current_theme_options();
|
569 |
|
570 |
-
$file = $
|
|
|
571 |
if (is_file($file)) {
|
572 |
-
include
|
573 |
}
|
574 |
|
575 |
die();
|
576 |
break;
|
577 |
|
578 |
|
|
|
579 |
case 'emails-create':
|
580 |
-
|
|
|
581 |
if (!Newsletter::instance()->is_allowed()) {
|
582 |
die('Not enough privileges');
|
583 |
}
|
@@ -585,64 +600,58 @@ class NewsletterEmails extends NewsletterModule {
|
|
585 |
require_once NEWSLETTER_INCLUDES_DIR . '/controls.php';
|
586 |
$controls = new NewsletterControls();
|
587 |
|
588 |
-
if (
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
$email['track'] = 1;
|
595 |
|
596 |
-
|
|
|
|
|
|
|
|
|
597 |
|
598 |
-
|
599 |
-
|
|
|
|
|
|
|
|
|
|
|
600 |
|
601 |
-
|
602 |
-
include $this->get_current_theme_file_path('theme.php');
|
603 |
-
$email['message'] = ob_get_clean();
|
604 |
|
605 |
-
|
606 |
-
|
607 |
-
}
|
608 |
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
|
613 |
-
$email['type'] = 'message';
|
614 |
-
$email['send_on'] = time();
|
615 |
-
$email = $newsletter->save_email($email);
|
616 |
|
617 |
-
|
|
|
|
|
618 |
|
619 |
-
|
|
|
|
|
|
|
|
|
|
|
620 |
}
|
621 |
-
die();
|
622 |
-
break;
|
623 |
-
}
|
624 |
-
}
|
625 |
|
626 |
-
|
627 |
-
global $wpdb, $charset_collate;
|
628 |
|
629 |
-
|
630 |
|
631 |
-
|
632 |
-
$this->upgrade_query("alter table " . NEWSLETTER_EMAILS_TABLE . " add column token varchar(10) not null default ''");
|
633 |
-
$this->upgrade_query("alter table " . NEWSLETTER_EMAILS_TABLE . " drop column visibility");
|
634 |
-
$this->upgrade_query("alter table " . NEWSLETTER_EMAILS_TABLE . " add column private tinyint(1) not null default 0");
|
635 |
|
636 |
-
|
637 |
-
|
638 |
-
//$wpdb->query("update " . NEWSLETTER_EMAILS_TABLE . " set token='" . $token . "' where token=''");
|
639 |
-
if ($this->old_version < '1.1.5') {
|
640 |
-
$this->upgrade_query("update " . NEWSLETTER_EMAILS_TABLE . " set type='message' where type=''");
|
641 |
-
$wpdb->query("update " . NEWSLETTER_EMAILS_TABLE . " set token=''");
|
642 |
}
|
643 |
-
$wpdb->query("update " . NEWSLETTER_EMAILS_TABLE . " set total=sent where status='sent' and type='message'");
|
644 |
-
|
645 |
-
return true;
|
646 |
}
|
647 |
|
648 |
function admin_menu() {
|
@@ -654,80 +663,15 @@ class NewsletterEmails extends NewsletterModule {
|
|
654 |
$this->add_admin_page('composer', 'The Composer');
|
655 |
$this->add_admin_page('editorhtml', 'HTML Editor');
|
656 |
$this->add_admin_page('editortinymce', 'TinyMCE Editor');
|
657 |
-
//$this->add_admin_page('cpreview', 'The Composer Preview');
|
658 |
-
}
|
659 |
-
|
660 |
-
/**
|
661 |
-
* Returns the current selected theme.
|
662 |
-
*/
|
663 |
-
function get_current_theme() {
|
664 |
-
$theme = $this->options['theme'];
|
665 |
-
if (empty($theme))
|
666 |
-
return 'blank';
|
667 |
-
else
|
668 |
-
return $theme;
|
669 |
-
}
|
670 |
-
|
671 |
-
function get_current_theme_options() {
|
672 |
-
$theme_options = $this->themes->get_options($this->get_current_theme());
|
673 |
-
// main options merge
|
674 |
-
$main_options = Newsletter::instance()->options;
|
675 |
-
foreach ($main_options as $key => $value) {
|
676 |
-
$theme_options['main_' . $key] = $value;
|
677 |
-
}
|
678 |
-
$info_options = Newsletter::instance()->get_options('info');
|
679 |
-
foreach ($info_options as $key => $value) {
|
680 |
-
$theme_options['main_' . $key] = $value;
|
681 |
-
}
|
682 |
-
return $theme_options;
|
683 |
-
}
|
684 |
-
|
685 |
-
/**
|
686 |
-
* Returns the file path to a theme using the theme overriding rules.
|
687 |
-
* @param type $theme
|
688 |
-
* @param type $file
|
689 |
-
*/
|
690 |
-
function get_theme_file_path($theme, $file) {
|
691 |
-
return $this->themes->get_file_path($theme);
|
692 |
-
}
|
693 |
-
|
694 |
-
function get_current_theme_file_path($file) {
|
695 |
-
return $this->themes->get_file_path($this->get_current_theme(), $file);
|
696 |
-
}
|
697 |
-
|
698 |
-
function get_current_theme_url() {
|
699 |
-
return $this->themes->get_theme_url($this->get_current_theme());
|
700 |
}
|
701 |
|
702 |
/**
|
703 |
-
*
|
704 |
-
*
|
705 |
-
*
|
|
|
|
|
706 |
*/
|
707 |
-
function has_old_emails() {
|
708 |
-
return $this->store->get_count(NEWSLETTER_EMAILS_TABLE, "where type='email'") > 0;
|
709 |
-
}
|
710 |
-
|
711 |
-
function convert_old_emails() {
|
712 |
-
global $newsletter;
|
713 |
-
$list = $newsletter->get_emails('email', ARRAY_A);
|
714 |
-
foreach ($list as &$email) {
|
715 |
-
$email['type'] = 'message';
|
716 |
-
$query = "select * from " . NEWSLETTER_USERS_TABLE . " where status='C'";
|
717 |
-
|
718 |
-
if ($email['list'] != 0)
|
719 |
-
$query .= " and list_" . $email['list'] . "=1";
|
720 |
-
$email['preferences'] = $email['list'];
|
721 |
-
|
722 |
-
if (!empty($email['sex'])) {
|
723 |
-
$query .= " and sex='" . $email['sex'] . "'";
|
724 |
-
}
|
725 |
-
$email['query'] = $query;
|
726 |
-
|
727 |
-
$newsletter->save_email($email);
|
728 |
-
}
|
729 |
-
}
|
730 |
-
|
731 |
function build_block($dir) {
|
732 |
$file = basename($dir);
|
733 |
$block_id = sanitize_key($file);
|
@@ -758,6 +702,11 @@ class NewsletterEmails extends NewsletterModule {
|
|
758 |
return $data;
|
759 |
}
|
760 |
|
|
|
|
|
|
|
|
|
|
|
761 |
function scan_blocks_dir($dir) {
|
762 |
|
763 |
if (!is_dir($dir)) {
|
@@ -983,7 +932,7 @@ class NewsletterEmails extends NewsletterModule {
|
|
983 |
$controls->errors .= '<a href="https://www.thenewsletterplugin.com/documentation/email-sending-issues" target="_blank"><strong>' . __('Read more about delivery issues', 'newsletter') . '</strong></a>.';
|
984 |
} else {
|
985 |
$controls->messages = __('Test subscribers:', 'newsletter');
|
986 |
-
|
987 |
$controls->messages .= ' ' . implode(', ', $emails);
|
988 |
$controls->messages .= '.<br>';
|
989 |
$controls->messages .= '<a href="https://www.thenewsletterplugin.com/documentation/subscribers#test" target="_blank"><strong>' .
|
2 |
|
3 |
defined('ABSPATH') || exit;
|
4 |
|
|
|
|
|
5 |
class NewsletterEmails extends NewsletterModule {
|
6 |
|
7 |
static $instance;
|
89 |
include NEWSLETTER_INCLUDES_DIR . '/controls.php';
|
90 |
}
|
91 |
$options = $this->options_decode(stripslashes_deep($_REQUEST['options']));
|
92 |
+
|
93 |
+
$context = array('type' => '');
|
94 |
+
if (isset($_REQUEST['context_type']))
|
95 |
+
$context['type'] = $_REQUEST['context_type'];
|
96 |
|
97 |
// $defaults = array(
|
98 |
// 'block_padding_top' => 15,
|
250 |
return $text;
|
251 |
}
|
252 |
|
253 |
+
static function get_outlook_wrapper_open($width = 600) {
|
254 |
+
return '<!--[if mso | IE]><table role="presentation" border="0" cellpadding="0" align="center" cellspacing="0" width="' . $width . '"><tr><td width="' . $width . '" style="vertical-align:top;width:' . $width . 'px;"><![endif]-->' . "\n";
|
255 |
+
}
|
256 |
+
|
257 |
+
static function get_outlook_wrapper_close() {
|
258 |
+
echo "<!--[if mso | IE]></td></tr></table><![endif]-->\n";
|
259 |
+
}
|
260 |
+
|
261 |
/**
|
262 |
* Renders a block identified by its id, using the block options and adding a wrapper
|
263 |
* if required (for the first block rendering.
|
289 |
echo '<tr>';
|
290 |
echo '<td data-options="" bgcolor="#ffffff" align="center" style="padding: 0; font-family: Helvetica, Arial, sans-serif;" class="edit-block">';
|
291 |
}
|
292 |
+
echo $this->get_outlook_wrapper_open($width);
|
293 |
+
|
294 |
+
echo '<p>Ops, this block type is no more registered!</p>';
|
295 |
|
296 |
+
echo $this->get_outlook_wrapper_close();
|
297 |
|
|
|
298 |
if ($wrapper) {
|
299 |
echo '</td></tr></table>';
|
300 |
}
|
301 |
return;
|
302 |
}
|
303 |
|
304 |
+
$out = array('subject' => '', 'return_empty_message' => false);
|
305 |
|
306 |
|
307 |
ob_start();
|
357 |
}
|
358 |
|
359 |
// Container that fixes the width and makes the block responsive
|
360 |
+
echo $this->get_outlook_wrapper_open($width);
|
361 |
+
|
362 |
echo '<table type="options" data-json="', esc_attr($data), '" class="tnpc-block-content" border="0" cellpadding="0" align="center" cellspacing="0" width="100%" style="width: 100%!important; max-width: ', $width, 'px!important">', "\n";
|
363 |
echo "<tr>";
|
364 |
echo '<td align="center" style="', $style, '" bgcolor="', $options['block_background'], '" width="100%">', "\n";
|
368 |
//echo "\n<!-- /block generated content -->\n";
|
369 |
|
370 |
echo "\n</td></tr></table>";
|
371 |
+
echo $this->get_outlook_wrapper_close();
|
372 |
|
373 |
// First time block creation wrapper
|
374 |
if ($wrapper) {
|
551 |
die();
|
552 |
}
|
553 |
|
554 |
+
$theme_id = $_GET['id'];
|
555 |
+
$theme = $this->themes->get_theme($theme_id);
|
556 |
+
|
557 |
// Used by theme code
|
558 |
+
$theme_options = $this->themes->get_options($theme_id);
|
559 |
+
|
560 |
+
$theme_url = $theme['url'];
|
561 |
+
|
562 |
header('Content-Type: text/html;charset=UTF-8');
|
563 |
|
564 |
+
include $theme['dir'] . '/theme.php';
|
565 |
|
566 |
die();
|
567 |
break;
|
579 |
// Used by theme code
|
580 |
$theme_options = $this->get_current_theme_options();
|
581 |
|
582 |
+
$file = include $theme['dir'] . '/theme-text.php';
|
583 |
+
|
584 |
if (is_file($file)) {
|
585 |
+
include $file;
|
586 |
}
|
587 |
|
588 |
die();
|
589 |
break;
|
590 |
|
591 |
|
592 |
+
|
593 |
case 'emails-create':
|
594 |
+
// Newsletter from themes are created on frontend context because sometime WP themes change the way the content,
|
595 |
+
// excerpt, thumbnail are extracted.
|
596 |
if (!Newsletter::instance()->is_allowed()) {
|
597 |
die('Not enough privileges');
|
598 |
}
|
600 |
require_once NEWSLETTER_INCLUDES_DIR . '/controls.php';
|
601 |
$controls = new NewsletterControls();
|
602 |
|
603 |
+
if (!$controls->is_action('create')) {
|
604 |
+
die('Wrong call');
|
605 |
+
}
|
606 |
+
|
607 |
+
$theme_id = $controls->data['id'];
|
608 |
+
$theme = $this->themes->get_theme($theme_id);
|
|
|
609 |
|
610 |
+
if (!$theme) {
|
611 |
+
die('invalid theme');
|
612 |
+
}
|
613 |
+
|
614 |
+
$this->themes->save_options($theme_id, $controls->data);
|
615 |
|
616 |
+
$email = array();
|
617 |
+
$email['status'] = 'new';
|
618 |
+
$email['subject'] = ''; //__('Here the email subject', 'newsletter');
|
619 |
+
$email['track'] = 1;
|
620 |
+
$email['send_on'] = time();
|
621 |
+
$email['editor'] = NewsletterEmails::EDITOR_TINYMCE;
|
622 |
+
$email['type'] = 'message';
|
623 |
|
624 |
+
$theme_options = $this->themes->get_options($theme_id);
|
|
|
|
|
625 |
|
626 |
+
$theme_url = $theme['url'];
|
627 |
+
$theme_subject = '';
|
|
|
628 |
|
629 |
+
ob_start();
|
630 |
+
include $theme['dir'] . '/theme.php';
|
631 |
+
$email['message'] = ob_get_clean();
|
632 |
|
|
|
|
|
|
|
633 |
|
634 |
+
if (!empty($theme_subject)) {
|
635 |
+
$email['subject'] = $theme_subject;
|
636 |
+
}
|
637 |
|
638 |
+
if (file_exists($theme['dir'] . '/theme-text.php')) {
|
639 |
+
ob_start();
|
640 |
+
include $theme['dir'] . '/theme-text.php';
|
641 |
+
$email['message_text'] = ob_get_clean();
|
642 |
+
} else {
|
643 |
+
$email['message_text'] = 'You need a modern email client to read this email. Read it online: {email_url}.';
|
644 |
}
|
|
|
|
|
|
|
|
|
645 |
|
646 |
+
$email = $newsletter->save_email($email);
|
|
|
647 |
|
648 |
+
$edit_url = $this->get_editor_url($email->id, $email->editor);
|
649 |
|
650 |
+
header('Location: ' . $edit_url);
|
|
|
|
|
|
|
651 |
|
652 |
+
die();
|
653 |
+
break;
|
|
|
|
|
|
|
|
|
654 |
}
|
|
|
|
|
|
|
655 |
}
|
656 |
|
657 |
function admin_menu() {
|
663 |
$this->add_admin_page('composer', 'The Composer');
|
664 |
$this->add_admin_page('editorhtml', 'HTML Editor');
|
665 |
$this->add_admin_page('editortinymce', 'TinyMCE Editor');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
666 |
}
|
667 |
|
668 |
/**
|
669 |
+
* Builds a block data structure starting from the folder containing the block
|
670 |
+
* files.
|
671 |
+
*
|
672 |
+
* @param string $dir
|
673 |
+
* @return array | WP_Error
|
674 |
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
675 |
function build_block($dir) {
|
676 |
$file = basename($dir);
|
677 |
$block_id = sanitize_key($file);
|
702 |
return $data;
|
703 |
}
|
704 |
|
705 |
+
/**
|
706 |
+
*
|
707 |
+
* @param type $dir
|
708 |
+
* @return type
|
709 |
+
*/
|
710 |
function scan_blocks_dir($dir) {
|
711 |
|
712 |
if (!is_dir($dir)) {
|
932 |
$controls->errors .= '<a href="https://www.thenewsletterplugin.com/documentation/email-sending-issues" target="_blank"><strong>' . __('Read more about delivery issues', 'newsletter') . '</strong></a>.';
|
933 |
} else {
|
934 |
$controls->messages = __('Test subscribers:', 'newsletter');
|
935 |
+
|
936 |
$controls->messages .= ' ' . implode(', ', $emails);
|
937 |
$controls->messages .= '.<br>';
|
938 |
$controls->messages .= '<a href="https://www.thenewsletterplugin.com/documentation/subscribers#test" target="_blank"><strong>' .
|
emails/new.php
CHANGED
@@ -1,133 +1,112 @@
|
|
1 |
<?php
|
|
|
2 |
require_once NEWSLETTER_INCLUDES_DIR . '/controls.php';
|
3 |
|
4 |
$controls = new NewsletterControls();
|
5 |
-
$module = NewsletterEmails::instance();
|
6 |
|
7 |
-
|
8 |
-
if ($controls->data['theme'] != 'rawhtml') {
|
9 |
-
$controls->merge($module->themes->get_options($controls->data['theme']));
|
10 |
-
$module->save_options($controls->data);
|
11 |
-
}
|
12 |
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
} else {
|
25 |
-
$theme_options = $module->get_current_theme_options();
|
26 |
-
$theme_url = $module->get_current_theme_url();
|
27 |
-
$theme_subject = '';
|
28 |
-
|
29 |
-
ob_start();
|
30 |
-
include $module->get_current_theme_file_path('theme.php');
|
31 |
-
$email['message'] = ob_get_clean();
|
32 |
-
|
33 |
-
if (!empty($theme_subject)) {
|
34 |
-
$email['subject'] = $theme_subject;
|
35 |
-
}
|
36 |
-
|
37 |
-
$file = $module->get_current_theme_file_path('theme-text.php');
|
38 |
-
if (file_exists($file)) {
|
39 |
-
ob_start();
|
40 |
-
include $module->get_current_theme_file_path('theme-text.php');
|
41 |
-
$email['message_text'] = ob_get_clean();
|
42 |
-
} else {
|
43 |
-
$email['message_text'] = 'You need a modern email client to read this email. Read it online: {email_url}.';
|
44 |
-
}
|
45 |
-
$email['editor'] = NewsletterEmails::EDITOR_TINYMCE;
|
46 |
-
}
|
47 |
-
|
48 |
-
$email['type'] = 'message';
|
49 |
-
$email['send_on'] = time();
|
50 |
-
$email = Newsletter::instance()->save_email($email);
|
51 |
-
|
52 |
-
$controls->js_redirect($module->get_editor_url($email->id, $email->editor));
|
53 |
-
return;
|
54 |
-
}
|
55 |
-
}
|
56 |
|
57 |
-
|
58 |
-
|
59 |
-
//$controls->messages = 'Saved.';
|
60 |
}
|
61 |
|
62 |
-
if ($controls->is_action('create')) {
|
63 |
-
$module->save_options($controls->data);
|
64 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
$email = array();
|
66 |
$email['status'] = 'new';
|
67 |
$email['subject'] = __('Here the email subject', 'newsletter');
|
68 |
$email['track'] = Newsletter::instance()->options['track'];
|
|
|
|
|
|
|
|
|
69 |
|
70 |
-
$theme_options = $
|
71 |
-
|
72 |
-
$theme_url = $module->get_current_theme_url();
|
73 |
$theme_subject = '';
|
74 |
|
75 |
ob_start();
|
76 |
-
include $
|
77 |
$email['message'] = ob_get_clean();
|
78 |
|
79 |
if (!empty($theme_subject)) {
|
80 |
$email['subject'] = $theme_subject;
|
81 |
}
|
82 |
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
|
|
89 |
$email = Newsletter::instance()->save_email($email);
|
90 |
-
|
91 |
-
|
92 |
-
location.href = "<?php echo $module->get_admin_page_url('edit'); ?>&id=<?php echo $email->id; ?>";
|
93 |
-
</script>
|
94 |
-
<div class="wrap">
|
95 |
-
<p><a href="<?php echo $module->get_admin_page_url('edit'); ?>&id=<?php echo $email->id; ?>">click here to proceed</a>.</p>
|
96 |
-
</div>
|
97 |
-
<?php
|
98 |
return;
|
99 |
}
|
100 |
|
101 |
-
if ($controls->
|
102 |
-
$
|
103 |
}
|
104 |
|
105 |
-
|
106 |
-
add_option('newsletter_emails', '', null, 'no');
|
107 |
-
update_option('newsletter_emails', $options);
|
108 |
-
}
|
109 |
|
110 |
-
|
111 |
-
$x = strrpos($theme, '/');
|
112 |
-
if ($x !== false) {
|
113 |
-
$theme = substr($theme, $x + 1);
|
114 |
-
}
|
115 |
-
add_option('newsletter_emails_' . $theme, '', null, 'no');
|
116 |
-
update_option('newsletter_emails_' . $theme, $options);
|
117 |
-
}
|
118 |
|
119 |
-
|
120 |
-
$
|
121 |
-
|
122 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
|
124 |
-
|
125 |
-
$
|
126 |
-
|
127 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
128 |
}
|
129 |
-
|
130 |
-
|
|
|
|
|
|
|
|
|
|
|
131 |
}
|
132 |
?>
|
133 |
|
@@ -149,12 +128,11 @@ function newsletter_emails_get_theme_options($theme) {
|
|
149 |
|
150 |
<form method="post" action="">
|
151 |
<?php $controls->init(); ?>
|
152 |
-
<?php $controls->hidden('
|
153 |
-
|
154 |
<table style="width: 100%; border-collapse: collapse">
|
155 |
<tr>
|
156 |
<td style="text-align: left; vertical-align: top; border-bottom: 1px solid #ddd; padding-bottom: 10px">
|
157 |
-
<div style="float: right; margin-left: 15px;"><?php $controls->button_primary('
|
158 |
|
159 |
</td>
|
160 |
<td style="text-align: left; vertical-align: top; border-bottom: 1px solid #ddd; padding-bottom: 10px">
|
@@ -165,11 +143,11 @@ function newsletter_emails_get_theme_options($theme) {
|
|
165 |
<tr>
|
166 |
<td style="width: 500px; vertical-align: top;">
|
167 |
<div class="tnp-emails-theme-options">
|
168 |
-
|
169 |
</div>
|
170 |
</td>
|
171 |
<td style="vertical-align: top; padding-top: 15px; padding-left: 15px">
|
172 |
-
<iframe src="<?php echo wp_nonce_url(home_url('/', is_ssl() ? 'https' : 'http') . '?na=emails-preview&ts=' . time(), 'view'); ?>" height="700" style="width: 100%; border: 1px solid #ccc"></iframe>
|
173 |
</td>
|
174 |
</tr>
|
175 |
</table>
|
1 |
<?php
|
2 |
+
/* @var $this NewsletterEmails */
|
3 |
require_once NEWSLETTER_INCLUDES_DIR . '/controls.php';
|
4 |
|
5 |
$controls = new NewsletterControls();
|
|
|
6 |
|
7 |
+
$theme_id = $_GET['id'];
|
|
|
|
|
|
|
|
|
8 |
|
9 |
+
if ($theme_id === 'rawhtml' && check_admin_referer('newsletter-new')) {
|
10 |
+
$email = array();
|
11 |
+
$email['status'] = 'new';
|
12 |
+
$email['subject'] = __('Here the email subject', 'newsletter');
|
13 |
+
$email['track'] = Newsletter::instance()->options['track'];
|
14 |
+
$email['token'] = $this->get_token();
|
15 |
+
$email['type'] = 'message';
|
16 |
+
$email['send_on'] = time();
|
17 |
+
$email['editor'] = NewsletterEmails::EDITOR_HTML;
|
18 |
+
$email['message'] = "<!DOCTYPE html>\n<html>\n<head>\n<title>Your email title</title>\n</head>\n<body>\n</body>\n</html>";
|
19 |
+
$email = Newsletter::instance()->save_email($email);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
|
21 |
+
$controls->js_redirect($this->get_editor_url($email->id, $email->editor));
|
22 |
+
return;
|
|
|
23 |
}
|
24 |
|
|
|
|
|
25 |
|
26 |
+
$theme = $this->themes->get_theme($theme_id);
|
27 |
+
|
28 |
+
// Should never happen
|
29 |
+
if (!$theme) {
|
30 |
+
die('Invalid theme');
|
31 |
+
}
|
32 |
+
|
33 |
+
if (!file_exists($theme['dir'] . '/theme-options.php') && check_admin_referer('newsletter-new')) {
|
34 |
$email = array();
|
35 |
$email['status'] = 'new';
|
36 |
$email['subject'] = __('Here the email subject', 'newsletter');
|
37 |
$email['track'] = Newsletter::instance()->options['track'];
|
38 |
+
$email['token'] = $this->get_token();
|
39 |
+
$email['type'] = 'message';
|
40 |
+
$email['send_on'] = time();
|
41 |
+
$email['editor'] = NewsletterEmails::EDITOR_TINYMCE;
|
42 |
|
43 |
+
$theme_options = $this->themes->get_options($controls->data['theme']);
|
44 |
+
$theme_url = $theme['url'];
|
|
|
45 |
$theme_subject = '';
|
46 |
|
47 |
ob_start();
|
48 |
+
include $theme['dir'] . '/theme.php';
|
49 |
$email['message'] = ob_get_clean();
|
50 |
|
51 |
if (!empty($theme_subject)) {
|
52 |
$email['subject'] = $theme_subject;
|
53 |
}
|
54 |
|
55 |
+
if (file_exists($theme['dir'] . '/theme-text.php')) {
|
56 |
+
ob_start();
|
57 |
+
include $theme['dir'] . '/theme-text.php';
|
58 |
+
$email['message_text'] = ob_get_clean();
|
59 |
+
} else {
|
60 |
+
$email['message_text'] = 'You need a modern email client to read this email. Read it online: {email_url}.';
|
61 |
+
}
|
62 |
$email = Newsletter::instance()->save_email($email);
|
63 |
+
|
64 |
+
$controls->js_redirect($this->get_editor_url($email->id, $email->editor));
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
return;
|
66 |
}
|
67 |
|
68 |
+
if ($controls->is_action('refresh')) {
|
69 |
+
$this->themes->save_options($theme_id, $controls->data);
|
70 |
}
|
71 |
|
72 |
+
if ($controls->is_action('create')) {
|
|
|
|
|
|
|
73 |
|
74 |
+
$this->themes->save_options($theme_id, $controls->data);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
|
76 |
+
$email = array();
|
77 |
+
$email['status'] = 'new';
|
78 |
+
$email['subject'] = __('Here the email subject', 'newsletter');
|
79 |
+
$email['track'] = Newsletter::instance()->options['track'];
|
80 |
+
$email['message_text'] = '';
|
81 |
+
$email['type'] = 'message';
|
82 |
+
$email['send_on'] = time();
|
83 |
+
$email['editor'] = NewsletterEmails::EDITOR_TINYMCE;
|
84 |
+
|
85 |
+
$theme_options = $this->themes->get_options($theme_id);
|
86 |
|
87 |
+
$theme_url = $theme['url'];
|
88 |
+
$theme_subject = '';
|
89 |
+
|
90 |
+
ob_start();
|
91 |
+
include $theme['dir'] . '/theme.php';
|
92 |
+
$email['message'] = ob_get_clean();
|
93 |
+
|
94 |
+
if (!empty($theme_subject)) {
|
95 |
+
$email['subject'] = $theme_subject;
|
96 |
+
}
|
97 |
+
|
98 |
+
if (is_file($theme['dir'] . '/theme-text.php')) {
|
99 |
+
ob_start();
|
100 |
+
include $theme['dir'] . '/theme-text.php';
|
101 |
+
$email['message_text'] = ob_get_clean();
|
102 |
}
|
103 |
+
|
104 |
+
$email = $this->save_email($email);
|
105 |
+
$controls->js_redirect($this->get_editor_url($email->id, $email->editor));
|
106 |
+
return;
|
107 |
+
} else {
|
108 |
+
$controls->data = $this->themes->get_options($theme_id);
|
109 |
+
$controls->data['id'] = $theme_id;
|
110 |
}
|
111 |
?>
|
112 |
|
128 |
|
129 |
<form method="post" action="">
|
130 |
<?php $controls->init(); ?>
|
131 |
+
<?php $controls->hidden('id'); ?>
|
|
|
132 |
<table style="width: 100%; border-collapse: collapse">
|
133 |
<tr>
|
134 |
<td style="text-align: left; vertical-align: top; border-bottom: 1px solid #ddd; padding-bottom: 10px">
|
135 |
+
<div style="float: right; margin-left: 15px;"><?php $controls->button_primary('refresh', __('Refresh the preview', 'newsletter')); ?></div>
|
136 |
|
137 |
</td>
|
138 |
<td style="text-align: left; vertical-align: top; border-bottom: 1px solid #ddd; padding-bottom: 10px">
|
143 |
<tr>
|
144 |
<td style="width: 500px; vertical-align: top;">
|
145 |
<div class="tnp-emails-theme-options">
|
146 |
+
<?php @include $theme['dir'] . '/theme-options.php'; ?>
|
147 |
</div>
|
148 |
</td>
|
149 |
<td style="vertical-align: top; padding-top: 15px; padding-left: 15px">
|
150 |
+
<iframe src="<?php echo wp_nonce_url(home_url('/', is_ssl() ? 'https' : 'http') . '?na=emails-preview&id=' . urlencode($theme_id) . '&ts=' . time(), 'view'); ?>" height="700" style="width: 100%; border: 1px solid #ccc"></iframe>
|
151 |
</td>
|
152 |
</tr>
|
153 |
</table>
|
emails/theme.php
CHANGED
@@ -1,6 +1,5 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
-
exit;
|
4 |
|
5 |
require_once NEWSLETTER_INCLUDES_DIR . '/controls.php';
|
6 |
$controls = new NewsletterControls();
|
@@ -47,7 +46,14 @@ function newsletter_emails_get_theme_options($theme) {
|
|
47 |
|
48 |
$themes = $module->themes->get_all_with_data();
|
49 |
?>
|
50 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
<div class="wrap tnp-emails tnp-emails-theme" id="tnp-wrap">
|
52 |
|
53 |
<?php include NEWSLETTER_DIR . '/tnp-header.php'; ?>
|
@@ -76,26 +82,18 @@ $themes = $module->themes->get_all_with_data();
|
|
76 |
|
77 |
<div class="tnp-theme-preview">
|
78 |
<p><> Raw HTML</p>
|
79 |
-
|
80 |
-
f.act.value = 'theme';
|
81 |
-
f.elements['options[theme]'].value = 'rawhtml';
|
82 |
-
f.submit();
|
83 |
-
return false;" style="margin-right: 20px; margin-bottom: 20px">
|
84 |
<img src="<?php echo plugins_url('newsletter') . '/emails/images/html.png' ?>" width="200" height="200">
|
85 |
</a>
|
86 |
</div>
|
87 |
|
88 |
</div>
|
89 |
|
90 |
-
<?php foreach ($themes as $
|
91 |
<div class="tnp-theme-preview">
|
92 |
<p><?php echo esc_html($data['name']) ?></p>
|
93 |
-
<a href="
|
94 |
-
|
95 |
-
f.elements['options[theme]'].value = '<?php echo esc_js($data['id']) ?>';
|
96 |
-
f.submit();
|
97 |
-
return false;" style="margin-right: 20px; margin-bottom: 20px">
|
98 |
-
<img src="<?php echo esc_attr($data['screenshot']) ?>" width="200" height="200">
|
99 |
</a>
|
100 |
</div>
|
101 |
<?php } ?>
|
1 |
<?php
|
2 |
+
defined('ABSPATH') || exit;
|
|
|
3 |
|
4 |
require_once NEWSLETTER_INCLUDES_DIR . '/controls.php';
|
5 |
$controls = new NewsletterControls();
|
46 |
|
47 |
$themes = $module->themes->get_all_with_data();
|
48 |
?>
|
49 |
+
<script>
|
50 |
+
function tnp_select_theme(id) {
|
51 |
+
var f = document.getElementById('newsletter-form');
|
52 |
+
f.act.value = 'theme';
|
53 |
+
f.elements['options[theme]'].value = id;
|
54 |
+
f.submit();
|
55 |
+
}
|
56 |
+
</script>
|
57 |
<div class="wrap tnp-emails tnp-emails-theme" id="tnp-wrap">
|
58 |
|
59 |
<?php include NEWSLETTER_DIR . '/tnp-header.php'; ?>
|
82 |
|
83 |
<div class="tnp-theme-preview">
|
84 |
<p><> Raw HTML</p>
|
85 |
+
<a href="<?php echo wp_nonce_url('admin.php?page=newsletter_emails_new&id=rawhtml', 'newsletter-new') ?>" style="margin-right: 20px; margin-bottom: 20px">
|
|
|
|
|
|
|
|
|
86 |
<img src="<?php echo plugins_url('newsletter') . '/emails/images/html.png' ?>" width="200" height="200">
|
87 |
</a>
|
88 |
</div>
|
89 |
|
90 |
</div>
|
91 |
|
92 |
+
<?php foreach ($themes as $id => $data) { ?>
|
93 |
<div class="tnp-theme-preview">
|
94 |
<p><?php echo esc_html($data['name']) ?></p>
|
95 |
+
<a href="<?php echo wp_nonce_url('admin.php?page=newsletter_emails_new&id=' . urlencode($id), 'newsletter-new') ?>" style="margin-right: 20px; margin-bottom: 20px">
|
96 |
+
<img src="<?php echo esc_attr($data['screenshot']) ?>" width="300" height="450">
|
|
|
|
|
|
|
|
|
97 |
</a>
|
98 |
</div>
|
99 |
<?php } ?>
|
emails/themes/blank/screenshot.png
CHANGED
Binary file
|
emails/themes/blank/theme.php
CHANGED
@@ -1,5 +1,12 @@
|
|
1 |
<?php
|
2 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
?><html>
|
4 |
<head>
|
5 |
<style>
|
@@ -41,5 +48,6 @@ if (!defined('ABSPATH')) exit;
|
|
41 |
<p>
|
42 |
<?php echo $theme_options['main_footer_legal'] ?>
|
43 |
</p>
|
|
|
44 |
</body>
|
45 |
</html>
|
1 |
<?php
|
2 |
+
/*
|
3 |
+
* Name: Really minimal
|
4 |
+
* Type: standard
|
5 |
+
* Description: -
|
6 |
+
*/
|
7 |
+
|
8 |
+
defined('ABSPATH') || exit;
|
9 |
+
|
10 |
?><html>
|
11 |
<head>
|
12 |
<style>
|
48 |
<p>
|
49 |
<?php echo $theme_options['main_footer_legal'] ?>
|
50 |
</p>
|
51 |
+
|
52 |
</body>
|
53 |
</html>
|
emails/themes/cta-2015/screenshot.png
CHANGED
Binary file
|
emails/themes/default/screenshot.png
CHANGED
Binary file
|
emails/themes/default/theme-defaults.php
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
$theme_defaults = array(
|
4 |
+
'theme_background' => '#f4f4f4',
|
5 |
+
'theme_color' => '#555555',
|
6 |
+
'theme_max_posts' => 10
|
7 |
+
);
|
8 |
+
|
emails/themes/default/theme-options.php
CHANGED
@@ -11,6 +11,13 @@ defined('ABSPATH') || exit;
|
|
11 |
<p class="description" style="display: inline">Hex values, e.g. #FF0000</p>
|
12 |
</td>
|
13 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
<tr>
|
15 |
<th><?php _e('Disable social links', 'newsletter') ?></th>
|
16 |
<td><?php $controls->checkbox('theme_social_disable', ''); ?></td>
|
@@ -23,7 +30,7 @@ defined('ABSPATH') || exit;
|
|
23 |
<tr>
|
24 |
<th>Language</th>
|
25 |
<td>
|
26 |
-
<?php $controls->language(); ?>
|
27 |
</td>
|
28 |
</tr>
|
29 |
<tr>
|
11 |
<p class="description" style="display: inline">Hex values, e.g. #FF0000</p>
|
12 |
</td>
|
13 |
</tr>
|
14 |
+
<tr>
|
15 |
+
<th><?php _e('External background color', 'newsletter') ?></th>
|
16 |
+
<td>
|
17 |
+
<?php $controls->color('theme_background'); ?>
|
18 |
+
<p class="description" style="display: inline">Hex values, e.g. #FF0000</p>
|
19 |
+
</td>
|
20 |
+
</tr>
|
21 |
<tr>
|
22 |
<th><?php _e('Disable social links', 'newsletter') ?></th>
|
23 |
<td><?php $controls->checkbox('theme_social_disable', ''); ?></td>
|
30 |
<tr>
|
31 |
<th>Language</th>
|
32 |
<td>
|
33 |
+
<?php $controls->language('theme_language'); ?>
|
34 |
</td>
|
35 |
</tr>
|
36 |
<tr>
|
emails/themes/default/theme.php
CHANGED
@@ -14,18 +14,23 @@ global $newsletter, $post;
|
|
14 |
|
15 |
defined('ABSPATH') || exit;
|
16 |
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
|
22 |
if (isset($theme_options['theme_posts'])) {
|
23 |
$filters = array();
|
24 |
|
25 |
-
|
26 |
-
$filters['posts_per_page'] = 10;
|
27 |
-
else
|
28 |
-
$filters['posts_per_page'] = (int) $theme_options['theme_max_posts'];
|
29 |
|
30 |
if (!empty($theme_options['theme_categories'])) {
|
31 |
$filters['category__in'] = $theme_options['theme_categories'];
|
@@ -39,95 +44,160 @@ if (isset($theme_options['theme_posts'])) {
|
|
39 |
$filters['post_type'] = $theme_options['theme_post_types'];
|
40 |
}
|
41 |
|
42 |
-
|
43 |
-
$filters['suppress_filters'] = false;
|
44 |
-
do_action('wpml_switch_language', $theme_options['language']);
|
45 |
-
}
|
46 |
-
|
47 |
-
$posts = get_posts($filters);
|
48 |
}
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
</div>
|
|
|
|
|
|
|
|
|
98 |
|
99 |
|
100 |
-
|
101 |
|
102 |
-
|
103 |
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
112 |
<?php } ?>
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
</
|
120 |
-
|
|
|
|
|
|
|
121 |
|
122 |
-
<?php include WP_PLUGIN_DIR . '/newsletter/emails/themes/default/footer.php'; ?>
|
123 |
|
124 |
-
|
125 |
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
|
|
|
|
|
|
|
|
133 |
</html>
|
14 |
|
15 |
defined('ABSPATH') || exit;
|
16 |
|
17 |
+
include NEWSLETTER_INCLUDES_DIR . '/helper.php';
|
18 |
+
|
19 |
+
$color = $theme_options['theme_color'];
|
20 |
+
$background = $theme_options['theme_background'];
|
21 |
+
$logo = false;
|
22 |
+
|
23 |
+
if ($theme_options['main_header_logo']['id']) {
|
24 |
+
$logo = tnp_media_resize($theme_options['main_header_logo']['id'], array(600, 200));
|
25 |
+
}
|
26 |
+
|
27 |
+
$title = $theme_options['main_header_title'];
|
28 |
+
if (empty($title)) $title = get_option('blogname');
|
29 |
|
30 |
if (isset($theme_options['theme_posts'])) {
|
31 |
$filters = array();
|
32 |
|
33 |
+
$filters['posts_per_page'] = (int) $theme_options['theme_max_posts'];
|
|
|
|
|
|
|
34 |
|
35 |
if (!empty($theme_options['theme_categories'])) {
|
36 |
$filters['category__in'] = $theme_options['theme_categories'];
|
44 |
$filters['post_type'] = $theme_options['theme_post_types'];
|
45 |
}
|
46 |
|
47 |
+
$posts = Newsletter::instance()->get_posts($filters, $theme_options['theme_language']);
|
|
|
|
|
|
|
|
|
|
|
48 |
}
|
49 |
+
|
50 |
+
?><!doctype html>
|
51 |
+
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
|
52 |
+
<head>
|
53 |
+
<title>{email_subject}</title>
|
54 |
+
<!--[if !mso]><!-- -->
|
55 |
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
56 |
+
<!--<![endif]-->
|
57 |
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
58 |
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
59 |
+
<style type="text/css">
|
60 |
+
a {
|
61 |
+
text-decoration: none;
|
62 |
+
color: <?php echo $color; ?>;
|
63 |
+
}
|
64 |
+
#outlook a {
|
65 |
+
padding: 0;
|
66 |
+
}
|
67 |
+
|
68 |
+
body {
|
69 |
+
margin: 0;
|
70 |
+
padding: 0;
|
71 |
+
-webkit-text-size-adjust: 100%;
|
72 |
+
-ms-text-size-adjust: 100%;
|
73 |
+
}
|
74 |
+
|
75 |
+
table,
|
76 |
+
td {
|
77 |
+
border-collapse: collapse;
|
78 |
+
mso-table-lspace: 0pt;
|
79 |
+
mso-table-rspace: 0pt;
|
80 |
+
}
|
81 |
+
|
82 |
+
img {
|
83 |
+
border: 0;
|
84 |
+
height: auto;
|
85 |
+
line-height: 100%;
|
86 |
+
outline: none;
|
87 |
+
text-decoration: none;
|
88 |
+
-ms-interpolation-mode: bicubic;
|
89 |
+
}
|
90 |
+
|
91 |
+
p {
|
92 |
+
display: block;
|
93 |
+
margin: 13px 0;
|
94 |
+
}
|
95 |
+
</style>
|
96 |
+
<!--[if mso]>
|
97 |
+
<xml>
|
98 |
+
<o:OfficeDocumentSettings>
|
99 |
+
<o:AllowPNG/>
|
100 |
+
<o:PixelsPerInch>96</o:PixelsPerInch>
|
101 |
+
</o:OfficeDocumentSettings>
|
102 |
+
</xml>
|
103 |
+
<![endif]-->
|
104 |
+
|
105 |
+
<!--[if lte mso 11]>
|
106 |
+
<style type="text/css">
|
107 |
+
.mj-outlook-group-fix { width:100% !important; }
|
108 |
+
</style>
|
109 |
+
<![endif]-->
|
110 |
+
</head>
|
111 |
+
|
112 |
+
<body style="margin: 0!important; padding: 0!important; background-color: <?php echo $background ?>;">
|
113 |
+
|
114 |
+
<div style="background-color: <?php echo $background ?>;">
|
115 |
+
|
116 |
+
<br>
|
117 |
+
|
118 |
+
<div style="background-color: #ffffff; margin:0px auto;max-width:600px;font-family: Helvetica Neue, Helvetica, Arial, sans-serif; font-size: 14px; color: #666; padding: 0; border: 0">
|
119 |
+
|
120 |
+
<?php echo tnp_outlook_wrapper_open() ?>
|
121 |
+
|
122 |
+
<table align="center" bgcolor="#ffffff" width="100%" style="max-width: 600px; width: 100%; border-collapse: collapse;" cellpadding="0" cellspacing="0" border="0">
|
123 |
+
<tr>
|
124 |
+
<td valign="top" bgcolor="#ffffff" width="100%" align="left" style="text-align: left; font-family: Helvetica Neue, Helvetica, Arial, sans-serif; font-size: 14px; color: #666;">
|
125 |
+
|
126 |
+
<div style="text-align: center">
|
127 |
+
|
128 |
+
<?php if ($logo) { ?>
|
129 |
+
<img style="max-width: 500px" alt="<?php echo esc_attr($title) ?>" src="<?php echo esc_attr($logo) ?>">
|
130 |
+
<?php } else { ?>
|
131 |
+
<div style="padding: 30px 0; color: #000; font-size: 28px; border-bottom: 1px solid #ddd; text-align: center;">
|
132 |
+
<?php echo $title ?>
|
133 |
+
</div>
|
134 |
+
<?php if (!empty($theme_options['main_header_sub'])) { ?>
|
135 |
+
<div style="padding: 10px 0; color: #000; font-size: 16px; text-align: center;">
|
136 |
+
<?php echo $theme_options['main_header_sub'] ?>
|
137 |
</div>
|
138 |
+
<?php } ?>
|
139 |
+
<?php } ?>
|
140 |
+
|
141 |
+
</div>
|
142 |
|
143 |
|
144 |
+
<div style="padding: 10px 20px 20px 20px; background-color: #fff; line-height: 18px">
|
145 |
|
146 |
+
<p style="text-align: center; font-size: small;"><a target="_blank" href="{email_url}">View this email online</a></p>
|
147 |
|
148 |
+
<p>Here you can start to write your message. Be polite with your readers! Don't forget the subject of this message.</p>
|
149 |
+
|
150 |
+
<?php if (!empty($posts)) { ?>
|
151 |
+
|
152 |
+
<table cellpadding="5">
|
153 |
+
<?php foreach ($posts as $post) { ?>
|
154 |
+
<?php
|
155 |
+
setup_postdata($post);
|
156 |
+
$image = false;
|
157 |
+
|
158 |
+
if (isset($theme_options['theme_thumbnails'])) {
|
159 |
+
// Will be replaces with the new media resizer
|
160 |
+
$image = tnp_post_thumbnail_src($post, array(75, 75, true));
|
161 |
+
}
|
162 |
+
|
163 |
+
$url = get_permalink($post);
|
164 |
+
$excerpt = '';
|
165 |
+
if (isset($theme_options['theme_excerpts'])) {
|
166 |
+
$excerpt = '<p>' . tnp_post_excerpt($post) . '</p>';
|
167 |
+
}
|
168 |
+
?>
|
169 |
+
<tr>
|
170 |
+
<!-- Image column -->
|
171 |
+
<?php if (isset($theme_options['theme_thumbnails'])) { ?>
|
172 |
+
<td valign="top" width="75">
|
173 |
+
<?php if ($image) { ?>
|
174 |
+
<a target="_blank" href="<?php echo $url ?>"><img width="75" style="width: 75px; min-width: 75px" src="<?php echo $image ?>" alt="image"></a>
|
175 |
<?php } ?>
|
176 |
+
</td>
|
177 |
+
<?php } ?>
|
178 |
+
|
179 |
+
<td valign="top">
|
180 |
+
<a target="_blank" href="<?php echo $url ?>" style="font-size: 20px; line-height: 26px"><?php the_title(); ?></a>
|
181 |
+
<?php echo $excerpt ?>
|
182 |
+
</td>
|
183 |
+
</tr>
|
184 |
+
<?php } ?>
|
185 |
+
</table>
|
186 |
+
<?php } ?>
|
187 |
|
188 |
+
<?php include WP_PLUGIN_DIR . '/newsletter/emails/themes/default/footer.php'; ?>
|
189 |
|
190 |
+
</div>
|
191 |
|
192 |
+
</td>
|
193 |
+
</tr>
|
194 |
+
</table>
|
195 |
+
|
196 |
+
<?php echo tnp_outlook_wrapper_close() ?>
|
197 |
+
|
198 |
+
</div>
|
199 |
+
|
200 |
+
</div>
|
201 |
+
|
202 |
+
</body>
|
203 |
</html>
|
images/theme-screenshot.png
CHANGED
Binary file
|
includes/helper.php
CHANGED
@@ -148,3 +148,11 @@ function tnp_media_resize($media_id, $size) {
|
|
148 |
|
149 |
return $uploads['baseurl'] . '/newsletter/thumbnails/' . $relative_thumb;
|
150 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
|
149 |
return $uploads['baseurl'] . '/newsletter/thumbnails/' . $relative_thumb;
|
150 |
}
|
151 |
+
|
152 |
+
function tnp_outlook_wrapper_open($width = 600) {
|
153 |
+
return NewsletterEmails::get_outlook_wrapper_open($width);
|
154 |
+
}
|
155 |
+
|
156 |
+
function tnp_outlook_wrapper_close() {
|
157 |
+
return NewsletterEmails::get_outlook_wrapper_close();
|
158 |
+
}
|
includes/module.php
CHANGED
@@ -2,6 +2,12 @@
|
|
2 |
|
3 |
defined('ABSPATH') || exit;
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
class TNP_Composer {
|
6 |
|
7 |
static $block_dirs = array();
|
@@ -1127,7 +1133,7 @@ class NewsletterModule {
|
|
1127 |
}
|
1128 |
|
1129 |
$email = $this->get_email($id);
|
1130 |
-
|
1131 |
// TODO: Check the token? It's really useful?
|
1132 |
|
1133 |
return $email;
|
@@ -1339,7 +1345,7 @@ class NewsletterModule {
|
|
1339 |
}
|
1340 |
return $r;
|
1341 |
}
|
1342 |
-
|
1343 |
/**
|
1344 |
* Accepts a user ID or a TNP_User object. Does not check if the user really exists.
|
1345 |
*
|
@@ -1978,6 +1984,7 @@ class NewsletterModule {
|
|
1978 |
}
|
1979 |
|
1980 |
|
|
|
1981 |
$text = str_replace('{surname}', $user->surname, $text);
|
1982 |
$text = str_replace('{last_name}', $user->surname, $text);
|
1983 |
|
@@ -2005,20 +2012,8 @@ class NewsletterModule {
|
|
2005 |
$base = (empty($this->options_main['url']) ? get_option('home') : $this->options_main['url']);
|
2006 |
$id_token = '&ni=' . $user->id . '&nt=' . $user->token;
|
2007 |
|
2008 |
-
|
2009 |
-
$nek = false;
|
2010 |
-
if ($email) {
|
2011 |
-
$nek = $this->get_email_key($email);
|
2012 |
-
$text = str_replace('{email_id}', $email->id, $text);
|
2013 |
-
$text = str_replace('{email_key}', $nek, $text);
|
2014 |
-
$text = str_replace('{email_subject}', $email->subject, $text);
|
2015 |
-
// Deprecated
|
2016 |
-
$text = str_replace('{subject}', $email->subject, $text);
|
2017 |
-
$text = $this->replace_url($text, 'EMAIL_URL', $this->build_action_url('v', $user) . '&id=' . $email->id);
|
2018 |
-
}
|
2019 |
-
|
2020 |
$text = $this->replace_url($text, 'SUBSCRIPTION_CONFIRM_URL', $this->build_action_url('c', $user));
|
2021 |
-
$text = $this->replace_url($text, 'ACTIVATION_URL', $this->build_action_url('
|
2022 |
|
2023 |
// Obsolete.
|
2024 |
$text = $this->replace_url($text, 'FOLLOWUP_SUBSCRIPTION_URL', self::add_qs($base, 'nm=fs' . $id_token));
|
@@ -2028,8 +2023,18 @@ class NewsletterModule {
|
|
2028 |
} else {
|
2029 |
$text = $this->replace_url($text, 'SUBSCRIPTION_CONFIRM_URL', '#');
|
2030 |
$text = $this->replace_url($text, 'ACTIVATION_URL', '#');
|
2031 |
-
|
2032 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2033 |
}
|
2034 |
|
2035 |
if (strpos($text, '{subscription_form}') !== false) {
|
@@ -2294,7 +2299,7 @@ class NewsletterModule {
|
|
2294 |
}
|
2295 |
return $current_language;
|
2296 |
}
|
2297 |
-
|
2298 |
// Polylang
|
2299 |
if (function_exists('pll_current_language')) {
|
2300 |
return pll_current_language();
|
2 |
|
3 |
defined('ABSPATH') || exit;
|
4 |
|
5 |
+
class TNP_Media {
|
6 |
+
var $url;
|
7 |
+
var $width;
|
8 |
+
var $height;
|
9 |
+
}
|
10 |
+
|
11 |
class TNP_Composer {
|
12 |
|
13 |
static $block_dirs = array();
|
1133 |
}
|
1134 |
|
1135 |
$email = $this->get_email($id);
|
1136 |
+
|
1137 |
// TODO: Check the token? It's really useful?
|
1138 |
|
1139 |
return $email;
|
1345 |
}
|
1346 |
return $r;
|
1347 |
}
|
1348 |
+
|
1349 |
/**
|
1350 |
* Accepts a user ID or a TNP_User object. Does not check if the user really exists.
|
1351 |
*
|
1984 |
}
|
1985 |
|
1986 |
|
1987 |
+
// Deprecated
|
1988 |
$text = str_replace('{surname}', $user->surname, $text);
|
1989 |
$text = str_replace('{last_name}', $user->surname, $text);
|
1990 |
|
2012 |
$base = (empty($this->options_main['url']) ? get_option('home') : $this->options_main['url']);
|
2013 |
$id_token = '&ni=' . $user->id . '&nt=' . $user->token;
|
2014 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015 |
$text = $this->replace_url($text, 'SUBSCRIPTION_CONFIRM_URL', $this->build_action_url('c', $user));
|
2016 |
+
$text = $this->replace_url($text, 'ACTIVATION_URL', $this->build_action_url('c', $user));
|
2017 |
|
2018 |
// Obsolete.
|
2019 |
$text = $this->replace_url($text, 'FOLLOWUP_SUBSCRIPTION_URL', self::add_qs($base, 'nm=fs' . $id_token));
|
2023 |
} else {
|
2024 |
$text = $this->replace_url($text, 'SUBSCRIPTION_CONFIRM_URL', '#');
|
2025 |
$text = $this->replace_url($text, 'ACTIVATION_URL', '#');
|
2026 |
+
}
|
2027 |
+
|
2028 |
+
if ($email) {
|
2029 |
+
$nek = $this->get_email_key($email);
|
2030 |
+
$text = str_replace('{email_id}', $email->id, $text);
|
2031 |
+
$text = str_replace('{email_key}', $nek, $text);
|
2032 |
+
$text = str_replace('{email_subject}', $email->subject, $text);
|
2033 |
+
// Deprecated
|
2034 |
+
$text = str_replace('{subject}', $email->subject, $text);
|
2035 |
+
$text = $this->replace_url($text, 'EMAIL_URL', $this->build_action_url('v', $user) . '&id=' . $email->id);
|
2036 |
+
} else {
|
2037 |
+
$text = $this->replace_url($text, 'EMAIL_URL', '#');
|
2038 |
}
|
2039 |
|
2040 |
if (strpos($text, '{subscription_form}') !== false) {
|
2299 |
}
|
2300 |
return $current_language;
|
2301 |
}
|
2302 |
+
|
2303 |
// Polylang
|
2304 |
if (function_exists('pll_current_language')) {
|
2305 |
return pll_current_language();
|
includes/themes.php
CHANGED
@@ -1,225 +1,184 @@
|
|
1 |
<?php
|
2 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
4 |
class NewsletterThemes {
|
5 |
|
6 |
var $module;
|
7 |
var $is_extension = false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
9 |
function __construct($module, $is_extension = false) {
|
10 |
$this->module = $module;
|
11 |
$this->is_extension = $is_extension;
|
12 |
}
|
13 |
|
14 |
-
/**
|
15 |
-
*
|
16 |
-
*
|
17 |
-
*
|
18 |
-
*
|
19 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
*/
|
21 |
-
function
|
22 |
-
$list = array();
|
23 |
|
24 |
-
$dir
|
25 |
-
|
26 |
-
|
27 |
-
if ($handle !== false) {
|
28 |
-
while ($file = readdir($handle)) {
|
29 |
-
if ($file == '.' || $file == '..')
|
30 |
-
continue;
|
31 |
-
if (!is_file($dir . '/' . $file . '/theme.php'))
|
32 |
-
continue;
|
33 |
-
$list[$file] = $file;
|
34 |
-
}
|
35 |
-
closedir($handle);
|
36 |
}
|
37 |
-
|
38 |
-
if (
|
39 |
-
|
40 |
-
$handle = @opendir($dir);
|
41 |
-
|
42 |
-
if ($handle !== false) {
|
43 |
-
while ($file = readdir($handle)) {
|
44 |
-
if ($file == '.' || $file == '..')
|
45 |
-
continue;
|
46 |
-
if (isset($list[$file]))
|
47 |
-
continue;
|
48 |
-
if (!is_file($dir . '/' . $file . '/theme.php'))
|
49 |
-
continue;
|
50 |
-
|
51 |
-
$list[$file] = $file;
|
52 |
-
}
|
53 |
-
closedir($handle);
|
54 |
-
}
|
55 |
}
|
56 |
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
}
|
66 |
-
return
|
67 |
}
|
68 |
|
69 |
function get_all_with_data() {
|
70 |
$list = array();
|
71 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
$dir = WP_CONTENT_DIR . '/extensions/newsletter/' . $this->module . '/themes';
|
73 |
$handle = @opendir($dir);
|
74 |
|
75 |
if ($handle !== false) {
|
76 |
while ($file = readdir($handle)) {
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
if (isset($list[$
|
81 |
-
continue;
|
82 |
-
}
|
83 |
-
if (!is_file($dir . '/' . $file . '/theme.php')) {
|
84 |
continue;
|
85 |
}
|
86 |
-
|
87 |
-
$data['id'] = $
|
88 |
-
if (empty($data['name'])) {
|
89 |
-
$data['name'] = $file;
|
90 |
-
}
|
91 |
-
if (empty($data['type'])) {
|
92 |
-
$data['type'] = 'standard';
|
93 |
-
}
|
94 |
-
$screenshot = $dir . '/' . $file . '/screenshot.png';
|
95 |
-
if (is_file($screenshot)) {
|
96 |
-
$data['screenshot'] = $this->get_theme_url($file) . '/screenshot.png';
|
97 |
-
} else {
|
98 |
-
$data['screenshot'] = plugins_url('newsletter') . '/images/theme-screenshot.png';
|
99 |
-
}
|
100 |
-
$list[$file] = $data;
|
101 |
}
|
102 |
closedir($handle);
|
103 |
}
|
|
|
|
|
|
|
104 |
|
105 |
-
|
106 |
-
$
|
107 |
-
|
108 |
-
|
109 |
-
if ($handle !== false) {
|
110 |
-
while ($file = readdir($handle)) {
|
111 |
-
if ($file == '.' || $file == '..') {
|
112 |
-
continue;
|
113 |
-
}
|
114 |
-
if (!is_file($dir . '/' . $file . '/theme.php')) {
|
115 |
-
continue;
|
116 |
-
}
|
117 |
-
$data = get_file_data($dir . '/' . $file . '/theme.php', array('name' => 'Name', 'type' => 'Type', 'description'=>'Description'));
|
118 |
-
$data['id'] = $file;
|
119 |
-
if (empty($data['name'])) {
|
120 |
-
$data['name'] = $file;
|
121 |
-
}
|
122 |
-
if (empty($data['type'])) {
|
123 |
-
$data['type'] = 'standard';
|
124 |
-
}
|
125 |
-
$screenshot = $dir . '/' . $file . '/screenshot.png';
|
126 |
-
if (is_file($screenshot)) {
|
127 |
-
$data['screenshot'] = $this->get_theme_url($file) . '/screenshot.png';
|
128 |
-
} else {
|
129 |
-
$data['screenshot'] = plugins_url('newsletter') . '/images/theme-screenshot.png';
|
130 |
-
}
|
131 |
-
$list[$file] = $data;
|
132 |
-
}
|
133 |
-
closedir($handle);
|
134 |
}
|
135 |
-
}
|
136 |
|
137 |
-
|
|
|
138 |
|
139 |
return $list;
|
140 |
}
|
141 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
/**
|
143 |
*
|
144 |
* @param type $theme
|
145 |
* @param type $options
|
146 |
* @param type $module
|
147 |
*/
|
148 |
-
function save_options($
|
149 |
-
add_option('newsletter_' . $this->module . '_theme_' . $theme, array(), null, 'no');
|
150 |
$theme_options = array();
|
151 |
foreach ($options as $key => &$value) {
|
152 |
if (substr($key, 0, 6) != 'theme_')
|
153 |
continue;
|
154 |
$theme_options[$key] = $value;
|
155 |
}
|
156 |
-
update_option('newsletter_' . $this->module . '_theme_' . $
|
157 |
}
|
158 |
|
159 |
-
function get_options($
|
160 |
-
$options = get_option('newsletter_' . $this->module . '_theme_' . $
|
161 |
// To avoid merge problems.
|
162 |
if (!is_array($options)) {
|
163 |
$options = array();
|
164 |
}
|
165 |
-
|
|
|
|
|
|
|
166 |
if (is_file($file)) {
|
167 |
@include $file;
|
168 |
}
|
169 |
if (isset($theme_defaults) && is_array($theme_defaults)) {
|
170 |
$options = array_merge($theme_defaults, $options);
|
171 |
}
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
if (is_file($path)) {
|
178 |
-
return $path;
|
179 |
-
} else {
|
180 |
-
return NEWSLETTER_DIR . '/' . $this->module . '/themes/' . $theme . '/' . $file;
|
181 |
-
}
|
182 |
-
}
|
183 |
-
|
184 |
-
function get_theme_url($theme) {
|
185 |
-
if ($this->is_extension) {
|
186 |
-
return WP_CONTENT_URL . '/extensions/newsletter/' . $this->module . '/themes/' . $theme;
|
187 |
-
}
|
188 |
-
|
189 |
-
$path = NEWSLETTER_DIR . '/' . $this->module . '/themes/' . $theme;
|
190 |
-
if (is_dir($path)) {
|
191 |
-
return plugins_url('newsletter') . '/' . $this->module . '/themes/' . $theme;
|
192 |
-
} else {
|
193 |
-
return WP_CONTENT_URL . '/extensions/newsletter/' . $this->module . '/themes/' . $theme;
|
194 |
}
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
$path2 = WP_CONTENT_DIR . '/extensions/newsletter/' . $this->module . '/themes/' . $theme . '/languages';
|
200 |
-
@include $path2 . '/en_US.php';
|
201 |
-
@include $path2 . '/' . WPLANG . '.php';
|
202 |
-
} else {
|
203 |
-
$path1 = NEWSLETTER_DIR . '/' . $this->module . '/themes/' . $theme . '/languages';
|
204 |
-
$path2 = WP_CONTENT_DIR . '/extensions/newsletter/' . $this->module . '/themes/' . $theme . '/languages';
|
205 |
-
@include $path1 . '/en_US.php';
|
206 |
-
@include $path2 . '/en_US.php';
|
207 |
-
@include $path1 . '/' . WPLANG . '.php';
|
208 |
-
@include $path2 . '/' . WPLANG . '.php';
|
209 |
}
|
210 |
-
|
211 |
-
if (!is_array($options))
|
212 |
-
return array();
|
213 |
return $options;
|
214 |
}
|
215 |
-
|
216 |
}
|
217 |
|
218 |
-
function nt_option($name, $def = null) {
|
219 |
-
$options = get_option('newsletter_email');
|
220 |
-
$option = $options['theme_' . $name];
|
221 |
-
if (!isset($option))
|
222 |
-
return $def;
|
223 |
-
else
|
224 |
-
return $option;
|
225 |
-
}
|
1 |
<?php
|
2 |
+
|
3 |
+
defined('ABSPATH') || exit;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Registers a Newsletter theme to be shown as option on standard newsletter creation
|
7 |
+
* Designers love functions...
|
8 |
+
* @param string $dir The absolute path of a folder containing a Newsletter theme
|
9 |
+
*/
|
10 |
+
function tnp_register_theme($dir) {
|
11 |
+
NewsletterThemes::register_theme($dir);
|
12 |
+
}
|
13 |
|
14 |
class NewsletterThemes {
|
15 |
|
16 |
var $module;
|
17 |
var $is_extension = false;
|
18 |
+
static $registered_theme_dirs = array();
|
19 |
+
|
20 |
+
static function register_theme($dir) {
|
21 |
+
if (!file_exists($dir . '/theme.php')) {
|
22 |
+
$error = new WP_Error('1', 'theme.php missing on folder ' . $dir);
|
23 |
+
return $error;
|
24 |
+
}
|
25 |
+
self::$registered_theme_dirs[] = $dir;
|
26 |
+
return true;
|
27 |
+
}
|
28 |
|
29 |
function __construct($module, $is_extension = false) {
|
30 |
$this->module = $module;
|
31 |
$this->is_extension = $is_extension;
|
32 |
}
|
33 |
|
34 |
+
/**
|
35 |
+
* Build an associative array which represent a theme starting from the theme
|
36 |
+
* parsing the files in the theme folder.<br>
|
37 |
+
* dir - the full path to the theme folder<br>
|
38 |
+
* url - the full url to the theme folder (to reference assets like images)<br>
|
39 |
+
* id - the folder name, used as unique identifier<br>
|
40 |
+
* screenshot - url to an image representing the theme (400x400)<br>
|
41 |
+
* name - the readable theme name extracted from the theme.php<br>
|
42 |
+
*
|
43 |
+
* description - not used
|
44 |
+
* type - not used
|
45 |
+
*
|
46 |
+
* @param string $dir
|
47 |
+
* @return array
|
48 |
*/
|
49 |
+
function build_theme($dir) {
|
|
|
50 |
|
51 |
+
if (!is_dir($dir)) {
|
52 |
+
return null;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
}
|
54 |
+
|
55 |
+
if (!is_file($dir . '/theme.php')) {
|
56 |
+
return null;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
}
|
58 |
|
59 |
+
$data = get_file_data($dir . '/theme.php', array('name' => 'Name', 'type' => 'Type', 'description' => 'Description'));
|
60 |
+
$data['id'] = basename($dir);
|
61 |
+
$data['dir'] = $dir;
|
62 |
+
if (empty($data['name'])) {
|
63 |
+
$data['name'] = $data['id'];
|
64 |
+
}
|
65 |
+
|
66 |
+
if (empty($data['type'])) {
|
67 |
+
$data['type'] = 'standard';
|
68 |
+
}
|
69 |
+
$relative_dir = substr($dir, strlen(WP_CONTENT_DIR));
|
70 |
+
$data['url'] = content_url($relative_dir);
|
71 |
+
$screenshot = $dir . '/screenshot.png';
|
72 |
+
if (is_file($screenshot)) {
|
73 |
+
$relative_dir = substr($dir, strlen(WP_CONTENT_DIR));
|
74 |
+
$data['screenshot'] = $data['url'] . '/screenshot.png';
|
75 |
+
} else {
|
76 |
+
$data['screenshot'] = plugins_url('newsletter') . '/images/theme-screenshot.png';
|
77 |
}
|
78 |
+
return $data;
|
79 |
}
|
80 |
|
81 |
function get_all_with_data() {
|
82 |
$list = array();
|
83 |
|
84 |
+
// Packaged themes
|
85 |
+
$list['default'] = $this->build_theme(NEWSLETTER_DIR . '/emails/themes/default');
|
86 |
+
$list['blank'] = $this->build_theme(NEWSLETTER_DIR . '/emails/themes/blank');
|
87 |
+
$list['cta-2015'] = $this->build_theme(NEWSLETTER_DIR . '/emails/themes/cta-2015');
|
88 |
+
$list['vimeo-like'] = $this->build_theme(NEWSLETTER_DIR . '/emails/themes/vimeo-like');
|
89 |
+
|
90 |
+
// Extensions folder scan
|
91 |
$dir = WP_CONTENT_DIR . '/extensions/newsletter/' . $this->module . '/themes';
|
92 |
$handle = @opendir($dir);
|
93 |
|
94 |
if ($handle !== false) {
|
95 |
while ($file = readdir($handle)) {
|
96 |
+
|
97 |
+
$data = $this->build_theme($dir . '/' . $file);
|
98 |
+
|
99 |
+
if (!$data || isset($list[$data['id']])) {
|
|
|
|
|
|
|
100 |
continue;
|
101 |
}
|
102 |
+
|
103 |
+
$list[$data['id']] = $data;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
104 |
}
|
105 |
closedir($handle);
|
106 |
}
|
107 |
+
|
108 |
+
// Registered themes
|
109 |
+
do_action('newsletter_register_themes');
|
110 |
|
111 |
+
foreach (self::$registered_theme_dirs as $dir) {
|
112 |
+
$data = $this->build_theme($dir);
|
113 |
+
if (!$data || isset($list[$data['id']])) {
|
114 |
+
continue;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
}
|
|
|
116 |
|
117 |
+
$list[$data['id']] = $data;
|
118 |
+
}
|
119 |
|
120 |
return $list;
|
121 |
}
|
122 |
|
123 |
+
/**
|
124 |
+
* Returns a data structure containing the theme details.
|
125 |
+
*
|
126 |
+
* @param string $id
|
127 |
+
* @return array
|
128 |
+
*/
|
129 |
+
function get_theme($id) {
|
130 |
+
$themes = $this->get_all_with_data();
|
131 |
+
if (isset($themes[$id])) {
|
132 |
+
return $themes[$id];
|
133 |
+
}
|
134 |
+
return null;
|
135 |
+
}
|
136 |
+
|
137 |
/**
|
138 |
*
|
139 |
* @param type $theme
|
140 |
* @param type $options
|
141 |
* @param type $module
|
142 |
*/
|
143 |
+
function save_options($theme_id, &$options) {
|
|
|
144 |
$theme_options = array();
|
145 |
foreach ($options as $key => &$value) {
|
146 |
if (substr($key, 0, 6) != 'theme_')
|
147 |
continue;
|
148 |
$theme_options[$key] = $value;
|
149 |
}
|
150 |
+
update_option('newsletter_' . $this->module . '_theme_' . $theme_id, $theme_options, false);
|
151 |
}
|
152 |
|
153 |
+
function get_options($theme_id) {
|
154 |
+
$options = get_option('newsletter_' . $this->module . '_theme_' . $theme_id);
|
155 |
// To avoid merge problems.
|
156 |
if (!is_array($options)) {
|
157 |
$options = array();
|
158 |
}
|
159 |
+
|
160 |
+
$theme = $this->get_theme($theme_id);
|
161 |
+
|
162 |
+
$file = $theme['dir'] . '/theme-defaults.php';
|
163 |
if (is_file($file)) {
|
164 |
@include $file;
|
165 |
}
|
166 |
if (isset($theme_defaults) && is_array($theme_defaults)) {
|
167 |
$options = array_merge($theme_defaults, $options);
|
168 |
}
|
169 |
+
|
170 |
+
// main options merge
|
171 |
+
$main_options = Newsletter::instance()->options;
|
172 |
+
foreach ($main_options as $key => $value) {
|
173 |
+
$options['main_' . $key] = $value;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
174 |
}
|
175 |
+
|
176 |
+
$info_options = Newsletter::instance()->get_options('info');
|
177 |
+
foreach ($info_options as $key => $value) {
|
178 |
+
$options['main_' . $key] = $value;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
}
|
180 |
+
|
|
|
|
|
181 |
return $options;
|
182 |
}
|
|
|
183 |
}
|
184 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
plugin.php
CHANGED
@@ -4,14 +4,14 @@
|
|
4 |
Plugin Name: Newsletter
|
5 |
Plugin URI: https://www.thenewsletterplugin.com/plugins/newsletter
|
6 |
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="https://www.thenewsletterplugin.com/category/release">this page</a> to know what's changed.</strong>
|
7 |
-
Version: 6.4.
|
8 |
Author: Stefano Lissa & The Newsletter Team
|
9 |
Author URI: https://www.thenewsletterplugin.com
|
10 |
Disclaimer: Use at your own risk. No warranty expressed or implied is provided.
|
11 |
Text Domain: newsletter
|
12 |
License: GPLv2 or later
|
13 |
|
14 |
-
Copyright 2009-
|
15 |
|
16 |
Newsletter is free software: you can redistribute it and/or modify
|
17 |
it under the terms of the GNU General Public License as published by
|
@@ -28,7 +28,7 @@
|
|
28 |
|
29 |
*/
|
30 |
|
31 |
-
define('NEWSLETTER_VERSION', '6.4.
|
32 |
|
33 |
global $newsletter, $wpdb;
|
34 |
|
@@ -196,8 +196,10 @@ class Newsletter extends NewsletterModule {
|
|
196 |
static $slugs = array();
|
197 |
if (empty($slugs)) {
|
198 |
$addons = $this->getTnpExtensions();
|
199 |
-
|
200 |
-
$
|
|
|
|
|
201 |
}
|
202 |
}
|
203 |
if (array_search($plugin_file, $slugs) !== false) {
|
@@ -1155,6 +1157,10 @@ class Newsletter extends NewsletterModule {
|
|
1155 |
if (empty($extensions_json)) {
|
1156 |
$url = "http://www.thenewsletterplugin.com/wp-content/extensions.json?ver=" . NEWSLETTER_VERSION;
|
1157 |
$extensions_response = wp_remote_get($url);
|
|
|
|
|
|
|
|
|
1158 |
$extensions_json = wp_remote_retrieve_body($extensions_response);
|
1159 |
if (!empty($extensions_json)) {
|
1160 |
set_transient('tnp_extensions_json', $extensions_json, 72 * 60 * 60);
|
4 |
Plugin Name: Newsletter
|
5 |
Plugin URI: https://www.thenewsletterplugin.com/plugins/newsletter
|
6 |
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="https://www.thenewsletterplugin.com/category/release">this page</a> to know what's changed.</strong>
|
7 |
+
Version: 6.4.6
|
8 |
Author: Stefano Lissa & The Newsletter Team
|
9 |
Author URI: https://www.thenewsletterplugin.com
|
10 |
Disclaimer: Use at your own risk. No warranty expressed or implied is provided.
|
11 |
Text Domain: newsletter
|
12 |
License: GPLv2 or later
|
13 |
|
14 |
+
Copyright 2009-2020 The Newsletter Team (email: info@thenewsletterplugin.com, web: https://www.thenewsletterplugin.com)
|
15 |
|
16 |
Newsletter is free software: you can redistribute it and/or modify
|
17 |
it under the terms of the GNU General Public License as published by
|
28 |
|
29 |
*/
|
30 |
|
31 |
+
define('NEWSLETTER_VERSION', '6.4.6');
|
32 |
|
33 |
global $newsletter, $wpdb;
|
34 |
|
196 |
static $slugs = array();
|
197 |
if (empty($slugs)) {
|
198 |
$addons = $this->getTnpExtensions();
|
199 |
+
if ($addons) {
|
200 |
+
foreach ($addons as $addon) {
|
201 |
+
$slugs[] = $addon->wp_slug;
|
202 |
+
}
|
203 |
}
|
204 |
}
|
205 |
if (array_search($plugin_file, $slugs) !== false) {
|
1157 |
if (empty($extensions_json)) {
|
1158 |
$url = "http://www.thenewsletterplugin.com/wp-content/extensions.json?ver=" . NEWSLETTER_VERSION;
|
1159 |
$extensions_response = wp_remote_get($url);
|
1160 |
+
if (is_wp_error($extensions_response)) {
|
1161 |
+
$this->logger->error($extensions_response);
|
1162 |
+
return false;
|
1163 |
+
}
|
1164 |
$extensions_json = wp_remote_retrieve_body($extensions_response);
|
1165 |
if (!empty($extensions_json)) {
|
1166 |
set_transient('tnp_extensions_json', $extensions_json, 72 * 60 * 60);
|
readme.txt
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
Tags: email, email marketing, newsletter, newsletter subscribers, welcome email, signup forms, contact, lead generation, popup, marketing automation
|
3 |
Requires at least: 3.4.0
|
4 |
Tested up to: 5.3.2
|
5 |
-
Stable tag: 6.4.
|
6 |
Requires PHP: 5.6
|
7 |
Contributors: satollo,webagile,michael-travan
|
8 |
|
@@ -109,6 +109,22 @@ Thank you, The Newsletter Team
|
|
109 |
|
110 |
== Changelog ==
|
111 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
112 |
= 6.4.4 =
|
113 |
|
114 |
* Automatic language detection on subscription when available
|
@@ -307,1676 +323,3 @@ Thank you, The Newsletter Team
|
|
307 |
|
308 |
* The Newsletter Plugin Composer - A new revamped drag & drop composer
|
309 |
* Several improvements and fixes
|
310 |
-
|
311 |
-
= 5.9.5 =
|
312 |
-
|
313 |
-
* Changed edit and delete icons on composer to avoid conflict with FontAwesome JS
|
314 |
-
|
315 |
-
= 5.9.4 =
|
316 |
-
|
317 |
-
* Added multi subscriber deletion
|
318 |
-
|
319 |
-
= 5.9.3 =
|
320 |
-
|
321 |
-
* Fixed multi newsletter deletion warning
|
322 |
-
* Fixed privacy checkbox
|
323 |
-
* Fixed a link on header warning
|
324 |
-
|
325 |
-
= 5.9.2 =
|
326 |
-
|
327 |
-
* Fixed a debug notice on subscription page
|
328 |
-
|
329 |
-
= 5.9.1 =
|
330 |
-
|
331 |
-
* Fixed language support on some shortcodes
|
332 |
-
|
333 |
-
= 5.9.0 =
|
334 |
-
|
335 |
-
* Fixes on privacy setting with multilanguage plugins
|
336 |
-
* Added per language statistics on subscribers statistics panel
|
337 |
-
* Added language set action on subscribers maintenance panel
|
338 |
-
* Separated the pre confirm and post confirm tokens
|
339 |
-
|
340 |
-
= 5.8.9 =
|
341 |
-
|
342 |
-
* Global constant to block the media resizing
|
343 |
-
* Resized thumbnails folder changed to the uploads folder (newsletter/thumbnails subfolder)
|
344 |
-
* Fall back on first post gallery image if the featured image is missing
|
345 |
-
* Patch to block third party plugins visual editor injection in out pages
|
346 |
-
* Fix media selector button on visual composer
|
347 |
-
|
348 |
-
= 5.8.8 =
|
349 |
-
|
350 |
-
* Fixed multilanguage text for newsletter page
|
351 |
-
* Fixed a profile panel debug notice
|
352 |
-
|
353 |
-
= 5.8.7 =
|
354 |
-
|
355 |
-
* Tags replacement even on template for messages
|
356 |
-
* Fixed profile page labels translation
|
357 |
-
* Added text and title color on hero block
|
358 |
-
* Added text color on preheader block
|
359 |
-
* Fixed giphy options panel
|
360 |
-
|
361 |
-
|
362 |
-
= 5.8.6 =
|
363 |
-
|
364 |
-
* Improved geolocation support
|
365 |
-
* Improved composer image block
|
366 |
-
|
367 |
-
= 5.8.5 =
|
368 |
-
|
369 |
-
* Reverted back to select2 3.x
|
370 |
-
* Added last_ip field for better geolocation
|
371 |
-
* Changed the thumbnails folder from wp-content to wp-content/uploads
|
372 |
-
* Added a more uniform internal mailer management
|
373 |
-
* Improved the mail test on status panel
|
374 |
-
|
375 |
-
= 5.8.4 =
|
376 |
-
|
377 |
-
* Fixed export error
|
378 |
-
|
379 |
-
= 5.8.3 =
|
380 |
-
|
381 |
-
* Fixed a debug notice with PHP 7.2
|
382 |
-
* Status, SMTP and main settings limited to the administrators
|
383 |
-
* Fixed buttons overlapping on composer text block
|
384 |
-
* Support for the advanced import addons
|
385 |
-
|
386 |
-
= 5.8.2 =
|
387 |
-
|
388 |
-
* Fixed shortcode check on dedicated page
|
389 |
-
|
390 |
-
= 5.8.1 =
|
391 |
-
|
392 |
-
* Delivery expected time indicator on status panel
|
393 |
-
* Fixed notice on email token missing
|
394 |
-
* Addons installation availability on status panel
|
395 |
-
* Option to remove the dedicated page check
|
396 |
-
|
397 |
-
= 5.8.0 =
|
398 |
-
|
399 |
-
* Addons manager compatibility
|
400 |
-
|
401 |
-
= 5.7.9 =
|
402 |
-
|
403 |
-
* Fixes on add-ons panel
|
404 |
-
|
405 |
-
= 5.7.8 =
|
406 |
-
|
407 |
-
* Support for the [Add on Manager](https://www.thenewsletterplugin.com/documentation/how-to-install-the-addons-manager)
|
408 |
-
|
409 |
-
= 5.7.7 =
|
410 |
-
|
411 |
-
* TinyMCE library fix
|
412 |
-
|
413 |
-
= 5.7.6 =
|
414 |
-
|
415 |
-
* Included third party's js libraries
|
416 |
-
|
417 |
-
= 5.7.5 =
|
418 |
-
|
419 |
-
* Init hook priority fix for who uses alternative wp cron
|
420 |
-
|
421 |
-
= 5.7.4 =
|
422 |
-
|
423 |
-
* Support for first and last name from wp users integration extension
|
424 |
-
* CSS fix for few themes
|
425 |
-
|
426 |
-
= 5.7.3 =
|
427 |
-
|
428 |
-
* Fixed block padding warning
|
429 |
-
* Fixed lists display on import panel
|
430 |
-
* Fixed lists display on targeting panel when in multilanguage mode
|
431 |
-
|
432 |
-
= 5.7.2 =
|
433 |
-
|
434 |
-
* Improvements on posts block
|
435 |
-
* New hero block layout
|
436 |
-
* Transaltepress extension compatibility pack
|
437 |
-
|
438 |
-
= 5.7.1 =
|
439 |
-
|
440 |
-
* Improvements on posts block
|
441 |
-
|
442 |
-
= 5.7.0 =
|
443 |
-
|
444 |
-
* Cancellation error message fix
|
445 |
-
|
446 |
-
= 5.6.9 =
|
447 |
-
|
448 |
-
* Improved separator block for Outlook compatibility
|
449 |
-
* Fixed "read more" button on posts block
|
450 |
-
* Fixed lists on notification email
|
451 |
-
|
452 |
-
= 5.6.8 =
|
453 |
-
|
454 |
-
* Removed debug notices
|
455 |
-
|
456 |
-
= 5.6.7 =
|
457 |
-
|
458 |
-
* Fixed multilanguage support for service messages template
|
459 |
-
|
460 |
-
= 5.6.6 =
|
461 |
-
|
462 |
-
* Fixed unsubscription two-steps process message
|
463 |
-
|
464 |
-
= 5.6.5 =
|
465 |
-
|
466 |
-
* Fixed email validation message
|
467 |
-
|
468 |
-
= 5.6.4 =
|
469 |
-
|
470 |
-
* Fixed reactivation message display
|
471 |
-
|
472 |
-
= 5.6.3 =
|
473 |
-
|
474 |
-
* Removed unused files
|
475 |
-
* Fixed few links with permalink disabled and WMPL language as parameter
|
476 |
-
* Fixed the minimal form with WPML
|
477 |
-
|
478 |
-
= 5.6.2 =
|
479 |
-
|
480 |
-
* readme.txt improvements
|
481 |
-
* Fixed subscribe URL for blogs with WPML and permalinks disabled
|
482 |
-
|
483 |
-
= 5.6.1 =
|
484 |
-
|
485 |
-
* Fix debug notice on profile URL when no privacy page is set on WP
|
486 |
-
* Fixed export list filter
|
487 |
-
|
488 |
-
= 5.6.0 =
|
489 |
-
|
490 |
-
* Lists pre-assignment by language (no more need to customize the newsletter shortcode or duplicate the widgets)
|
491 |
-
* Improved Polylang support (still not fully tested)
|
492 |
-
|
493 |
-
= 5.5.9 =
|
494 |
-
|
495 |
-
* Fixed a possible debug notice on subscription without a dedicated page configured
|
496 |
-
* Fixed minimal widget with WPML language selector without permalink
|
497 |
-
|
498 |
-
= 5.5.8 =
|
499 |
-
|
500 |
-
* Fixed multilanguage text on profile page
|
501 |
-
* Fix the image resizer for small images
|
502 |
-
* Page message url based on subscriber language if available
|
503 |
-
|
504 |
-
= 5.5.7 =
|
505 |
-
|
506 |
-
* Fixed the unsubscription multilanguage messages using even the user language
|
507 |
-
* Fixed the goodby message
|
508 |
-
|
509 |
-
= 5.5.5 =
|
510 |
-
|
511 |
-
* Minimal form fix with WPML
|
512 |
-
* Privacy label fix with WPML
|
513 |
-
|
514 |
-
= 5.5.4 =
|
515 |
-
|
516 |
-
* WPML integration. [Read our integration page](https://www.thenewsletterplugin.com/documentation/multilanguage)
|
517 |
-
|
518 |
-
= 5.5.3 =
|
519 |
-
|
520 |
-
* Updated tinyMCE for Edge compatibility
|
521 |
-
* Debug mode notification
|
522 |
-
* Fix debug notice on profile page
|
523 |
-
|
524 |
-
= 5.5.2 =
|
525 |
-
|
526 |
-
* Fixed the multiple dedicated page creation on Welcome screen
|
527 |
-
|
528 |
-
= 5.5.1 =
|
529 |
-
|
530 |
-
* Fixed few debug notices
|
531 |
-
* API unsubscription messages fix
|
532 |
-
|
533 |
-
= 5.5.0 =
|
534 |
-
|
535 |
-
* Added IP storage control
|
536 |
-
* Fixed a warning and a debug notice
|
537 |
-
* Aggregated warnings on admin side
|
538 |
-
|
539 |
-
= 5.4.9 =
|
540 |
-
|
541 |
-
* Lists management in APIs
|
542 |
-
* Code cleanup
|
543 |
-
* New subscribers data export controls
|
544 |
-
* New global check and notice if the dedicated page is misconfigured
|
545 |
-
* Fix privacy note display on profile page even without a privacy url set
|
546 |
-
|
547 |
-
= 5.4.8 =
|
548 |
-
|
549 |
-
* Fixed the (duplicated) style.css reference
|
550 |
-
|
551 |
-
= 5.4.7 =
|
552 |
-
|
553 |
-
* Fixed pre-assigned lists
|
554 |
-
|
555 |
-
= 5.4.6 =
|
556 |
-
|
557 |
-
* Fixed few debug notices
|
558 |
-
* Added more translatable texts
|
559 |
-
* Improved performances
|
560 |
-
* Profile saving used as confirmation
|
561 |
-
* Fixed the captcha layout and style
|
562 |
-
* Fix initialization default messages template on first install
|
563 |
-
|
564 |
-
= 5.4.5 =
|
565 |
-
|
566 |
-
* Fixed tested up version value in readme.txt
|
567 |
-
* Added support for the WP privacy url
|
568 |
-
* Added initialization values for company info on first installation
|
569 |
-
* Fixed few debug notices
|
570 |
-
* Added button in lists panel to dissociate the list from every subscriber (list clean up)
|
571 |
-
* Fix of messages on profile editing panel
|
572 |
-
|
573 |
-
= 5.4.4 =
|
574 |
-
|
575 |
-
* Fixed warning on default option init
|
576 |
-
|
577 |
-
= 5.4.3 =
|
578 |
-
|
579 |
-
* Improved the profile editing page and the email change check with activation id in double opt-in mode
|
580 |
-
* New profile editing panel configuration
|
581 |
-
* Privacy notice optionally even on profile panel
|
582 |
-
* New list change logging with source
|
583 |
-
* Removed old tabled-layout on profile editing page
|
584 |
-
* Clean up procedure for statistics and logs tables
|
585 |
-
* Removed old widget layout
|
586 |
-
* New options on list management panel
|
587 |
-
* Forced lists option removed from the subscription panel
|
588 |
-
* Dedicated page moved to main settings panel
|
589 |
-
* Tracking default value on main settings panel
|
590 |
-
* Removed old translations
|
591 |
-
* Added default option files
|
592 |
-
* Service message template no more on PHP file, the configurable template must be used
|
593 |
-
* Reactivation after cancellation feature
|
594 |
-
* Revised and simplified all texts for easy translation by the community
|
595 |
-
* The messages alternative page (/extensions/newsletter/subscription/page.php) is now deprecated and will be removed
|
596 |
-
* New [cancellation documentation page published](/extensions/newsletter/subscription/page.php)
|
597 |
-
* Integrated SMTP is now deprecated (soon will be replaced with a **free extension**)
|
598 |
-
* {home_url} tag is now deprecated, use {blog_url} instead
|
599 |
-
* Introduced tags {company_name} and {company_address} replaced by info in the company info configuration
|
600 |
-
* Default template for messages has been improved with company contacts
|
601 |
-
* Repeated subscriptions management
|
602 |
-
* Generally improved the performances with caching and code clean up
|
603 |
-
* General CSS moved to the main settings panel
|
604 |
-
* Option to disable the default CSS
|
605 |
-
* Profile export fix
|
606 |
-
|
607 |
-
= 5.4.2 =
|
608 |
-
|
609 |
-
* SVN Deleted files fix
|
610 |
-
|
611 |
-
= 5.4.1 =
|
612 |
-
|
613 |
-
* Fixed debug notice in the standard widget
|
614 |
-
* Gender label fix
|
615 |
-
* Fixed the global variable conflict on widget (rare case)
|
616 |
-
* CSS fix on widget list field
|
617 |
-
|
618 |
-
= 5.4.0 =
|
619 |
-
|
620 |
-
* Fix lists as dropdown in the widget
|
621 |
-
|
622 |
-
= 5.3.9 =
|
623 |
-
|
624 |
-
* Version number fix
|
625 |
-
|
626 |
-
= 5.3.8 =
|
627 |
-
|
628 |
-
* Fixed failed insert on ip null
|
629 |
-
|
630 |
-
= 5.3.7 =
|
631 |
-
|
632 |
-
* Fixed the newsletter deletion with clean up of log tables
|
633 |
-
|
634 |
-
= 5.3.6 =
|
635 |
-
|
636 |
-
* Fixed composer block background editing
|
637 |
-
* Fixed API functions
|
638 |
-
* Minor fixes
|
639 |
-
|
640 |
-
= 5.3.5 =
|
641 |
-
|
642 |
-
* Fixed error notice on profile.php
|
643 |
-
|
644 |
-
= 5.3.4 =
|
645 |
-
|
646 |
-
* GDPR ready
|
647 |
-
* Maintenance option to add all subscriber without a list to a specified list
|
648 |
-
* Dismissed the tabled subscription form
|
649 |
-
* Fixed privacy checkbox label for field shortcode
|
650 |
-
* Logs of lists change
|
651 |
-
* Last activity tracking
|
652 |
-
* Retargeting/deletion of inactive subscribers
|
653 |
-
* Privacy checkbox without the checkbox (option)
|
654 |
-
* Personal data export
|
655 |
-
* Improved subscriber deletion with cleanup of log tables
|
656 |
-
|
657 |
-
= 5.3.3 =
|
658 |
-
|
659 |
-
* Added GIPHY composer block
|
660 |
-
* Added raw HTML composer block
|
661 |
-
* API: Newsletters and subscribers lists
|
662 |
-
|
663 |
-
= 5.3.2 =
|
664 |
-
|
665 |
-
* Security panel reorganized
|
666 |
-
* Added Akismet spam check
|
667 |
-
|
668 |
-
= 5.3.1 =
|
669 |
-
|
670 |
-
* Name and last name check for spam
|
671 |
-
* 404 responses on error condition
|
672 |
-
* jQuery fix
|
673 |
-
* Email cleanup on admin edit panel
|
674 |
-
* Name check for spam on subscription
|
675 |
-
|
676 |
-
= 5.3.0 =
|
677 |
-
|
678 |
-
* CAPTCHA system
|
679 |
-
* IP black list
|
680 |
-
* Email address black list
|
681 |
-
|
682 |
-
= 5.2.8 =
|
683 |
-
|
684 |
-
* Redirect fix
|
685 |
-
|
686 |
-
= 5.2.7 =
|
687 |
-
|
688 |
-
* Improved block layout
|
689 |
-
* Added filter on profile url
|
690 |
-
* Removed old obsolete query
|
691 |
-
* Improved the antibot
|
692 |
-
* Antiflood configurable to 30 minutes
|
693 |
-
|
694 |
-
= 5.2.6 =
|
695 |
-
|
696 |
-
* Fixed url attributes on privacy field shortcode
|
697 |
-
* Fixed few debug notices
|
698 |
-
* (NEW) PHP API for coders (and companion REST API with the free Newsletter API extension)
|
699 |
-
|
700 |
-
= 5.2.4 =
|
701 |
-
|
702 |
-
* readme.txt fix
|
703 |
-
* Improved extension version checking
|
704 |
-
* Changed the database timeout check on status panel
|
705 |
-
* Added support for pixel perfect thumb nails of media library images
|
706 |
-
|
707 |
-
= 5.2.3 =
|
708 |
-
|
709 |
-
* Newsletter subject ideas popup
|
710 |
-
|
711 |
-
= 5.2.2 =
|
712 |
-
|
713 |
-
* Removed create_function from widgets (compatibility PHP 7.2)
|
714 |
-
* Fixed the list exclusion condition
|
715 |
-
* Added [options to Newsletter shortcodes](https://www.thenewsletterplugin.com/documentation/subscription-form-shortcodes) to show the lists as dropdown
|
716 |
-
|
717 |
-
= 5.2.1 =
|
718 |
-
|
719 |
-
* Commit fix
|
720 |
-
|
721 |
-
= 5.2.0 =
|
722 |
-
|
723 |
-
* Fixed email_url tag (broken to fix Automated in previous version)
|
724 |
-
|
725 |
-
= 5.1.9 =
|
726 |
-
|
727 |
-
* Fixed debug notice on test email from Automated Extension
|
728 |
-
|
729 |
-
= 5.1.8 =
|
730 |
-
|
731 |
-
* Newsletter page creation fix
|
732 |
-
|
733 |
-
= 5.1.7 =
|
734 |
-
|
735 |
-
* NEW! Welcome wizard
|
736 |
-
|
737 |
-
= 5.1.6 =
|
738 |
-
|
739 |
-
* Fix list selection on first save
|
740 |
-
|
741 |
-
= 5.1.5 =
|
742 |
-
|
743 |
-
* Re-confirmation is now allows for unsubscribed and bounced
|
744 |
-
* Fixed to minimal widget and minimal css
|
745 |
-
* Fixed the approx. subscriber count on newsletter creation (was showing encoded data)
|
746 |
-
|
747 |
-
= 5.1.4 =
|
748 |
-
|
749 |
-
* Fixed notices on email edit panel
|
750 |
-
* Added microdata to the call to action block
|
751 |
-
* Added filter on name field while sending. [See this post](https://www.thenewsletterplugin.com/?p=54292)
|
752 |
-
* Improved the online [viewability rules](https://www.thenewsletterplugin.com/documentation/newsletters-module#view-online)
|
753 |
-
* Fixed theme editor bad behavior
|
754 |
-
* Fixed the min size of thumbnails on default theme
|
755 |
-
* Removed references to font awesome where not used
|
756 |
-
|
757 |
-
= 5.1.3 =
|
758 |
-
|
759 |
-
* Fixed newsletter duplication which was loosing the editor type
|
760 |
-
* Fixed gender saving on targeting
|
761 |
-
|
762 |
-
= 5.1.2 =
|
763 |
-
|
764 |
-
* Improved the speed report on status panel
|
765 |
-
* Removed the obsolete diagnostic panel
|
766 |
-
* Removed obsolete code
|
767 |
-
* Removed the locked content menu entry (please install the free content lock extension)
|
768 |
-
* Fixed validation call on widget minimal
|
769 |
-
* Added more translatable strings
|
770 |
-
* Fixed the editor CSS when a theme has its own
|
771 |
-
* Confirmation is now activation
|
772 |
-
* CSS clean up
|
773 |
-
|
774 |
-
= 5.1.1 =
|
775 |
-
|
776 |
-
* Fix on email check
|
777 |
-
|
778 |
-
= 5.1.0 =
|
779 |
-
|
780 |
-
* "ncu" parameter can be used for alternative welcome page as well, not only confirmation, when single opt in is selected
|
781 |
-
* Removed the old "email alternative" to create custom subscription messages templates (has no effects)
|
782 |
-
* Added the antiflood system
|
783 |
-
|
784 |
-
= 5.0.9 =
|
785 |
-
|
786 |
-
* Removed wp users integration and locked content now available as FREE optional extensions (to make the plugin smaller)
|
787 |
-
* Removed obsolete code loading old-style extensions
|
788 |
-
|
789 |
-
= 5.0.8 =
|
790 |
-
|
791 |
-
* Improved select 2 layout
|
792 |
-
* Support for conditional comments in the editor
|
793 |
-
|
794 |
-
= 5.0.7 =
|
795 |
-
|
796 |
-
* Fix a database table field size
|
797 |
-
|
798 |
-
= 5.0.6 =
|
799 |
-
|
800 |
-
* Improved performance with new db indexes
|
801 |
-
* Fixed a bug in social URLs
|
802 |
-
* Home URL check on status panel
|
803 |
-
* Fixed a not removable notice
|
804 |
-
|
805 |
-
= 5.0.5 =
|
806 |
-
|
807 |
-
* Fixed an administration notice removal
|
808 |
-
|
809 |
-
= 5.0.4 =
|
810 |
-
|
811 |
-
* Fix media selector for blog without absolute URLs
|
812 |
-
* Notice to install the wp users integration
|
813 |
-
* Added workaround for XSS protection in chrome on custom form when they contains JS code
|
814 |
-
|
815 |
-
= 5.0.3 =
|
816 |
-
|
817 |
-
* Added {email_url_encoded} tag
|
818 |
-
* Changed https to http for compatibility with old servers
|
819 |
-
|
820 |
-
= 5.0.2 =
|
821 |
-
|
822 |
-
* Fixed a notice on theme selection panel
|
823 |
-
* Fixed a block initialization error notice for woocommerce
|
824 |
-
* Improved the emoji support on newsletter subject
|
825 |
-
|
826 |
-
= 5.0.1 =
|
827 |
-
|
828 |
-
* Fixed and improved the heading block
|
829 |
-
* Fixed the can spam block (not showing default texts is not configured)
|
830 |
-
* Fixed the footer block changed the unsubscribe url to the profile url
|
831 |
-
|
832 |
-
= 5.0.0 =
|
833 |
-
|
834 |
-
* Added wp user identifier on subscriber details panel
|
835 |
-
* Fixed a notice on subscriber list panel
|
836 |
-
* Added the Auto-Submit header
|
837 |
-
* Added the X-Auto-Response-Suppress header
|
838 |
-
* Added microdata markup for native confirmation button on email clients
|
839 |
-
* Fixed url checking with ending spaces
|
840 |
-
* Fix for sites with forced relative content url
|
841 |
-
* Fix debug notices on vimeo theme
|
842 |
-
|
843 |
-
= 4.9.9 =
|
844 |
-
|
845 |
-
* Fixed action URL for hand written forms in the subscription text
|
846 |
-
* Fixed rewrite not working with specific html formatting
|
847 |
-
* Change the composer text editor height
|
848 |
-
|
849 |
-
= 4.9.8 =
|
850 |
-
|
851 |
-
* Fixed the antibot option
|
852 |
-
|
853 |
-
= 4.9.7 =
|
854 |
-
|
855 |
-
* Fixed setup script throwing a debug notice
|
856 |
-
* Changed chart library
|
857 |
-
|
858 |
-
= 4.9.6 =
|
859 |
-
|
860 |
-
* Extension version check improved
|
861 |
-
* HTML5 form source code on profile panel
|
862 |
-
|
863 |
-
= 4.9.5 =
|
864 |
-
|
865 |
-
* Fixed table creation with dbDelta
|
866 |
-
|
867 |
-
= 4.9.4 =
|
868 |
-
|
869 |
-
* Admin css fix
|
870 |
-
* Log fix
|
871 |
-
|
872 |
-
= 4.9.3 =
|
873 |
-
|
874 |
-
* Replacing fix
|
875 |
-
|
876 |
-
= 4.9.2 =
|
877 |
-
|
878 |
-
* Style fix
|
879 |
-
|
880 |
-
= 4.9.1 =
|
881 |
-
|
882 |
-
* Small code fixes
|
883 |
-
* Chart js conflict fix
|
884 |
-
* Curl SSL version on status panel
|
885 |
-
|
886 |
-
= 4.9.0 =
|
887 |
-
|
888 |
-
* Fixed logo editing when not set in the Company Info
|
889 |
-
* Fix few layout problem on the user statistics panel
|
890 |
-
* Composer layout improvements
|
891 |
-
* Added select2 support
|
892 |
-
* Fixed syntax error on status panel auto call check
|
893 |
-
* Fixed notice for theme without the text part
|
894 |
-
* Added chart.js from cdn
|
895 |
-
* Improved stats collection and aggregation
|
896 |
-
|
897 |
-
= 4.8.9 =
|
898 |
-
|
899 |
-
* Package problems on WP.org
|
900 |
-
|
901 |
-
= 4.8.8 =
|
902 |
-
|
903 |
-
* WP Users Integration and Locked Content Extensions readiness
|
904 |
-
* Improved the SSL management on admin side
|
905 |
-
* Fix privacy checkbox layout when the link is used
|
906 |
-
* Standard form CSS improvements
|
907 |
-
|
908 |
-
= 4.8.7 =
|
909 |
-
|
910 |
-
* Empty excerpt fix
|
911 |
-
* Fixed the list of blocks not appearing on few PHP installations
|
912 |
-
* Fixed the composer editor
|
913 |
-
|
914 |
-
= 4.8.6 =
|
915 |
-
|
916 |
-
* Warnings on SMTP panel when configured but not yet activated
|
917 |
-
* Warning management in controls
|
918 |
-
* Font family selector in the editor
|
919 |
-
* Font size selector in the editor
|
920 |
-
* Removed embedded tiny
|
921 |
-
* Removed embedded ace
|
922 |
-
* HTTPS on external links
|
923 |
-
* Fixed tag replacement on subject on test confirmation and welcome emails
|
924 |
-
|
925 |
-
= 4.8.5 =
|
926 |
-
|
927 |
-
* Added HTML editor plugin to tiny
|
928 |
-
* Fixed a couple of debug notices on widget
|
929 |
-
|
930 |
-
= 4.8.4 =
|
931 |
-
|
932 |
-
* Fixed posts block background editing
|
933 |
-
* Composer js improvements
|
934 |
-
* Fixed a couple of debug notices
|
935 |
-
* CSS fix
|
936 |
-
|
937 |
-
= 4.8.3 =
|
938 |
-
|
939 |
-
* Fixed debug notices on widgets
|
940 |
-
* Fixed Vimeo icon on social block
|
941 |
-
* Fixed javascript in the editor
|
942 |
-
|
943 |
-
= 4.8.2 =
|
944 |
-
|
945 |
-
* Changed few labels
|
946 |
-
* CSS fix on admin panels
|
947 |
-
|
948 |
-
= 4.8.1 =
|
949 |
-
|
950 |
-
* Lists selection on widget
|
951 |
-
* CSS fix for submit button on widget
|
952 |
-
* Fixed the status panel on action call check
|
953 |
-
* Fixed the dedicated page creation
|
954 |
-
* New editor for service messages' template with desktop and mobile preview
|
955 |
-
* New raw html editor for newsletter with with desktop and mobile preview
|
956 |
-
* Improved status panel scheduler check
|
957 |
-
* Removed the old tiny mce 3
|
958 |
-
|
959 |
-
= 4.8.0 =
|
960 |
-
|
961 |
-
* New media selection on newsletter editor with size picker
|
962 |
-
* Fixed the required attribute on profile form
|
963 |
-
* Support for Analytics extension
|
964 |
-
|
965 |
-
= 4.7.9 =
|
966 |
-
|
967 |
-
* Removed the TGMPA library
|
968 |
-
* Some CSS fixes
|
969 |
-
* Fix few debug notices
|
970 |
-
|
971 |
-
= 4.7.8 =
|
972 |
-
|
973 |
-
* Old TGMPA library compatibility
|
974 |
-
|
975 |
-
= 4.7.7 =
|
976 |
-
|
977 |
-
* New extensions panel
|
978 |
-
* Minor fixes and enhancements
|
979 |
-
* New media selection on newsletter edit panel
|
980 |
-
* Removed enqueuing of no more used scripts
|
981 |
-
* Fixed the subscriber count on targeting panel
|
982 |
-
|
983 |
-
= 4.7.6 =
|
984 |
-
|
985 |
-
* New status panel
|
986 |
-
|
987 |
-
= 4.7.5 =
|
988 |
-
|
989 |
-
* Removed references to old css
|
990 |
-
* Fixed the relative URLs problem in the composer
|
991 |
-
|
992 |
-
= 4.7.4 =
|
993 |
-
|
994 |
-
* Improved widget CSS
|
995 |
-
* Added Instagram to social icons
|
996 |
-
* Little style improvements
|
997 |
-
|
998 |
-
= 4.7.3 =
|
999 |
-
|
1000 |
-
* Added custom CSS field to customize the forms appearance
|
1001 |
-
* Added codemirror for CSS edit
|
1002 |
-
* Added plugin version to style link
|
1003 |
-
* Added plugin version to script link
|
1004 |
-
* Corrected a tag in newsletter widget minimal
|
1005 |
-
* Added line height on form fields
|
1006 |
-
* Changed CSS class prefixes to tnp
|
1007 |
-
* Fixed a divide by zero on diagnostic panel
|
1008 |
-
* Improved the collection of emails sending speed data
|
1009 |
-
* Fixed a bug when adding a new subscriber from the admin panel
|
1010 |
-
|
1011 |
-
= 4.7.2 =
|
1012 |
-
|
1013 |
-
* Fixed a debug notice
|
1014 |
-
|
1015 |
-
= 4.7.1 =
|
1016 |
-
|
1017 |
-
* Fixed missing files in the package
|
1018 |
-
|
1019 |
-
= 4.7.0 =
|
1020 |
-
|
1021 |
-
* Added the selection for the Newsletter messages dedicated page
|
1022 |
-
* New forms CSS and validator
|
1023 |
-
* New widget for a minimal form
|
1024 |
-
* Use shortcode attribute "layout" to revert to old style table forms, using layout=table
|
1025 |
-
* Added reset button for diagnostic scheduler statistics
|
1026 |
-
|
1027 |
-
= 4.6.8 =
|
1028 |
-
|
1029 |
-
* Fixed the image browser/upload URL error in themes
|
1030 |
-
|
1031 |
-
= 4.6.7 =
|
1032 |
-
|
1033 |
-
* Fixed blank page without a newsletter dedicated page
|
1034 |
-
|
1035 |
-
= 4.6.6 =
|
1036 |
-
|
1037 |
-
* Fixed the blocks reload
|
1038 |
-
|
1039 |
-
= 4.6.5 =
|
1040 |
-
|
1041 |
-
* Fixed the style stripped when switching back and forth betwenn the visual and raw editor (from version 4.6.4)
|
1042 |
-
|
1043 |
-
= 4.6.4 =
|
1044 |
-
|
1045 |
-
* Fixed the profile link in admin panels
|
1046 |
-
* Fixed the composer editor
|
1047 |
-
* Cleanup of old code
|
1048 |
-
* Force the composer editor to keep the absolute urls
|
1049 |
-
|
1050 |
-
= 4.6.3 =
|
1051 |
-
|
1052 |
-
* Fixed the profile save with new action url
|
1053 |
-
|
1054 |
-
= 4.6.2 =
|
1055 |
-
|
1056 |
-
* Fixed the import option "override status" not working in update mode
|
1057 |
-
* Fixed the missing http when the couldflare plugin is installed (!)
|
1058 |
-
* Improved controls and security on open tracking link
|
1059 |
-
* Added few new diagnostic parameters
|
1060 |
-
|
1061 |
-
= 4.6.1 =
|
1062 |
-
|
1063 |
-
* Fixed a security issue on admin side only exploitable by logged in admins
|
1064 |
-
|
1065 |
-
= 4.6.0 =
|
1066 |
-
|
1067 |
-
* Fixed debug notices on composer post blocks
|
1068 |
-
* Improved image styles on composer hero block
|
1069 |
-
* Added support for WP_Error in the logger
|
1070 |
-
* Improved the license checking
|
1071 |
-
|
1072 |
-
= 4.5.9 =
|
1073 |
-
|
1074 |
-
* Fixed a PHP syntax error on composer panel
|
1075 |
-
|
1076 |
-
= 4.5.8 =
|
1077 |
-
|
1078 |
-
* Edit image alt text in the composer
|
1079 |
-
* Fixed german characters problem on visual composer
|
1080 |
-
* Added new data to diagnostic panel
|
1081 |
-
* Change the export to be more compatible with specific blog installations
|
1082 |
-
* Added translations to export panel
|
1083 |
-
|
1084 |
-
= 4.5.7 =
|
1085 |
-
|
1086 |
-
* Fixed the total sent email in dashboard
|
1087 |
-
* Fixed the total sent number on newsletter list when an already sent newsletter is edited
|
1088 |
-
* Removed the save button on sent newsletter
|
1089 |
-
* Code cleanup
|
1090 |
-
* Service message for stats panel of draft newsletters
|
1091 |
-
|
1092 |
-
= 4.5.6 =
|
1093 |
-
|
1094 |
-
* New unified themes and composer selection screen
|
1095 |
-
* Fixed the WP integration panel (incompatibility with WP 4.5.3)
|
1096 |
-
* Removed few notices
|
1097 |
-
* More warning fix
|
1098 |
-
* Fix "isHTML" error
|
1099 |
-
* jQuery conflict fix
|
1100 |
-
* Escape fix
|
1101 |
-
* Warning fix
|
1102 |
-
* Fixed the mime header
|
1103 |
-
|
1104 |
-
= 4.5.0 =
|
1105 |
-
|
1106 |
-
* New responsive email Drag & Drop composer, see [the guide](https://www.thenewsletterplugin.com/plugins/newsletter/composer).
|
1107 |
-
|
1108 |
-
= 4.2.4 =
|
1109 |
-
|
1110 |
-
* Fixed the notices display in Newsletter admin pages
|
1111 |
-
* Administrative emails sent now with the Newsletter engine
|
1112 |
-
* New {email_id} and {email_subject} placeholders
|
1113 |
-
|
1114 |
-
= 4.2.3 =
|
1115 |
-
|
1116 |
-
* Improvements in database error management
|
1117 |
-
* Added hook for Reports Extension
|
1118 |
-
|
1119 |
-
= 4.2.2 =
|
1120 |
-
|
1121 |
-
* The lock feature is disabled for editors and administrators
|
1122 |
-
* Fixed the newsletter sent table
|
1123 |
-
|
1124 |
-
= 4.2.1 =
|
1125 |
-
|
1126 |
-
* Fixed the progress indicator on newsletter list
|
1127 |
-
|
1128 |
-
= 4.2.0 =
|
1129 |
-
|
1130 |
-
* New statistics dashboard
|
1131 |
-
* Newsletter Reports 4 support
|
1132 |
-
|
1133 |
-
= 4.1.3 =
|
1134 |
-
|
1135 |
-
* Fixed the notice dismiss not working on every page
|
1136 |
-
* Fixed debug notice on WP 4.5
|
1137 |
-
* Added unverified SSL connection option on SMTP panel
|
1138 |
-
|
1139 |
-
= 4.1.2 =
|
1140 |
-
|
1141 |
-
* Minor security fix (on admin side with admin access)
|
1142 |
-
|
1143 |
-
= 4.2.0 =
|
1144 |
-
|
1145 |
-
* Added support for Reports Extension 4
|
1146 |
-
* Improved license check
|
1147 |
-
|
1148 |
-
= 4.1.1 =
|
1149 |
-
|
1150 |
-
* Added compatibility with SMTP plugins (Newsletter now sends with wp_mail if not otherwise configured)
|
1151 |
-
* Small CSS fixes
|
1152 |
-
|
1153 |
-
= 4.1.0 =
|
1154 |
-
|
1155 |
-
* Fix statistics link in the dashboard newsletter list
|
1156 |
-
|
1157 |
-
= 4.0.9 =
|
1158 |
-
|
1159 |
-
* Updated jQuery UI
|
1160 |
-
* Updated compatibility notice
|
1161 |
-
* Fixed tabs on subscriber stats panel
|
1162 |
-
* Fixed documentation on profile page
|
1163 |
-
|
1164 |
-
= 4.0.8 =
|
1165 |
-
|
1166 |
-
* Dashboard style fix for WordPress >= 4.4
|
1167 |
-
* Minor improvements
|
1168 |
-
|
1169 |
-
= 4.0.7 =
|
1170 |
-
|
1171 |
-
* New check to prevent not correct message template settings to block emails
|
1172 |
-
* Improved confirmation email test
|
1173 |
-
* Added welcome email test
|
1174 |
-
* Resubscription in single opt-in does not send the confirmation email anymore
|
1175 |
-
* Fixed second subscription with Facebook extension
|
1176 |
-
|
1177 |
-
= 4.0.6 =
|
1178 |
-
|
1179 |
-
* Fixed forced lists on subscription panel
|
1180 |
-
* Fixed few i18n tags
|
1181 |
-
* Fixed background color on theme selector
|
1182 |
-
|
1183 |
-
= 4.0.5 =
|
1184 |
-
|
1185 |
-
* Fixed an error on content lock
|
1186 |
-
* Fixed CSS for extensions
|
1187 |
-
* Fixed few debug notices
|
1188 |
-
* Improved the content lock user recognition
|
1189 |
-
* Subscriber search by list
|
1190 |
-
|
1191 |
-
= 4.0.4 =
|
1192 |
-
|
1193 |
-
* Fixed and improved the email template for service messages
|
1194 |
-
|
1195 |
-
= 4.0.3 =
|
1196 |
-
|
1197 |
-
* Fixed the welcome email enable/disable setting
|
1198 |
-
|
1199 |
-
= 4.0.2 =
|
1200 |
-
|
1201 |
-
* Fixed main settings saving
|
1202 |
-
* Fixed unsubscription settings saving
|
1203 |
-
|
1204 |
-
= 4.0.0 =
|
1205 |
-
|
1206 |
-
* Shiny new look
|
1207 |
-
* New top menu
|
1208 |
-
* Locked content feature moved into the subscription module
|
1209 |
-
* Separated SMTP configuration panel
|
1210 |
-
* Newsletter users import transfer first and last name
|
1211 |
-
* Various bug fixes and improvements
|
1212 |
-
|
1213 |
-
= 3.9.5 =
|
1214 |
-
|
1215 |
-
* Corrected the call to maybe_maybe_convert_table_to_utf8mb4
|
1216 |
-
|
1217 |
-
= 3.9.4 =
|
1218 |
-
|
1219 |
-
* CSV export fix
|
1220 |
-
* Delete button on newsletter list fixed (wrong since version 3.9.3)
|
1221 |
-
|
1222 |
-
= 3.9.3 =
|
1223 |
-
|
1224 |
-
* Added the blog charset to the dagnostic panel
|
1225 |
-
* Fixed the read count (was due to antispam filter changes)
|
1226 |
-
* Language domain fixes
|
1227 |
-
|
1228 |
-
= 3.9.2 =
|
1229 |
-
|
1230 |
-
* Fixed the tab separator in CSV export
|
1231 |
-
* Removed the already subscribed option
|
1232 |
-
* Removed obsolete code for anchor tracking
|
1233 |
-
* Added the sent newsletters to the subscriber editing panel
|
1234 |
-
* Added a sent-to table
|
1235 |
-
|
1236 |
-
= 3.9.1 =
|
1237 |
-
|
1238 |
-
* Enable the tracking key edit
|
1239 |
-
* Removed the antibot option, active by default
|
1240 |
-
* First round of changes for translate.wordpress.org
|
1241 |
-
* Fixed few notices
|
1242 |
-
* Added deprecation notices for the email.php and email-alternative.php files
|
1243 |
-
* Fixed the export separator
|
1244 |
-
* Removed reference to plugin files in URLs to avoid spam filter
|
1245 |
-
* Removed the selection of Newsletter action URL
|
1246 |
-
* Removed obsolete files
|
1247 |
-
|
1248 |
-
= 3.9.0 =
|
1249 |
-
|
1250 |
-
* Fixed the new excerpt extraction
|
1251 |
-
|
1252 |
-
= 3.8.9 =
|
1253 |
-
|
1254 |
-
* Fixed few debug notices
|
1255 |
-
* Improved support for browser without javascript
|
1256 |
-
* Adding multi subscription support
|
1257 |
-
* Improved antibot
|
1258 |
-
* Fixed some debug/deprecated noticies
|
1259 |
-
* Added support for new beta Report Extension features
|
1260 |
-
|
1261 |
-
= 3.8.8 =
|
1262 |
-
|
1263 |
-
* Unsubscription works now only with JavaScript enabled browser to block bots
|
1264 |
-
* New way to extract excerpts to avoid third party filters
|
1265 |
-
* Fixed the image selector for header logo
|
1266 |
-
* Added preview form subscription message template
|
1267 |
-
* Added WordPress like metadata on themes
|
1268 |
-
* Fixed the default theme
|
1269 |
-
* Changed few theme screeshots
|
1270 |
-
* Added attribute "layout" to shortcode with value "html5" for tableless form
|
1271 |
-
|
1272 |
-
= 3.8.7 =
|
1273 |
-
|
1274 |
-
* Fixed the widget constructor
|
1275 |
-
|
1276 |
-
= 3.8.6 =
|
1277 |
-
|
1278 |
-
* Improved checks on tracking links which could be used for spamming links (open redirect)
|
1279 |
-
|
1280 |
-
= 3.8.5 =
|
1281 |
-
|
1282 |
-
* Changed the widget constructor
|
1283 |
-
* Fixed the newsletter_form shortcode
|
1284 |
-
* Added shortcodes for in page form building (beta): see the [plugin documentation](https://www.thenewsletterplugin.com/plugins/newsletter/newsletter-documentation).
|
1285 |
-
|
1286 |
-
= 3.8.4 =
|
1287 |
-
|
1288 |
-
* Fixed the unsubscription problem
|
1289 |
-
|
1290 |
-
= 3.8.3 =
|
1291 |
-
|
1292 |
-
* Fixed the editor for unsubscription messages
|
1293 |
-
* Added the unsubscription error message
|
1294 |
-
* Fixed the email change from admin panels
|
1295 |
-
* Fixed the profile field check when set as optionals
|
1296 |
-
|
1297 |
-
= 3.8.2 =
|
1298 |
-
|
1299 |
-
* Improved the profile editing page (with confirmation for email change)
|
1300 |
-
* Added new sync between confirmed email and linked wp user email
|
1301 |
-
* Improved check and messages on subscriber edit panel
|
1302 |
-
* Changed the confirmation behavior for already confirmed users (welcome page reshown)
|
1303 |
-
* Added the subscription delete option when a WordPress user si deleted
|
1304 |
-
* Unsubscribe action for already unsubscribed subscribers reshow the unsubscription message
|
1305 |
-
* Better management of emoji (creating sometime a database error)
|
1306 |
-
|
1307 |
-
= 3.8.1 =
|
1308 |
-
|
1309 |
-
* Corrected open tracking with new tracking URL schema
|
1310 |
-
|
1311 |
-
= 3.8.0 =
|
1312 |
-
|
1313 |
-
* CSV import fix
|
1314 |
-
|
1315 |
-
= 3.7.9 =
|
1316 |
-
|
1317 |
-
* Added subject empty check when sending tests
|
1318 |
-
* Added option to import subscribers as confirmed or not confirmed
|
1319 |
-
* Added import subscribers from CSV file
|
1320 |
-
* Updated the WP compatibility version number
|
1321 |
-
* Fixed the save button on sent emails
|
1322 |
-
* Fixed the List-Unsubscribe header with new URL schema
|
1323 |
-
|
1324 |
-
= 3.7.8 =
|
1325 |
-
|
1326 |
-
* Fixed the online email view with the new URL schema
|
1327 |
-
|
1328 |
-
= 3.7.7 =
|
1329 |
-
|
1330 |
-
* Fixed the editor role
|
1331 |
-
* Fixed the unsubscription url with the new action url schema
|
1332 |
-
* Fixed the readme.txt
|
1333 |
-
* Tested with WP 4.2
|
1334 |
-
|
1335 |
-
= 3.7.6 =
|
1336 |
-
|
1337 |
-
* Fixed the new action URL schema
|
1338 |
-
* Added a notice for blank page on newsletter creation
|
1339 |
-
* Few notices removed
|
1340 |
-
* Added more html require attributes
|
1341 |
-
* Fixed the alternative confirmation redirect
|
1342 |
-
|
1343 |
-
= 3.7.5 =
|
1344 |
-
|
1345 |
-
* Fixed the referrer attribute on shortcodes
|
1346 |
-
|
1347 |
-
= 3.7.4 =
|
1348 |
-
|
1349 |
-
* Added control to avoid the wp super cache caching on newsletter services
|
1350 |
-
* Added the new action URL schema (see the subscription steps panel)
|
1351 |
-
* Added confirmation_url attribute to the form short code
|
1352 |
-
* Added referrer attribute to the form short code
|
1353 |
-
* Newsletters now start with empty subject and it's require to write it
|
1354 |
-
* Fixed the API add service key check
|
1355 |
-
* Fixed a couple of PHP noticies on widget (when not configured)
|
1356 |
-
|
1357 |
-
= 3.7.3 =
|
1358 |
-
|
1359 |
-
* Fixed extra profile field rules and placeholder
|
1360 |
-
|
1361 |
-
= 3.7.2 =
|
1362 |
-
|
1363 |
-
* Fixed the editor issue on subscription steps panel
|
1364 |
-
|
1365 |
-
= 3.7.1 =
|
1366 |
-
|
1367 |
-
* Attempt to fix the home url retrieval on some custom installations
|
1368 |
-
* Removed some unused code
|
1369 |
-
* Fixed the rate request notice
|
1370 |
-
* Added the new URL tracking option (beta)
|
1371 |
-
* Added the new URL tracking option notice
|
1372 |
-
* Added file owner checking on diagnostic panel
|
1373 |
-
* Added action files call checking on diagnostic panel
|
1374 |
-
* Added dimensions on read-tracking image
|
1375 |
-
* Added the html tag to the message templates
|
1376 |
-
* Changed the template generation method to avoid conflicts with themes
|
1377 |
-
|
1378 |
-
= 3.7.0 =
|
1379 |
-
|
1380 |
-
* Bugfix
|
1381 |
-
|
1382 |
-
= 3.6.9 =
|
1383 |
-
|
1384 |
-
* Little fix
|
1385 |
-
|
1386 |
-
= 3.6.8 =
|
1387 |
-
|
1388 |
-
* Fixed the subject of the administrative notification
|
1389 |
-
* Cleaned up obsolete code
|
1390 |
-
* Added support for extension versions check
|
1391 |
-
* Fixed typo in text only themes
|
1392 |
-
* Fixed wrong unsubscribe code in German Welcome Email
|
1393 |
-
|
1394 |
-
= 3.6.7 =
|
1395 |
-
|
1396 |
-
* New Blog Info configuration panel
|
1397 |
-
* New Default Theme
|
1398 |
-
* Minor layout changes
|
1399 |
-
* Fix subscription email link
|
1400 |
-
* Added notices when filters are active on subscriber management panel
|
1401 |
-
* Few fixes on statistic panel
|
1402 |
-
* Fixed undefined index noticies on subscription page
|
1403 |
-
* Several fixes
|
1404 |
-
* A TNT team member quitted smoking, so the plugin become smoking free
|
1405 |
-
|
1406 |
-
= 3.6.6 =
|
1407 |
-
|
1408 |
-
* Added a cron monitor
|
1409 |
-
* Added a xmas theme
|
1410 |
-
* Fixed the opt-in mode for wordpress registsred users
|
1411 |
-
* Fixed the noticies
|
1412 |
-
* Fixed somes styles
|
1413 |
-
* Added the direct newsletter edit for themes without options
|
1414 |
-
* Header changed
|
1415 |
-
* Fixed all links to refer the new site www.thenewsletterplugin.com
|
1416 |
-
* Fixed the newsletter editor default style
|
1417 |
-
|
1418 |
-
= 3.6.5 =
|
1419 |
-
|
1420 |
-
* Added parameter "plugin url" on diagnostic panel
|
1421 |
-
* Added custom post types to the linear theme
|
1422 |
-
* Added custom post types to the vimeo-like theme
|
1423 |
-
* Fixed the feed by mail placeholder panel
|
1424 |
-
* Fixed the antibot option with preferences
|
1425 |
-
|
1426 |
-
= 3.6.4 =
|
1427 |
-
|
1428 |
-
* Support for greek (and others) characters without the entity encoding
|
1429 |
-
* Fixed a debug notice in the widget code
|
1430 |
-
* Added gender on import
|
1431 |
-
* Added support for the constant NEWSLETTER_LOG_DIR in wp-config.php to define the loggin folder
|
1432 |
-
* Fixed the domain removal on subscription steps messages
|
1433 |
-
|
1434 |
-
= 3.6.3 =
|
1435 |
-
|
1436 |
-
* Fixed the feed by mail test function
|
1437 |
-
|
1438 |
-
= 3.6.2 =
|
1439 |
-
|
1440 |
-
* Added the separator selection on CSV export
|
1441 |
-
* Added the UTF-8 BOM to the export
|
1442 |
-
* Fixed some debug noticies
|
1443 |
-
|
1444 |
-
= 3.6.1 =
|
1445 |
-
|
1446 |
-
* Fixed the widget when field names contain double quotes
|
1447 |
-
|
1448 |
-
= 3.6.0 =
|
1449 |
-
|
1450 |
-
* Removed the extension list from welcome panel
|
1451 |
-
* Added the and operator in the newsletter recipients selector
|
1452 |
-
* Fixed the select_group(...) in NewsletterControls class
|
1453 |
-
|
1454 |
-
= 3.5.9 =
|
1455 |
-
|
1456 |
-
* Added a possible antibot to the subscription flow
|
1457 |
-
|
1458 |
-
= 3.5.8 =
|
1459 |
-
|
1460 |
-
* Added soundcloud for social icon on default theme
|
1461 |
-
* Fixed the welcome screen (should)
|
1462 |
-
|
1463 |
-
= 3.5.7 =
|
1464 |
-
|
1465 |
-
* Added the private flag on newsletters
|
1466 |
-
* Fixed old extension version checking/reporting
|
1467 |
-
|
1468 |
-
= 3.5.6 =
|
1469 |
-
|
1470 |
-
* Added custom header for newsletter tagging with mandrill
|
1471 |
-
* Added internally used html 5 subscription form
|
1472 |
-
|
1473 |
-
= 3.5.5 =
|
1474 |
-
|
1475 |
-
* Added the license key field for special installations
|
1476 |
-
|
1477 |
-
= 3.5.4 =
|
1478 |
-
|
1479 |
-
* Fixed the web preview charset
|
1480 |
-
|
1481 |
-
= 3.5.3 =
|
1482 |
-
|
1483 |
-
* Added support for extensions as plugins
|
1484 |
-
|
1485 |
-
= 3.5.2 =
|
1486 |
-
|
1487 |
-
* Fixed the {title} tag replacement for old subscriber list with the gender not set
|
1488 |
-
* Added the upgrade from old versions button on diagnostic panel
|
1489 |
-
|
1490 |
-
= 3.5.1 =
|
1491 |
-
|
1492 |
-
* Support for the SendGrid extension
|
1493 |
-
|
1494 |
-
= 3.5.0 =
|
1495 |
-
|
1496 |
-
* Fixed the subscriber list panel
|
1497 |
-
* Interface reviewed
|
1498 |
-
* Fixed the image chooser for WP 3.8.1
|
1499 |
-
* Fixed the export for editors
|
1500 |
-
* Patch for anonymous users create by woocommerce
|
1501 |
-
* Madrill API adapter
|
1502 |
-
* Header separation between this plugin and the extensions
|
1503 |
-
* Default to base 64 encoding of outgoing email to solve the long lines problem
|
1504 |
-
|
1505 |
-
= 3.4.9 =
|
1506 |
-
|
1507 |
-
* Fixed some warnings in debug mode
|
1508 |
-
* Fixed the disabling setting of the social icons (on default newsletter themes)
|
1509 |
-
* Added filters on widget for WPML
|
1510 |
-
* Added filter for single line feeds refused by some mail servers
|
1511 |
-
|
1512 |
-
= 3.4.8 =
|
1513 |
-
|
1514 |
-
* Added a javascript protection against auto confirmation from bot
|
1515 |
-
* Fixed a warning with debug active on site login
|
1516 |
-
|
1517 |
-
= 3.4.7 =
|
1518 |
-
|
1519 |
-
* Fixed the subscription panel where some panels where no more visible.
|
1520 |
-
|
1521 |
-
= 3.4.6 =
|
1522 |
-
|
1523 |
-
* Added the full_name tag
|
1524 |
-
* Added the "simple" theme
|
1525 |
-
* Added indexes to the statistic table to improve the reports extension response time
|
1526 |
-
* Fixed some noticies in debug mode
|
1527 |
-
|
1528 |
-
= 3.4.5 =
|
1529 |
-
|
1530 |
-
* Revisited the theme chooser and the theme configuration
|
1531 |
-
* Fixed a double field on the locked content configuration
|
1532 |
-
* Improved the delivery engine
|
1533 |
-
|
1534 |
-
= 3.4.4 =
|
1535 |
-
|
1536 |
-
* Improved error messages
|
1537 |
-
* Fixed the last tab store (jquery changes)
|
1538 |
-
* Added some new controls for the pop up extensions
|
1539 |
-
|
1540 |
-
= 3.4.3 =
|
1541 |
-
|
1542 |
-
* Added the precendence bulk header (https://support.google.com/mail/answer/81126)
|
1543 |
-
* Added filter on messages to avoid wrong URLs when the blog change domain or folder
|
1544 |
-
* Added the alt attribute to the tracking image
|
1545 |
-
* New option to set the PHP max execution time
|
1546 |
-
* Fixed some text on main configuration panel
|
1547 |
-
|
1548 |
-
= 3.4.2 =
|
1549 |
-
|
1550 |
-
* Refined the subscription for already subscribed emails
|
1551 |
-
|
1552 |
-
= 3.4.1 =
|
1553 |
-
|
1554 |
-
* Fixed the delivery engine warning message
|
1555 |
-
* Fixed the version check
|
1556 |
-
|
1557 |
-
= 3.4.0 =
|
1558 |
-
|
1559 |
-
* Changed newsletter copy to copy even the editor and traking status
|
1560 |
-
* Fixed the subscribers search list
|
1561 |
-
* Added some more buttons on Newsletter editor
|
1562 |
-
* Added the subscription form menu voice (I cannot answer anymore the same request about subscribe button translation :-)
|
1563 |
-
* Suppressed warning on log function
|
1564 |
-
|
1565 |
-
= 3.3.9 =
|
1566 |
-
|
1567 |
-
* Fixed activation in debug mode
|
1568 |
-
* Fixed some notices
|
1569 |
-
* Added defaults for subscriber titles (Mr, Mrs, ...)
|
1570 |
-
|
1571 |
-
= 3.3.8 =
|
1572 |
-
|
1573 |
-
* Internal code fixes
|
1574 |
-
* Fixed the "editor" access control
|
1575 |
-
|
1576 |
-
= 3.3.7 =
|
1577 |
-
|
1578 |
-
* Fixed the feed by mail field on widget
|
1579 |
-
* Fixed tab names to avoid mod_security interference
|
1580 |
-
* Fixed the "name" form field rules
|
1581 |
-
* Added (undocumented/untested) way to change the table names
|
1582 |
-
|
1583 |
-
= 3.3.6 =
|
1584 |
-
|
1585 |
-
* Fixed a caching blocking on short code
|
1586 |
-
* New way to create a newsletter
|
1587 |
-
|
1588 |
-
= 3.3.5 =
|
1589 |
-
|
1590 |
-
* Fixed the mailto rewriting
|
1591 |
-
* Added tags and categories to default theme
|
1592 |
-
* Added post type on default theme
|
1593 |
-
* Fixed some administrative CSS
|
1594 |
-
* Revisited the theme selection and configuration
|
1595 |
-
|
1596 |
-
= 3.3.4 =
|
1597 |
-
|
1598 |
-
* Fixed the module version check
|
1599 |
-
|
1600 |
-
= 3.3.3 =
|
1601 |
-
|
1602 |
-
* Fixed the IP tracking on opening
|
1603 |
-
|
1604 |
-
= 3.3.2 =
|
1605 |
-
|
1606 |
-
* Disabled the save button on composer when the newsletter is "sending" or "sent"
|
1607 |
-
* Added ip field on statistics
|
1608 |
-
* Reviewed the subscriber statistics panel
|
1609 |
-
* Fixed some links on welcome panel
|
1610 |
-
* Added extensions version check
|
1611 |
-
* Added the Mandrill Extension support
|
1612 |
-
* Fixed the banner options on default theme
|
1613 |
-
* New "new newsletter" panel (hope simpler to use)
|
1614 |
-
|
1615 |
-
= 3.3.1 =
|
1616 |
-
|
1617 |
-
* Fixed a bug in an administrative query
|
1618 |
-
|
1619 |
-
= 3.3.0 =
|
1620 |
-
|
1621 |
-
* Fixed a replacement on online email version
|
1622 |
-
* Fixed a missing privacy check box configuration
|
1623 |
-
* Improved the split posts
|
1624 |
-
* Added post_type control
|
1625 |
-
* Re-enabled the subscription for addresses not confirmed
|
1626 |
-
* Fixed the welcome and ocnfirmaiton email when sent from subscribers list panel (were not using the theme)
|
1627 |
-
* Added the "pre-checked" option to preferences configuration
|
1628 |
-
|
1629 |
-
= 3.2.9 =
|
1630 |
-
|
1631 |
-
* Fixed a possible loop on widget (when using extended fields in combobox format)
|
1632 |
-
|
1633 |
-
= 3.2.8 =
|
1634 |
-
|
1635 |
-
* Fixed the newsletter_replace filter
|
1636 |
-
* Added the person title for salutation
|
1637 |
-
* Changed the profile field panel
|
1638 |
-
* Fixed the massive deletion of unsubscribed users
|
1639 |
-
|
1640 |
-
= 3.2.7 =
|
1641 |
-
|
1642 |
-
* Added a controls for the Reports module version 1.0.4
|
1643 |
-
* Changed opening tracking and removed 1x1 GIF
|
1644 |
-
* Added support for popup on subscription form
|
1645 |
-
* Fixed the link to the reports module
|
1646 |
-
|
1647 |
-
= 3.2.6 =
|
1648 |
-
|
1649 |
-
* Fixed the forced preferences on subscription panel
|
1650 |
-
|
1651 |
-
= 3.2.5 =
|
1652 |
-
|
1653 |
-
* Fixed the home_url and blog_url replacements
|
1654 |
-
* Added the cleans up of tags used in href attributes
|
1655 |
-
* Fixed the cleans up of URL tags
|
1656 |
-
* Added module version checking support
|
1657 |
-
* Added the welcome email option to disable it
|
1658 |
-
* Fixed the new subscriber notification missing under some specific conditions
|
1659 |
-
|
1660 |
-
= 3.2.4 =
|
1661 |
-
|
1662 |
-
* Added target _blank on theme links so they open on a new windows for the online version
|
1663 |
-
* Changed to the plugins_url() function
|
1664 |
-
* Added clean up of url tags on composer
|
1665 |
-
|
1666 |
-
= 3.2.3 =
|
1667 |
-
|
1668 |
-
* Added schedule list on Diagnostic panel
|
1669 |
-
* Removed the enable/disable resubscription option
|
1670 |
-
* Added a check for the delivery engine shutdown on some particular situations
|
1671 |
-
* Revisited the WordPress registration integration
|
1672 |
-
* Revisited the WordPress user import and moved on subscriber massive action panel
|
1673 |
-
* Added links to new documentation chapter
|
1674 |
-
* Removed a survived reference to an old table
|
1675 |
-
* Reactivated the replacement of the {blog_url} tag
|
1676 |
-
* Fixed the tracking code injection
|
1677 |
-
* Fixed a default query generation for compatibility with 2.5 version
|
1678 |
-
* Fixed the tag replacements when using the old forms
|
1679 |
-
|
1680 |
-
= 3.2.2 =
|
1681 |
-
|
1682 |
-
* Fixed the subscription options change problem during the upgrade
|
1683 |
-
* English corrections by Rita Vaccaro
|
1684 |
-
* Added the Feed by Mail demo module
|
1685 |
-
* Added support for the Facebook module
|
1686 |
-
|
1687 |
-
= 3.2.1 =
|
1688 |
-
|
1689 |
-
* Fixed fatal error with old form formats
|
1690 |
-
|
1691 |
-
= 3.2.0 =
|
1692 |
-
|
1693 |
-
* Added hint() method to NewsletterControls
|
1694 |
-
* Fixed the Newsletter::replace_date() to replace even the {date} tag without a format
|
1695 |
-
* Added NewsletterModule::format_time_delta()
|
1696 |
-
* Added NewsletterModule::format_scheduler_time
|
1697 |
-
* Improved the diagnostic panel
|
1698 |
-
* Fixed an error on subscription with old forms
|
1699 |
-
* Fixed the unsubscription with old formats
|
1700 |
-
* Fixed the confirmation for multiple calls
|
1701 |
-
* Fixed user saving on new installation (column missing for followup module)
|
1702 |
-
* Added compatibility code with domain remaping plugin
|
1703 |
-
* Added a setting to let unsubscribed users to subscribe again
|
1704 |
-
* Added the re-subscription option
|
1705 |
-
|
1706 |
-
= 3.1.9 =
|
1707 |
-
|
1708 |
-
* Added the NEWSLETTER_MAX_EXECUTION_TIME
|
1709 |
-
* Added the NEWSLETTER_CRON_INTERVAL
|
1710 |
-
* Improved the delivery engine performances
|
1711 |
-
* Improved the newsletter list panel
|
1712 |
-
* Change the subscription in case of unsubscribed, bounced or confirmed address with a configurable error message
|
1713 |
-
* Some CSS review
|
1714 |
-
* Fixed the unsubscription procedure with a check on user status
|
1715 |
-
* Added Pint theme
|
1716 |
-
|
1717 |
-
= 3.1.7 =
|
1718 |
-
|
1719 |
-
* Added better support for Follow Up for Newsletter
|
1720 |
-
* Fixed integration with Feed by Mail for Newsletter
|
1721 |
-
* Fixed a bug on profile save
|
1722 |
-
* Fixed a message about log folder on diagnostic panel
|
1723 |
-
* Fixed the sex field on user creation
|
1724 |
-
|
1725 |
-
= 3.1.6 =
|
1726 |
-
|
1727 |
-
* Fixed the subscription form absent on some configurations
|
1728 |
-
|
1729 |
-
= 3.1.5 =
|
1730 |
-
|
1731 |
-
* Content locking deactivated if a user is logged in
|
1732 |
-
* Added a button to create a newsletter dedicated page
|
1733 |
-
* Added top message is the newsletter dedicated page is not configured
|
1734 |
-
* Fixed the subscription process with the old "na" action
|
1735 |
-
* Added a new option with wp registration integration
|
1736 |
-
* Added the opt-in mode to wp registration integration
|
1737 |
-
|
1738 |
-
= 3.1.4 =
|
1739 |
-
|
1740 |
-
* Fixed a bug on post/page preview
|
1741 |
-
|
1742 |
-
= 3.1.3 =
|
1743 |
-
|
1744 |
-
* Added support for SendGrid Module
|
1745 |
-
* Fixed a fatal error on new installations on emails.php
|
1746 |
-
|
1747 |
-
= 3.1.2 =
|
1748 |
-
|
1749 |
-
* Fixed the access control for editors
|
1750 |
-
* Improved to the log system to block it when the log folder cannot be created
|
1751 |
-
* Moved all menu voices to the new format
|
1752 |
-
* Improved the diagnostic panel
|
1753 |
-
* Added ability to send and email to not confirmed subscribers
|
1754 |
-
* Fixed a problem with internal module versions
|
1755 |
-
|
1756 |
-
= 3.1.1 =
|
1757 |
-
|
1758 |
-
* Fixed the copy and delete buttons on newsletter list
|
1759 |
-
* Removed the old trigger button on newsletter list
|
1760 |
-
* Fixed the edit button on old user search
|
1761 |
-
* Improved the module version checking
|
1762 |
-
* Added the "unconfirm" button on massive subscriber management panel
|
1763 |
-
|
1764 |
-
= 3.1.0 =
|
1765 |
-
|
1766 |
-
* Added link to change preferences/sex from emails
|
1767 |
-
* Added tag reference on email composer
|
1768 |
-
* Added "negative" preference selection on email targeting
|
1769 |
-
* Improved the subscription during WordPress user registration
|
1770 |
-
* Fixed the preference saving from profile page
|
1771 |
-
* Fixed the default value for the gender field to "n"
|
1772 |
-
* Added loading of the Feed by Mail module
|
1773 |
-
* Added loading of the Follow Up module
|
1774 |
-
* Added loading of the MailJet module
|
1775 |
-
* Changed the administrative page header
|
1776 |
-
* Changed the subscriber list and search panel
|
1777 |
-
* Improved the locked content feature
|
1778 |
-
* Fixed the good bye email not using the standard email template
|
1779 |
-
* Changed the diagnostics panel with module versions checking
|
1780 |
-
* Fixed some code on NewsletterModule
|
1781 |
-
|
1782 |
-
= 3.0.9 =
|
1783 |
-
|
1784 |
-
* Fixed an important bug
|
1785 |
-
|
1786 |
-
= 3.0.8 =
|
1787 |
-
|
1788 |
-
* Fixed the charset on some pages and previews for umlaut characters
|
1789 |
-
|
1790 |
-
= 3.0.7 =
|
1791 |
-
|
1792 |
-
* Fixed a warning in WP 3.5
|
1793 |
-
* Fixed the visual editor on/off on composer panel
|
1794 |
-
|
1795 |
-
= 3.0.6 =
|
1796 |
-
|
1797 |
-
* Added file permissions check on diagnostic panel
|
1798 |
-
* Fixed the default value for "sex" on email at database level
|
1799 |
-
* Fixed the checking of required surname
|
1800 |
-
* Fixed a warning on subscription panel
|
1801 |
-
* Improved the subscription management for bounced or unsubscribed addresses
|
1802 |
-
* Removed the simple theme of tinymce to reduce the number of files
|
1803 |
-
* Added neutral style for subscription form
|
1804 |
-
|
1805 |
-
= 3.0.5 =
|
1806 |
-
|
1807 |
-
* Added styling for widget
|
1808 |
-
* Fixed the widget html
|
1809 |
-
* Fixed the reset button on subscription panels
|
1810 |
-
* Fixed the language initialization on first installation
|
1811 |
-
* Fixed save button on profile page (now it can be an image)
|
1812 |
-
* Fixed email listing showing the planned status
|
1813 |
-
|
1814 |
-
= 3.0.4 =
|
1815 |
-
|
1816 |
-
* Fixed the alternative email template for subscription messages
|
1817 |
-
* Added user statistics by referrer (field nr passed during subscription)
|
1818 |
-
* Added user statistics by http referer (one r missing according to the http protocol)
|
1819 |
-
* Fixed the preview for themes without textual version
|
1820 |
-
* Fixed the subscription redirect for blogs without permalink
|
1821 |
-
* Fixed the "sex" column on database so email configuration is correctly stored
|
1822 |
-
* Fixed the wp user integration
|
1823 |
-
|
1824 |
-
= 3.0.3 =
|
1825 |
-
|
1826 |
-
* Fixed documentation on subscription panel and on subscription/page.php file
|
1827 |
-
* Fixed the statistics module URL rewriting
|
1828 |
-
* Fixed a "echo" on module.php datetime method
|
1829 |
-
* Fixed the multi-delete on newsletter list
|
1830 |
-
* Fixed eval() usage on add_menu_page and add_admin_page function
|
1831 |
-
* Fixed a number of ob_end_clean() called wht not required and interfering with other output buffering
|
1832 |
-
* Fixed the editor access level
|
1833 |
-
|
1834 |
-
= 3.0.2 =
|
1835 |
-
|
1836 |
-
* Documented how to customize the subscription/email.php file (see inside the file) for subscription messages
|
1837 |
-
* Fixed the confirmation message lost (only for who do not already save the subscription options...)
|
1838 |
-
|
1839 |
-
= 3.0.1 =
|
1840 |
-
|
1841 |
-
* Fixed an extra character on head when including the form css
|
1842 |
-
* Fixed the double privacy check on subscription widget
|
1843 |
-
* Fixed the charset of subscription/page.php
|
1844 |
-
* Fixed the theme preview with wp_nonce_url
|
1845 |
-
* Added compatibility code for forms directly coded inside the subscription message
|
1846 |
-
* Added link to composer when the javascript redirect fails on creation of a new newsletter
|
1847 |
-
* Fixed the old email list and conversion
|
1848 |
-
|
1849 |
-
= 3.0.0 =
|
1850 |
-
|
1851 |
-
* Release
|
1852 |
-
|
1853 |
-
= 2.6.2 =
|
1854 |
-
|
1855 |
-
* Added the user massive management panel
|
1856 |
-
|
1857 |
-
= 2.5.3.3 =
|
1858 |
-
|
1859 |
-
* Updated to 20 lists instead of 9
|
1860 |
-
* Max lists can be set on wp-config.php with define('NEWSLETTER_LIST_MAX', [number])
|
1861 |
-
* Default preferences ocnfigurable on subscription panel
|
1862 |
-
|
1863 |
-
= 2.5.3.2 =
|
1864 |
-
|
1865 |
-
* fixed the profile fields generation on subscription form
|
1866 |
-
|
1867 |
-
= 2.5.3.1 =
|
1868 |
-
|
1869 |
-
* fixed javascript email check
|
1870 |
-
* fixed rewrite of link that are anchors
|
1871 |
-
* possible patch to increase concurrency detection while sending
|
1872 |
-
* fixed warning message on email composer panel
|
1873 |
-
|
1874 |
-
= 2.5.3 =
|
1875 |
-
|
1876 |
-
* changed the confirmation and cancellation URLs to a direct call to Newsletter Pro to avoid double emails
|
1877 |
-
* mail opening now tracked
|
1878 |
-
* fixed the add api
|
1879 |
-
* feed by mail settings added: categories and max posts
|
1880 |
-
* feed by mail themes change to use the new settings
|
1881 |
-
* unsubscribed users are marked as unsubscribed and not removed
|
1882 |
-
* api now respect follow up and feed by mail subscription options
|
1883 |
-
* fixed the profile form to add the user id and token
|
1884 |
-
* subscribers' panel changed
|
1885 |
-
* optimizations
|
1886 |
-
* main url fixed everywhere
|
1887 |
-
* small changes to the email composer
|
1888 |
-
* small changes to the blank theme
|
1889 |
-
|
1890 |
-
= 2.5.2.3 =
|
1891 |
-
|
1892 |
-
* subscribers panel now show the profile data
|
1893 |
-
* search can be ordered by profile data
|
1894 |
-
* result limit on search can be specified
|
1895 |
-
* {unlock_url} fixed (it was not pointing to the right configured url)
|
1896 |
-
|
1897 |
-
= 2.5.2.2 =
|
1898 |
-
|
1899 |
-
* fixed the concurrent email sending problem
|
1900 |
-
* added WordPress media gallery integration inside email composer
|
1901 |
-
|
1902 |
-
= 2.5.2.1 =
|
1903 |
-
|
1904 |
-
* added the add_user method
|
1905 |
-
* fixed the API (was not working) and added multilist on API (thankyou betting-tips-uk.com)
|
1906 |
-
* fixed privacy check box on widget
|
1907 |
-
|
1908 |
-
= 2.5.2 =
|
1909 |
-
|
1910 |
-
* added compatibility with lite cache
|
1911 |
-
* fixed the list checkboxes on user edit panel
|
1912 |
-
* removed the 100 users limit on search panel
|
1913 |
-
* category an max posts selection on email composer
|
1914 |
-
|
1915 |
-
= 2.5.1.5 =
|
1916 |
-
|
1917 |
-
* improved the url tag replacement for some particular blog installation
|
1918 |
-
* fixed the unsubscription administrator notification
|
1919 |
-
* replaced sex with gender in notification emails
|
1920 |
-
* fixed the confirm/unconfirm button on user list
|
1921 |
-
* fixed some labels
|
1922 |
-
* subscription form table HTML
|
1923 |
-
|
1924 |
-
= 2.5.1.4 =
|
1925 |
-
|
1926 |
-
* added {date} tag and {date_'format'} tag, where 'format' can be any of the PHP date formats
|
1927 |
-
* added {blog_description} tag
|
1928 |
-
* fixed the feed reset button
|
1929 |
-
* added one day back button to the feed
|
1930 |
-
* updated custom forms documentation
|
1931 |
-
* fixed the trigger button on emails panel
|
1932 |
-
* changed both feed by mail themes (check them if you create your own theme)
|
1933 |
-
* fixed the custom profile field generation (important!)
|
1934 |
-
* fixed documentation about custom forms
|
1935 |
-
|
1936 |
-
Version 2.5.1.3
|
1937 |
-
- fix the feed email test id (not important, it only generates PHP error logs)
|
1938 |
-
- feed by mail send now now force the sending if in a non sending day
|
1939 |
-
- changed the way feed by mail themes extract the posts: solves the sticky posts problem
|
1940 |
-
- added the feed last check time reset button
|
1941 |
-
- fixed the confirm and cancel buttons on user list
|
1942 |
-
- fixed the welcome email when using a custom thank you page
|
1943 |
-
- added images to theme 1
|
1944 |
-
- added button to trigger the delivery engine
|
1945 |
-
- fixed the widget mail check
|
1946 |
-
- reintroduced style.css for themes
|
1947 |
-
- updated theme documentation
|
1948 |
-
- added CDATA on JavaScript
|
1949 |
-
- fixed theme 1 which was not adding the images
|
1950 |
-
- added theme 3
|
1951 |
-
|
1952 |
-
Version 2.5.1.2
|
1953 |
-
- fixed the old profile fields saving
|
1954 |
-
|
1955 |
-
Version 2.5.1.1
|
1956 |
-
- new fr_FR file
|
1957 |
-
- fixed test of SMTP configuration which was sending to test address 2 instead of test address 1
|
1958 |
-
- bounced voice remove on search filter
|
1959 |
-
- added action "of" which return only the subscription form and fire a subcription of type "os"
|
1960 |
-
- added action "os" that subscribe the user and show only the welcome/confirmation required message
|
1961 |
-
- fixed issue with main page url configuration
|
1962 |
-
|
1963 |
-
Version 2.5.1
|
1964 |
-
- Fixed the widget that was not using the extended fields
|
1965 |
-
- Fixed the widget that was not using the lists
|
1966 |
-
- Added the class "newsletter-profile" and "newsletter-profile-[number]" to the widget form
|
1967 |
-
- Added the class "newsletter-profile" and "newsletter-profile-[number]" to the main subscription form
|
1968 |
-
- Added the class "newsletter-profile" and "newsletter-profile-[number]" to the profile form
|
1969 |
-
- Added the classes "newsletter-email", "newsletter-firstname", "newsletter-surname" to the respective fields on every form
|
1970 |
-
- Removed email theme option on subscription panel (was not used)
|
1971 |
-
- Fixed the welcome email on double opt in process
|
1972 |
-
- Subscription notifications to admin only for confirmed subscription
|
1973 |
-
- Fixed subscription process panel for double opt in (layout problems)
|
1974 |
-
- Improved subscription process panel
|
1975 |
-
|
1976 |
-
|
1977 |
-
Version 2.5.0.1
|
1978 |
-
- Fix unsubscription process not working
|
1979 |
-
|
1980 |
-
Version 2.5.0
|
1981 |
-
- Official first release
|
1982 |
-
|
2 |
Tags: email, email marketing, newsletter, newsletter subscribers, welcome email, signup forms, contact, lead generation, popup, marketing automation
|
3 |
Requires at least: 3.4.0
|
4 |
Tested up to: 5.3.2
|
5 |
+
Stable tag: 6.4.6
|
6 |
Requires PHP: 5.6
|
7 |
Contributors: satollo,webagile,michael-travan
|
8 |
|
109 |
|
110 |
== Changelog ==
|
111 |
|
112 |
+
= 6.4.6 =
|
113 |
+
|
114 |
+
* Added hook to [register custom theme folders](https://www.thenewsletterplugin.com/developers/newsletter-themes)
|
115 |
+
* Removed old themes
|
116 |
+
* Removed packages theme folder scan (so locally added themes are not loaded, see site documentation if you need to create a custom theme)
|
117 |
+
* Polylang support on default theme
|
118 |
+
* Better error check on addon list retrieval
|
119 |
+
* Added language on targeting options
|
120 |
+
* Fixed user list pagination
|
121 |
+
* Subject replacement for online preview
|
122 |
+
|
123 |
+
= 6.4.5 =
|
124 |
+
|
125 |
+
* Restored a missing method used by addons
|
126 |
+
* Added the changelog.txt file
|
127 |
+
|
128 |
= 6.4.4 =
|
129 |
|
130 |
* Automatic language detection on subscription when available
|
323 |
|
324 |
* The Newsletter Plugin Composer - A new revamped drag & drop composer
|
325 |
* Several improvements and fixes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
statistics/statistics.php
CHANGED
@@ -276,6 +276,16 @@ class NewsletterStatistics extends NewsletterModule {
|
|
276 |
return $report->open_count;
|
277 |
}
|
278 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
279 |
/**
|
280 |
* @deprecated
|
281 |
*
|
276 |
return $report->open_count;
|
277 |
}
|
278 |
|
279 |
+
/**
|
280 |
+
* @deprecated
|
281 |
+
*
|
282 |
+
* @param type $email_id
|
283 |
+
* @return type
|
284 |
+
*/
|
285 |
+
function get_error_count($email_id) {
|
286 |
+
return 0;
|
287 |
+
}
|
288 |
+
|
289 |
/**
|
290 |
* @deprecated
|
291 |
*
|
unsubscription/unsubscription.php
CHANGED
@@ -38,7 +38,7 @@ class NewsletterUnsubscription extends NewsletterModule {
|
|
38 |
wp_redirect($url);
|
39 |
die();
|
40 |
break;
|
41 |
-
|
42 |
case 'uc':
|
43 |
if ($this->antibot_form_check()) {
|
44 |
$user = $this->unsubscribe();
|
@@ -129,14 +129,15 @@ class NewsletterUnsubscription extends NewsletterModule {
|
|
129 |
|
130 |
function hook_newsletter_replace($text, $user, $email) {
|
131 |
|
132 |
-
if (
|
133 |
-
|
|
|
|
|
|
|
|
|
|
|
134 |
}
|
135 |
|
136 |
-
$text = $this->replace_url($text, 'UNSUBSCRIPTION_CONFIRM_URL', $this->build_action_url('uc', $user, $email));
|
137 |
-
$text = $this->replace_url($text, 'UNSUBSCRIPTION_URL', $this->build_action_url('u', $user, $email));
|
138 |
-
$text = $this->replace_url($text, 'REACTIVATE_URL', $this->build_action_url('reactivate', $user, $email));
|
139 |
-
|
140 |
return $text;
|
141 |
}
|
142 |
|
38 |
wp_redirect($url);
|
39 |
die();
|
40 |
break;
|
41 |
+
|
42 |
case 'uc':
|
43 |
if ($this->antibot_form_check()) {
|
44 |
$user = $this->unsubscribe();
|
129 |
|
130 |
function hook_newsletter_replace($text, $user, $email) {
|
131 |
|
132 |
+
if ($user) {
|
133 |
+
$text = $this->replace_url($text, 'UNSUBSCRIPTION_CONFIRM_URL', $this->build_action_url('uc', $user, $email));
|
134 |
+
$text = $this->replace_url($text, 'UNSUBSCRIPTION_URL', $this->build_action_url('u', $user, $email));
|
135 |
+
$text = $this->replace_url($text, 'REACTIVATE_URL', $this->build_action_url('reactivate', $user, $email));
|
136 |
+
} else {
|
137 |
+
$text = $this->replace_url($text, 'UNSUBSCRIPTION_CONFIRM_URL', '#');
|
138 |
+
$text = $this->replace_url($text, 'UNSUBSCRIPTION_URL', '#');
|
139 |
}
|
140 |
|
|
|
|
|
|
|
|
|
141 |
return $text;
|
142 |
}
|
143 |
|
users/index.php
CHANGED
@@ -236,7 +236,6 @@ $controls->data['search_page'] ++;
|
|
236 |
|
237 |
<?php $controls->button('first', '«'); ?>
|
238 |
<?php $controls->button('prev', '‹'); ?>
|
239 |
-
<?php $controls->text('search_page', 3); ?> of <?php echo $last_page + 1 ?> <?php $controls->button('go', __('Go', 'newsletter')); ?>
|
240 |
<?php $controls->button('next', '›'); ?>
|
241 |
<?php $controls->button('last', '»'); ?>
|
242 |
</div>
|
236 |
|
237 |
<?php $controls->button('first', '«'); ?>
|
238 |
<?php $controls->button('prev', '‹'); ?>
|
|
|
239 |
<?php $controls->button('next', '›'); ?>
|
240 |
<?php $controls->button('last', '»'); ?>
|
241 |
</div>
|