Version Description
- 2015-02-17 =
- Fixed hidden signup confirmation when the theme "Twenty Fifteen" is activated
- Fixed import issue on Windows servers, all valid subscribers CSV files can be imported now
- Fixed the filter "Subscribers in no list" in the Subscribers' listing in the backend
- Fixed bug in the frontend subscriptions page with the shortcode [wysija_page] not being replaced
- Fixed rendering issue when sending WordPress Post notifications including multiple levels of nested HTML lists(ul & ol)
- Improved performance in the Subscribers' listing
- Improved scheduled tasks process responses for greater reliability
- Added "WBounce" to our list of compatible plugins in Settings > Add-ons
- Added non-translated strings for the subscribe and unsubscribe admin notifications
Download this release
Release Info
Developer | wysija |
Plugin | MailPoet Newsletters (Previous) |
Version | 2.6.15 |
Comparing to | |
See all releases |
Code changes from version 2.6.14 to 2.6.15
- add-ons/add-ons-list.php +15 -0
- classes/WJ_Analytics.php +64 -0
- classes/WJ_Import.php +2 -1
- core/base.php +2 -1
- css/admin-campaigns.css +1 -1
- css/validationEngine.jquery.css +292 -1
- helpers/back.php +1 -0
- helpers/cron.php +21 -4
- helpers/front.php +1 -18
- helpers/update.php +19 -1
- helpers/user.php +2 -2
- helpers/wj_engine.php +27 -88
- index.php +2 -2
- js/admin-wysija.js +1 -1
- js/analytics.js +1 -1
- languages/wysija-newsletters-af.mo +0 -0
- languages/wysija-newsletters-ar.mo +0 -0
- languages/wysija-newsletters-bg_BG.mo +0 -0
- languages/wysija-newsletters-bn_BD.mo +0 -0
- languages/wysija-newsletters-bs_BA.mo +0 -0
- languages/wysija-newsletters-ca.mo +0 -0
- languages/wysija-newsletters-ca@valencia.mo +0 -0
- languages/wysija-newsletters-ca_ES.mo +0 -0
- languages/wysija-newsletters-cs_CZ.mo +0 -0
- languages/wysija-newsletters-da_DK.mo +0 -0
- languages/wysija-newsletters-de_DE.mo +0 -0
- languages/wysija-newsletters-el.mo +0 -0
- languages/wysija-newsletters-en_GB.mo +0 -0
- languages/wysija-newsletters-es.mo +0 -0
- languages/wysija-newsletters-es_419.mo +0 -0
- languages/wysija-newsletters-es_AR.mo +0 -0
- languages/wysija-newsletters-es_ES.mo +0 -0
- languages/wysija-newsletters-et.mo +0 -0
- languages/wysija-newsletters-eu.mo +0 -0
- languages/wysija-newsletters-fa.mo +0 -0
- languages/wysija-newsletters-fa_IR.mo +0 -0
- languages/wysija-newsletters-fi.mo +0 -0
- languages/wysija-newsletters-fr_FR.mo +0 -0
- languages/wysija-newsletters-gl_ES.mo +0 -0
- languages/wysija-newsletters-he_IL.mo +0 -0
- languages/wysija-newsletters-hi_IN.mo +0 -0
- languages/wysija-newsletters-hr_HR.mo +0 -0
- languages/wysija-newsletters-hu_HU.mo +0 -0
- languages/wysija-newsletters-hy_AM.mo +0 -0
- languages/wysija-newsletters-id.mo +0 -0
- languages/wysija-newsletters-it_IT.mo +0 -0
- languages/wysija-newsletters-ja.mo +0 -0
- languages/wysija-newsletters-ko_KR.mo +0 -0
- languages/wysija-newsletters-lt_LT.mo +0 -0
- languages/wysija-newsletters-lv.mo +0 -0
- languages/wysija-newsletters-mk_MK.mo +0 -0
- languages/wysija-newsletters-nb_NO.mo +0 -0
- languages/wysija-newsletters-nl_NL.mo +0 -0
- languages/wysija-newsletters-pl_PL.mo +0 -0
- languages/wysija-newsletters-pt_BR.mo +0 -0
- languages/wysija-newsletters-pt_PT.mo +0 -0
- languages/wysija-newsletters-ro_RO.mo +0 -0
- languages/wysija-newsletters-ru_RU.mo +0 -0
- languages/wysija-newsletters-sk_SK.mo +0 -0
- languages/wysija-newsletters-sl_SI.mo +0 -0
- languages/wysija-newsletters-sq.mo +0 -0
- languages/wysija-newsletters-sr_RS.mo +0 -0
- languages/wysija-newsletters-sr_RS@latin.mo +0 -0
- languages/wysija-newsletters-sv_SE.mo +0 -0
- languages/wysija-newsletters-tr_TR.mo +0 -0
- languages/wysija-newsletters-uk.mo +0 -0
- languages/wysija-newsletters-ur_PK.mo +0 -0
- languages/wysija-newsletters-vi.mo +0 -0
- languages/wysija-newsletters-zh_CN.mo +0 -0
- languages/wysija-newsletters-zh_TW.mo +0 -0
- models/user.php +15 -17
- readme.txt +27 -15
- views/back/campaigns.php +43 -6
add-ons/add-ons-list.php
CHANGED
@@ -231,6 +231,21 @@ function add_ons_list(){
|
|
231 |
'premium_offer' => '',
|
232 |
),
|
233 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
234 |
array(
|
235 |
'name' => 'Optin Revolution: Popup form',
|
236 |
'search' => 'Optin Revolution: popup form',
|
231 |
'premium_offer' => '',
|
232 |
),
|
233 |
|
234 |
+
array(
|
235 |
+
'name' => 'wBounce: Exit popup forms',
|
236 |
+
'search' => 'wBounce',
|
237 |
+
'thumbnail' => 'wbounce-forms.jpg',
|
238 |
+
'description' => __( 'Exit popups are not only "in vogue", they are provably increasing conversions and therefore boost marketing, signups and sales. wBounce displays an inline popup before the user leaves your site.', WYSIJA ),
|
239 |
+
'review' => __( 'Exit popup will appear when your cursor leaves the window.', WYSIJA ),
|
240 |
+
'plugin_url' => 'wbounce/wbounce.php',
|
241 |
+
'author_url' => 'http://clicky.me/wbounce',
|
242 |
+
'version' => '1.4',
|
243 |
+
'official' => true,
|
244 |
+
'on_wordpress.org' => true,
|
245 |
+
'free' => true,
|
246 |
+
'service' => false,
|
247 |
+
'requires' => '',
|
248 |
+
),
|
249 |
array(
|
250 |
'name' => 'Optin Revolution: Popup form',
|
251 |
'search' => 'Optin Revolution: popup form',
|
classes/WJ_Analytics.php
CHANGED
@@ -28,6 +28,10 @@ class WJ_Analytics {
|
|
28 |
'label' => 'Confirmed subscribers',
|
29 |
'value' => ''
|
30 |
),
|
|
|
|
|
|
|
|
|
31 |
'unconfirmed_subscribers' => array(
|
32 |
'label' => 'Unconfirmed subscribers',
|
33 |
'value' => ''
|
@@ -305,6 +309,66 @@ class WJ_Analytics {
|
|
305 |
return $confirmed_percentage;
|
306 |
}
|
307 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
308 |
/**
|
309 |
* Calculate unconfirmed subscribers.
|
310 |
* @return Int
|
28 |
'label' => 'Confirmed subscribers',
|
29 |
'value' => ''
|
30 |
),
|
31 |
+
'range_confirmed_subscribers' => array(
|
32 |
+
'label' => 'Range Confirmed subscribers',
|
33 |
+
'value' => ''
|
34 |
+
),
|
35 |
'unconfirmed_subscribers' => array(
|
36 |
'label' => 'Unconfirmed subscribers',
|
37 |
'value' => ''
|
309 |
return $confirmed_percentage;
|
310 |
}
|
311 |
|
312 |
+
/**
|
313 |
+
*
|
314 |
+
* @return string range eg: 0-100 101-200 2001-500
|
315 |
+
*/
|
316 |
+
private function range_confirmed_subscribers(){
|
317 |
+
$model_user = WYSIJA::get('user', 'model');
|
318 |
+
$query = 'SELECT COUNT(*) as confirmed_subscribers
|
319 |
+
FROM ' . '[wysija]' . $model_user->table_name . '
|
320 |
+
WHERE status = 1';
|
321 |
+
$result = $model_user->query('get_res', $query);
|
322 |
+
|
323 |
+
$confirmed_subscribers = (int) $result[0]['confirmed_subscribers'];
|
324 |
+
|
325 |
+
$ranges_increment = array( 2000 => 100, 10000 => 500, 20000 => 1000, 40000 => 2000, 100000 => 5000, 200000 => 10000, 500000 => 25000, 1000000 => 50000);
|
326 |
+
|
327 |
+
$found_range = $this->range_finder( $confirmed_subscribers, $ranges_increment );
|
328 |
+
|
329 |
+
return $found_range['lower'].' - '.$found_range['upper'];
|
330 |
+
}
|
331 |
+
|
332 |
+
private function range_finder($value, $ranges_increment){
|
333 |
+
|
334 |
+
$limit_max = 0;
|
335 |
+
foreach( $ranges_increment as $limit => $range_increment ){
|
336 |
+
$small_limit = $limit_max + $range_increment;
|
337 |
+
$limit_max = $limit;
|
338 |
+
|
339 |
+
if( $value > $limit_max){
|
340 |
+
continue;
|
341 |
+
}
|
342 |
+
|
343 |
+
while( $value >= $small_limit && $small_limit <= $limit_max ){
|
344 |
+
|
345 |
+
if( $value > $small_limit ){
|
346 |
+
$min_value = $small_limit - $range_increment + 1;
|
347 |
+
}
|
348 |
+
if( $value == $small_limit ){
|
349 |
+
break;
|
350 |
+
}
|
351 |
+
$small_limit += $range_increment;
|
352 |
+
}
|
353 |
+
|
354 |
+
if( $value <= $small_limit){
|
355 |
+
break;
|
356 |
+
}
|
357 |
+
}
|
358 |
+
|
359 |
+
if( $value > $limit_max){
|
360 |
+
return array( 'lower' => $limit_max , 'upper' => 'above' );
|
361 |
+
}else{
|
362 |
+
if( $value < 1 ){
|
363 |
+
return array( 'lower' => 0 , 'upper' => 'or undefined' );
|
364 |
+
}else{
|
365 |
+
$min_value = $small_limit - $range_increment + 1;
|
366 |
+
return array( 'lower' => $min_value , 'upper' => $small_limit );
|
367 |
+
}
|
368 |
+
}
|
369 |
+
|
370 |
+
}
|
371 |
+
|
372 |
/**
|
373 |
* Calculate unconfirmed subscribers.
|
374 |
* @return Int
|
classes/WJ_Import.php
CHANGED
@@ -338,10 +338,11 @@ class WJ_Import extends WYSIJA_object {
|
|
338 |
if($rows_to_read!=0 && $i> $rows_to_read) return $data;
|
339 |
|
340 |
// str_getcsv only exists in php5 and is a faster and cleaner function than our csv_explode
|
341 |
-
if (!function_exists('str_getcsv')) {
|
342 |
$data[] = $this->_lines_explode($csv_line, $delimiter, $enclosure);
|
343 |
} else {
|
344 |
$data[] = str_getcsv($csv_line, $delimiter, $enclosure);
|
|
|
345 |
}
|
346 |
|
347 |
$i++;
|
338 |
if($rows_to_read!=0 && $i> $rows_to_read) return $data;
|
339 |
|
340 |
// str_getcsv only exists in php5 and is a faster and cleaner function than our csv_explode
|
341 |
+
if (!function_exists('str_getcsv') || strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
|
342 |
$data[] = $this->_lines_explode($csv_line, $delimiter, $enclosure);
|
343 |
} else {
|
344 |
$data[] = str_getcsv($csv_line, $delimiter, $enclosure);
|
345 |
+
|
346 |
}
|
347 |
|
348 |
$i++;
|
core/base.php
CHANGED
@@ -19,7 +19,7 @@ class WYSIJA_object{
|
|
19 |
* Static variable holding core MailPoet's version
|
20 |
* @var array
|
21 |
*/
|
22 |
-
static $version = '2.6.
|
23 |
|
24 |
function WYSIJA_object(){
|
25 |
|
@@ -1398,6 +1398,7 @@ class WYSIJA extends WYSIJA_object{
|
|
1398 |
$processesToRun = array();
|
1399 |
foreach($cron_schedules as $schedule => $scheduled_times){
|
1400 |
if(strpos($schedule, '(bounce handling not activated)')!==false) continue;
|
|
|
1401 |
$process_frequency = $processes[$schedule];
|
1402 |
if( ( !$scheduled_times['running'] || (int)$scheduled_times['running'] + $process_frequency < $time_now ) && $scheduled_times['next_schedule'] < $time_now){
|
1403 |
$processesToRun[] = $schedule;
|
19 |
* Static variable holding core MailPoet's version
|
20 |
* @var array
|
21 |
*/
|
22 |
+
static $version = '2.6.15';
|
23 |
|
24 |
function WYSIJA_object(){
|
25 |
|
1398 |
$processesToRun = array();
|
1399 |
foreach($cron_schedules as $schedule => $scheduled_times){
|
1400 |
if(strpos($schedule, '(bounce handling not activated)')!==false) continue;
|
1401 |
+
if( !isset($processes[$schedule]) ) continue;
|
1402 |
$process_frequency = $processes[$schedule];
|
1403 |
if( ( !$scheduled_times['running'] || (int)$scheduled_times['running'] + $process_frequency < $time_now ) && $scheduled_times['next_schedule'] < $time_now){
|
1404 |
$processesToRun[] = $schedule;
|
css/admin-campaigns.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
#wysija-app{padding-top:10px}.icon32{margin-top:0px !important}#posts-filter{clear:both}#wysija-app h2{display:inline}#icon-edit-news{background:url(../img/mail-big.png) no-repeat scroll 0 5px transparent}#TB_window{display:block}.moredetails{display:none}.sending,.scheduled{background-color:#d5f0e6}.autonl.sending{background-color:#D7E6F2}#wysija-campaign .listmissing{background-color:#EFD5D5}#preview-receiver{width:230px;vertical-align:middle;margin:0 5px 0 0}.ml-submit{margin:15px 15px 0 15px}.automatic-nl{display:none}#titlediv .titlebox{font-size:1.7em;background-color:#FFFFFF;border-color:#CCCCCC;line-height:100%;outline:medium none;padding:3px 8px;width:100%}label .description{cursor:auto}.about-wrap .feature-section.three-col div{float:left;width:28%}#socials-block div{float:none;margin:5px 5px 2px 0;width:100%}.progress_bar{padding-bottom:10px}.progress_bar .bar{display:block;width:100%;height:22px;float:left;margin-right:10px;background:#eef6fc;border:1px solid #bbbbbb;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;line-height:22px;position:relative}.progress_bar .progress{display:block;background:#69b1e9;height:100%}.progress_bar .percent{height:100%;position:absolute;top:0px;left:10px}#wysija-badge{position:absolute;top:0;right:0;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,0.3);padding-top:91px;height:50px;width:173px;font-weight:bold;font-size:14px;text-align:center;margin:0 -5px;background:url("http://s-plugins.wordpress.org/wysija-newsletters/assets/wysija-badge.png") no-repeat}#review-follow{position:relative;height:177px}#review-follow div{float:left;top:0}#review-follow .review-left{background:url("http://s-plugins.wordpress.org/wysija-newsletters/assets/update_page/save-the-kitten.jpg") no-repeat;height:175px;background-color:#f8f8f8;border-top:1px solid #efefef;border-bottom:1px solid #efefef;padding-right:10px}#review-follow h4{margin:0 !important}#review-follow .review-left.small{width:450px}#review-follow .review-left.medium{width:490px}#review-follow .review-left.large{width:540px}#review-follow .small .description{margin-top:24px}#review-follow .medium .description{margin-top:20px}#review-follow .large .description{margin-top:18px}#review-follow .review-left p{margin-left:20px}#review-follow .review-right{background:url("http://s-plugins.wordpress.org/wysija-newsletters/assets/update_page/arrow_middle.jpg") no-repeat scroll -30px 0 #f8f8f8;border-bottom:1px solid #EFEFEF;border-top:1px solid #EFEFEF;height:175px;width:24px}#review-follow #mailpoet-subscribe{margin-left:0px;margin-top:10px}#review-follow .subscribe-middle{width:220px;height:175px;background-color:#f8f8f8;border-top:1px solid #efefef;border-bottom:1px solid #efefef}#review-follow .socials{margin-left:30px}#review-follow .follow-left{width:220px;height:175px;background-color:#f8f8f8;border-top:1px solid #efefef;border-bottom:1px solid #efefef}#review-follow .follow-right{background:url("http://s-plugins.wordpress.org/wysija-newsletters/assets/update_page/arrow_right.jpg") no-repeat;width:100px;height:175px}#review-follow .follow-right38{background:url("http://s-plugins.wordpress.org/wysija-newsletters/assets/update_page/arrow-right-38.jpg") no-repeat;width:100px;height:175px}#review-follow .review-left .description{margin-left:146px}#review-follow .link-cat-review{height:140px;left:20px;position:absolute;top:21px;width:120px;outline:medium none}a.ctaupdate,span.ctaupdate{font-size:12px}.pds-links,.pds-totalvotes-outer{display:none !important}#polldaddy_embed_0{width:680px;margin-left:-30px}span.local_time{margin-left:10px}#hook_newsletter_top .hook-column{width:50%}.card-title{font-weight:bold}.report-card{padding-top:10px}.googletrackingcode .action_buttons{padding-left:44px;padding-top:5px}.googletrackingcode span{font-weight:bold}.mpoet-page h1{font-size:34px}.mpoet-page h1,.mpoet-page h2,.mpoet-page h3,.mpoet-page h4{color:#626262;font-weight:bold}.mpoet-page h1 span.version{color:#5e869b}.mpoet-update-subscribe p{font-size:12px}.mpoet-update-subscribe li{font-size:12px;line-height:10px}.mpoet-update-subscribe-left,.mpoet-update-subscribe-right{float:left}.mpoet-update-subscribe-left{margin-right:50px}.about-wrap .feature-section .mpoet-update-subscribe-left p{margin-top:0;margin-bottom:5px}.about-wrap .feature-section .mpoet-update-subscribe-left ul{margin-top:5px;margin-bottom:5px}#update-page{margin-top:0px}.mp_php_alert{margin:5px 0 15px;background-color:#fff;border-left:4px solid #7ad03a;box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);padding:1px 12px;outline:0 none}
|
1 |
+
#wysija-app{padding-top:10px}.icon32{margin-top:0px !important}#posts-filter{clear:both}#wysija-app h2{display:inline}#icon-edit-news{background:url(../img/mail-big.png) no-repeat scroll 0 5px transparent}#TB_window{display:block}.moredetails{display:none}.sending,.scheduled{background-color:#d5f0e6}.autonl.sending{background-color:#D7E6F2}#wysija-campaign .listmissing{background-color:#EFD5D5}#preview-receiver{width:230px;vertical-align:middle;margin:0 5px 0 0}.ml-submit{margin:15px 15px 0 15px}.automatic-nl{display:none}#titlediv .titlebox{font-size:1.7em;background-color:#FFFFFF;border-color:#CCCCCC;line-height:100%;outline:medium none;padding:3px 8px;width:100%}label .description{cursor:auto}.about-wrap .feature-section.three-col div{float:left;width:28%}#socials-block div{float:none;margin:5px 5px 2px 0;width:100%}.progress_bar{padding-bottom:10px}.progress_bar .bar{display:block;width:100%;height:22px;float:left;margin-right:10px;background:#eef6fc;border:1px solid #bbbbbb;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;line-height:22px;position:relative}.progress_bar .progress{display:block;background:#69b1e9;height:100%}.progress_bar .percent{height:100%;position:absolute;top:0px;left:10px}#wysija-badge{position:absolute;top:0;right:0;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,0.3);padding-top:91px;height:50px;width:173px;font-weight:bold;font-size:14px;text-align:center;margin:0 -5px;background:url("http://s-plugins.wordpress.org/wysija-newsletters/assets/wysija-badge.png") no-repeat}#review-follow{position:relative;height:177px}#review-follow div{float:left;top:0}#review-follow .review-left{background:url("http://s-plugins.wordpress.org/wysija-newsletters/assets/update_page/save-the-kitten.jpg") no-repeat;height:175px;background-color:#f8f8f8;border-top:1px solid #efefef;border-bottom:1px solid #efefef;padding-right:10px}#review-follow h4{margin:0 !important}#review-follow .review-left.small{width:450px}#review-follow .review-left.medium{width:490px}#review-follow .review-left.large{width:540px}#review-follow .small .description{margin-top:24px}#review-follow .medium .description{margin-top:20px}#review-follow .large .description{margin-top:18px}#review-follow .review-left p{margin-left:20px}#review-follow .review-right{background:url("http://s-plugins.wordpress.org/wysija-newsletters/assets/update_page/arrow_middle.jpg") no-repeat scroll -30px 0 #f8f8f8;border-bottom:1px solid #EFEFEF;border-top:1px solid #EFEFEF;height:175px;width:24px}#review-follow #mailpoet-subscribe{margin-left:0px;margin-top:10px}#review-follow .subscribe-middle{width:220px;height:175px;background-color:#f8f8f8;border-top:1px solid #efefef;border-bottom:1px solid #efefef}#review-follow .socials{margin-left:30px}#review-follow .follow-left{width:220px;height:175px;background-color:#f8f8f8;border-top:1px solid #efefef;border-bottom:1px solid #efefef}#review-follow .follow-right{background:url("http://s-plugins.wordpress.org/wysija-newsletters/assets/update_page/arrow_right.jpg") no-repeat;width:100px;height:175px}#review-follow .follow-right38{background:url("http://s-plugins.wordpress.org/wysija-newsletters/assets/update_page/arrow-right-38.jpg") no-repeat;width:100px;height:175px}#review-follow .review-left .description{margin-left:146px}#review-follow .link-cat-review{height:140px;left:20px;position:absolute;top:21px;width:120px;outline:medium none}a.ctaupdate,span.ctaupdate{font-size:12px}.pds-links,.pds-totalvotes-outer{display:none !important}#polldaddy_embed_0{width:680px;margin-left:-30px}span.local_time{margin-left:10px}#hook_newsletter_top .hook-column{width:50%}.card-title{font-weight:bold}.report-card{padding-top:10px}.googletrackingcode .action_buttons{padding-left:44px;padding-top:5px}.googletrackingcode span{font-weight:bold}.mpoet-page h1{font-size:34px}.mpoet-page h1,.mpoet-page h2,.mpoet-page h3,.mpoet-page h4{color:#626262;font-weight:bold}.mpoet-page h1 span.version{color:#5e869b}.mpoet-update-subscribe p{font-size:12px}.mpoet-update-subscribe li{font-size:12px;line-height:10px}.mpoet-update-subscribe-left,.mpoet-update-subscribe-right{float:left}.mpoet-update-subscribe-left{margin-right:50px}.about-wrap .feature-section .mpoet-update-subscribe-left p{margin-top:0;margin-bottom:5px}.about-wrap .feature-section .mpoet-update-subscribe-left ul{margin-top:5px;margin-bottom:5px}#update-page{margin-top:0px}.mp_php_alert{margin:5px 0 15px;background-color:#fff;border-left:4px solid #7ad03a;box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);padding:1px 12px;outline:0 none}.feature-section ul{list-style:disc inside none}#update-page .about-text{margin-bottom:1em;margin-top:0;min-height:20px}.mpoet-update-subscribe-left .button-primary{font-size:18px;height:32px}#update-loading-icon{background:url("../img/wpspin_light.gif") no-repeat scroll 0 0 transparent;height:20px;margin-left:26%;margin-top:6px;width:20px;display:none}
|
css/validationEngine.jquery.css
CHANGED
@@ -1 +1,292 @@
|
|
1 |
-
.widget_wysija_cont .inputContainer
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.widget_wysija_cont .inputContainer {
|
2 |
+
position: relative;
|
3 |
+
float: left;
|
4 |
+
}
|
5 |
+
|
6 |
+
.widget_wysija_cont .ajaxSubmit {
|
7 |
+
padding: 20px;
|
8 |
+
background: #55ea55;
|
9 |
+
border: 1px solid #999;
|
10 |
+
display: none
|
11 |
+
}
|
12 |
+
|
13 |
+
.formError {
|
14 |
+
position: absolute;
|
15 |
+
top: 300px;
|
16 |
+
left: 300px;
|
17 |
+
display: block;
|
18 |
+
z-index: 5000;
|
19 |
+
cursor: pointer;
|
20 |
+
}
|
21 |
+
|
22 |
+
.formError .formErrorContent {
|
23 |
+
background: none repeat scroll 0 0 #8E2121;
|
24 |
+
border: 1px solid #BBBBBB;
|
25 |
+
color: #FFFFFF;
|
26 |
+
font-family: tahoma;
|
27 |
+
font-size: 11px;
|
28 |
+
padding: 4px 10px;
|
29 |
+
position: relative;
|
30 |
+
width: 150px;
|
31 |
+
z-index: 5001;
|
32 |
+
}
|
33 |
+
|
34 |
+
.widget_wysija_cont .formError .formErrorArrow {
|
35 |
+
width: 15px;
|
36 |
+
margin: -2px 0 0 13px;
|
37 |
+
position:relative;
|
38 |
+
z-index: 5006;
|
39 |
+
}
|
40 |
+
|
41 |
+
.widget_wysija_cont .formError .formErrorArrowBottom {
|
42 |
+
margin: 0px 0 0 12px;
|
43 |
+
top:2px;
|
44 |
+
}
|
45 |
+
|
46 |
+
.widget_wysija_cont .formError .formErrorArrow div {
|
47 |
+
border-left: 2px solid #ddd;
|
48 |
+
border-right: 2px solid #ddd;
|
49 |
+
font-size: 0px;
|
50 |
+
height: 1px;
|
51 |
+
background: #8E2121;
|
52 |
+
margin: 0 auto;
|
53 |
+
line-height: 0;
|
54 |
+
font-size: 0;
|
55 |
+
display: block;
|
56 |
+
}
|
57 |
+
|
58 |
+
.widget_wysija_cont .formError .formErrorArrowBottom div {
|
59 |
+
|
60 |
+
}
|
61 |
+
|
62 |
+
.widget_wysija_cont .greenPopup .formErrorArrow div {
|
63 |
+
background: #33be40;
|
64 |
+
}
|
65 |
+
|
66 |
+
.widget_wysija_cont .blackPopup .formErrorArrow div {
|
67 |
+
background: #393939;
|
68 |
+
color: #FFF;
|
69 |
+
}
|
70 |
+
|
71 |
+
.widget_wysija_cont .formError .formErrorArrow .line10 {
|
72 |
+
width: 15px;
|
73 |
+
border: none;
|
74 |
+
}
|
75 |
+
|
76 |
+
.widget_wysija_cont .formError .formErrorArrow .line9 {
|
77 |
+
width: 13px;
|
78 |
+
border: none;
|
79 |
+
}
|
80 |
+
|
81 |
+
.widget_wysija_cont .formError .formErrorArrow .line8 {
|
82 |
+
width: 11px;
|
83 |
+
}
|
84 |
+
|
85 |
+
.widget_wysija_cont .formError .formErrorArrow .line7 {
|
86 |
+
width: 9px;
|
87 |
+
}
|
88 |
+
|
89 |
+
.widget_wysija_cont .formError .formErrorArrow .line6 {
|
90 |
+
width: 7px;
|
91 |
+
}
|
92 |
+
|
93 |
+
.widget_wysija_cont .formError .formErrorArrow .line5 {
|
94 |
+
width: 5px;
|
95 |
+
}
|
96 |
+
|
97 |
+
.widget_wysija_cont .formError .formErrorArrow .line4 {
|
98 |
+
width: 3px;
|
99 |
+
}
|
100 |
+
|
101 |
+
.widget_wysija_cont .formError .formErrorArrow .line3 {
|
102 |
+
width: 1px;
|
103 |
+
border-left: 2px solid #ddd;
|
104 |
+
border-right: 2px solid #ddd;
|
105 |
+
border-bottom: 0 solid #ddd;
|
106 |
+
}
|
107 |
+
|
108 |
+
.widget_wysija_cont .formError .formErrorArrow .line2 {
|
109 |
+
width: 3px;
|
110 |
+
border: none;
|
111 |
+
background: #ddd;
|
112 |
+
}
|
113 |
+
|
114 |
+
.widget_wysija_cont .formError .formErrorArrow .line1 {
|
115 |
+
width: 1px;
|
116 |
+
border: none;
|
117 |
+
background: #ddd;
|
118 |
+
}
|
119 |
+
|
120 |
+
|
121 |
+
.greenPopup .formErrorContent {
|
122 |
+
background: none repeat scroll 0 0 #FFFBCC;
|
123 |
+
color:#555555;
|
124 |
+
}
|
125 |
+
|
126 |
+
/*Messages info*/
|
127 |
+
.widget_wysija_cont .updated, .widget_wysija_cont .error, .widget_wysija_cont .xdetailed-errors {
|
128 |
+
margin: 5px 0 15px;
|
129 |
+
color: #333333;
|
130 |
+
font-family: sans-serif;
|
131 |
+
font-size: 12px;
|
132 |
+
line-height: 1.4em;
|
133 |
+
}
|
134 |
+
.widget_wysija_cont .error, .widget_wysija_cont .login #login_error {
|
135 |
+
background-color: #FFEBE8;
|
136 |
+
border-color: #CC0000;
|
137 |
+
}
|
138 |
+
.widget_wysija_cont .updated, .widget_wysija_cont .error, .widget_wysija_cont .xdetailed-errors {
|
139 |
+
border-radius: 3px;
|
140 |
+
-moz-border-radius: 3px;
|
141 |
+
-webkit-border-radius: 3px;
|
142 |
+
-khtml-border-radius: 3px;
|
143 |
+
border-style: solid;
|
144 |
+
border-width: 1px;
|
145 |
+
margin: 5px 15px 2px;
|
146 |
+
padding: 0 0.6em;
|
147 |
+
color:#333333;
|
148 |
+
}
|
149 |
+
|
150 |
+
.widget_wysija_cont.updated, .widget_wysija_cont .login .message {
|
151 |
+
background-color: #FFFFE0;
|
152 |
+
border-color: #E6DB55;
|
153 |
+
}
|
154 |
+
.widget_wysija_cont .xdetailed-updated {
|
155 |
+
background-color: #FFFFE0;
|
156 |
+
border-color: #E6DB55;
|
157 |
+
color: #000;
|
158 |
+
font-weight: bold;
|
159 |
+
display:none;
|
160 |
+
}
|
161 |
+
.widget_wysija_cont .xdetailed-errors {
|
162 |
+
background-color: #A50000;
|
163 |
+
border-color: #888888;
|
164 |
+
color: #DDDDDD;
|
165 |
+
font-weight: bold;
|
166 |
+
display:none;
|
167 |
+
}
|
168 |
+
|
169 |
+
.widget_wysija_cont .instruct {
|
170 |
+
font-style:italic;
|
171 |
+
font-weight:bold;
|
172 |
+
padding:5px 0;
|
173 |
+
font-size:11px;
|
174 |
+
}
|
175 |
+
.widget_wysija_cont .needInfo {
|
176 |
+
padding-left:15px;
|
177 |
+
text-decoration:underline;
|
178 |
+
}
|
179 |
+
|
180 |
+
.widget_wysija_cont .wysija-submit {
|
181 |
+
display:block;
|
182 |
+
margin-top:20px;
|
183 |
+
}
|
184 |
+
|
185 |
+
.widget_wysija_cont input.defaultlabels {
|
186 |
+
color:#888;
|
187 |
+
}
|
188 |
+
.widget_wysija_cont input.defaultlabels:focus {
|
189 |
+
color:#373737;
|
190 |
+
}
|
191 |
+
.widget_wysija_cont .abs-req {
|
192 |
+
display:none;
|
193 |
+
}
|
194 |
+
|
195 |
+
.widget_wysija_cont p label {
|
196 |
+
display:block;
|
197 |
+
}
|
198 |
+
|
199 |
+
.widget_wysija_cont .iframe-hidden {
|
200 |
+
display:none;
|
201 |
+
}
|
202 |
+
|
203 |
+
/*frontend message default style (simple white and soft red) */
|
204 |
+
.widget_wysija_cont .updated, .widget_wysija_cont .error, .widget_wysija_cont .xdetailed-errors {
|
205 |
+
background-color: #FFFFFF;
|
206 |
+
border: 1px solid;
|
207 |
+
border-radius: 0 0 0 0;
|
208 |
+
font-weight: normal;
|
209 |
+
margin: 4px 0;
|
210 |
+
padding: 4px;
|
211 |
+
}
|
212 |
+
|
213 |
+
.widget_wysija_cont .error, .widget_wysija_cont .xdetailed-errors{
|
214 |
+
background-color: #e55057;
|
215 |
+
color: #fff;
|
216 |
+
}
|
217 |
+
|
218 |
+
.widget_wysija_cont .error, .widget_wysija_cont .xdetailed-errors{
|
219 |
+
background-color: #e55057;
|
220 |
+
color: #fff;
|
221 |
+
border-color: #CC0000;
|
222 |
+
}
|
223 |
+
|
224 |
+
.widget_wysija_cont .allmsgs ul{
|
225 |
+
padding:0;
|
226 |
+
}
|
227 |
+
|
228 |
+
.widget_wysija_cont .allmsgs li{
|
229 |
+
list-style-type: none;
|
230 |
+
}
|
231 |
+
|
232 |
+
|
233 |
+
.widget_wysija_cont .updated, .widget_wysija_cont .login .message {
|
234 |
+
background-color: #FFFFE0;
|
235 |
+
border-color: #E6DB55;
|
236 |
+
}
|
237 |
+
|
238 |
+
.widget_wysija_cont .updated ul {
|
239 |
+
margin:0;
|
240 |
+
}
|
241 |
+
|
242 |
+
|
243 |
+
.widget_wysija_cont .showerrors {
|
244 |
+
color:#DDDDDD;
|
245 |
+
}
|
246 |
+
|
247 |
+
#wysija-subscriptions input.checkboxx {
|
248 |
+
margin-left:0px;
|
249 |
+
margin-right:10px;
|
250 |
+
}
|
251 |
+
|
252 |
+
#wysija-subscriptions th label {
|
253 |
+
margin-right:10px;
|
254 |
+
}
|
255 |
+
#wysija-box-after-comment {
|
256 |
+
width:25px;
|
257 |
+
}
|
258 |
+
|
259 |
+
#wysija-box-after-register {
|
260 |
+
margin: 0 6px 0 0;
|
261 |
+
padding: 3px;
|
262 |
+
}
|
263 |
+
.wysija-after-register {
|
264 |
+
padding-bottom: 10px;
|
265 |
+
}
|
266 |
+
|
267 |
+
.wysija-unsubscribed-on {
|
268 |
+
color:#bbb;
|
269 |
+
}
|
270 |
+
|
271 |
+
/* new form */
|
272 |
+
.widget_wysija .wysija-required {
|
273 |
+
font-weight:bold;
|
274 |
+
}
|
275 |
+
.widget_wysija .wysija-radio-label,
|
276 |
+
.widget_wysija .wysija-checkbox-label {
|
277 |
+
margin:0 0 5px 0;
|
278 |
+
cursor: pointer;
|
279 |
+
}
|
280 |
+
.widget_wysija .wysija-radio,
|
281 |
+
.widget_wysija .wysija-checkbox {
|
282 |
+
margin:0 5px 0 0;
|
283 |
+
vertical-align: middle;
|
284 |
+
}
|
285 |
+
|
286 |
+
.xdetailed-errors, .xdetailed-updated{
|
287 |
+
display:none;
|
288 |
+
}
|
289 |
+
|
290 |
+
.widget_wysija_cont .allmsgs .updated{
|
291 |
+
display:block !important;
|
292 |
+
}
|
helpers/back.php
CHANGED
@@ -529,6 +529,7 @@ class WYSIJA_help_back extends WYSIJA_help{
|
|
529 |
}
|
530 |
$jstrans['newsletters']=__('Newsletters',WYSIJA);
|
531 |
$jstrans['urlpremium']='admin.php?page=wysija_config#tab-premium';
|
|
|
532 |
if(isset($_REQUEST['page']) && $_REQUEST['page']=='wysija_config'){
|
533 |
$jstrans['urlpremium']='#tab-premium';
|
534 |
}
|
529 |
}
|
530 |
$jstrans['newsletters']=__('Newsletters',WYSIJA);
|
531 |
$jstrans['urlpremium']='admin.php?page=wysija_config#tab-premium';
|
532 |
+
$jstrans['premium_activating'] = __('Checking license', WYSIJA);
|
533 |
if(isset($_REQUEST['page']) && $_REQUEST['page']=='wysija_config'){
|
534 |
$jstrans['urlpremium']='#tab-premium';
|
535 |
}
|
helpers/cron.php
CHANGED
@@ -33,10 +33,15 @@ class WYSIJA_help_cron extends WYSIJA_object{
|
|
33 |
$this->report = $_SERVER['argv'][3];
|
34 |
}
|
35 |
|
36 |
-
if($process){
|
37 |
//include the needed parts of wp plus wysija
|
38 |
if(isset($_REQUEST[WYSIJA_CRON]) || ( isset($_SERVER['argv'][1]) && $_SERVER['argv'][1]==WYSIJA_CRON )) echo '';
|
39 |
-
else
|
|
|
|
|
|
|
|
|
|
|
40 |
$cron_schedules = get_option('wysija_schedules');
|
41 |
|
42 |
$processes = array();
|
@@ -44,11 +49,18 @@ class WYSIJA_help_cron extends WYSIJA_object{
|
|
44 |
$processes = explode(',', $process);
|
45 |
}else $processes[] = $process;
|
46 |
|
|
|
47 |
foreach($processes as $scheduleprocess){
|
48 |
if($scheduleprocess!='all'){
|
49 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
}else{
|
51 |
-
$allProcesses = array('queue','bounce','daily','weekly','monthly');
|
52 |
foreach($allProcesses as $processNK){
|
53 |
$this->check_scheduled_task($cron_schedules,$processNK);
|
54 |
}
|
@@ -57,6 +69,11 @@ class WYSIJA_help_cron extends WYSIJA_object{
|
|
57 |
exit;
|
58 |
}
|
59 |
}
|
|
|
|
|
|
|
|
|
|
|
60 |
}
|
61 |
if(!isset($_REQUEST['silent'])) echo '"MailPoet\'s cron is ready. Simply setup a CRON job on your server (cpanel or other) to trigger this page.' ;
|
62 |
if($process) exit;
|
33 |
$this->report = $_SERVER['argv'][3];
|
34 |
}
|
35 |
|
36 |
+
if( !empty($process) ){
|
37 |
//include the needed parts of wp plus wysija
|
38 |
if(isset($_REQUEST[WYSIJA_CRON]) || ( isset($_SERVER['argv'][1]) && $_SERVER['argv'][1]==WYSIJA_CRON )) echo '';
|
39 |
+
else{
|
40 |
+
wp_die("<h2>" . 'Invalid token' . "</h2>", "MailPoet CRON error", array(
|
41 |
+
'response' => 404,
|
42 |
+
'back_link' => false
|
43 |
+
));
|
44 |
+
}
|
45 |
$cron_schedules = get_option('wysija_schedules');
|
46 |
|
47 |
$processes = array();
|
49 |
$processes = explode(',', $process);
|
50 |
}else $processes[] = $process;
|
51 |
|
52 |
+
$allProcesses = array('queue','bounce','daily','weekly','monthly');
|
53 |
foreach($processes as $scheduleprocess){
|
54 |
if($scheduleprocess!='all'){
|
55 |
+
if( in_array( $scheduleprocess, $allProcesses ) ){
|
56 |
+
$this->check_scheduled_task($cron_schedules,$scheduleprocess);
|
57 |
+
}else{
|
58 |
+
wp_die("<h2>" . 'Invalid process' . "</h2>", "MailPoet CRON error", array(
|
59 |
+
'response' => 404,
|
60 |
+
'back_link' => false
|
61 |
+
));
|
62 |
+
}
|
63 |
}else{
|
|
|
64 |
foreach($allProcesses as $processNK){
|
65 |
$this->check_scheduled_task($cron_schedules,$processNK);
|
66 |
}
|
69 |
exit;
|
70 |
}
|
71 |
}
|
72 |
+
}else{
|
73 |
+
wp_die("<h2>" . 'Missing process' . "</h2>", "MailPoet CRON error", array(
|
74 |
+
'response' => 404,
|
75 |
+
'back_link' => false
|
76 |
+
));
|
77 |
}
|
78 |
if(!isset($_REQUEST['silent'])) echo '"MailPoet\'s cron is ready. Simply setup a CRON job on your server (cpanel or other) to trigger this page.' ;
|
79 |
if($process) exit;
|
helpers/front.php
CHANGED
@@ -8,23 +8,6 @@ class WYSIJA_help_front extends WYSIJA_help{
|
|
8 |
function WYSIJA_help_front(){
|
9 |
parent::WYSIJA_help();
|
10 |
|
11 |
-
|
12 |
-
/*if(defined('WYSIJA_DBG_ALL')){
|
13 |
-
$config=WYSIJA::get('config','model');
|
14 |
-
define('WYSIJA_DBG',(int)$config->getValue('debug_new'));
|
15 |
-
|
16 |
-
if(WYSIJA_DBG>0) include_once(WYSIJA_INC.'debug.php');
|
17 |
-
|
18 |
-
if(!function_exists('dbg')) {
|
19 |
-
function dbg($mixed,$exit=true){}
|
20 |
-
}
|
21 |
-
}*/
|
22 |
-
/* the controller is frontend if there is any wysija data requested */
|
23 |
-
|
24 |
-
/*$config=WYSIJA::get("config","model");
|
25 |
-
if($config->getValue("debug_on")) include_once(WYSIJA_INC."debug.php");*/
|
26 |
-
//include_once(WYSIJA_INC."debug.php");
|
27 |
-
|
28 |
// wysija form shortcode
|
29 |
add_shortcode('wysija_form', array($this,'scan_form_shortcode'));
|
30 |
// wysija total of subscribers shortcode
|
@@ -238,7 +221,7 @@ class WYSIJA_help_front extends WYSIJA_help{
|
|
238 |
|
239 |
// only force our edit subscription screen at the bottom of the content of the page
|
240 |
// if it's the right action and there is no wysija_page shortcode in teh page
|
241 |
-
if(!empty($_REQUEST['action']) && $_REQUEST['action'] == 'subscriptions' && strpos($content, '[wysija_page]')
|
242 |
// we append the subscription form at the bottom of the page if we can't detect it
|
243 |
return $content.'<div class="mpoet_profile_edit">'.$wysija_content.'</div>';
|
244 |
}else{
|
8 |
function WYSIJA_help_front(){
|
9 |
parent::WYSIJA_help();
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
// wysija form shortcode
|
12 |
add_shortcode('wysija_form', array($this,'scan_form_shortcode'));
|
13 |
// wysija total of subscribers shortcode
|
221 |
|
222 |
// only force our edit subscription screen at the bottom of the content of the page
|
223 |
// if it's the right action and there is no wysija_page shortcode in teh page
|
224 |
+
if(!empty($_REQUEST['action']) && $_REQUEST['action'] == 'subscriptions' && strpos($content, '[wysija_page]') === false){
|
225 |
// we append the subscription form at the bottom of the page if we can't detect it
|
226 |
return $content.'<div class="mpoet_profile_edit">'.$wysija_content.'</div>';
|
227 |
}else{
|
helpers/update.php
CHANGED
@@ -14,7 +14,7 @@ class WYSIJA_help_update extends WYSIJA_object {
|
|
14 |
'2.3.3','2.3.4',
|
15 |
'2.4', '2.4.1', '2.4.3','2.4.4',
|
16 |
'2.5','2.5.2','2.5.5','2.5.9.6', '2.5.9.7',
|
17 |
-
'2.6', '2.6.0.8',
|
18 |
);
|
19 |
}
|
20 |
|
@@ -480,6 +480,24 @@ class WYSIJA_help_update extends WYSIJA_object {
|
|
480 |
return true;
|
481 |
break;
|
482 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
483 |
default:
|
484 |
return false;
|
485 |
}
|
14 |
'2.3.3','2.3.4',
|
15 |
'2.4', '2.4.1', '2.4.3','2.4.4',
|
16 |
'2.5','2.5.2','2.5.5','2.5.9.6', '2.5.9.7',
|
17 |
+
'2.6', '2.6.0.8', '2.6.15'
|
18 |
);
|
19 |
}
|
20 |
|
480 |
return true;
|
481 |
break;
|
482 |
|
483 |
+
case '2.6.15':
|
484 |
+
global $wpdb;
|
485 |
+
$sql = "SHOW INDEX FROM [wysija]user_list WHERE Key_name = 'user_id'";
|
486 |
+
$result_index = $wpdb->get_results(str_replace('[wysija]',$this->modelWysija->getPrefix(),$sql));
|
487 |
+
|
488 |
+
$queries = array();
|
489 |
+
//create an INDEX only if it doesn't exist already
|
490 |
+
if( empty( $result_index ) ){
|
491 |
+
$queries[] = 'ALTER TABLE [wysija]user_list ADD INDEX `user_id` ( `user_id` ) ';
|
492 |
+
$errors = $this->run_update_queries( $queries );
|
493 |
+
|
494 |
+
if( !empty($errors) ){
|
495 |
+
$this->error( implode( $errors, "\n" ) );
|
496 |
+
}
|
497 |
+
}
|
498 |
+
return true;
|
499 |
+
break;
|
500 |
+
|
501 |
default:
|
502 |
return false;
|
503 |
}
|
helpers/user.php
CHANGED
@@ -870,10 +870,10 @@ class WYSIJA_help_user extends WYSIJA_object {
|
|
870 |
|
871 |
if ($subscribed) {
|
872 |
$title = sprintf(__('New subscriber to %1$s', WYSIJA), implode(',', $list_names));
|
873 |
-
$body = sprintf(__(
|
874 |
} else {
|
875 |
$title = sprintf(__('One less subscriber to %1$s', WYSIJA), implode(',', $list_names));
|
876 |
-
$body = sprintf(__(
|
877 |
}
|
878 |
|
879 |
$model_config = WYSIJA::get('config', 'model');
|
870 |
|
871 |
if ($subscribed) {
|
872 |
$title = sprintf(__('New subscriber to %1$s', WYSIJA), implode(',', $list_names));
|
873 |
+
$body = sprintf(__("Howdy,\n\n The subscriber %1\$s has just subscribed to your list '%2\$s' \n\n Cheers,\n\n The MailPoet Plugin", WYSIJA), "<strong>" . $email . "</strong>", "<strong>" . implode(',', $list_names) . "</strong>");
|
874 |
} else {
|
875 |
$title = sprintf(__('One less subscriber to %1$s', WYSIJA), implode(',', $list_names));
|
876 |
+
$body = sprintf(__("Howdy,\n\n The subscriber %1\$s has just unsubscribed to your list '%2\$s' \n\n Cheers,\n\n The MailPoet Plugin", WYSIJA), "<strong>" . $email . "</strong>", "<strong>" . implode(',', $list_names) . "</strong>");
|
877 |
}
|
878 |
|
879 |
$model_config = WYSIJA::get('config', 'model');
|
helpers/wj_engine.php
CHANGED
@@ -482,15 +482,9 @@ class WYSIJA_help_wj_engine extends WYSIJA_object {
|
|
482 |
// convert lists
|
483 |
$blockHTML = $this->convertLists($blockHTML);
|
484 |
|
485 |
-
// apply specific classes on titles and children (strong, em, a)
|
486 |
-
$blockHTML = $this->applyTitleClasses($blockHTML);
|
487 |
-
|
488 |
// apply inline styles
|
489 |
$blockHTML = $this->applyInlineStyles('body', $blockHTML, array('background_color' => $background_color));
|
490 |
|
491 |
-
// convert titles in block
|
492 |
-
$blockHTML = $this->convertTitles($blockHTML);
|
493 |
-
|
494 |
return $blockHTML;
|
495 |
}
|
496 |
|
@@ -1258,14 +1252,8 @@ class WYSIJA_help_wj_engine extends WYSIJA_object {
|
|
1258 |
// convert lists in block
|
1259 |
$blockHTML = $this->convertLists($blockHTML);
|
1260 |
|
1261 |
-
// apply specific classes on titles and children (strong, em, a)
|
1262 |
-
$blockHTML = $this->applyTitleClasses($blockHTML);
|
1263 |
-
|
1264 |
// apply inline styles
|
1265 |
$blockHTML = $this->applyInlineStyles('body', $blockHTML, array('background_color' => $block_background_color));
|
1266 |
-
|
1267 |
-
// convert titles in block
|
1268 |
-
$blockHTML = $this->convertTitles($blockHTML);
|
1269 |
}
|
1270 |
}
|
1271 |
|
@@ -1414,6 +1402,7 @@ class WYSIJA_help_wj_engine extends WYSIJA_object {
|
|
1414 |
'h2' => array_merge($styles['titles'], $this->getStyles('h2')),
|
1415 |
'h3' => array_merge($styles['titles'], $this->getStyles('h3')),
|
1416 |
'p' => array_merge($this->getStyles('body'), array('word-wrap' => true, 'padding' => '0', 'margin' => '1em 0', 'line-height' => '1.5em', 'vertical-align' => 'top', 'letter-spacing' => 'normal')),
|
|
|
1417 |
'a' => array_merge($this->getStyles('a'), array('word-wrap' => true)),
|
1418 |
'br' => array('margin' => '0', 'padding' => '0', 'line-height' => '150%')
|
1419 |
));
|
@@ -1593,86 +1582,36 @@ class WYSIJA_help_wj_engine extends WYSIJA_object {
|
|
1593 |
}
|
1594 |
}
|
1595 |
|
1596 |
-
//
|
1597 |
-
function
|
1598 |
-
|
1599 |
-
//
|
1600 |
-
|
1601 |
-
|
1602 |
-
|
1603 |
-
|
1604 |
-
|
1605 |
-
|
1606 |
-
);
|
1607 |
-
|
1608 |
-
$replacements = array(
|
1609 |
-
'<p$1>',
|
1610 |
-
'</p>'
|
1611 |
-
);
|
1612 |
-
|
1613 |
-
return preg_replace($patterns, $replacements, $html);
|
1614 |
-
}
|
1615 |
-
|
1616 |
-
// TODO: remove this method?
|
1617 |
-
function applyTitleClasses($html) {
|
1618 |
-
|
1619 |
-
// TEMPORARY returning original content without changing anything
|
1620 |
-
return $html;
|
1621 |
-
|
1622 |
-
// set class for links in titles
|
1623 |
-
$html = preg_replace_callback('#(<h([1|2|3]) ?((?:(?!>|class).)*)(?:class="([^"]*)")?((?:(?!>|class).)*)>(.*)<\/h[1|2|3]>)#Ui',
|
1624 |
-
create_function('$matches',
|
1625 |
-
'$output = $matches[0];'.
|
1626 |
-
'$title_class = \'wysija_title_\'.(int)$matches[2];'.
|
1627 |
-
'$link_class = $title_class.\'_link\';'.
|
1628 |
-
'$strong_class = $title_class.\'_strong\';'.
|
1629 |
-
'$italic_class = $title_class.\'_italic\';'.
|
1630 |
-
'$output = str_replace(\'<a\', \'<a class="\'.$link_class.\'"\', $output);'.
|
1631 |
-
'$output = str_replace(\'<strong\', \'<strong class="\'.$strong_class.\'"\', $output);'.
|
1632 |
-
'$output = str_replace(\'<em\', \'<em class="\'.$italic_class.\'"\', $output);'.
|
1633 |
-
//'$output = str_replace(\'<h\'.(int)$matches[2], \'<h\'.(int)$matches[2].\' class="\'.$title_class.\'"\', $output);'.
|
1634 |
-
'return $output;'
|
1635 |
-
),
|
1636 |
-
$html
|
1637 |
-
);
|
1638 |
-
|
1639 |
-
return $html;
|
1640 |
}
|
1641 |
|
1642 |
-
// converts lists (ul, ol, li) into paragraphs for email compatibility
|
1643 |
function convertLists($html) {
|
1644 |
-
$
|
1645 |
-
|
1646 |
-
|
1647 |
-
|
1648 |
-
|
1649 |
-
|
1650 |
-
|
1651 |
-
|
1652 |
-
|
1653 |
-
|
1654 |
-
|
1655 |
-
|
1656 |
-
|
1657 |
-
|
1658 |
-
|
1659 |
-
|
1660 |
-
);
|
1661 |
|
1662 |
-
$html = preg_replace_callback('#(<ul ?((?:(?!>|class).)*)(?:class="([^"]*)")?((?:(?!>|class).)*)>(.*)<\/ul>)#Ui',
|
1663 |
-
create_function('$matches',
|
1664 |
-
'$output = $matches[5];'.
|
1665 |
-
'$alignment = ( isset($matches[3]) && strlen(trim($matches[3])) ) ? trim($matches[3]) : "align-left";'.
|
1666 |
-
'$output = preg_replace(\'/<li ?((?:(?!>|class).)*)(?:class="([^"]*)")?((?:(?!>|class).)*)>/\', \'<p class="wysija_list_item \'.$alignment.\'">• \', $output);'.
|
1667 |
-
'$output = preg_replace(\'/<\/li>/\', \'</p>\', $output);'.
|
1668 |
-
'return $output;'
|
1669 |
-
),
|
1670 |
-
$html
|
1671 |
-
);
|
1672 |
return $html;
|
1673 |
-
|
1674 |
-
//return preg_replace($patterns, $replacements, $html);
|
1675 |
-
|
1676 |
}
|
1677 |
-
|
1678 |
}
|
482 |
// convert lists
|
483 |
$blockHTML = $this->convertLists($blockHTML);
|
484 |
|
|
|
|
|
|
|
485 |
// apply inline styles
|
486 |
$blockHTML = $this->applyInlineStyles('body', $blockHTML, array('background_color' => $background_color));
|
487 |
|
|
|
|
|
|
|
488 |
return $blockHTML;
|
489 |
}
|
490 |
|
1252 |
// convert lists in block
|
1253 |
$blockHTML = $this->convertLists($blockHTML);
|
1254 |
|
|
|
|
|
|
|
1255 |
// apply inline styles
|
1256 |
$blockHTML = $this->applyInlineStyles('body', $blockHTML, array('background_color' => $block_background_color));
|
|
|
|
|
|
|
1257 |
}
|
1258 |
}
|
1259 |
|
1402 |
'h2' => array_merge($styles['titles'], $this->getStyles('h2')),
|
1403 |
'h3' => array_merge($styles['titles'], $this->getStyles('h3')),
|
1404 |
'p' => array_merge($this->getStyles('body'), array('word-wrap' => true, 'padding' => '0', 'margin' => '1em 0', 'line-height' => '1.5em', 'vertical-align' => 'top', 'letter-spacing' => 'normal')),
|
1405 |
+
'li' => array_merge($this->getStyles('body'), array('word-wrap' => true, 'padding' => '0', 'margin' => '0', 'line-height' => '1.5em', 'vertical-align' => 'top', 'letter-spacing' => 'normal')),
|
1406 |
'a' => array_merge($this->getStyles('a'), array('word-wrap' => true)),
|
1407 |
'br' => array('margin' => '0', 'padding' => '0', 'line-height' => '150%')
|
1408 |
));
|
1582 |
}
|
1583 |
}
|
1584 |
|
1585 |
+
// converts lists (ul, ol, li) into paragraphs for email compatibility
|
1586 |
+
function convertList($matches) {
|
1587 |
+
$output = $matches[5];
|
1588 |
+
// get alignment from ul tag and make sure it's a valid value
|
1589 |
+
$alignment = (isset($matches[3]) && in_array($matches[3], array('align-left', 'align-center', 'align-right'))) ? trim($matches[3]) : 'align-left';
|
1590 |
+
// convert opening li tag to paragraph
|
1591 |
+
$output = preg_replace('#<li ?((?:(?!>|class).)*)(?:class="([^"]*)")?((?:(?!>|class).)*)>#Uis', "\n".'<p class="wysija_list_item '.$alignment.'">• ', $output);
|
1592 |
+
// replace all closing li tags by p
|
1593 |
+
$output = str_replace('</li>', "</p>\n", $output);
|
1594 |
+
return $output;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1595 |
}
|
1596 |
|
|
|
1597 |
function convertLists($html) {
|
1598 |
+
$model_config = WYSIJA::get('config', 'model');
|
1599 |
+
if((bool)$model_config->getValue('disable_list_conversion') === true) {
|
1600 |
+
return $html;
|
1601 |
+
}
|
1602 |
+
// define maximum recursion level
|
1603 |
+
$max_recursion = 100;
|
1604 |
+
$recursion_count = 0;
|
1605 |
+
// as long as there are ul tags in the content and we haven't reached the maximum recursion value
|
1606 |
+
while(strpos($html, '<ul') !== false && $recursion_count < $max_recursion) {
|
1607 |
+
$html = preg_replace_callback(
|
1608 |
+
'#(<ul ?((?:(?!>|class).)*)(?:class="([^"]*)")?((?:(?!>|class).)*)>((?:(?!<ul).)*)<\/ul>)#Uis',
|
1609 |
+
array($this, 'convertList'),
|
1610 |
+
$html
|
1611 |
+
);
|
1612 |
+
$recursion_count++;
|
1613 |
+
}
|
|
|
1614 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1615 |
return $html;
|
|
|
|
|
|
|
1616 |
}
|
|
|
1617 |
}
|
index.php
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
/*
|
3 |
Plugin Name: MailPoet Newsletters
|
4 |
Plugin URI: http://www.mailpoet.com/
|
5 |
-
Description: Create and send newsletters. Import and manage your lists.
|
6 |
-
Version: 2.6.
|
7 |
Author: MailPoet
|
8 |
Author URI: http://www.mailpoet.com/
|
9 |
License: GPLv2 or later
|
2 |
/*
|
3 |
Plugin Name: MailPoet Newsletters
|
4 |
Plugin URI: http://www.mailpoet.com/
|
5 |
+
Description: Create and send newsletters or automated emails. Capture subscribers with a widget. Import and manage your lists. MailPoet is a sweet plugin maintained and supported with love by <a target="_blank" href="http://www.mailpoet.com/about-the-wysija-team-members/?utm_medium=plugin&utm_campaign=know_team&utm_source=wp_plugins_list">a team of a dozen</a>.
|
6 |
+
Version: 2.6.15
|
7 |
Author: MailPoet
|
8 |
Author URI: http://www.mailpoet.com/
|
9 |
License: GPLv2 or later
|
js/admin-wysija.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
jQuery(function(a){function i(i){i?(a(".wysija-premium-activate").addClass("wysija-button-loading"),a(".wysija-premium-activate").html(wysijatrans.premium_activating+"<span>.</span><span>.</span><span>.</span>")):(a(".wysija-premium-activate").removeClass("wysija-button-loading"),a(".wysija-premium-activate").html(wysijatrans.premium_activate))}a("#wysija-app .submitdelete").click(function(){return confirm(wysijatrans.suredelete)}),a("#wysija-app .linkignore, .wysija-version .linkignore").click(function(){var i=this;return wysijaAJAX.controller="config",wysijaAJAX.task="linkignore",wysijaAJAX.ignorewhat=a.trim(a(this).attr("class").replace(/linkignore/g,"")),wysijaAJAX._wpnonce=wysijanonces.config.linkignore,a.ajax({type:"POST",url:wysijaAJAX.ajaxurl,data:wysijaAJAX,success:function(){a(i).parents(".removeme").length>0?a(i).parents(".removeme").fadeOut():a(i).parents("li").siblings().size()>0?a(i).parents("li").fadeOut():a(i).parents("div.updated").fadeOut()},error:function(a){alert("Request error not JSON:"+a.responseText),wysijaAJAXcallback.onSuccess=""},dataType:"json"}),!0}),a(document).on("click","#wysija-app .premium-tab, .wysija-msg .premium-tab, #theme-view .premium-tab",function(){a("#wysija-app .wysija-premium img").hide(),a(this).hasClass("ispopup")?(window.parent.tb_remove(),window.parent.location.href=wysijatrans.urlpremium):a("#wysija-tabs").length>0?a('#wysija-tabs a[href="#premium"]').trigger("click"):window.location.href=wysijatrans.urlpremium}),a(".wysija-premium-activate").click(function(){wysijaAJAX.controller="config",wysijaAJAX.task="validate",wysijaAJAX._wpnonce=wysijanonces.config.validate,i(!0);var e=this;return a.ajax({type:"POST",url:wysijaAJAX.ajaxurl,data:wysijaAJAX,success:function(
|
1 |
+
jQuery(function(a){function i(i){i?(a(".wysija-premium-activate").addClass("wysija-button-loading"),a(".wysija-premium-activate").html(wysijatrans.premium_activating+"<span>.</span><span>.</span><span>.</span>")):(a(".wysija-premium-activate").removeClass("wysija-button-loading"),a(".wysija-premium-activate").html(wysijatrans.premium_activate))}a("#wysija-app .submitdelete").click(function(){return confirm(wysijatrans.suredelete)}),a("#wysija-app .linkignore, .wysija-version .linkignore").click(function(){var i=this;return wysijaAJAX.controller="config",wysijaAJAX.task="linkignore",wysijaAJAX.ignorewhat=a.trim(a(this).attr("class").replace(/linkignore/g,"")),wysijaAJAX._wpnonce=wysijanonces.config.linkignore,a.ajax({type:"POST",url:wysijaAJAX.ajaxurl,data:wysijaAJAX,success:function(){a(i).parents(".removeme").length>0?a(i).parents(".removeme").fadeOut():a(i).parents("li").siblings().size()>0?a(i).parents("li").fadeOut():a(i).parents("div.updated").fadeOut()},error:function(a){alert("Request error not JSON:"+a.responseText),wysijaAJAXcallback.onSuccess=""},dataType:"json"}),!0}),a(document).on("click","#wysija-app .premium-tab, .wysija-msg .premium-tab, #theme-view .premium-tab",function(){a("#wysija-app .wysija-premium img").hide(),a(this).hasClass("ispopup")?(window.parent.tb_remove(),window.parent.location.href=wysijatrans.urlpremium):a("#wysija-tabs").length>0?a('#wysija-tabs a[href="#premium"]').trigger("click"):window.location.href=wysijatrans.urlpremium}),a(".wysija-premium-activate").click(function(){wysijaAJAX.controller="config",wysijaAJAX.task="validate",wysijaAJAX._wpnonce=wysijanonces.config.validate,i(!0);var e=this;return a.ajax({type:"POST",url:wysijaAJAX.ajaxurl,data:wysijaAJAX,success:function(s){s.result.result?window.location.href="admin.php?page=wysija_campaigns&sp=1":(s.result.nocontact?window.location.href="admin.php?page=wysija_campaigns&nocontact=1":(displaychange=0,a.WYSIJA_HANDLE_RESPONSE(s)),i(!1)),a(e).removeClass("wysija-button-loading")},error:function(a){alert(a.responseText),delete wysijaAJAXcallback.onSuccess,i(!1)},dataType:"json"}),!1}),a("#install-wjp").click(function(){return confirm(a(this).data("warn"))?(tb_show(a(this).attr("title"),a(this).attr("href")+"&KeepThis=true&TB_iframe=true&height=400&width=600",null),tb_showIframe(),!1):!1}),a("#share_analytics").click(function(){var i=this;return wysijaAJAX.controller="config",wysijaAJAX.task="share_analytics",wysijaAJAX._wpnonce=wysijanonces.config.share_analytics,a(i).addClass("disabled"),a("#update-loading-icon").show(),a.ajax({type:"POST",url:wysijaAJAX.ajaxurl,data:wysijaAJAX,success:function(){a(i).after("<h2>Thanks!</h2>"),a(i).hide(),a("#update-loading-icon").hide()},error:function(e){alert("Request error not JSON:"+e.responseText),wysijaAJAXcallback.onSuccess="",a(i).removeClass("disabled")},dataType:"json"}),!0})});
|
js/analytics.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(e,t){if(!t.__SV){var a,n,i,l;window.mixpanel=t,
|
1 |
+
!function(e,t){if(!t.__SV){var a,n,i,l;window.mixpanel=t,t._i=[],t.init=function(e,a,n){function p(e,t){var a=t.split(".");2==a.length&&(e=e[a[0]],t=a[1]),e[t]=function(){e.push([t].concat(Array.prototype.slice.call(arguments,0)))}}var r=t;for("undefined"!=typeof n?r=t[n]=[]:n="mixpanel",r.people=r.people||[],r.toString=function(e){var t="mixpanel";return"mixpanel"!==n&&(t+="."+n),e||(t+=" (stub)"),t},r.people.toString=function(){return r.toString(1)+".people (stub)"},i="disable track track_pageview track_links track_forms register register_once alias unregister identify name_tag set_config people.set people.set_once people.increment people.append people.track_charge people.clear_charges people.delete_user".split(" "),l=0;l<i.length;l++)p(r,i[l]);t._i.push([e,a,n])},t.__SV=1.2,a=e.createElement("script"),a.type="text/javascript",a.async=!0,a.src="//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js",n=e.getElementsByTagName("script")[0],n.parentNode.insertBefore(a,n)}}(document,window.mixpanel||[]),mixpanel.init("f683d388fb25fcf331f1b2b5c4449798",{api_host:"https://api.mixpanel.com"});var mixpanel_set={},mx_length=analytics_data.length,label="",value="";for(key in analytics_data)label=analytics_data[key].label,value=analytics_data[key].value,mixpanel_set[label]=value;mixpanel.track("Wysija Usage",mixpanel_set);
|
languages/wysija-newsletters-af.mo
CHANGED
Binary file
|
languages/wysija-newsletters-ar.mo
CHANGED
Binary file
|
languages/wysija-newsletters-bg_BG.mo
CHANGED
Binary file
|
languages/wysija-newsletters-bn_BD.mo
CHANGED
Binary file
|
languages/wysija-newsletters-bs_BA.mo
CHANGED
Binary file
|
languages/wysija-newsletters-ca.mo
CHANGED
Binary file
|
languages/wysija-newsletters-ca@valencia.mo
CHANGED
Binary file
|
languages/wysija-newsletters-ca_ES.mo
CHANGED
Binary file
|
languages/wysija-newsletters-cs_CZ.mo
CHANGED
Binary file
|
languages/wysija-newsletters-da_DK.mo
CHANGED
Binary file
|
languages/wysija-newsletters-de_DE.mo
CHANGED
Binary file
|
languages/wysija-newsletters-el.mo
CHANGED
Binary file
|
languages/wysija-newsletters-en_GB.mo
CHANGED
Binary file
|
languages/wysija-newsletters-es.mo
CHANGED
Binary file
|
languages/wysija-newsletters-es_419.mo
CHANGED
Binary file
|
languages/wysija-newsletters-es_AR.mo
CHANGED
Binary file
|
languages/wysija-newsletters-es_ES.mo
CHANGED
Binary file
|
languages/wysija-newsletters-et.mo
CHANGED
Binary file
|
languages/wysija-newsletters-eu.mo
CHANGED
Binary file
|
languages/wysija-newsletters-fa.mo
CHANGED
Binary file
|
languages/wysija-newsletters-fa_IR.mo
CHANGED
Binary file
|
languages/wysija-newsletters-fi.mo
CHANGED
Binary file
|
languages/wysija-newsletters-fr_FR.mo
CHANGED
Binary file
|
languages/wysija-newsletters-gl_ES.mo
CHANGED
Binary file
|
languages/wysija-newsletters-he_IL.mo
CHANGED
Binary file
|
languages/wysija-newsletters-hi_IN.mo
CHANGED
Binary file
|
languages/wysija-newsletters-hr_HR.mo
CHANGED
Binary file
|
languages/wysija-newsletters-hu_HU.mo
CHANGED
Binary file
|
languages/wysija-newsletters-hy_AM.mo
CHANGED
Binary file
|
languages/wysija-newsletters-id.mo
CHANGED
Binary file
|
languages/wysija-newsletters-it_IT.mo
CHANGED
Binary file
|
languages/wysija-newsletters-ja.mo
CHANGED
Binary file
|
languages/wysija-newsletters-ko_KR.mo
CHANGED
Binary file
|
languages/wysija-newsletters-lt_LT.mo
CHANGED
Binary file
|
languages/wysija-newsletters-lv.mo
CHANGED
Binary file
|
languages/wysija-newsletters-mk_MK.mo
CHANGED
Binary file
|
languages/wysija-newsletters-nb_NO.mo
CHANGED
Binary file
|
languages/wysija-newsletters-nl_NL.mo
CHANGED
Binary file
|
languages/wysija-newsletters-pl_PL.mo
CHANGED
Binary file
|
languages/wysija-newsletters-pt_BR.mo
CHANGED
Binary file
|
languages/wysija-newsletters-pt_PT.mo
CHANGED
Binary file
|
languages/wysija-newsletters-ro_RO.mo
CHANGED
Binary file
|
languages/wysija-newsletters-ru_RU.mo
CHANGED
Binary file
|
languages/wysija-newsletters-sk_SK.mo
CHANGED
Binary file
|
languages/wysija-newsletters-sl_SI.mo
CHANGED
Binary file
|
languages/wysija-newsletters-sq.mo
CHANGED
Binary file
|
languages/wysija-newsletters-sr_RS.mo
CHANGED
Binary file
|
languages/wysija-newsletters-sr_RS@latin.mo
CHANGED
Binary file
|
languages/wysija-newsletters-sv_SE.mo
CHANGED
Binary file
|
languages/wysija-newsletters-tr_TR.mo
CHANGED
Binary file
|
languages/wysija-newsletters-uk.mo
CHANGED
Binary file
|
languages/wysija-newsletters-ur_PK.mo
CHANGED
Binary file
|
languages/wysija-newsletters-vi.mo
CHANGED
Binary file
|
languages/wysija-newsletters-zh_CN.mo
CHANGED
Binary file
|
languages/wysija-newsletters-zh_TW.mo
CHANGED
Binary file
|
models/user.php
CHANGED
@@ -536,25 +536,19 @@ class WYSIJA_model_user extends WYSIJA_model{
|
|
536 |
// orphans are selected with this kind of join
|
537 |
if($filters['equal']['list_id']=== 0) {
|
538 |
// reset all prefixes. We are selecting from only 1 table - [wysija]user
|
539 |
-
$select_string =
|
|
|
|
|
|
|
|
|
|
|
540 |
$is_count = strpos($select_string, 'COUNT(') !== false;
|
541 |
|
542 |
-
// this
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
FROM [wysija]user
|
548 |
-
WHERE `user_id` NOT IN (SELECT DISTINCT user_id FROM [wysija]user_list)
|
549 |
-
';
|
550 |
-
} else {
|
551 |
-
$query = '
|
552 |
-
SELECT
|
553 |
-
'.$select_string.'
|
554 |
-
FROM [wysija]user
|
555 |
-
WHERE `user_id` NOT IN (SELECT DISTINCT user_id FROM [wysija]user_list)
|
556 |
-
';
|
557 |
-
}
|
558 |
|
559 |
$this->conditions=array(); // reset all conditions
|
560 |
$filters = array(); // reset all conditions
|
@@ -590,7 +584,11 @@ class WYSIJA_model_user extends WYSIJA_model{
|
|
590 |
if($return_query) return $query;
|
591 |
|
592 |
if( empty($_REQUEST['orderby']) || !is_string($_REQUEST['orderby']) || preg_match('|[^a-z0-9#_.-]|i',$_REQUEST['orderby']) !== 0 ){
|
|
|
|
|
|
|
593 |
$order_by = ' ORDER BY A.user_id DESC';
|
|
|
594 |
}else{
|
595 |
|
596 |
if(!in_array(strtoupper($_REQUEST['ordert']),array('DESC','ASC'))){
|
536 |
// orphans are selected with this kind of join
|
537 |
if($filters['equal']['list_id']=== 0) {
|
538 |
// reset all prefixes. We are selecting from only 1 table - [wysija]user
|
539 |
+
$select_string = implode(', ', $select);
|
540 |
+
|
541 |
+
// make sure we select the user_id from the table that has that information not from user_list which will return NULL
|
542 |
+
$select_string = str_replace('B.user_id','A.user_id',$select_string);
|
543 |
+
|
544 |
+
// we need to make the difference between the count query useful for pagination etc and the rest
|
545 |
$is_count = strpos($select_string, 'COUNT(') !== false;
|
546 |
|
547 |
+
// this query left joins on null values of user_list, allows us to display the subscribers not belonging to any list
|
548 |
+
$query = 'SELECT '.$select_string.'
|
549 |
+
FROM [wysija]user as A
|
550 |
+
LEFT OUTER JOIN [wysija]user_list as B on A.user_id = B.user_id
|
551 |
+
WHERE B.`user_id` is NULL';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
552 |
|
553 |
$this->conditions=array(); // reset all conditions
|
554 |
$filters = array(); // reset all conditions
|
584 |
if($return_query) return $query;
|
585 |
|
586 |
if( empty($_REQUEST['orderby']) || !is_string($_REQUEST['orderby']) || preg_match('|[^a-z0-9#_.-]|i',$_REQUEST['orderby']) !== 0 ){
|
587 |
+
if(!empty($_REQUEST['wysija']['filter']['filter_list']) && $_REQUEST['wysija']['filter']['filter_list'] == 'orphaned'){
|
588 |
+
$order_by = '';
|
589 |
+
}else{
|
590 |
$order_by = ' ORDER BY A.user_id DESC';
|
591 |
+
}
|
592 |
}else{
|
593 |
|
594 |
if(!in_array(strtoupper($_REQUEST['ordert']),array('DESC','ASC'))){
|
readme.txt
CHANGED
@@ -1,14 +1,14 @@
|
|
1 |
=== MailPoet Newsletters ===
|
2 |
-
Contributors: wysija, kgjerstad, benheu, JoN1oP, badshark
|
3 |
-
Tags: newsletter, newsletters, email,
|
4 |
Requires at least: 3.3
|
5 |
Tested up to: 4.1
|
6 |
-
Stable tag: 2.6.
|
7 |
-
Send newsletters
|
8 |
|
9 |
== Description ==
|
10 |
|
11 |
-
Create newsletters, post notifications and autoresponders. Drop your posts, images, social icons in your newsletter. Change fonts and colors on the fly.
|
12 |
|
13 |
We built it with the idea that newsletters in WordPress should be easy. Not hard. Forget MailChimp, Aweber, etc. We're the good guys inside your WordPress.
|
14 |
|
@@ -25,16 +25,17 @@ http://vimeo.com/46247528
|
|
25 |
* Drag & drop newsletter editor
|
26 |
* Send your latest posts automatically
|
27 |
* Autoresponders, i.e. "Send email 3 days after someone subscribes"
|
28 |
-
*
|
|
|
|
|
|
|
29 |
* Get stats for your newsletter: opens, clicks, unsubscribes
|
30 |
* Drag and drop subscription form designer
|
31 |
* Your newsletters look the same in Gmail, iPhone, Android, Outlook, Yahoo, Hotmail, etc.
|
32 |
-
* Send
|
33 |
-
*
|
34 |
-
*
|
35 |
-
*
|
36 |
-
* Segment your lists based on opened, clicked & bounced
|
37 |
-
* Sending in free version is limited to 2000 subscribers
|
38 |
|
39 |
= Premium version =
|
40 |
|
@@ -43,8 +44,8 @@ http://vimeo.com/46247528
|
|
43 |
* Send to more than 2000 subscribers
|
44 |
* A beautiful statistics dashboard to compare your newsletters, and subscribers
|
45 |
* Detailed stats for each subscriber and newsletter
|
46 |
-
* Automated bounce handling
|
47 |
-
* Test your spam score before you send
|
48 |
* Improve deliverability with DKIM signature
|
49 |
* Don't reinstall. Simply install an additional plugin
|
50 |
* Priority support: let us optimize your settings!
|
@@ -59,7 +60,7 @@ Find over 80 articles in our documentation:
|
|
59 |
|
60 |
= Translations in your language =
|
61 |
|
62 |
-
[Get a Premium license in exchange for your help
|
63 |
|
64 |
* Arabic
|
65 |
* Basque
|
@@ -133,6 +134,17 @@ Our [support site](http://support.mailpoet.com/) has plenty of articles and a ti
|
|
133 |
|
134 |
== Changelog ==
|
135 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
136 |
= 2.6.14 - 2014-11-26 =
|
137 |
* Fixed all of the RTL issues on delivered newsletters and their web version
|
138 |
* Fixed issue when importing subscribers with new custom fields
|
1 |
=== MailPoet Newsletters ===
|
2 |
+
Contributors: wysija, kgjerstad, benheu, JoN1oP, badshark, rafaehlers, rafaelfunchal, _dorsvenabili, vvaz, keiferski
|
3 |
+
Tags: newsletter, newsletters, email newsletter, email subscription, newsletter signup, post notification, autoresponder, newsletter alert, auto newsletter, automatic post notification, email newsletters, email signup, auto post notifications, newsletter widget, newsletter builder, subscribe widget, signup widget, email subscription, newsletter plugin, widget, subscription, emailing, mailpoet, wysija, mandrill, sendgrid
|
4 |
Requires at least: 3.3
|
5 |
Tested up to: 4.1
|
6 |
+
Stable tag: 2.6.15
|
7 |
+
Send newsletters post notifications or autoresponders from WordPress easily, and beautifully. Start to capture subscribers with our widget now.
|
8 |
|
9 |
== Description ==
|
10 |
|
11 |
+
Create newsletters, automated emails, post notifications and autoresponders. Capture subscribers with our signup widget. Drop your posts, images, social icons in your newsletter. Change fonts and colors on the fly. A simple newsletter solution for WordPress. Finally!
|
12 |
|
13 |
We built it with the idea that newsletters in WordPress should be easy. Not hard. Forget MailChimp, Aweber, etc. We're the good guys inside your WordPress.
|
14 |
|
25 |
* Drag & drop newsletter editor
|
26 |
* Send your latest posts automatically
|
27 |
* Autoresponders, i.e. "Send email 3 days after someone subscribes"
|
28 |
+
* Send emails to your WordPress users
|
29 |
+
* Start collecting subscribers in 2-clicks with our sign up widget
|
30 |
+
* Single or double opt-in, your choice
|
31 |
+
* Import subscribers in 2 steps
|
32 |
* Get stats for your newsletter: opens, clicks, unsubscribes
|
33 |
* Drag and drop subscription form designer
|
34 |
* Your newsletters look the same in Gmail, iPhone, Android, Outlook, Yahoo, Hotmail, etc.
|
35 |
+
* Send with your web host, Gmail, any SMTP, like SendGrid, Amazon SES Mandrill, etc...
|
36 |
+
* Segment your lists based on unopened, opened and clicked
|
37 |
+
* [Selection of over 70 themes](http://www.mailpoet.com/newsletter-templates-wordpress/). Photoshop files included
|
38 |
+
* Sending newsletters in the free version is limited to 2000 subscribers
|
|
|
|
|
39 |
|
40 |
= Premium version =
|
41 |
|
44 |
* Send to more than 2000 subscribers
|
45 |
* A beautiful statistics dashboard to compare your newsletters, and subscribers
|
46 |
* Detailed stats for each subscriber and newsletter
|
47 |
+
* Automated bounce handling, keep your subscribers' list clean
|
48 |
+
* Test your spam score before you send a newsletter to your subscribers
|
49 |
* Improve deliverability with DKIM signature
|
50 |
* Don't reinstall. Simply install an additional plugin
|
51 |
* Priority support: let us optimize your settings!
|
60 |
|
61 |
= Translations in your language =
|
62 |
|
63 |
+
[Get a Premium plugin license in exchange for your help in translation](http://support.mailpoet.com/knowledgebase/translations-in-your-language/)
|
64 |
|
65 |
* Arabic
|
66 |
* Basque
|
134 |
|
135 |
== Changelog ==
|
136 |
|
137 |
+
= 2.6.15 - 2015-02-17 =
|
138 |
+
* Fixed hidden signup confirmation when the theme "Twenty Fifteen" is activated
|
139 |
+
* Fixed import issue on Windows servers, all valid subscribers CSV files can be imported now
|
140 |
+
* Fixed the filter "Subscribers in no list" in the Subscribers' listing in the backend
|
141 |
+
* Fixed bug in the frontend subscriptions page with the shortcode [wysija_page] not being replaced
|
142 |
+
* Fixed rendering issue when sending WordPress Post notifications including multiple levels of nested HTML lists(ul & ol)
|
143 |
+
* Improved performance in the Subscribers' listing
|
144 |
+
* Improved scheduled tasks process responses for greater reliability
|
145 |
+
* Added "WBounce" to our list of compatible plugins in Settings > Add-ons
|
146 |
+
* Added non-translated strings for the subscribe and unsubscribe admin notifications
|
147 |
+
|
148 |
= 2.6.14 - 2014-11-26 =
|
149 |
* Fixed all of the RTL issues on delivered newsletters and their web version
|
150 |
* Fixed issue when importing subscribers with new custom fields
|
views/back/campaigns.php
CHANGED
@@ -2888,14 +2888,36 @@ class WYSIJA_view_back_campaigns extends WYSIJA_view_back {
|
|
2888 |
$helper_readme = WYSIJA::get('readme', 'helper');
|
2889 |
$helper_readme->scan();
|
2890 |
$helper_licence = WYSIJA::get('licence', 'helper');
|
|
|
2891 |
$data = array();
|
2892 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2893 |
// this is a flag to have a pretty clean update page where teh only call to action is our survey
|
2894 |
-
$show_survey =
|
2895 |
|
2896 |
$is_multisite = is_multisite();
|
2897 |
$is_network_admin = WYSIJA::current_user_can('manage_network');
|
2898 |
-
|
2899 |
|
2900 |
if ($is_multisite) {
|
2901 |
if ($is_network_admin) {
|
@@ -2907,11 +2929,25 @@ class WYSIJA_view_back_campaigns extends WYSIJA_view_back {
|
|
2907 |
|
2908 |
$data = $this->_inject_alert( $data );
|
2909 |
|
2910 |
-
|
2911 |
-
|
2912 |
-
$data =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2913 |
}
|
2914 |
|
|
|
|
|
2915 |
$msg = $model_config->getValue('ignore_msgs');
|
2916 |
if ( !isset($msg['ctaupdate']) && $show_survey === false ) {
|
2917 |
$data['sections'][] = array(
|
@@ -3056,6 +3092,7 @@ class WYSIJA_view_back_campaigns extends WYSIJA_view_back {
|
|
3056 |
</div>';
|
3057 |
|
3058 |
break;
|
|
|
3059 |
default :
|
3060 |
foreach ($section['paragraphs'] as $line) {
|
3061 |
?>
|
2888 |
$helper_readme = WYSIJA::get('readme', 'helper');
|
2889 |
$helper_readme->scan();
|
2890 |
$helper_licence = WYSIJA::get('licence', 'helper');
|
2891 |
+
$model_config = WYSIJA::get('config', 'model');
|
2892 |
$data = array();
|
2893 |
+
//
|
2894 |
+
|
2895 |
+
$installed_time = (int)$model_config->getValue('installed_time');
|
2896 |
+
$usage = time() - $installed_time;
|
2897 |
+
|
2898 |
+
$helper_toolbox = WYSIJA::get('toolbox', 'helper');
|
2899 |
+
$usage_string = $helper_toolbox->duration_string($usage, true, 1);
|
2900 |
+
|
2901 |
+
$onemonth = 3600*24*31;
|
2902 |
+
$twomonths = 3600*24*62;
|
2903 |
+
$year = 3600*24*365;
|
2904 |
+
if( $usage > $twomonths){
|
2905 |
+
$data['abouttext'] = sprintf(__('You have been a MailPoet user for %s.', WYSIJA), '<strong>'.trim($usage_string).'</strong>');
|
2906 |
+
if( $usage > $twomonths){
|
2907 |
+
$data['abouttext'] .= '<br/>'.__( 'Wow! Thanks for being part of our community for so long.' , WYSIJA ) ;
|
2908 |
+
}
|
2909 |
+
|
2910 |
+
}else{
|
2911 |
+
$data['abouttext'] = __('You updated! It\'s like having the next gadget, but better.', WYSIJA);
|
2912 |
+
}
|
2913 |
+
|
2914 |
+
|
2915 |
// this is a flag to have a pretty clean update page where teh only call to action is our survey
|
2916 |
+
$show_survey = false;
|
2917 |
|
2918 |
$is_multisite = is_multisite();
|
2919 |
$is_network_admin = WYSIJA::current_user_can('manage_network');
|
2920 |
+
|
2921 |
|
2922 |
if ($is_multisite) {
|
2923 |
if ($is_network_admin) {
|
2929 |
|
2930 |
$data = $this->_inject_alert( $data );
|
2931 |
|
2932 |
+
$sharing_data = $model_config->getValue('analytics');
|
2933 |
+
if( empty( $sharing_data ) ){
|
2934 |
+
$data['sections'][] = array(
|
2935 |
+
'title' => __('We need your help!',WYSIJA),
|
2936 |
+
|
2937 |
+
'content' => '<div style="margin-bottom: 14px;"><img src="http://ps.w.org/wysija-newsletters/assets/new-support-team.jpg" width="390px" height="181px" title="'.__('We need your help!',WYSIJA).'" alt="Rafael F., Kim, Rocio and Rafael E. from MailPoet" /></div>
|
2938 |
+
<div class="mpoet-update-subscribe-left" style="width: 390px;">
|
2939 |
+
<p>'.__('Here at MailPoet, we want to constantly improve our plugin.',WYSIJA).'</p>
|
2940 |
+
<p>'. __("If you want to help us better understand your needs, you can do so by sharing some anonymous data with us.",WYSIJA).' '. __( 'Thanks!' ,WYSIJA).'</p>'.
|
2941 |
+
|
2942 |
+
'<a href="javascript:;" id="share_analytics" class="button-primary">'.__('Share anonymous data',WYSIJA).'</a><div id="update-loading-icon"></div>'.
|
2943 |
+
'<p><a style="font-size: 12px;" href="http://support.mailpoet.com/knowledgebase/share-your-data/?utm_medium=plugin&utm_campaign=know_data&utm_source=update_page" target="_blank">' . __('Read more about the shared data.',WYSIJA) .'</a></p>'
|
2944 |
+
.'</div>',
|
2945 |
+
'format' => 'title-content',
|
2946 |
+
);
|
2947 |
}
|
2948 |
|
2949 |
+
|
2950 |
+
|
2951 |
$msg = $model_config->getValue('ignore_msgs');
|
2952 |
if ( !isset($msg['ctaupdate']) && $show_survey === false ) {
|
2953 |
$data['sections'][] = array(
|
3092 |
</div>';
|
3093 |
|
3094 |
break;
|
3095 |
+
|
3096 |
default :
|
3097 |
foreach ($section['paragraphs'] as $line) {
|
3098 |
?>
|