Newsletter - Version 6.7.6

Version Description

  • Fixed error on profile save
Download this release

Release Info

Developer satollo
Plugin Icon 128x128 Newsletter
Version 6.7.6
Comparing to
See all releases

Code changes from version 6.7.4 to 6.7.6

admin.css CHANGED
@@ -808,6 +808,7 @@ p.description {
808
  font-weight: 700;
809
  padding: 0;
810
  margin: 0px;
 
811
  }
812
 
813
  #tnp-heading h3 {
808
  font-weight: 700;
809
  padding: 0;
810
  margin: 0px;
811
+ margin-bottom: 15px;
812
  }
813
 
814
  #tnp-heading h3 {
admin.min.css CHANGED
@@ -1 +1 @@
1
- #tnp-wrap *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#tnp-wrap .iris-picker,#tnp-wrap .iris-picker *{-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}#tnp-wrap *:before,#tnp-wrap *:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}@media all and (max-width:1100px){.col-md-12{width:100%}.col-md-11{width:100%}.col-md-10{width:100%}.col-md-9{width:100%}.col-md-8{width:100%}.col-md-7{width:100%}.col-md-6{width:100%}.col-md-5{width:100%}.col-md-4{width:100%}.col-md-3{width:100%}.col-md-2{width:100%}.col-md-1{width:100%}}.tnp-row-padded{width:90%;margin:0 auto;display:flex;justify-content:space-between}.tnp-col-3-boxed{width:30%;border:1px solid #3c414c;padding:0 0 30px 0;border-radius:10px}.tnp-margin-top{margin-top:80px}#tnp-wrap,#tnp-header,#tnp-body p,#tnp-body td,#tnp-body td p,#tnp-body input,#tnp-body select,#tnp-body textarea{font-family:soleil,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#tnp-body h1,#tnp-body h2,#tnp-body h3,#tnp-body h4{font-family:soleil,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#tnp-promotion-bar{background-color:#ff5f65;color:ddd;padding:10px 0;text-align:center;font-size:16px}#tnp-promotion-bar a{color:#fff;font-weight:normal;text-decoration:none}#tnp-header{text-align:left;font-size:12px;color:#fff;font-family:soleil,sans-serif}#tnp-header input{font-size:12px}#tnp-header a{text-decoration:none;color:white;letter-spacing:.1em}#tnp-header a:hover{color:#fff}.error a,.error a:hover{color:#000!important}.updated a,.updated a:hover{color:#000!important}.tnp-error{border-left:5px solid #d00;background-color:#fff;padding:15px;margin:15px 0;font-size:1.2em;line-height:1.5em}.tnp-warning{border-left:5px solid #ffb900;background-color:#fff;padding:15px;margin:15px 0;font-size:1.2em;line-height:1.5em}.tnp-message{border-left:5px solid #46b450;background-color:#fff;padding:15px;margin:15px 0;font-size:1.2em;line-height:1.5em}#tnp-body h1,#tnp-body h2,#tnp-body h3,#tnp-body h4,#tnp-body p{color:#fff}#tnp-body a,#tnp-body a:active{color:#2980b9}#tnp-body a:hover{color:#3498db}#tnp-body .tnp-submit{margin-bottom:10px}#tnp-body .button,#tnp-body .button:visited,#tnp-body .button:hover,#tnp-body .button:active,#tnp-body .button:focus,#tnp-body .button-primary,#tnp-body .button-primary:visited,#tnp-body .button-primary:hover,#tnp-body .button-secondary,#tnp-body .button-secondary:visited,#tnp-body .button-secondary:hover{color:#fff;background-color:#3498db;text-shadow:none;width:auto}#tnp-body span.wp-media-buttons-icon:before{color:#fff}#tnp-body .tnp-button{color:#fff;background-color:#3498db;text-shadow:none}#tnp-body .button-primary.tnp-button-white,#tnp-body .tnp-button.tnp-button-white{color:#444!important;background-color:#fff!important;box-shadow:none!important;-webkit-box-shadow:none!important;width:auto}#tnp-body .form-table h1,#tnp-body .form-table h2,#tnp-body .form-table h4,#tnp-body .form-table h3{color:#444}#tnp-body tbody th,#tnp-body td,#tnp-body td p,#tnp-body td .button,#tnp-body td .button:visited,#tnp-body td .button:hover,#tnp-body td .button:active,#tnp-body td .button:focus{color:#444}#tnp-body td a,#tnp-body td a:visited{color:#27ae60}#tnp-body .form-table{background-color:#fff;border:1px solid #ecf0f1;margin-top:2em;border-spacing:4px;border-collapse:separate}#tnp-body .form-table th{text-align:right;font-weight:bold;max-width:200px;color:#000;background-color:#ecf0f1;vertical-align:middle}#tnp-body .form-table th small{font-weight:normal}#tnp-body .form-table textarea{width:100%}#tnp-body .form-table table{border-collapse:collapse}#tnp-body .form-table table td,.form-table table th{padding:5px;font-size:.9em;font-weight:normal;border:1px solid #eee}#tnp-body .form-table table thead th{text-align:left;font-weight:bold}#tnp-body .widefat{width:90%}#tnp-body .widefat th{text-align:left}#tnp-body .widefat thead{background-color:#3498db;font-family:soleil,sans-serif;color:#fff!important}#tnp-body .widefat thead tr th{color:#fff!important}#tnp-body .widefat td,.widefat th{vertical-align:middle}.tnp-newsletters-list tbody tr{height:70px}.widefat tr:nth-child(even){background-color:#f4faff}#tnp-body #tabs h1,#tnp-body #tabs h2,#tnp-body #tabs h3,#tnp-body #tabs h4,#tnp-body #tabs p,#tnp-body #tabs td,#tnp-body #tabs th,#tnp-body #tabs input,#tnp-body #tabs select,#tnp-body #tabs textarea,#tnp-body #tabs a{color:#444}#tnp-body #tabs .button,#tnp-body #tabs .button:visited,#tnp-body #tabs .button:hover,#tnp-body #tabs .button-primary,#tnp-body #tabs .button-primary:visited,#tnp-body #tabs .button-primary:hover,#tnp-body #tabs .button-secondary,#tnp-body #tabs .button-secondary:visited,#tnp-body #tabs .button-secondary:hover{color:#fff;width:auto}table.clicks td{border:1px solid #666;padding:2px;font-size:10px}table.clicks{border-collapse:collapse}.grid{border-collapse:collapse}.grid td,.grid th{padding:10px;border:1px solid #ddd;margin:0}.grid th{background-color:#aaa}.tnp-checkboxes label{display:block;float:left;width:220px;border:1px solid #ccc;background-color:#f4f4f4;margin-bottom:5px;padding:5px;white-space:nowrap;margin-right:5px}.tnp-buttons{padding:10px}.newsletter-checkbox-group,.nl-checkbox-group{float:left;margin-right:5px;border:1px solid #ccc;background-color:#f4f4f4;margin-bottom:5px;padding:5px;white-space:nowrap;overflow:hidden}.newsletter-checkboxes-item{float:left;margin-right:5px;border:1px solid #ddd;border-radius:3px;background-color:#f4f4f4;width:150px;margin-bottom:5px;padding:3px;white-space:nowrap;overflow:hidden}.newsletter-checkboxes-item input{vertical-align:text-bottom}.newsletter-checkboxes-item label{display:inline}.newsletter-preferences-item{float:left;margin-right:5px;border:1px solid #ccc;background-color:#f4f4f4;width:250px;margin-bottom:5px;padding:5px;white-space:nowrap;overflow:hidden}.newsletter-preferences-item label{display:inline}.form-table td .nl-checkbox-group label{display:inline}.tnp-notice{padding:15px;margin:10px 0;padding-right:70px;position:relative;border:1px solid #eee;background-color:#fff;color:#444;font-size:13px;border-left:5px solid #27ae60}.tnp-notice a{color:#0073aa;text-decoration:none;font-weight:bold}.tnp-notice a.tnp-dismiss{display:block;position:absolute;right:10px;top:13px;font-size:25px;text-decoration:none;color:#666}.tnp-notice input[type=email]{margin:10px 5px 5px;width:250px;border:0;box-shadow:none;background-color:#ecf0f1;padding:8px}.tnp-notice input[type=submit]{border:0;box-shadow:none;background-color:#27ae60;padding:8px;font-family:soleil,sans-serif;font-size:13px;color:#fff;cursor:pointer}.newsletter-message{background-color:#efe;border-color:#393;border-radius:5px;border-style:solid;border-width:3px;padding:.6em;margin-bottom:.6em}.newsletter-error-span{color:#f00;font-weight:bold}.newsletter-error{background-color:#fee;border-color:#933;border-radius:5px;border-style:solid;border-width:2px;padding:.6em;margin-bottom:.6em}.newsletter-error strong,.newsletter-message strong{font-weight:bold}#newsletter-warnings{background-color:#ffebe8;border-color:#C00;border-radius:3px;border-style:solid;border-width:1px;padding:.6em;margin-bottom:.6em}.newsletter-buttons{margin-top:1em;margin-bottom:1em}.tnp-paginator{margin-top:10px;margin-bottom:5px}.newsletter-option-grid th{text-align:right;width:auto;border:0;padding:3px;font-weight:normal;vertical-align:top;padding-right:15px}.newsletter-option-grid td{border:0;padding:3px;vertical-align:top}.newsletter-box{border:1px solid #ddd;padding:10px;background-color:#fafafa;margin-bottom:15px}.newsletter-box h3{margin-top:0}.newsletter-textarea-preview{border:1px solid #ddd}.tnp-tab-notice{background-color:#fff;border:1px solid #eee;border-left:3px solid gray;padding:10px;margin:10px 0;color:#444}.tnp-tab-warning{background-color:#fff;border:1px solid #eee;border-left:3px solid orange;padding:10px;margin:10px 0;color:#444}.tnp-tab-success{background-color:#fff;border:1px solid #eee;border-left:3px solid green;padding:10px;margin:10px 0;color:#444}.tnp-tab-error{background-color:#fff;border:1px solid #eee;border-left:3px solid red;padding:10px;margin:10px 0;color:#444}.tnp-tip{margin-top:5px}.tip-button{padding:0 5px;color:#fd5f65;text-transform:uppercase;letter-spacing:.2em;font-size:10px;border:1px red solid}.tip-content{font-weight:500;font-size:11px;color:#999}p.description{font-size:12px!important}.tnp-theme-preview{display:inline-block;text-align:center}.tnp-theme-preview p{font-family:soleil;font-size:13px;letter-spacing:.2em;color:#fff}.tnp-theme-preview img:hover{box-shadow:3px 3px 8px 2px #293848}.tnp-theme-preview img{border-radius:10px;height:190px;width:auto}.tnp-theme-preview .tnp-theme-composer{height:250px;width:auto}.tnp-theme-preview .tnp-theme-html{height:250px;width:auto}.tnp-header-logo{margin-left:10px}.wp-core-ui .button-primary{background-color:#2b2f3a;color:#fff;width:auto}#tnp-body{padding:10px;background-color:#28313c}.tnp-darkbg{background-color:#34495e!important}#tnp-body h3{margin-top:25px;clear:both;margin-bottom:10px}.tnp-body-lite{background-color:#f1f1f1!important}#tnp-heading{padding:10px;margin-bottom:10px;border-radius:5px}#tnp-heading a{color:#fff;border-bottom:1px solid #fff;text-decoration:none}#tnp-heading a:hover{color:#27ae60;border-bottom:1px solid #27ae60}#tnp-heading div p{color:#565656}#tnp-heading h2{color:#fff;font-family:soleil,sans-serif;letter-spacing:.1rem;font-size:1.1rem;line-height:1.8rem;text-transform:uppercase;vertical-align:middle;font-weight:700;padding:0;margin:0}#tnp-heading h3{color:#27ae60;font-family:soleil,sans-serif;letter-spacing:.1rem;font-size:.8rem;line-height:1.8rem;text-transform:uppercase;vertical-align:middle;font-weight:700;padding:0;margin:0}#tnp-heading p{margin:0;color:#ccc}#tnp-heading .notice p{margin:.5em 0;padding:2px}#tnp-heading .tnp-btn-h1{color:#fff;background-color:#3498db;border-radius:3px;padding:6px 11px;text-decoration:none;text-transform:capitalize;font-family:soleil,sans-serif;margin-left:10px;font-size:.75rem;font-weight:300;border:0}#tnp-heading .tnp-btn-h1:hover{color:#fff;background-color:#5dade2;-webkit-transition:background-color .25s linear;transition:background-color .25s linear;-webkit-font-smoothing:subpixel-antialiased;border:0;color:#fff}.metabox-holder{width:100%}.postbox{border:0}.postbox h3 a{float:right}#dashboard-widgets .postbox-container{width:33.333%}#tnp-body .postbox p{color:#000}#dashboard-widgets .postbox-container .postbox h3{font-family:soleil,sans-serif;letter-spacing:.05rem;background-color:#415b76;color:#fff;margin:0;padding:9px}#dashboard-widgets .postbox-container h3 a{color:white;text-decoration:none;margin-left:5px;padding:2px 8px;background-color:#26c281;border-radius:2px;font-weight:300;text-transform:capitalize;font-size:.8rem}#dashboard-widgets .postbox-container h3 a:hover{color:white;text-decoration:none;margin-left:5px;background-color:#2ecc71}.postbox-container i{margin-right:3px}#tnp-dash-newsletters tr td:last-of-type{width:80px;text-align:right}#tnp-dash-subscribers tr td:last-of-type{width:80px;text-align:right}#tnp-dash-subscribers tr td:first-of-type{width:250px;overflow:hidden}#tnp-dash-subscribers table{table-layout:fixed}#tnp-dash-documentation .inside div{margin-top:10px}#tnp-dash-documentation .inside a{text-decoration:none;color:#fff;display:block;font-family:soleil,sans-serif;padding:5px 10px}#tnp-footer{margin-top:10px;padding:20px 10px 10px 40px;background-color:#28313c;font-family:soleil,sans-serif}#tnp-footer div{width:33%;display:inline-block}#tnp-footer a{color:#fff;text-decoration:none}#tnp-footer a:hover{color:#bdc3c7}#tnp-footer input[type="submit"]{background-color:#2ecc71;border:0;padding:5px;color:#fff}#tnp-footer form{white-space:nowrap}#tnp-footer li{display:inline;margin-left:15px;padding:2px 5px;border-left:3px solid #2ecc71}#wpwrap{background-color:#222b36!important}#dashboard-widgets .button{border:0;background:0;box-shadow:none;color:#322c39}#dashboard-widgets .button:hover{background-color:#ecf0f1}.wp-core-ui .button-secondary,.wp-core-ui .button-primary{background-color:#3498db;border:0;box-shadow:none;color:#fff;font-family:soleil,sans-serif;margin:0 2px;width:auto}.wp-core-ui .button-secondary,.wp-core-ui .button,.wp-core-ui .button-primary{background-color:#3498db;box-shadow:none;color:#fff;font-family:soleil,sans-serif;margin:0 2px}.wp-core-ui .button-secondary:hover,.wp-core-ui .button:hover,.wp-core-ui .button-primary:hover{background-color:#5dade2;color:#fff;width:auto}span.wp-media-buttons-icon:before{color:#fff}.tnp-paginator [value="Go"]{background-color:#27ae60}.tnp-paginator [value="Go"]:hover{background-color:#2ecc71}.notice-dismiss{padding:3px}.tnp-paginator{color:#fff;font-family:soleil,sans-serif;margin:10px 0}.tnp-paginator .button-secondary{padding:5px;line-height:normal;height:auto;font-size:12px;height:25px;border:0;border-radius:3px;vertical-align:baseline}.tnp-paginator [value="Go"]{background-color:#27ae60!important}.tnp-paginator [value="Go"]:hover{background-color:#2ecc71!important}.tnp-paginator input{background-color:#2c3e50;border:0;border-radius:3px;color:#fff;padding:5px;line-height:normal;font-size:12px;height:25px}.tnp-subscribers-search{color:#fff;font-family:soleil,sans-serif;background-color:#2c3e50;padding:20px;border-radius:5px;margin-bottom:20px;display:inline-block}.tnp-subscribers-search select{margin-left:5px;padding:0;line-height:inherit}.tnp-video-container{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}.tnp-video-container iframe,.tnp-video-container object,.tnp-video-container embed{position:absolute;top:0;left:0;width:100%;height:100%}.bg-white{background-color:#FFF}.orange{background-color:#f39c12}.blue{background-color:#2980b9}.purple{background-color:#8e44ad}.notice a{color:#27ae60!important;text-decoration:underline!important}.tnp-chart{border:1px solid #eee;width:100%}.tnp-db-table{width:auto;background-color:#fff}.tnp-db-table thead{border-bottom:1px solid #eee}.tnp-db-table th{font-weight:bold}.tnp-db-table td,.tnp-db-table th{padding:3px;font-family:monospace;border:0}.tnp-main-status h3,.tnp-main-status h4{color:#fff}#tnp-status-table .tnp-ok{font-weight:bold;color:white;font-size:14px;background-color:#27ae60;padding:2px 10px;border-radius:10px;display:inline-block;width:75px;text-align:center}#tnp-status-table .tnp-ko{font-weight:bold;color:white;font-size:14px;background-color:#e74c41;padding:2px 10px;border-radius:10px;display:inline-block;width:75px;text-align:center}#tnp-status-table .tnp-maybe{font-weight:bold;color:white;font-size:14px;background-color:#f1c40f;padding:2px 10px;border-radius:10px;display:inline-block;width:75px;text-align:center}.tnp-main-status .tnp-log-files li{padding-left:15px}.tnp-main-status .tnp-log-files li,.tnp-main-status .tnp-log-files li a{color:#fff}.tnp-main-status .tnp-log-files .tnp-log-size{font-style:italic}table.widefat{border:0;box-shadow:none}#tnp-status-table tbody tr:nth-child(2n+1){background-color:#ecf0f1;border-radius:2px;margin:5px}#tnp-parameters-table tbody tr:nth-child(2n+1){background-color:#ecf0f1;border-radius:2px;margin:5px}#tnp-body .ui-widget{font-family:soleil,sans-serif}#tnp-body #tabs{background-color:transparent;border:0!important;padding:0;margin:0}#tnp-body #tabs .ui-widget-header{background:#28313c;border:0}#tnp-body #tabs .ui-tabs-panel{padding:15px!important;background-color:#fff}#tnp-body #tabs a.ui-tabs-anchor,#tnp-body #tabs a.ui-tabs-anchor:visited{color:#444}#tnp-body .ui-tabs .ui-tabs-nav{padding:0}#tnp-body .ui-tabs .ui-tabs-nav li a{font-size:14px}#tnp-body #tabs .ui-tabs{border-color:#28313c;background-color:#28313c;border:0}#tnp-body #tabs .ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0 0;background-color:#f2f2f2}#tnp-body #tabs .ui-tabs .ui-tabs-panel{padding:1em 0;background-color:#f2f2f2;margin:0;border:0}#tnp-body .ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{background:#fff!important;font-weight:normal;font-family:soleil,sans-serif}#tnp-body .ui-widget-content{background:#fff}#tnp-body .ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:0;background:#ecf0f1;font-family:soleil,sans-serif}.tnp-extension-premium-box,.tnp-extension-free-box,.tnp-integration-box{width:300px;height:220px;background-color:#222b36;text-align:center;margin:20px;float:left;position:relative}.tnp-extension-premium-box:hover,.tnp-extension-free-box:hover,.tnp-integration-box:hover{background-color:#232c35;box-shadow:1px 1px 15px #222b36}.tnp-extension-premium-box p,.tnp-extension-free-box p,.tnp-integration-box p{padding:5px 10px;color:#72777c;font-size:14px;margin-top:0}.tnp-extension-premium-box h3{font-family:soleil,sans-serif;padding:5px 8px!important;border-radius:3px;display:inline-block;font-size:16px;color:#fff;margin-bottom:0!important;margin-top:25px!important;font-weight:300;width:auto!important;border-bottom:none!important}.tnp-extension-free-box h3{font-family:soleil,sans-serif;padding:5px 8px!important;border-radius:3px;display:inline-block;font-size:16px;color:#fff;margin-bottom:0!important;margin-top:25px!important;font-weight:300;width:auto!important;border-bottom:none!important}.tnp-integration-box h3{font-family:soleil,sans-serif;padding:5px 8px!important;border-radius:3px;display:inline-block;font-size:16px;color:#fff;margin-bottom:0!important;margin-top:25px!important;font-weight:300;width:auto!important;border-bottom:none!important}.tnp-extension-premium-action{bottom:0;position:absolute;width:100%;padding:12px;font-family:soleil,sans-serif}.tnp-extension-free-action{bottom:0;position:absolute;width:100%;padding:12px;font-family:soleil,sans-serif}.tnp-integration-action{bottom:0;position:absolute;width:100%;padding:12px;font-family:soleil,sans-serif}.tnp-extension-premium-action span{color:#27ae60}.tnp-extension-free-action span{color:#27ae60}.tnp-integration-action span{color:#27ae60}.tnp-extension-activate{color:#1abc9c;padding:5px 8px;text-decoration:none;cursor:pointer}.tnp-extension-install{color:#2980b9;padding:5px 8px;text-decoration:none;cursor:pointer}.tnp-extension-buy{color:#f1c40f;padding:5px 8px;text-decoration:none;cursor:pointer}#tnp-body a.tnp-extension-details{color:#999;padding:5px 8px;text-decoration:none;cursor:pointer}.tnp-extension-free{color:#d35400;padding:5px 8px;text-decoration:none;cursor:pointer;position:relative}img.tnp-extensions-free-badge{position:absolute;display:block;right:0;top:0;width:70px}.tnp-extensions-image img{margin:25px 0 -10px}#tnp-subscribe-overlay{height:100vh;width:100vw;z-index:10000;display:none;background-image:url(images/modal-background.png);background-repeat:repeat;position:fixed;top:0;left:-20px}#tnp-subscribe-modal{width:600px;background-color:rgba(255,255,255,1);margin-right:auto;margin-left:auto;margin-top:100px;-webkit-box-shadow:0 0 20px 0 rgba(0,0,0,0.5);-moz-box-shadow:0 0 20px 0 rgba(0,0,0,0.5);box-shadow:0 0 20px 0 rgba(0,0,0,0.5);padding:25px;background-color:#1d2b38;text-align:center}#tnp-subscribe-modal img{width:30%}#tnp-subscribe-title{font-size:20px;margin-top:30px;margin-bottom:30px;line-height:30px;color:white;font-weight:200}#tnp-subscribe-email-wrapper{margin:20px}#tnp-subscribe-email-wrapper input{border:0;background-color:#223242;color:white}#tnp-subscribe-email{font-size:24px;box-sizing:border-box;width:100%;padding:10px;text-align:center}#tnp-subscribe-submit-wrapper{margin-bottom:20px}#tnp-subscribe-submit{font-size:24px;background-color:#219050;color:#fff;padding:10px 35px;border:0;font-size:17px;letter-spacing:2px}#tnp-subscribe-no-thanks{color:#666;margin-top:20px;margin-bottom:20px}#tnp-body div.tnp-emails-theme-options{background-color:#fff;padding:10px;margin-top:14px}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:0;background:#ecf0f1;font-family:soleil,sans-serif}.cd-slider-wrapper{position:relative;width:100%;height:90vh;overflow:hidden;margin:0 auto}.cd-slider-wrapper .cd-slider,.cd-slider-wrapper .cd-slider>li{height:100%;width:100%}.tnp-logo-big{width:300px}.tnp-row{display:table-row}.tnp-third{width:33%;float:left}.tnp-welcome-confirm-button{color:#fff;padding:10px 30px;background-color:#2ecc71;font-weight:700;font-size:15px;box-shadow:0 20px 38px rgba(0,0,0,0.16);text-decoration:none;display:inline-block;text-align:center;margin:20px auto 0}.tnp-welcome-confirm-button:hover{box-shadow:0 0 38px rgba(0,0,0,0.16);color:#fff}.tnp-welcome-confirm-button:visited{color:#fff;text-decoration:none}.tnp-welcome-link-button{color:#fff;padding:10px 30px;background-color:#3498db;font-weight:700;font-size:15px;box-shadow:0 20px 38px rgba(0,0,0,0.16);text-decoration:none}.tnp-welcome-link-button:hover{box-shadow:0 0 38px rgba(0,0,0,0.16);color:#fff}.tnp-welcome-link-button:visited{color:#fff;text-decoration:none}#tnp-welcome input[type="text"],#tnp-welcome input[type="email"]{max-width:90%}.tnp-welcome-next{background-color:#2ecc71;padding:10px 20px;color:white;text-decoration:none;font-weight:600;font-size:16px;margin:0 10px;box-shadow:0 10px 30px rgba(0,0,0,0.16);width:-moz-fit-content;width:-webkit-fit-content;width:fit-content;display:flex;align-items:center}.tnp-welcome-next:hover{box-shadow:0 0 38px rgba(0,0,0,0.16);color:#fff}.tnp-welcome-next:visited{color:#fff;text-decoration:none}.tnp-welcome-prev{background-color:#3498db;padding:10px 20px;color:white;text-decoration:none;font-weight:600;font-size:16px;margin:0 0 0 10px;box-shadow:0 10px 30px rgba(0,0,0,0.16);width:-moz-fit-content;width:-webkit-fit-content;width:fit-content;display:flex;align-items:center}.tnp-welcome-prev:hover{box-shadow:0 0 38px rgba(0,0,0,0.16);color:#fff}.tnp-welcome-prev:visited{color:#fff;text-decoration:none}.tnp-welcome-next svg{margin-left:10px}.tnp-welcome-prev svg{margin-right:10px}.cd-slider input{width:250px;height:40px;border:1px solid #6c7280;background:#454a56;color:white;color:white;padding:0 10px}.cd-slider>li{position:absolute;top:0;left:0;opacity:0;display:table;background-position:center center;background-repeat:no-repeat;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.cd-slider>li.visible{position:relative;z-index:2;opacity:1}.cd-slider>li:first-of-type{background-color:#2b313a}.cd-slider>li:nth-of-type(2){background-color:#2b313a}.cd-slider>li:nth-of-type(3){background-color:#2b313a}.cd-slider>li:nth-of-type(4){background-color:#2b313a}.cd-slider>li:first-of-type,.cd-slider>li:nth-of-type(2),.cd-slider>li:nth-of-type(3),.cd-slider>li:nth-of-type(4){background-size:cover}.cd-slider>li>div{display:table-cell;vertical-align:middle;text-align:center}.cd-slider>li h2,.cd-slider>li p{text-shadow:0 1px 3px rgba(0,0,0,0.1);line-height:1.2;margin:0 auto 14px;color:#fff;width:90%;max-width:320px}.cd-slider>li h2{font-size:40px}.cd-slider>li p{font-size:18px;line-height:26px;text-align:left;color:#b8c3c9;margin:40px auto}.cd-slider>li .cd-btn{display:inline-block;padding:1.2em 1.4em;margin-top:.8em;background-color:rgba(0,0,0,0.6);border-radius:.25em;font-size:1.3rem;font-weight:700;letter-spacing:1px;color:#fff;text-transform:uppercase;-webkit-transition:background-color .2s;-moz-transition:background-color .2s;transition:background-color .2s}.no-touch .cd-slider>li .cd-btn:hover{background-color:rgba(0,0,0,0.8)}@media only screen and (min-width:768px){.cd-slider>li h2,.cd-slider>li p{max-width:520px}.cd-slider>li h2{font-size:40px}.cd-slider>li p{font-size:18px;line-height:26px;text-align:left;color:#b8c3c9;margin:40px auto}}@media only screen and (min-width:1170px){.cd-slider>li h2,.cd-slider>li p{margin-bottom:20px}.cd-slider>li h2{font-size:40px}.cd-slider>li p{font-size:18px;line-height:26px;text-align:center;color:#b8c3c9;margin:30px auto}}.cd-slider-navigation{position:relative;bottom:110px;z-index:3;display:flex;justify-content:center}.cd-svg-cover{position:absolute;z-index:1;left:0;top:0;height:100%;width:100%;opacity:0}.cd-svg-cover path{fill:#ed6a6a}.cd-svg-cover.is-animating{z-index:4;opacity:1;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;transition:opacity .6s}.switch{position:relative;display:inline-block;width:60px;height:34px}.switch input{display:none}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.4s;transition:.4s}.slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:white;-webkit-transition:.4s;transition:.4s}input:checked+.slider{background-color:#2196f3}input:focus+.slider{box-shadow:0 0 1px #2196f3}input:checked+.slider:before{-webkit-transform:translateX(26px);-ms-transform:translateX(26px);transform:translateX(26px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}#tnp-body div.tnp-emails-theme-options table.form-table{margin:0}#tnp-body div.tnp-emails-theme-options h3{color:#000}.tnp-emails-edit #options-subject{font-size:16px;display:inline-block;margin:20px 0;width:auto;border-radius:4px;padding:5px 10px}.tnp-suggest-button{font-family:soleil,sans-serif;margin-left:8px;border-radius:3px;background-color:#2980b9;padding:10px 15px 8px;font-size:14px;color:#fff!important;text-decoration:none}.tnp-suggest-button:hover{background-color:#3f8dbf}.tnp-popup-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.8);z-index:10000}.tnp-popup{width:40vw;height:66vh;overflow:auto;margin:100px auto 0 auto;background-color:#181818;padding:20px;position:relative}.tnp-popup-close{display:block;position:absolute;top:5px;right:5px;background-color:#181818;color:#fff;font-size:40px;padding:10px;text-align:right;cursor:pointer}.tnp-subjects-header{font-size:16px;color:#fff;padding:0 70px 20px 20px;font-family:soleil,sans-serif;border-bottom:1px solid #282828}#tnp-edit-subjects-list{padding:0 70px 20px 20px}#tnp-edit-subjects-list a{padding:5px}#tnp-edit-subjects-list svg{margin:0 10px 0 0;vertical-align:middle}.tnp-subject-category{color:#565656;margin:25px 0 10px 0;font-size:12px;text-transform:uppercase;letter-spacing:.1em}#tnp-edit-emoji-list{font-size:28px}#tnp-edit-emoji-list a{display:inline-block;margin-right:5px;margin-bottom:5px}.tnp-list-conditions p{margin:0 10px}.tnp-lists .tnp-notes{margin:0;font-size:.9em}iframe.tnp-editor-preview-mobile{box-sizing:border-box;background-color:#fff;border:1px solid #bbb;box-shadow:1px 1px 10px #777;border-radius:10px;padding:5px;width:320px;height:500px;float:left}iframe.tnp-editor-preview-desktop{box-sizing:border-box;background-color:#fff;border:1px solid #bbb;border-radius:10px;box-shadow:1px 1px 10px #777;padding:15px;width:650px;margin-right:20px;height:500px;float:left}#tnp-license-control{border-left:5px solid #27ae60;display:inline-block;padding:15px 20px;margin-left:-10px;margin-top:15px;border-radius:2px;background-color:#fff}#tnp-license-control form{margin-bottom:10px;margin-top:10px}#tnp-license-control form input{padding-left:10px}#tnp-license-control a{border-bottom:0;color:#27ae60}#tnp-nl-status{width:100%;background:#fffafa;padding:15px 25px 15px 25px;border-left:10px solid #27ae60;border-radius:0 5px 5px 0}#tnp-nl-status p{font-size:17px}.tnp-nl-status-row{margin:10px 0}.tnp-nl-status-title{font-size:26px;line-height:32px;margin:5px 0 0 0;color:#3498db;font-weight:900;vertical-align:middle}.tnp-nl-status-title-value{font-size:13px;line-height:32px;margin:0 0 0 5px;color:#fff;background-color:#95a5a6;border-radius:4px;text-transform:uppercase;letter-spacing:1px;vertical-align:sub}.tnp-nl-status-schedule-targeting{font-size:15px;color:#34495e}.tnp-nl-status-schedule-value{font-size:15px;color:#34495e}.tnp-status-header #options-subject{width:calc(100% - 150px)}.tnp-one-third{width:40%;display:inline-block;vertical-align:top}.tnp-two-thirds{width:59%;display:inline-block;vertical-align:top}.tnp-progress{display:flex;height:1.5rem;overflow:hidden;font-size:.75rem;background-color:#c9cccf;border-radius:.25rem;margin:0;min-width:100px}.tnp-progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}.tnp-progress.sent .tnp-progress-bar{background-color:green}.tnp-progress-numbers{text-align:center;color:#666}.tnp-progress-date{color:#666;font-style:italic}span.tnp-email-status-new{background-color:#8e44ad;padding:2px 10px;border-radius:4px;color:#fff;white-space:nowrap}span.tnp-email-status-paused{background-color:#95a5a6;padding:2px 10px;border-radius:4px;color:#fff;white-space:nowrap}span.tnp-email-status-sending{background-color:#27ae60;padding:2px 10px;border-radius:4px;color:#fff;white-space:nowrap}span.tnp-email-status-scheduled{background-color:#e67e22;padding:2px 10px;border-radius:4px;color:#fff;white-space:nowrap}span.tnp-email-status-sent{background-color:#95a5a6;padding:2px 10px;border-radius:4px;color:#fff;white-space:nowrap}.tnp-themes-new{border-bottom:2px solid #243342;margin-bottom:30px;padding-bottom:30px}#tnp-schedule-button{background-color:#e67e22!important}#tnp-schedule-button:hover{background-color:#ec913f!important}.tnp-button-cancel{background-color:#e74c3c!important}.tnpc-preview{margin-top:10px}.tnpc-preview .fake-browser-ui iframe{width:700px}.tnpc-preview .fake-mobile-browser-ui iframe{width:320px}.fake-browser-ui{padding:30px 0 0;border-radius:3px;border-bottom:10px solid #ccc;background:#ddd;display:inline-block;position:relative;line-height:0;vertical-align:top;margin-left:20px}.fake-mobile-browser-ui{padding:30px 10px 37px;border-radius:10px;border-bottom:10px solid #ccc;background:#ddd;display:inline-block;position:relative;line-height:0;margin-left:30px}.fake-browser-ui .frame{display:block;height:25px;position:absolute;top:12px;left:8px}.fake-mobile-browser-ui .frame{display:block;height:25px;margin-top:10px}.fake-browser-ui span{height:12px;width:12px;border-radius:8px;background-color:#eee;border:1px solid #dadada;float:left;margin:0 0 0 4px}.fake-mobile-browser-ui span{height:50px;width:50px;border-radius:60px;background-color:#eee;border:2px solid #ccc;display:block;margin:auto}.fake-browser-ui .bt-1{background-color:#ed594a}.fake-browser-ui .bt-2{background-color:#fdd800}.fake-browser-ui .bt-3{background-color:#5ac05a}#tnp-promo{text-align:left;background-color:#222b36;margin:20px;border-radius:5px;padding:20px 40px}#tnp-promo .tnp-promo-how-to{width:50%;padding:5px 20px;margin-top:30px;margin-bottom:30px;border-left:2px solid #f1c40f}#tnp-promo .tnp-promo-how-to h3{color:#ecf0f1;margin:0;line-height:36px}#tnp-promo .tnp-promo-how-to p{color:#ecf0f1;margin:0;font-size:16px;line-height:26px}#tnp-promo .tnp-promo-buttons{margin:50px 0}#tnp-promo .tnp-promo-button{background:#27ae60;text-decoration:none;color:white;padding:15px 20px;font-size:15px;border-radius:2px}#tnp-promo .tnp-promo-button:hover{background:#2ecc71;color:white}#tnp-promo .tnp-promo-button i{margin-right:3px}#tnp-body td a.tnp-table-link,#tnp-body td a.tnp-table-link:visited{color:#444}#tnp-body td a.tnp-table-link:hover{color:#3498db}.text-left{text-align:left}
1
+ #tnp-wrap *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#tnp-wrap .iris-picker,#tnp-wrap .iris-picker *{-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}#tnp-wrap *:before,#tnp-wrap *:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}@media all and (max-width:1100px){.col-md-12{width:100%}.col-md-11{width:100%}.col-md-10{width:100%}.col-md-9{width:100%}.col-md-8{width:100%}.col-md-7{width:100%}.col-md-6{width:100%}.col-md-5{width:100%}.col-md-4{width:100%}.col-md-3{width:100%}.col-md-2{width:100%}.col-md-1{width:100%}}.tnp-row-padded{width:90%;margin:0 auto;display:flex;justify-content:space-between}.tnp-col-3-boxed{width:30%;border:1px solid #3c414c;padding:0 0 30px 0;border-radius:10px}.tnp-margin-top{margin-top:80px}#tnp-wrap,#tnp-header,#tnp-body p,#tnp-body td,#tnp-body td p,#tnp-body input,#tnp-body select,#tnp-body textarea{font-family:soleil,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#tnp-body h1,#tnp-body h2,#tnp-body h3,#tnp-body h4{font-family:soleil,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#tnp-promotion-bar{background-color:#ff5f65;color:ddd;padding:10px 0;text-align:center;font-size:16px}#tnp-promotion-bar a{color:#fff;font-weight:normal;text-decoration:none}#tnp-header{text-align:left;font-size:12px;color:#fff;font-family:soleil,sans-serif}#tnp-header input{font-size:12px}#tnp-header a{text-decoration:none;color:white;letter-spacing:.1em}#tnp-header a:hover{color:#fff}.error a,.error a:hover{color:#000!important}.updated a,.updated a:hover{color:#000!important}.tnp-error{border-left:5px solid #d00;background-color:#fff;padding:15px;margin:15px 0;font-size:1.2em;line-height:1.5em}.tnp-warning{border-left:5px solid #ffb900;background-color:#fff;padding:15px;margin:15px 0;font-size:1.2em;line-height:1.5em}.tnp-message{border-left:5px solid #46b450;background-color:#fff;padding:15px;margin:15px 0;font-size:1.2em;line-height:1.5em}#tnp-body h1,#tnp-body h2,#tnp-body h3,#tnp-body h4,#tnp-body p{color:#fff}#tnp-body a,#tnp-body a:active{color:#2980b9}#tnp-body a:hover{color:#3498db}#tnp-body .tnp-submit{margin-bottom:10px}#tnp-body .button,#tnp-body .button:visited,#tnp-body .button:hover,#tnp-body .button:active,#tnp-body .button:focus,#tnp-body .button-primary,#tnp-body .button-primary:visited,#tnp-body .button-primary:hover,#tnp-body .button-secondary,#tnp-body .button-secondary:visited,#tnp-body .button-secondary:hover{color:#fff;background-color:#3498db;text-shadow:none;width:auto}#tnp-body span.wp-media-buttons-icon:before{color:#fff}#tnp-body .tnp-button{color:#fff;background-color:#3498db;text-shadow:none}#tnp-body .button-primary.tnp-button-white,#tnp-body .tnp-button.tnp-button-white{color:#444!important;background-color:#fff!important;box-shadow:none!important;-webkit-box-shadow:none!important;width:auto}#tnp-body .form-table h1,#tnp-body .form-table h2,#tnp-body .form-table h4,#tnp-body .form-table h3{color:#444}#tnp-body tbody th,#tnp-body td,#tnp-body td p,#tnp-body td .button,#tnp-body td .button:visited,#tnp-body td .button:hover,#tnp-body td .button:active,#tnp-body td .button:focus{color:#444}#tnp-body td a,#tnp-body td a:visited{color:#27ae60}#tnp-body .form-table{background-color:#fff;border:1px solid #ecf0f1;margin-top:2em;border-spacing:4px;border-collapse:separate}#tnp-body .form-table th{text-align:right;font-weight:bold;max-width:200px;color:#000;background-color:#ecf0f1;vertical-align:middle}#tnp-body .form-table th small{font-weight:normal}#tnp-body .form-table textarea{width:100%}#tnp-body .form-table table{border-collapse:collapse}#tnp-body .form-table table td,.form-table table th{padding:5px;font-size:.9em;font-weight:normal;border:1px solid #eee}#tnp-body .form-table table thead th{text-align:left;font-weight:bold}#tnp-body .widefat{width:90%}#tnp-body .widefat th{text-align:left}#tnp-body .widefat thead{background-color:#3498db;font-family:soleil,sans-serif;color:#fff!important}#tnp-body .widefat thead tr th{color:#fff!important}#tnp-body .widefat td,.widefat th{vertical-align:middle}.tnp-newsletters-list tbody tr{height:70px}.widefat tr:nth-child(even){background-color:#f4faff}#tnp-body #tabs h1,#tnp-body #tabs h2,#tnp-body #tabs h3,#tnp-body #tabs h4,#tnp-body #tabs p,#tnp-body #tabs td,#tnp-body #tabs th,#tnp-body #tabs input,#tnp-body #tabs select,#tnp-body #tabs textarea,#tnp-body #tabs a{color:#444}#tnp-body #tabs .button,#tnp-body #tabs .button:visited,#tnp-body #tabs .button:hover,#tnp-body #tabs .button-primary,#tnp-body #tabs .button-primary:visited,#tnp-body #tabs .button-primary:hover,#tnp-body #tabs .button-secondary,#tnp-body #tabs .button-secondary:visited,#tnp-body #tabs .button-secondary:hover{color:#fff;width:auto}table.clicks td{border:1px solid #666;padding:2px;font-size:10px}table.clicks{border-collapse:collapse}.grid{border-collapse:collapse}.grid td,.grid th{padding:10px;border:1px solid #ddd;margin:0}.grid th{background-color:#aaa}.tnp-checkboxes label{display:block;float:left;width:220px;border:1px solid #ccc;background-color:#f4f4f4;margin-bottom:5px;padding:5px;white-space:nowrap;margin-right:5px}.tnp-buttons{padding:10px}.newsletter-checkbox-group,.nl-checkbox-group{float:left;margin-right:5px;border:1px solid #ccc;background-color:#f4f4f4;margin-bottom:5px;padding:5px;white-space:nowrap;overflow:hidden}.newsletter-checkboxes-item{float:left;margin-right:5px;border:1px solid #ddd;border-radius:3px;background-color:#f4f4f4;width:150px;margin-bottom:5px;padding:3px;white-space:nowrap;overflow:hidden}.newsletter-checkboxes-item input{vertical-align:text-bottom}.newsletter-checkboxes-item label{display:inline}.newsletter-preferences-item{float:left;margin-right:5px;border:1px solid #ccc;background-color:#f4f4f4;width:250px;margin-bottom:5px;padding:5px;white-space:nowrap;overflow:hidden}.newsletter-preferences-item label{display:inline}.form-table td .nl-checkbox-group label{display:inline}.tnp-notice{padding:15px;margin:10px 0;padding-right:70px;position:relative;border:1px solid #eee;background-color:#fff;color:#444;font-size:13px;border-left:5px solid #27ae60}.tnp-notice a{color:#0073aa;text-decoration:none;font-weight:bold}.tnp-notice a.tnp-dismiss{display:block;position:absolute;right:10px;top:13px;font-size:25px;text-decoration:none;color:#666}.tnp-notice input[type=email]{margin:10px 5px 5px;width:250px;border:0;box-shadow:none;background-color:#ecf0f1;padding:8px}.tnp-notice input[type=submit]{border:0;box-shadow:none;background-color:#27ae60;padding:8px;font-family:soleil,sans-serif;font-size:13px;color:#fff;cursor:pointer}.newsletter-message{background-color:#efe;border-color:#393;border-radius:5px;border-style:solid;border-width:3px;padding:.6em;margin-bottom:.6em}.newsletter-error-span{color:#f00;font-weight:bold}.newsletter-error{background-color:#fee;border-color:#933;border-radius:5px;border-style:solid;border-width:2px;padding:.6em;margin-bottom:.6em}.newsletter-error strong,.newsletter-message strong{font-weight:bold}#newsletter-warnings{background-color:#ffebe8;border-color:#C00;border-radius:3px;border-style:solid;border-width:1px;padding:.6em;margin-bottom:.6em}.newsletter-buttons{margin-top:1em;margin-bottom:1em}.tnp-paginator{margin-top:10px;margin-bottom:5px}.newsletter-option-grid th{text-align:right;width:auto;border:0;padding:3px;font-weight:normal;vertical-align:top;padding-right:15px}.newsletter-option-grid td{border:0;padding:3px;vertical-align:top}.newsletter-box{border:1px solid #ddd;padding:10px;background-color:#fafafa;margin-bottom:15px}.newsletter-box h3{margin-top:0}.newsletter-textarea-preview{border:1px solid #ddd}.tnp-tab-notice{background-color:#fff;border:1px solid #eee;border-left:3px solid gray;padding:10px;margin:10px 0;color:#444}.tnp-tab-warning{background-color:#fff;border:1px solid #eee;border-left:3px solid orange;padding:10px;margin:10px 0;color:#444}.tnp-tab-success{background-color:#fff;border:1px solid #eee;border-left:3px solid green;padding:10px;margin:10px 0;color:#444}.tnp-tab-error{background-color:#fff;border:1px solid #eee;border-left:3px solid red;padding:10px;margin:10px 0;color:#444}.tnp-tip{margin-top:5px}.tip-button{padding:0 5px;color:#fd5f65;text-transform:uppercase;letter-spacing:.2em;font-size:10px;border:1px red solid}.tip-content{font-weight:500;font-size:11px;color:#999}p.description{font-size:12px!important}.tnp-theme-preview{display:inline-block;text-align:center}.tnp-theme-preview p{font-family:soleil;font-size:13px;letter-spacing:.2em;color:#fff}.tnp-theme-preview img:hover{box-shadow:3px 3px 8px 2px #293848}.tnp-theme-preview img{border-radius:10px;height:190px;width:auto}.tnp-theme-preview .tnp-theme-composer{height:250px;width:auto}.tnp-theme-preview .tnp-theme-html{height:250px;width:auto}.tnp-header-logo{margin-left:10px}.wp-core-ui .button-primary{background-color:#2b2f3a;color:#fff;width:auto}#tnp-body{padding:10px;background-color:#28313c}.tnp-darkbg{background-color:#34495e!important}#tnp-body h3{margin-top:25px;clear:both;margin-bottom:10px}.tnp-body-lite{background-color:#f1f1f1!important}#tnp-heading{padding:10px;margin-bottom:10px;border-radius:5px}#tnp-heading a{color:#fff;border-bottom:1px solid #fff;text-decoration:none}#tnp-heading a:hover{color:#27ae60;border-bottom:1px solid #27ae60}#tnp-heading div p{color:#565656}#tnp-heading h2{color:#fff;font-family:soleil,sans-serif;letter-spacing:.1rem;font-size:1.1rem;line-height:1.8rem;text-transform:uppercase;vertical-align:middle;font-weight:700;padding:0;margin:0;margin-bottom:15px}#tnp-heading h3{color:#27ae60;font-family:soleil,sans-serif;letter-spacing:.1rem;font-size:.8rem;line-height:1.8rem;text-transform:uppercase;vertical-align:middle;font-weight:700;padding:0;margin:0}#tnp-heading p{margin:0;color:#ccc}#tnp-heading .notice p{margin:.5em 0;padding:2px}#tnp-heading .tnp-btn-h1{color:#fff;background-color:#3498db;border-radius:3px;padding:6px 11px;text-decoration:none;text-transform:capitalize;font-family:soleil,sans-serif;margin-left:10px;font-size:.75rem;font-weight:300;border:0}#tnp-heading .tnp-btn-h1:hover{color:#fff;background-color:#5dade2;-webkit-transition:background-color .25s linear;transition:background-color .25s linear;-webkit-font-smoothing:subpixel-antialiased;border:0;color:#fff}.metabox-holder{width:100%}.postbox{border:0}.postbox h3 a{float:right}#dashboard-widgets .postbox-container{width:33.333%}#tnp-body .postbox p{color:#000}#dashboard-widgets .postbox-container .postbox h3{font-family:soleil,sans-serif;letter-spacing:.05rem;background-color:#415b76;color:#fff;margin:0;padding:9px}#dashboard-widgets .postbox-container h3 a{color:white;text-decoration:none;margin-left:5px;padding:2px 8px;background-color:#26c281;border-radius:2px;font-weight:300;text-transform:capitalize;font-size:.8rem}#dashboard-widgets .postbox-container h3 a:hover{color:white;text-decoration:none;margin-left:5px;background-color:#2ecc71}.postbox-container i{margin-right:3px}#tnp-dash-newsletters tr td:last-of-type{width:80px;text-align:right}#tnp-dash-subscribers tr td:last-of-type{width:80px;text-align:right}#tnp-dash-subscribers tr td:first-of-type{width:250px;overflow:hidden}#tnp-dash-subscribers table{table-layout:fixed}#tnp-dash-documentation .inside div{margin-top:10px}#tnp-dash-documentation .inside a{text-decoration:none;color:#fff;display:block;font-family:soleil,sans-serif;padding:5px 10px}#tnp-footer{margin-top:10px;padding:20px 10px 10px 40px;background-color:#28313c;font-family:soleil,sans-serif}#tnp-footer div{width:33%;display:inline-block}#tnp-footer a{color:#fff;text-decoration:none}#tnp-footer a:hover{color:#bdc3c7}#tnp-footer input[type="submit"]{background-color:#2ecc71;border:0;padding:5px;color:#fff}#tnp-footer form{white-space:nowrap}#tnp-footer li{display:inline;margin-left:15px;padding:2px 5px;border-left:3px solid #2ecc71}#wpwrap{background-color:#222b36!important}#dashboard-widgets .button{border:0;background:0;box-shadow:none;color:#322c39}#dashboard-widgets .button:hover{background-color:#ecf0f1}.wp-core-ui .button-secondary,.wp-core-ui .button-primary{background-color:#3498db;border:0;box-shadow:none;color:#fff;font-family:soleil,sans-serif;margin:0 2px;width:auto}.wp-core-ui .button-secondary,.wp-core-ui .button,.wp-core-ui .button-primary{background-color:#3498db;box-shadow:none;color:#fff;font-family:soleil,sans-serif;margin:0 2px}.wp-core-ui .button-secondary:hover,.wp-core-ui .button:hover,.wp-core-ui .button-primary:hover{background-color:#5dade2;color:#fff;width:auto}span.wp-media-buttons-icon:before{color:#fff}.tnp-paginator [value="Go"]{background-color:#27ae60}.tnp-paginator [value="Go"]:hover{background-color:#2ecc71}.notice-dismiss{padding:3px}.tnp-paginator{color:#fff;font-family:soleil,sans-serif;margin:10px 0}.tnp-paginator .button-secondary{padding:5px;line-height:normal;height:auto;font-size:12px;height:25px;border:0;border-radius:3px;vertical-align:baseline}.tnp-paginator [value="Go"]{background-color:#27ae60!important}.tnp-paginator [value="Go"]:hover{background-color:#2ecc71!important}.tnp-paginator input{background-color:#2c3e50;border:0;border-radius:3px;color:#fff;padding:5px;line-height:normal;font-size:12px;height:25px}.tnp-subscribers-search{color:#fff;font-family:soleil,sans-serif;background-color:#2c3e50;padding:20px;border-radius:5px;margin-bottom:20px;display:inline-block}.tnp-subscribers-search select{margin-left:5px;padding:0;line-height:inherit}.tnp-video-container{position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}.tnp-video-container iframe,.tnp-video-container object,.tnp-video-container embed{position:absolute;top:0;left:0;width:100%;height:100%}.bg-white{background-color:#FFF}.orange{background-color:#f39c12}.blue{background-color:#2980b9}.purple{background-color:#8e44ad}.notice a{color:#27ae60!important;text-decoration:underline!important}.tnp-chart{border:1px solid #eee;width:100%}.tnp-db-table{width:auto;background-color:#fff}.tnp-db-table thead{border-bottom:1px solid #eee}.tnp-db-table th{font-weight:bold}.tnp-db-table td,.tnp-db-table th{padding:3px;font-family:monospace;border:0}.tnp-main-status h3,.tnp-main-status h4{color:#fff}#tnp-status-table .tnp-ok{font-weight:bold;color:white;font-size:14px;background-color:#27ae60;padding:2px 10px;border-radius:10px;display:inline-block;width:75px;text-align:center}#tnp-status-table .tnp-ko{font-weight:bold;color:white;font-size:14px;background-color:#e74c41;padding:2px 10px;border-radius:10px;display:inline-block;width:75px;text-align:center}#tnp-status-table .tnp-maybe{font-weight:bold;color:white;font-size:14px;background-color:#f1c40f;padding:2px 10px;border-radius:10px;display:inline-block;width:75px;text-align:center}.tnp-main-status .tnp-log-files li{padding-left:15px}.tnp-main-status .tnp-log-files li,.tnp-main-status .tnp-log-files li a{color:#fff}.tnp-main-status .tnp-log-files .tnp-log-size{font-style:italic}table.widefat{border:0;box-shadow:none}#tnp-status-table tbody tr:nth-child(2n+1){background-color:#ecf0f1;border-radius:2px;margin:5px}#tnp-parameters-table tbody tr:nth-child(2n+1){background-color:#ecf0f1;border-radius:2px;margin:5px}#tnp-body .ui-widget{font-family:soleil,sans-serif}#tnp-body #tabs{background-color:transparent;border:0!important;padding:0;margin:0}#tnp-body #tabs .ui-widget-header{background:#28313c;border:0}#tnp-body #tabs .ui-tabs-panel{padding:15px!important;background-color:#fff}#tnp-body #tabs a.ui-tabs-anchor,#tnp-body #tabs a.ui-tabs-anchor:visited{color:#444}#tnp-body .ui-tabs .ui-tabs-nav{padding:0}#tnp-body .ui-tabs .ui-tabs-nav li a{font-size:14px}#tnp-body #tabs .ui-tabs{border-color:#28313c;background-color:#28313c;border:0}#tnp-body #tabs .ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0 0;background-color:#f2f2f2}#tnp-body #tabs .ui-tabs .ui-tabs-panel{padding:1em 0;background-color:#f2f2f2;margin:0;border:0}#tnp-body .ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{background:#fff!important;font-weight:normal;font-family:soleil,sans-serif}#tnp-body .ui-widget-content{background:#fff}#tnp-body .ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:0;background:#ecf0f1;font-family:soleil,sans-serif}.tnp-extension-premium-box,.tnp-extension-free-box,.tnp-integration-box{width:300px;height:220px;background-color:#222b36;text-align:center;margin:20px;float:left;position:relative}.tnp-extension-premium-box:hover,.tnp-extension-free-box:hover,.tnp-integration-box:hover{background-color:#232c35;box-shadow:1px 1px 15px #222b36}.tnp-extension-premium-box p,.tnp-extension-free-box p,.tnp-integration-box p{padding:5px 10px;color:#72777c;font-size:14px;margin-top:0}.tnp-extension-premium-box h3{font-family:soleil,sans-serif;padding:5px 8px!important;border-radius:3px;display:inline-block;font-size:16px;color:#fff;margin-bottom:0!important;margin-top:25px!important;font-weight:300;width:auto!important;border-bottom:none!important}.tnp-extension-free-box h3{font-family:soleil,sans-serif;padding:5px 8px!important;border-radius:3px;display:inline-block;font-size:16px;color:#fff;margin-bottom:0!important;margin-top:25px!important;font-weight:300;width:auto!important;border-bottom:none!important}.tnp-integration-box h3{font-family:soleil,sans-serif;padding:5px 8px!important;border-radius:3px;display:inline-block;font-size:16px;color:#fff;margin-bottom:0!important;margin-top:25px!important;font-weight:300;width:auto!important;border-bottom:none!important}.tnp-extension-premium-action{bottom:0;position:absolute;width:100%;padding:12px;font-family:soleil,sans-serif}.tnp-extension-free-action{bottom:0;position:absolute;width:100%;padding:12px;font-family:soleil,sans-serif}.tnp-integration-action{bottom:0;position:absolute;width:100%;padding:12px;font-family:soleil,sans-serif}.tnp-extension-premium-action span{color:#27ae60}.tnp-extension-free-action span{color:#27ae60}.tnp-integration-action span{color:#27ae60}.tnp-extension-activate{color:#1abc9c;padding:5px 8px;text-decoration:none;cursor:pointer}.tnp-extension-install{color:#2980b9;padding:5px 8px;text-decoration:none;cursor:pointer}.tnp-extension-buy{color:#f1c40f;padding:5px 8px;text-decoration:none;cursor:pointer}#tnp-body a.tnp-extension-details{color:#999;padding:5px 8px;text-decoration:none;cursor:pointer}.tnp-extension-free{color:#d35400;padding:5px 8px;text-decoration:none;cursor:pointer;position:relative}img.tnp-extensions-free-badge{position:absolute;display:block;right:0;top:0;width:70px}.tnp-extensions-image img{margin:25px 0 -10px}#tnp-subscribe-overlay{height:100vh;width:100vw;z-index:10000;display:none;background-image:url(images/modal-background.png);background-repeat:repeat;position:fixed;top:0;left:-20px}#tnp-subscribe-modal{width:600px;background-color:rgba(255,255,255,1);margin-right:auto;margin-left:auto;margin-top:100px;-webkit-box-shadow:0 0 20px 0 rgba(0,0,0,0.5);-moz-box-shadow:0 0 20px 0 rgba(0,0,0,0.5);box-shadow:0 0 20px 0 rgba(0,0,0,0.5);padding:25px;background-color:#1d2b38;text-align:center}#tnp-subscribe-modal img{width:30%}#tnp-subscribe-title{font-size:20px;margin-top:30px;margin-bottom:30px;line-height:30px;color:white;font-weight:200}#tnp-subscribe-email-wrapper{margin:20px}#tnp-subscribe-email-wrapper input{border:0;background-color:#223242;color:white}#tnp-subscribe-email{font-size:24px;box-sizing:border-box;width:100%;padding:10px;text-align:center}#tnp-subscribe-submit-wrapper{margin-bottom:20px}#tnp-subscribe-submit{font-size:24px;background-color:#219050;color:#fff;padding:10px 35px;border:0;font-size:17px;letter-spacing:2px}#tnp-subscribe-no-thanks{color:#666;margin-top:20px;margin-bottom:20px}#tnp-body div.tnp-emails-theme-options{background-color:#fff;padding:10px;margin-top:14px}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:0;background:#ecf0f1;font-family:soleil,sans-serif}.cd-slider-wrapper{position:relative;width:100%;height:90vh;overflow:hidden;margin:0 auto}.cd-slider-wrapper .cd-slider,.cd-slider-wrapper .cd-slider>li{height:100%;width:100%}.tnp-logo-big{width:300px}.tnp-row{display:table-row}.tnp-third{width:33%;float:left}.tnp-welcome-confirm-button{color:#fff;padding:10px 30px;background-color:#2ecc71;font-weight:700;font-size:15px;box-shadow:0 20px 38px rgba(0,0,0,0.16);text-decoration:none;display:inline-block;text-align:center;margin:20px auto 0}.tnp-welcome-confirm-button:hover{box-shadow:0 0 38px rgba(0,0,0,0.16);color:#fff}.tnp-welcome-confirm-button:visited{color:#fff;text-decoration:none}.tnp-welcome-link-button{color:#fff;padding:10px 30px;background-color:#3498db;font-weight:700;font-size:15px;box-shadow:0 20px 38px rgba(0,0,0,0.16);text-decoration:none}.tnp-welcome-link-button:hover{box-shadow:0 0 38px rgba(0,0,0,0.16);color:#fff}.tnp-welcome-link-button:visited{color:#fff;text-decoration:none}#tnp-welcome input[type="text"],#tnp-welcome input[type="email"]{max-width:90%}.tnp-welcome-next{background-color:#2ecc71;padding:10px 20px;color:white;text-decoration:none;font-weight:600;font-size:16px;margin:0 10px;box-shadow:0 10px 30px rgba(0,0,0,0.16);width:-moz-fit-content;width:-webkit-fit-content;width:fit-content;display:flex;align-items:center}.tnp-welcome-next:hover{box-shadow:0 0 38px rgba(0,0,0,0.16);color:#fff}.tnp-welcome-next:visited{color:#fff;text-decoration:none}.tnp-welcome-prev{background-color:#3498db;padding:10px 20px;color:white;text-decoration:none;font-weight:600;font-size:16px;margin:0 0 0 10px;box-shadow:0 10px 30px rgba(0,0,0,0.16);width:-moz-fit-content;width:-webkit-fit-content;width:fit-content;display:flex;align-items:center}.tnp-welcome-prev:hover{box-shadow:0 0 38px rgba(0,0,0,0.16);color:#fff}.tnp-welcome-prev:visited{color:#fff;text-decoration:none}.tnp-welcome-next svg{margin-left:10px}.tnp-welcome-prev svg{margin-right:10px}.cd-slider input{width:250px;height:40px;border:1px solid #6c7280;background:#454a56;color:white;color:white;padding:0 10px}.cd-slider>li{position:absolute;top:0;left:0;opacity:0;display:table;background-position:center center;background-repeat:no-repeat;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.cd-slider>li.visible{position:relative;z-index:2;opacity:1}.cd-slider>li:first-of-type{background-color:#2b313a}.cd-slider>li:nth-of-type(2){background-color:#2b313a}.cd-slider>li:nth-of-type(3){background-color:#2b313a}.cd-slider>li:nth-of-type(4){background-color:#2b313a}.cd-slider>li:first-of-type,.cd-slider>li:nth-of-type(2),.cd-slider>li:nth-of-type(3),.cd-slider>li:nth-of-type(4){background-size:cover}.cd-slider>li>div{display:table-cell;vertical-align:middle;text-align:center}.cd-slider>li h2,.cd-slider>li p{text-shadow:0 1px 3px rgba(0,0,0,0.1);line-height:1.2;margin:0 auto 14px;color:#fff;width:90%;max-width:320px}.cd-slider>li h2{font-size:40px}.cd-slider>li p{font-size:18px;line-height:26px;text-align:left;color:#b8c3c9;margin:40px auto}.cd-slider>li .cd-btn{display:inline-block;padding:1.2em 1.4em;margin-top:.8em;background-color:rgba(0,0,0,0.6);border-radius:.25em;font-size:1.3rem;font-weight:700;letter-spacing:1px;color:#fff;text-transform:uppercase;-webkit-transition:background-color .2s;-moz-transition:background-color .2s;transition:background-color .2s}.no-touch .cd-slider>li .cd-btn:hover{background-color:rgba(0,0,0,0.8)}@media only screen and (min-width:768px){.cd-slider>li h2,.cd-slider>li p{max-width:520px}.cd-slider>li h2{font-size:40px}.cd-slider>li p{font-size:18px;line-height:26px;text-align:left;color:#b8c3c9;margin:40px auto}}@media only screen and (min-width:1170px){.cd-slider>li h2,.cd-slider>li p{margin-bottom:20px}.cd-slider>li h2{font-size:40px}.cd-slider>li p{font-size:18px;line-height:26px;text-align:center;color:#b8c3c9;margin:30px auto}}.cd-slider-navigation{position:relative;bottom:110px;z-index:3;display:flex;justify-content:center}.cd-svg-cover{position:absolute;z-index:1;left:0;top:0;height:100%;width:100%;opacity:0}.cd-svg-cover path{fill:#ed6a6a}.cd-svg-cover.is-animating{z-index:4;opacity:1;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;transition:opacity .6s}.switch{position:relative;display:inline-block;width:60px;height:34px}.switch input{display:none}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.4s;transition:.4s}.slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:white;-webkit-transition:.4s;transition:.4s}input:checked+.slider{background-color:#2196f3}input:focus+.slider{box-shadow:0 0 1px #2196f3}input:checked+.slider:before{-webkit-transform:translateX(26px);-ms-transform:translateX(26px);transform:translateX(26px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}#tnp-body div.tnp-emails-theme-options table.form-table{margin:0}#tnp-body div.tnp-emails-theme-options h3{color:#000}.tnp-emails-edit #options-subject{font-size:16px;display:inline-block;margin:20px 0;width:auto;border-radius:4px;padding:5px 10px}.tnp-suggest-button{font-family:soleil,sans-serif;margin-left:8px;border-radius:3px;background-color:#2980b9;padding:10px 15px 8px;font-size:14px;color:#fff!important;text-decoration:none}.tnp-suggest-button:hover{background-color:#3f8dbf}.tnp-popup-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.8);z-index:10000}.tnp-popup{width:40vw;height:66vh;overflow:auto;margin:100px auto 0 auto;background-color:#181818;padding:20px;position:relative}.tnp-popup-close{display:block;position:absolute;top:5px;right:5px;background-color:#181818;color:#fff;font-size:40px;padding:10px;text-align:right;cursor:pointer}.tnp-subjects-header{font-size:16px;color:#fff;padding:0 70px 20px 20px;font-family:soleil,sans-serif;border-bottom:1px solid #282828}#tnp-edit-subjects-list{padding:0 70px 20px 20px}#tnp-edit-subjects-list a{padding:5px}#tnp-edit-subjects-list svg{margin:0 10px 0 0;vertical-align:middle}.tnp-subject-category{color:#565656;margin:25px 0 10px 0;font-size:12px;text-transform:uppercase;letter-spacing:.1em}#tnp-edit-emoji-list{font-size:28px}#tnp-edit-emoji-list a{display:inline-block;margin-right:5px;margin-bottom:5px}.tnp-list-conditions p{margin:0 10px}.tnp-lists .tnp-notes{margin:0;font-size:.9em}iframe.tnp-editor-preview-mobile{box-sizing:border-box;background-color:#fff;border:1px solid #bbb;box-shadow:1px 1px 10px #777;border-radius:10px;padding:5px;width:320px;height:500px;float:left}iframe.tnp-editor-preview-desktop{box-sizing:border-box;background-color:#fff;border:1px solid #bbb;border-radius:10px;box-shadow:1px 1px 10px #777;padding:15px;width:650px;margin-right:20px;height:500px;float:left}#tnp-license-control{border-left:5px solid #27ae60;display:inline-block;padding:15px 20px;margin-left:-10px;margin-top:15px;border-radius:2px;background-color:#fff}#tnp-license-control form{margin-bottom:10px;margin-top:10px}#tnp-license-control form input{padding-left:10px}#tnp-license-control a{border-bottom:0;color:#27ae60}#tnp-nl-status{width:100%;background:#fffafa;padding:15px 25px 15px 25px;border-left:10px solid #27ae60;border-radius:0 5px 5px 0}#tnp-nl-status p{font-size:17px}.tnp-nl-status-row{margin:10px 0}.tnp-nl-status-title{font-size:26px;line-height:32px;margin:5px 0 0 0;color:#3498db;font-weight:900;vertical-align:middle}.tnp-nl-status-title-value{font-size:13px;line-height:32px;margin:0 0 0 5px;color:#fff;background-color:#95a5a6;border-radius:4px;text-transform:uppercase;letter-spacing:1px;vertical-align:sub}.tnp-nl-status-schedule-targeting{font-size:15px;color:#34495e}.tnp-nl-status-schedule-value{font-size:15px;color:#34495e}.tnp-status-header #options-subject{width:calc(100% - 150px)}.tnp-one-third{width:40%;display:inline-block;vertical-align:top}.tnp-two-thirds{width:59%;display:inline-block;vertical-align:top}.tnp-progress{display:flex;height:1.5rem;overflow:hidden;font-size:.75rem;background-color:#c9cccf;border-radius:.25rem;margin:0;min-width:100px}.tnp-progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}.tnp-progress.sent .tnp-progress-bar{background-color:green}.tnp-progress-numbers{text-align:center;color:#666}.tnp-progress-date{color:#666;font-style:italic}span.tnp-email-status-new{background-color:#8e44ad;padding:2px 10px;border-radius:4px;color:#fff;white-space:nowrap}span.tnp-email-status-paused{background-color:#95a5a6;padding:2px 10px;border-radius:4px;color:#fff;white-space:nowrap}span.tnp-email-status-sending{background-color:#27ae60;padding:2px 10px;border-radius:4px;color:#fff;white-space:nowrap}span.tnp-email-status-scheduled{background-color:#e67e22;padding:2px 10px;border-radius:4px;color:#fff;white-space:nowrap}span.tnp-email-status-sent{background-color:#95a5a6;padding:2px 10px;border-radius:4px;color:#fff;white-space:nowrap}.tnp-themes-new{border-bottom:2px solid #243342;margin-bottom:30px;padding-bottom:30px}#tnp-schedule-button{background-color:#e67e22!important}#tnp-schedule-button:hover{background-color:#ec913f!important}.tnp-button-cancel{background-color:#e74c3c!important}.tnpc-preview{margin-top:10px}.tnpc-preview .fake-browser-ui iframe{width:700px}.tnpc-preview .fake-mobile-browser-ui iframe{width:320px}.fake-browser-ui{padding:30px 0 0;border-radius:3px;border-bottom:10px solid #ccc;background:#ddd;display:inline-block;position:relative;line-height:0;vertical-align:top;margin-left:20px}.fake-mobile-browser-ui{padding:30px 10px 37px;border-radius:10px;border-bottom:10px solid #ccc;background:#ddd;display:inline-block;position:relative;line-height:0;margin-left:30px}.fake-browser-ui .frame{display:block;height:25px;position:absolute;top:12px;left:8px}.fake-mobile-browser-ui .frame{display:block;height:25px;margin-top:10px}.fake-browser-ui span{height:12px;width:12px;border-radius:8px;background-color:#eee;border:1px solid #dadada;float:left;margin:0 0 0 4px}.fake-mobile-browser-ui span{height:50px;width:50px;border-radius:60px;background-color:#eee;border:2px solid #ccc;display:block;margin:auto}.fake-browser-ui .bt-1{background-color:#ed594a}.fake-browser-ui .bt-2{background-color:#fdd800}.fake-browser-ui .bt-3{background-color:#5ac05a}#tnp-promo{text-align:left;background-color:#222b36;margin:20px;border-radius:5px;padding:20px 40px}#tnp-promo .tnp-promo-how-to{width:50%;padding:5px 20px;margin-top:30px;margin-bottom:30px;border-left:2px solid #f1c40f}#tnp-promo .tnp-promo-how-to h3{color:#ecf0f1;margin:0;line-height:36px}#tnp-promo .tnp-promo-how-to p{color:#ecf0f1;margin:0;font-size:16px;line-height:26px}#tnp-promo .tnp-promo-buttons{margin:50px 0}#tnp-promo .tnp-promo-button{background:#27ae60;text-decoration:none;color:white;padding:15px 20px;font-size:15px;border-radius:2px}#tnp-promo .tnp-promo-button:hover{background:#2ecc71;color:white}#tnp-promo .tnp-promo-button i{margin-right:3px}#tnp-body td a.tnp-table-link,#tnp-body td a.tnp-table-link:visited{color:#444}#tnp-body td a.tnp-table-link:hover{color:#3498db}.text-left{text-align:left}
emails/blocks/hero/block-left.php CHANGED
@@ -32,7 +32,7 @@
32
  }
33
  </style>
34
 
35
- <table width="49%" align="left" class="hero-table" border="0" cellspacing="0" cellpadding="0">
36
  <tr>
37
  <td align="center" valign="top">
38
  <a href="<?php echo $url ?>" target="_blank" rel="noopener nofollow" inline-class="image-a">
32
  }
33
  </style>
34
 
35
+ <table width="50%" align="left" class="hero-table" border="0" cellspacing="0" cellpadding="0">
36
  <tr>
37
  <td align="center" valign="top">
38
  <a href="<?php echo $url ?>" target="_blank" rel="noopener nofollow" inline-class="image-a">
emails/blocks/hero/block-right.php CHANGED
@@ -34,7 +34,7 @@
34
 
35
  <div dir="rtl">
36
 
37
- <table width="49%" align="right" class="hero-table" border="0" cellspacing="0" cellpadding="0">
38
  <tr>
39
  <td align="center" valign="top" dir="ltr">
40
  <a href="<?php echo $url ?>" target="_blank" rel="noopener nofollow" inline-class="image-a">
34
 
35
  <div dir="rtl">
36
 
37
+ <table width="50%" align="right" class="hero-table" border="0" cellspacing="0" cellpadding="0">
38
  <tr>
39
  <td align="center" valign="top" dir="ltr">
40
  <a href="<?php echo $url ?>" target="_blank" rel="noopener nofollow" inline-class="image-a">
emails/blocks/posts/block.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  /*
3
  * Name: Last posts
4
  * Section: content
@@ -58,7 +59,13 @@ $title_font_size = $options['title_font_size'];
58
  $show_image = !empty($options['show_image']);
59
 
60
  $filters = array();
61
- $filters['posts_per_page'] = (int) $options['max'];
 
 
 
 
 
 
62
  $filters['offset'] = max((int) $options['post_offset'], 0);
63
 
64
  if (!empty($options['categories'])) {
@@ -111,385 +118,17 @@ if ($posts) {
111
  $current_language = Newsletter::instance()->get_current_language();
112
  Newsletter::instance()->switch_language($options['language']);
113
 
114
- $button_background = $options['button_background'];
115
- $button_label = $options['button_label'];
116
- $button_font_family = $options['button_font_family'];
117
- $button_font_size = $options['button_font_size'];
118
- $button_color = $options['button_font_color'];
119
-
120
  $alternative = plugins_url('newsletter') . '/emails/blocks/posts/images/blank.png';
121
  $alternative_2 = plugins_url('newsletter') . '/emails/blocks/posts/images/blank-240x160.png';
122
 
123
  remove_all_filters('excerpt_more');
124
- ?>
125
-
126
-
127
- <?php if ($options['layout'] == 'one') { ?>
128
- <style>
129
- .posts-post-date {
130
- padding: 0 0 5px 0;
131
- font-size: 13px;
132
- font-family: <?php echo $font_family ?>;
133
- font-weight: normal;
134
- color: #aaaaaa;
135
- }
136
-
137
- .posts-post-title {
138
- padding: 0 0 5px 0;
139
- font-size: <?php echo $title_font_size ?>px;
140
- font-family: <?php echo $title_font_family ?>;
141
- font-weight: normal;
142
- color: <?php echo $options['title_font_color'] ?>;
143
- line-height: normal;
144
- }
145
-
146
- .posts-post-excerpt {
147
- padding: 10px 0 15px 0;
148
- font-family: <?php echo $font_family ?>;
149
- color: <?php echo $options['font_color'] ?>;
150
- font-size: <?php echo $font_size ?>px;
151
- line-height: 1.5em;
152
- }
153
-
154
- .posts-button-table {
155
- background-color: <?php echo $button_background ?>;
156
- /*border:1px solid #353535;*/
157
- border-radius:5px;
158
- align: right;
159
- }
160
- .posts-button-td {
161
- color: <?php echo $button_color ?>;
162
- font-family:<?php echo $font_family ?>;
163
- font-size:<?php echo $button_font_size ?>px;
164
- font-weight:normal;
165
- letter-spacing:normal;
166
- line-height:normal;
167
- padding-top:10px;
168
- padding-right:15px;
169
- padding-bottom:10px;
170
- padding-left:15px;
171
- text-align: right;
172
- }
173
- .posts-button-a {
174
- color:<?php echo $button_color ?>;
175
- font-size:<?php echo $button_font_size ?>px;
176
- font-weight:normal;
177
- text-decoration:none;
178
- }
179
- </style>
180
- <!-- COMPACT ARTICLE SECTION -->
181
-
182
-
183
-
184
- <table border="0" cellpadding="0" cellspacing="0" width="100%" class="responsive-table">
185
-
186
- <?php foreach ($posts as $post) { ?>
187
- <?php
188
- $url = tnp_post_permalink($post);
189
- $media = null;
190
- if ($show_image) {
191
- $media = tnp_composer_block_posts_get_media($post, ['width' => 300, 'height' => 0]);
192
- if ($media)
193
- $media->set_width(105);
194
- }
195
- ?>
196
-
197
- <tr>
198
-
199
- <td valign="top" style="padding: 20px 0 0 0;" class="posts-td-1">
200
-
201
- <?php if ($media) { ?>
202
- <table width="20%" cellpadding="0" cellspacing="0" border="0" align="left" class="posts-1-column" style="margin-bottom: 20px">
203
- <tr>
204
- <td>
205
- <a href="<?php echo tnp_post_permalink($post) ?>" target="_blank">
206
- <img src="<?php echo $media->url ?>"
207
- width="<?php echo $media->width ?>"
208
- height="<?php echo $media->height ?>"
209
- alt="<?php echo esc_attr($media->alt) ?>"
210
- border="0"
211
- class="posts-1-image"
212
- style="display: block; max-width: 100%; width: <?php echo $media->width ?>px" width="<?php echo $media->width ?>">
213
- </a>
214
- </td>
215
- </tr>
216
- </table>
217
- <?php } ?>
218
-
219
- <table width="<?php echo $media ? '78%' : '100%' ?>" cellpadding="0" cellspacing="0" border="0" class="posts-1-column" align="right">
220
- <tr>
221
- <td>
222
 
223
- <!-- ARTICLE -->
224
- <table border="0" cellspacing="0" cellpadding="0" width="100%">
225
- <?php if (!empty($options['show_date'])) { ?>
226
- <tr>
227
- <td align="<?php echo $align_left?>" inline-class="posts-post-date">
228
- <?php echo tnp_post_date($post) ?>
229
- </td>
230
- </tr>
231
- <?php } ?>
232
- <tr>
233
- <td align="<?php echo $align_left?>"
234
- inline-class="posts-post-title"
235
- class="tnpc-row-edit tnpc-inline-editable"
236
- data-type="title" data-id="<?php echo $post->ID ?>" dir="<?php echo $dir?>">
237
- <?php
238
- echo TNP_Composer::is_post_field_edited_inline($options['inline_edits'], 'title', $post->ID) ?
239
- TNP_Composer::get_edited_inline_post_field($options['inline_edits'], 'title', $post->ID) :
240
- tnp_post_title($post)
241
- ?>
242
- </td>
243
- </tr>
244
- <tr>
245
- <td align="<?php echo $align_left?>"
246
- inline-class="posts-post-excerpt"
247
- class="padding-copy tnpc-row-edit tnpc-inline-editable"
248
- data-type="text" data-id="<?php echo $post->ID ?>" dir="<?php echo $dir?>">
249
- <?php
250
- echo TNP_Composer::is_post_field_edited_inline($options['inline_edits'], 'text', $post->ID) ?
251
- TNP_Composer::get_edited_inline_post_field($options['inline_edits'], 'text', $post->ID) :
252
- tnp_post_excerpt($post, $excerpt_length)
253
- ?>
254
- </td>
255
- </tr>
256
- <tr>
257
- <td align="<?php echo $align_left?>" class="padding">
258
- <table border="0" cellpadding="0" cellspacing="0" inline-class="posts-button-table" align="<?php echo $align_right?>">
259
- <tr>
260
- <td align="center" valign="middle" inline-class="posts-button-td" dir="<?php echo $dir?>">
261
- <a href="<?php echo esc_attr($url) ?>" target="_blank" inline-class="posts-button-a" dir="<?php echo $dir?>"><?php echo $button_label ?></a>
262
- </td>
263
- </tr>
264
- </table>
265
- </td>
266
- </tr>
267
- </table>
268
-
269
- </td>
270
- </tr>
271
- </table>
272
-
273
- </td>
274
- </tr>
275
-
276
- <?php } ?>
277
-
278
- </table>
279
-
280
-
281
-
282
- <?php } else { ?>
283
-
284
- <style>
285
- .posts-post-date {
286
- padding: 10px 0 0 15px;
287
- font-size: 13px;
288
- font-family: <?php echo $font_family ?>;
289
- font-weight: normal;
290
- color: #aaaaaa;
291
- }
292
- .posts-post-title {
293
- padding: 15px 0 0 0;
294
- font-family: <?php echo $title_font_family ?>;
295
- color: <?php echo $options['title_font_color'] ?>;
296
- font-size: <?php echo $title_font_size ?>px;
297
- line-height: 1.3em;
298
- }
299
- .posts-post-excerpt {
300
- padding: 5px 0 0 0;
301
- font-family: <?php echo $font_family ?>;
302
- color: <?php echo $options['font_color'] ?>;
303
- font-size: <?php echo $font_size ?>px;
304
- line-height: 1.4em;
305
- }
306
- .posts-button-table {
307
- background-color: <?php echo $button_background ?>;
308
- /*border:1px solid #353535;*/
309
- border-radius:5px;
310
- align: right;
311
- }
312
- .posts-button-td {
313
- color: <?php echo $button_color ?>;
314
- font-family:<?php echo $font_family ?>;
315
- font-size:<?php echo $button_font_size ?>px;
316
- font-weight:normal;
317
- letter-spacing:normal;
318
- line-height:normal;
319
- padding-top:15px;
320
- padding-right:30px;
321
- padding-bottom:15px;
322
- padding-left:30px;
323
- text-align: right;
324
- }
325
- .posts-button-a {
326
- color:<?php echo $button_color ?>;
327
- font-size:<?php echo $button_font_size ?>px;
328
- font-weight:normal;
329
- text-decoration:none;
330
- }
331
- </style>
332
- <!-- TWO COLUMN SECTION -->
333
-
334
-
335
- <!-- TWO COLUMNS -->
336
- <table cellspacing="0" cellpadding="0" border="0" width="100%">
337
- <?php foreach (array_chunk($posts, 2) AS $row) { ?>
338
- <tr>
339
- <td valign="top" style="padding: 10px;" class="mobile-wrapper two-columns">
340
-
341
- <!-- LEFT COLUMN -->
342
- <table cellpadding="0" cellspacing="0" border="0" width="47%" align="left" class="responsive-table">
343
- <tr>
344
- <td style="padding: 20px 0 40px 0;">
345
- <table cellpadding="0" cellspacing="0" border="0" width="100%">
346
- <?php if ($show_image) { ?>
347
- <?php
348
- $size = array('width' => 240, 'height' => 160, "crop" => true);
349
- $media = tnp_composer_block_posts_get_media($row[0], $size, $alternative_2);
350
- ?>
351
- <tr>
352
- <td align="center" valign="middle" class="tnpc-row-edit" data-type="image">
353
- <a href="<?php echo tnp_post_permalink($row[0]) ?>" target="_blank">
354
- <img src="<?php echo $media->url ?>"
355
- width="<?php echo $media->width ?>"
356
- height="<?php echo $media->height ?>"
357
- alt="Image"
358
- border="0"
359
- class="img-max">
360
- </a>
361
- </td>
362
- </tr>
363
- <?php } ?>
364
- <tr>
365
- <td align="center"
366
- inline-class="posts-post-title"
367
- class="tnpc-row-edit tnpc-inline-editable"
368
- data-type="title" data-id="<?php echo $row[0]->ID ?>">
369
- <?php
370
- echo TNP_Composer::is_post_field_edited_inline($options['inline_edits'], 'title', $row[0]->ID) ?
371
- TNP_Composer::get_edited_inline_post_field($options['inline_edits'], 'title', $row[0]->ID) :
372
- tnp_post_title($row[0])
373
- ?>
374
- </td>
375
- </tr>
376
- <?php if (!empty($options['show_date'])) { ?>
377
- <tr>
378
- <td align="center" inline-class="posts-post-date">
379
- <?php echo tnp_post_date($row[0]) ?>
380
- </td>
381
- </tr>
382
- <?php } ?>
383
- <tr>
384
- <td align="center"
385
- inline-class="posts-post-excerpt"
386
- class="tnpc-row-edit tnpc-inline-editable"
387
- data-type="text" data-id="<?php echo $row[0]->ID ?>">
388
- <?php
389
- echo TNP_Composer::is_post_field_edited_inline($options['inline_edits'], 'text', $row[0]->ID) ?
390
- TNP_Composer::get_edited_inline_post_field($options['inline_edits'], 'text', $row[0]->ID) :
391
- tnp_post_excerpt($row[0], $excerpt_length)
392
- ?>
393
- </td>
394
- </tr>
395
- <tr>
396
- <td align="center">
397
- <br>
398
- <table border="0" cellpadding="0" cellspacing="0" inline-class="posts-button-table" align="center">
399
- <tr>
400
- <td align="center" valign="middle" inline-class="posts-button-td">
401
- <a href="<?php echo tnp_post_permalink($row[0]) ?>" target="_blank" inline-class="posts-button-a"><?php echo $button_label ?></a>
402
- </td>
403
- </tr>
404
- </table>
405
- </td>
406
- </tr>
407
- </table>
408
- </td>
409
- </tr>
410
- </table>
411
-
412
- <?php if (!empty($row[1])) { ?>
413
- <!-- RIGHT COLUMN -->
414
- <table cellpadding="0" cellspacing="0" border="0" width="47%" align="right" class="responsive-table">
415
- <tr>
416
- <td style="padding: 20px 0 40px 0;">
417
- <table cellpadding="0" cellspacing="0" border="0" width="100%">
418
- <?php if ($show_image) { ?>
419
- <?php
420
- $size = array('width' => 240, 'height' => 160, "crop" => true);
421
- $media = tnp_composer_block_posts_get_media($row[1], $size, $alternative_2);
422
- ?>
423
- <tr>
424
- <td align="center" valign="middle" class="tnpc-row-edit" data-type="image">
425
- <a href="<?php echo tnp_post_permalink($row[1]) ?>" target="_blank">
426
- <img src="<?php echo $media->url ?>"
427
- width="<?php echo $media->width ?>"
428
- height="<?php echo $media->height ?>"
429
- alt="Image" border="0" class="img-max">
430
- </a>
431
- </td>
432
- </tr>
433
- <?php } ?>
434
- <tr>
435
- <td align="center"
436
- inline-class="posts-post-title"
437
- class="tnpc-row-edit tnpc-inline-editable"
438
- data-type="title" data-id="<?php echo $row[1]->ID ?>">
439
- <?php
440
- echo TNP_Composer::is_post_field_edited_inline($options['inline_edits'], 'title', $row[1]->ID) ?
441
- TNP_Composer::get_edited_inline_post_field($options['inline_edits'], 'title', $row[1]->ID) :
442
- tnp_post_title($row[1])
443
- ?>
444
- </td>
445
- </tr>
446
- <?php if (!empty($options['show_date'])) { ?>
447
- <tr>
448
- <td align="center" inline-class="posts-post-date">
449
- <?php echo tnp_post_date($row[1]) ?>
450
- </td>
451
- </tr>
452
- <?php } ?>
453
- <tr>
454
- <td align="center"
455
- inline-class="posts-post-excerpt"
456
- class="tnpc-row-edit tnpc-inline-editable"
457
- data-type="text" data-id="<?php echo $row[1]->ID ?>">
458
- <?php
459
- echo TNP_Composer::is_post_field_edited_inline($options['inline_edits'], 'text', $row[1]->ID) ?
460
- TNP_Composer::get_edited_inline_post_field($options['inline_edits'], 'text', $row[1]->ID) :
461
- tnp_post_excerpt($row[1], $excerpt_length)
462
- ?>
463
- </td>
464
- </tr>
465
- <tr>
466
- <td align="center">
467
- <br>
468
- <table border="0" cellpadding="0" cellspacing="0" inline-class="posts-button-table" align="center">
469
- <tr>
470
- <td align="center" valign="middle" inline-class="posts-button-td">
471
- <a href="<?php echo tnp_post_permalink($row[1]) ?>" target="_blank" inline-class="posts-button-a"><?php echo $button_label ?></a>
472
- </td>
473
- </tr>
474
- </table>
475
- </td>
476
- </tr>
477
- </table>
478
- </td>
479
- </tr>
480
- </table>
481
- <?php } ?>
482
-
483
- </td>
484
- </tr>
485
-
486
- <?php } ?>
487
-
488
- </table>
489
-
490
-
491
-
492
- <?php
493
  }
494
 
495
  Newsletter::instance()->switch_language($options['language']);
1
  <?php
2
+
3
  /*
4
  * Name: Last posts
5
  * Section: content
59
  $show_image = !empty($options['show_image']);
60
 
61
  $filters = array();
62
+
63
+ $options['max'] = (int) $options['max'];
64
+ if ($options['layout'] == 'two') {
65
+ $options['max'] = (int) floor($options['max'] / 2) * 2;
66
+ }
67
+
68
+ $filters['posts_per_page'] = $options['max'];
69
  $filters['offset'] = max((int) $options['post_offset'], 0);
70
 
71
  if (!empty($options['categories'])) {
118
  $current_language = Newsletter::instance()->get_current_language();
119
  Newsletter::instance()->switch_language($options['language']);
120
 
 
 
 
 
 
 
121
  $alternative = plugins_url('newsletter') . '/emails/blocks/posts/images/blank.png';
122
  $alternative_2 = plugins_url('newsletter') . '/emails/blocks/posts/images/blank-240x160.png';
123
 
124
  remove_all_filters('excerpt_more');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
125
 
126
+ if ($options['layout'] == 'one') {
127
+ include __DIR__ . '/layout-one.php';
128
+ } else if ($options['layout'] == 'two') {
129
+ include __DIR__ . '/layout-two.php';
130
+ } else {
131
+ include __DIR__ . '/layout-big-image.php';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
132
  }
133
 
134
  Newsletter::instance()->switch_language($options['language']);
emails/blocks/posts/layout-big-image.php ADDED
@@ -0,0 +1,111 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $size = ['width' => 600, 'height' => 0];
3
+ ?>
4
+ <style>
5
+ .post-date {
6
+ padding: 0 0 5px 0;
7
+ font-size: 13px;
8
+ font-family: <?php echo $font_family ?>;
9
+ font-weight: normal;
10
+ color: #aaaaaa;
11
+ }
12
+
13
+ .post-title {
14
+ padding: 0 0 5px 0;
15
+ font-size: <?php echo $title_font_size ?>px;
16
+ font-family: <?php echo $title_font_family ?>;
17
+ font-weight: normal;
18
+ color: <?php echo $options['title_font_color'] ?>;
19
+ line-height: normal;
20
+ }
21
+
22
+ .post-excerpt {
23
+ padding: 10px 0 15px 0;
24
+ font-family: <?php echo $font_family ?>;
25
+ color: <?php echo $options['font_color'] ?>;
26
+ font-size: <?php echo $font_size ?>px;
27
+ line-height: 1.5em;
28
+ }
29
+ </style>
30
+
31
+
32
+ <?php foreach ($posts as $post) { ?>
33
+ <?php
34
+ $url = tnp_post_permalink($post);
35
+ $media = null;
36
+ if ($show_image) {
37
+ $media = tnp_composer_block_posts_get_media($post, $size);
38
+
39
+ if ($media) {
40
+ $media->link = $url;
41
+ }
42
+ }
43
+ $options['button_url'] = $url;
44
+ ?>
45
+
46
+
47
+
48
+ <?php if ($media) { ?>
49
+ <table width="100%" cellpadding="0" cellspacing="0" border="0" style="margin-bottom: 20px">
50
+ <tr>
51
+ <td align="center">
52
+ <?php echo TNP_Composer::image($media) ?>
53
+ </td>
54
+ </tr>
55
+ </table>
56
+ <?php } ?>
57
+
58
+ <table width="100%" cellpadding="0" cellspacing="0" border="0" class="responsive-table">
59
+ <tr>
60
+ <td>
61
+
62
+ <!-- ARTICLE -->
63
+ <table border="0" cellspacing="0" cellpadding="0" width="100%">
64
+ <?php if (!empty($options['show_date'])) { ?>
65
+ <tr>
66
+ <td align="<?php echo $align_left ?>" inline-class="post-date">
67
+ <?php echo tnp_post_date($post) ?>
68
+ </td>
69
+ </tr>
70
+ <?php } ?>
71
+ <tr>
72
+ <td align="<?php echo $align_left ?>"
73
+ inline-class="post-title"
74
+ class="tnpc-row-edit tnpc-inline-editable"
75
+ data-type="title" data-id="<?php echo $post->ID ?>" dir="<?php echo $dir ?>">
76
+ <?php
77
+ echo TNP_Composer::is_post_field_edited_inline($options['inline_edits'], 'title', $post->ID) ?
78
+ TNP_Composer::get_edited_inline_post_field($options['inline_edits'], 'title', $post->ID) :
79
+ tnp_post_title($post)
80
+ ?>
81
+ </td>
82
+ </tr>
83
+ <tr>
84
+ <td align="<?php echo $align_left ?>"
85
+ inline-class="post-excerpt"
86
+ class="padding-copy tnpc-row-edit tnpc-inline-editable"
87
+ data-type="text" data-id="<?php echo $post->ID ?>" dir="<?php echo $dir ?>">
88
+ <?php
89
+ echo TNP_Composer::is_post_field_edited_inline($options['inline_edits'], 'text', $post->ID) ?
90
+ TNP_Composer::get_edited_inline_post_field($options['inline_edits'], 'text', $post->ID) :
91
+ tnp_post_excerpt($post, $excerpt_length)
92
+ ?>
93
+ </td>
94
+ </tr>
95
+ <tr>
96
+ <td align="<?php echo $align_left ?>" align="center">
97
+ <?php echo TNP_Composer::button($options) ?>
98
+ <br><br>
99
+ </td>
100
+ </tr>
101
+ </table>
102
+
103
+ </td>
104
+ </tr>
105
+ </table>
106
+
107
+
108
+
109
+ <?php } ?>
110
+
111
+
emails/blocks/posts/layout-one.php ADDED
@@ -0,0 +1,116 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $size = ['width' => 300, 'height' => 0];
3
+ ?>
4
+ <style>
5
+ .post-date {
6
+ padding: 0 0 5px 0;
7
+ font-size: 13px;
8
+ font-family: <?php echo $font_family ?>;
9
+ font-weight: normal;
10
+ color: #aaaaaa;
11
+ }
12
+
13
+ .post-title {
14
+ padding: 0 0 5px 0;
15
+ font-size: <?php echo $title_font_size ?>px;
16
+ font-family: <?php echo $title_font_family ?>;
17
+ font-weight: normal;
18
+ color: <?php echo $options['title_font_color'] ?>;
19
+ line-height: normal;
20
+ }
21
+
22
+ .post-excerpt {
23
+ padding: 10px 0 15px 0;
24
+ font-family: <?php echo $font_family ?>;
25
+ color: <?php echo $options['font_color'] ?>;
26
+ font-size: <?php echo $font_size ?>px;
27
+ line-height: 1.5em;
28
+ }
29
+ </style>
30
+
31
+
32
+ <table border="0" cellpadding="0" cellspacing="0" width="100%" class="responsive-table">
33
+
34
+ <?php foreach ($posts as $post) { ?>
35
+ <?php
36
+ $url = tnp_post_permalink($post);
37
+ $media = null;
38
+ if ($show_image) {
39
+ $media = tnp_composer_block_posts_get_media($post, $size);
40
+ var_dump($media);
41
+ if ($media) {
42
+ $media->link = $url;
43
+ $media->set_width(105);
44
+ }
45
+ }
46
+ $options['button_url'] = $url;
47
+ ?>
48
+
49
+ <tr>
50
+
51
+ <td valign="top" style="padding: 20px 0 0 0;" class="td-1">
52
+
53
+ <?php if ($media) { ?>
54
+ <table width="20%" cellpadding="0" cellspacing="0" border="0" align="left" class="1-column" style="margin-bottom: 20px">
55
+ <tr>
56
+ <td>
57
+ <?php echo TNP_Composer::image($media) ?>
58
+ </td>
59
+ </tr>
60
+ </table>
61
+ <?php } ?>
62
+
63
+ <table width="<?php echo $media ? '78%' : '100%' ?>" cellpadding="0" cellspacing="0" border="0" class="responsive-table" align="right">
64
+ <tr>
65
+ <td>
66
+
67
+ <!-- ARTICLE -->
68
+ <table border="0" cellspacing="0" cellpadding="0" width="100%">
69
+ <?php if (!empty($options['show_date'])) { ?>
70
+ <tr>
71
+ <td align="<?php echo $align_left ?>" inline-class="post-date">
72
+ <?php echo tnp_post_date($post) ?>
73
+ </td>
74
+ </tr>
75
+ <?php } ?>
76
+ <tr>
77
+ <td align="<?php echo $align_left ?>"
78
+ inline-class="post-title"
79
+ class="tnpc-row-edit tnpc-inline-editable"
80
+ data-type="title" data-id="<?php echo $post->ID ?>" dir="<?php echo $dir ?>">
81
+ <?php
82
+ echo TNP_Composer::is_post_field_edited_inline($options['inline_edits'], 'title', $post->ID) ?
83
+ TNP_Composer::get_edited_inline_post_field($options['inline_edits'], 'title', $post->ID) :
84
+ tnp_post_title($post)
85
+ ?>
86
+ </td>
87
+ </tr>
88
+ <tr>
89
+ <td align="<?php echo $align_left ?>"
90
+ inline-class="post-excerpt"
91
+ class="padding-copy tnpc-row-edit tnpc-inline-editable"
92
+ data-type="text" data-id="<?php echo $post->ID ?>" dir="<?php echo $dir ?>">
93
+ <?php
94
+ echo TNP_Composer::is_post_field_edited_inline($options['inline_edits'], 'text', $post->ID) ?
95
+ TNP_Composer::get_edited_inline_post_field($options['inline_edits'], 'text', $post->ID) :
96
+ tnp_post_excerpt($post, $excerpt_length)
97
+ ?>
98
+ </td>
99
+ </tr>
100
+ <tr>
101
+ <td align="<?php echo $align_left ?>" class="padding">
102
+ <?php echo TNP_Composer::button($options) ?>
103
+ </td>
104
+ </tr>
105
+ </table>
106
+
107
+ </td>
108
+ </tr>
109
+ </table>
110
+
111
+ </td>
112
+ </tr>
113
+
114
+ <?php } ?>
115
+
116
+ </table>
emails/blocks/posts/layout-two.php ADDED
@@ -0,0 +1,167 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $size = array('width' => 240, 'height' => 160, "crop" => true);
3
+ ?>
4
+ <style>
5
+ .post-date {
6
+ padding: 10px 0 0 15px;
7
+ font-size: 13px;
8
+ font-family: <?php echo $font_family ?>;
9
+ font-weight: normal;
10
+ color: #aaaaaa;
11
+ }
12
+ .post-title {
13
+ padding: 15px 0 0 0;
14
+ font-family: <?php echo $title_font_family ?>;
15
+ color: <?php echo $options['title_font_color'] ?>;
16
+ font-size: <?php echo $title_font_size ?>px;
17
+ line-height: 1.3em;
18
+ }
19
+ .post-excerpt {
20
+ padding: 5px 0 0 0;
21
+ font-family: <?php echo $font_family ?>;
22
+ color: <?php echo $options['font_color'] ?>;
23
+ font-size: <?php echo $font_size ?>px;
24
+ line-height: 1.4em;
25
+ }
26
+ </style>
27
+
28
+ <!-- TWO COLUMNS -->
29
+ <table cellspacing="0" cellpadding="0" border="0" width="100%">
30
+
31
+ <?php foreach (array_chunk($posts, 2) AS $row) { ?>
32
+ <?php
33
+ $media = null;
34
+ if ($show_image) {
35
+ $media = tnp_composer_block_posts_get_media($row[0], $size, $alternative_2);
36
+ $media->link = tnp_post_permalink($row[0]);
37
+ }
38
+ $options['button_url'] = tnp_post_permalink($row[0]);
39
+ ?>
40
+ <tr>
41
+ <td valign="top" style="padding: 10px;" class="mobile-wrapper two-columns">
42
+
43
+ <!-- LEFT COLUMN -->
44
+ <table cellpadding="0" cellspacing="0" border="0" width="47%" align="left" class="responsive-table">
45
+ <tr>
46
+ <td style="padding: 20px 0 40px 0;">
47
+ <table cellpadding="0" cellspacing="0" border="0" width="100%">
48
+ <?php if ($media) { ?>
49
+ <tr>
50
+ <td align="center" valign="middle" class="tnpc-row-edit" data-type="image">
51
+ <?php echo TNP_Composer::image($media) ?>
52
+ </td>
53
+ </tr>
54
+ <?php } ?>
55
+ <tr>
56
+ <td align="center"
57
+ inline-class="post-title"
58
+ class="tnpc-row-edit tnpc-inline-editable"
59
+ data-type="title" data-id="<?php echo $row[0]->ID ?>">
60
+ <?php
61
+ echo TNP_Composer::is_post_field_edited_inline($options['inline_edits'], 'title', $row[0]->ID) ?
62
+ TNP_Composer::get_edited_inline_post_field($options['inline_edits'], 'title', $row[0]->ID) :
63
+ tnp_post_title($row[0])
64
+ ?>
65
+ </td>
66
+ </tr>
67
+ <?php if (!empty($options['show_date'])) { ?>
68
+ <tr>
69
+ <td align="center" inline-class="post-date">
70
+ <?php echo tnp_post_date($row[0]) ?>
71
+ </td>
72
+ </tr>
73
+ <?php } ?>
74
+ <tr>
75
+ <td align="center"
76
+ inline-class="post-excerpt"
77
+ class="tnpc-row-edit tnpc-inline-editable"
78
+ data-type="text" data-id="<?php echo $row[0]->ID ?>">
79
+ <?php
80
+ echo TNP_Composer::is_post_field_edited_inline($options['inline_edits'], 'text', $row[0]->ID) ?
81
+ TNP_Composer::get_edited_inline_post_field($options['inline_edits'], 'text', $row[0]->ID) :
82
+ tnp_post_excerpt($row[0], $excerpt_length)
83
+ ?>
84
+ </td>
85
+ </tr>
86
+ <tr>
87
+ <td align="center">
88
+ <br>
89
+ <?php echo TNP_Composer::button($options) ?>
90
+ </td>
91
+ </tr>
92
+ </table>
93
+ </td>
94
+ </tr>
95
+ </table>
96
+
97
+ <?php
98
+ $media = null;
99
+ if ($show_image) {
100
+ $media = tnp_composer_block_posts_get_media($row[1], $size, $alternative_2);
101
+ $media->link = tnp_post_permalink($row[1]);
102
+ }
103
+ $options['button_url'] = tnp_post_permalink($row[1]);
104
+ ?>
105
+ <!-- RIGHT COLUMN -->
106
+ <table cellpadding="0" cellspacing="0" border="0" width="47%" align="right" class="responsive-table">
107
+ <tr>
108
+ <td style="padding: 20px 0 40px 0;">
109
+ <table cellpadding="0" cellspacing="0" border="0" width="100%">
110
+ <?php if ($media) { ?>
111
+
112
+ <tr>
113
+ <td align="center" valign="middle" class="tnpc-row-edit" data-type="image">
114
+ <?php echo TNP_Composer::image($media) ?>
115
+ </td>
116
+ </tr>
117
+ <?php } ?>
118
+ <tr>
119
+ <td align="center"
120
+ inline-class="post-title"
121
+ class="tnpc-row-edit tnpc-inline-editable"
122
+ data-type="title" data-id="<?php echo $row[1]->ID ?>">
123
+ <?php
124
+ echo TNP_Composer::is_post_field_edited_inline($options['inline_edits'], 'title', $row[1]->ID) ?
125
+ TNP_Composer::get_edited_inline_post_field($options['inline_edits'], 'title', $row[1]->ID) :
126
+ tnp_post_title($row[1])
127
+ ?>
128
+ </td>
129
+ </tr>
130
+ <?php if (!empty($options['show_date'])) { ?>
131
+ <tr>
132
+ <td align="center" inline-class="post-date">
133
+ <?php echo tnp_post_date($row[1]) ?>
134
+ </td>
135
+ </tr>
136
+ <?php } ?>
137
+ <tr>
138
+ <td align="center"
139
+ inline-class="post-excerpt"
140
+ class="tnpc-row-edit tnpc-inline-editable"
141
+ data-type="text" data-id="<?php echo $row[1]->ID ?>">
142
+ <?php
143
+ echo TNP_Composer::is_post_field_edited_inline($options['inline_edits'], 'text', $row[1]->ID) ?
144
+ TNP_Composer::get_edited_inline_post_field($options['inline_edits'], 'text', $row[1]->ID) :
145
+ tnp_post_excerpt($row[1], $excerpt_length)
146
+ ?>
147
+ </td>
148
+ </tr>
149
+ <tr>
150
+ <td align="center">
151
+ <br>
152
+ <?php echo TNP_Composer::button($options) ?>
153
+ </td>
154
+ </tr>
155
+ </table>
156
+ </td>
157
+ </tr>
158
+ </table>
159
+
160
+
161
+ </td>
162
+ </tr>
163
+
164
+ <?php } ?>
165
+
166
+ </table>
167
+
emails/blocks/posts/options.php CHANGED
@@ -46,7 +46,9 @@ if (class_exists('NewsletterExtensions')) {
46
  <?php } ?>
47
 
48
 
49
- <?php $fields->select('layout', __('Layout', 'newsletter'), array('one' => __('One column', 'newsletter'), 'two' => __('Two columns', 'newsletter'))) ?>
 
 
50
 
51
  <?php $fields->font('title_font', __('Title font', 'newsletter')) ?>
52
 
46
  <?php } ?>
47
 
48
 
49
+ <?php $fields->select('layout', __('Layout', 'newsletter'), array('one' => __('One column', 'newsletter'),
50
+ 'two' => __('Two columns', 'newsletter'),
51
+ 'big-image' => __('One column, big image', 'newsletter'))) ?>
52
 
53
  <?php $fields->font('title_font', __('Title font', 'newsletter')) ?>
54
 
emails/blocks/posts/style.css CHANGED
@@ -1,4 +1,4 @@
1
- @media (max-width: 480px) {
2
  .posts-1-column {
3
  width: 100%!important;
4
  }
1
+ @media (max-width: 525px) {
2
  .posts-1-column {
3
  width: 100%!important;
4
  }
emails/images/automated.png ADDED
Binary file
emails/theme.php CHANGED
@@ -71,29 +71,36 @@ $themes = $module->themes->get_all_with_data();
71
  <?php $controls->init(); ?>
72
  <?php $controls->hidden('theme'); ?>
73
 
74
- <div class="tnp-themes-new">
75
-
76
- <div class="tnp-theme-preview">
77
- <p><?php echo _e('Responsive Drag & Drop Composer', 'newsletter') ?></p>
78
- <a href="<?php echo $module->get_admin_page_url('composer'); ?>" style="margin-right: 20px; margin-bottom: 20px">
79
- <img class="tnp-theme-composer" src="<?php echo plugins_url('newsletter') . '/emails/images/composer.gif' ?>">
80
- </a>
81
- </div>
82
-
83
- <div class="tnp-theme-preview">
84
- <p>&lt;&gt; 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 class="tnp-theme-html" src="<?php echo plugins_url('newsletter') . '/emails/images/html.png' ?>">
87
- </a>
88
- </div>
89
 
 
 
 
 
 
 
 
 
 
 
 
 
90
  </div>
 
 
 
 
 
 
 
 
 
91
  <h2>Classic Themes</h2>
92
 
93
  <?php foreach ($themes as $id => $data) { ?>
94
  <div class="tnp-theme-preview">
95
  <p><?php echo esc_html($data['name']) ?></p>
96
- <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">
97
  <img src="<?php echo esc_attr($data['screenshot']) ?>">
98
  </a>
99
  </div>
71
  <?php $controls->init(); ?>
72
  <?php $controls->hidden('theme'); ?>
73
 
74
+ <div class="tnp-themes-new">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75
 
76
+ <div class="tnp-theme-preview">
77
+ <p><?php echo _e('Responsive Drag & Drop Composer', 'newsletter') ?></p>
78
+ <a href="<?php echo $module->get_admin_page_url('composer'); ?>" style="margin-right: 20px; margin-bottom: 20px">
79
+ <img class="tnp-theme-composer" src="<?php echo plugins_url('newsletter') . '/emails/images/composer.gif' ?>">
80
+ </a>
81
+ </div>
82
+
83
+ <div class="tnp-theme-preview">
84
+ <p>&lt;&gt; 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 class="tnp-theme-html" src="<?php echo plugins_url('newsletter') . '/emails/images/html.png' ?>">
87
+ </a>
88
  </div>
89
+
90
+ <div class="tnp-theme-preview">
91
+ <p>Automatic</p>
92
+ <a href="https://www.thenewsletterplugin.com/automated?utm_source=plugin&utm_campaign=automated&utm_medium=themes" style="margin-right: 20px; margin-bottom: 20px">
93
+ <img class="tnp-theme-html" src="<?php echo plugins_url('newsletter') . '/emails/images/automated.png' ?>">
94
+ </a>
95
+ </div>
96
+
97
+ </div>
98
  <h2>Classic Themes</h2>
99
 
100
  <?php foreach ($themes as $id => $data) { ?>
101
  <div class="tnp-theme-preview">
102
  <p><?php echo esc_html($data['name']) ?></p>
103
+ <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">
104
  <img src="<?php echo esc_attr($data['screenshot']) ?>">
105
  </a>
106
  </div>
emails/tnp-composer/_scripts/newsletter-builder-v2.js CHANGED
@@ -454,7 +454,7 @@ jQuery(document).ready(function () {
454
  break;
455
  }
456
  case 'title': {
457
- element = "<input name='" + newInputName + "' class='" + className + "-textinput' value='" + value + "' type='text'>";
458
  break;
459
  }
460
  }
454
  break;
455
  }
456
  case 'title': {
457
+ element = "<textarea name='" + newInputName + "' class='" + className + "-textarea' rows='2'>" + value + "</textarea>";
458
  break;
459
  }
460
  }
emails/tnp-composer/css/newsletter.css CHANGED
@@ -10,7 +10,7 @@ img{border:0; height:auto; line-height:100%; outline:none; text-decoration:none;
10
  table{border-collapse:collapse !important;}
11
  img.aligncenter{display:block;margin:0 auto;}
12
 
13
- @media screen and (max-width: 525px) {
14
 
15
  /* ALLOWS FOR FLUID TABLES */
16
  table[class="wrapper"]{
@@ -53,6 +53,7 @@ img.aligncenter{display:block;margin:0 auto;}
53
  /* FULL-WIDTH TABLES */
54
  table[class="responsive-table"]{
55
  width:100%!important;
 
56
  }
57
 
58
  /* UTILITY CLASSES FOR ADJUSTING PADDING ON MOBILE */
10
  table{border-collapse:collapse !important;}
11
  img.aligncenter{display:block;margin:0 auto;}
12
 
13
+ @media all and (max-width: 525px) {
14
 
15
  /* ALLOWS FOR FLUID TABLES */
16
  table[class="wrapper"]{
53
  /* FULL-WIDTH TABLES */
54
  table[class="responsive-table"]{
55
  width:100%!important;
56
+ max-width: 100%!important;
57
  }
58
 
59
  /* UTILITY CLASSES FOR ADJUSTING PADDING ON MOBILE */
includes/composer.php CHANGED
@@ -266,6 +266,29 @@ class TNP_Composer {
266
  $b .= '</td></tr></table>';
267
  return $b;
268
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
269
 
270
  /**
271
  * Returns a WP media ID for the specified post (or false if nothing can be found)
266
  $b .= '</td></tr></table>';
267
  return $b;
268
  }
269
+
270
+ /**
271
+ *
272
+ * @param TNP_Media $media
273
+ * @return string
274
+ */
275
+ static function image($media) {
276
+ $b = '';
277
+ if ($media->link) {
278
+ $b .= '<a href="' . $media->link . '" target="_blank" style="text-decoration: none">';
279
+ }
280
+
281
+ $b .= '<img src="' . $media->url . '" width="' . $media->width . '"'
282
+ . ' height="' . $media->height . '"'
283
+ . ' alt="' . esc_attr($media->alt) . '"'
284
+ . ' border="0" style="max-width: 100%">';
285
+
286
+ if ($media->link) {
287
+ $b .= '</a>';
288
+ }
289
+
290
+ return $b;
291
+ }
292
 
293
  /**
294
  * Returns a WP media ID for the specified post (or false if nothing can be found)
includes/helper.php CHANGED
@@ -218,6 +218,20 @@ function tnp_resize($media_id, $size) {
218
  }
219
 
220
  $absolute_file = $uploads['basedir'] . '/' . $relative_file;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
221
  // Relative and absolute name of the thumbnail.
222
  $pathinfo = pathinfo($relative_file);
223
  $relative_thumb = $pathinfo['dirname'] . '/' . $pathinfo['filename'] . '-' . $width . 'x' . $height . ($crop ? '-c' : '') . '.' . $pathinfo['extension'];
218
  }
219
 
220
  $absolute_file = $uploads['basedir'] . '/' . $relative_file;
221
+
222
+ if (substr($relative_file, -4) === '.gif') {
223
+ $editor = wp_get_image_editor($absolute_file);
224
+ $new_size = $editor->get_size();
225
+ $media = new TNP_Media();
226
+ $media->width = $new_size['width'];
227
+ $media->height = $new_size['height'];
228
+ if ($media->width > $width) {
229
+ $media->set_width($width);
230
+ }
231
+ $media->url = $uploads['baseurl'] . '/' . $relative_file;
232
+ return $media;
233
+ }
234
+
235
  // Relative and absolute name of the thumbnail.
236
  $pathinfo = pathinfo($relative_file);
237
  $relative_thumb = $pathinfo['dirname'] . '/' . $pathinfo['filename'] . '-' . $width . 'x' . $height . ($crop ? '-c' : '') . '.' . $pathinfo['extension'];
includes/mailer.php CHANGED
@@ -477,16 +477,25 @@ class NewsletterDefaultSMTPMailer extends NewsletterMailer {
477
  * @return PHPMailer
478
  */
479
  function get_mailer() {
 
 
480
  if ($this->mailer) {
481
  return $this->mailer;
482
  }
483
 
484
  $logger = $this->get_logger();
485
  $logger->debug('Setting up PHP mailer');
486
- require_once ABSPATH . WPINC . '/class-phpmailer.php';
487
- require_once ABSPATH . WPINC . '/class-smtp.php';
488
-
489
- $this->mailer = new PHPMailer();
 
 
 
 
 
 
 
490
  $this->mailer->IsSMTP();
491
  $this->mailer->Host = $this->options['host'];
492
  if (!empty($this->options['port'])) {
477
  * @return PHPMailer
478
  */
479
  function get_mailer() {
480
+ global $wp_version;
481
+
482
  if ($this->mailer) {
483
  return $this->mailer;
484
  }
485
 
486
  $logger = $this->get_logger();
487
  $logger->debug('Setting up PHP mailer');
488
+ if (version_compare($wp_version, '5.4.9') > 0) {
489
+ require_once ABSPATH . WPINC . '/PHPMailer/PHPMailer.php';
490
+ require_once ABSPATH . WPINC . '/PHPMailer/SMTP.php';
491
+ require_once ABSPATH . WPINC . '/PHPMailer/Exception.php';
492
+ $this->mailer = new PHPMailer\PHPMailer\PHPMailer(false);
493
+ } else {
494
+ require_once ABSPATH . WPINC . '/class-phpmailer.php';
495
+ require_once ABSPATH . WPINC . '/class-smtp.php';
496
+ $this->mailer = new PHPMailer();
497
+ }
498
+
499
  $this->mailer->IsSMTP();
500
  $this->mailer->Host = $this->options['host'];
501
  if (!empty($this->options['port'])) {
includes/module.php CHANGED
@@ -15,6 +15,7 @@ class TNP_Media {
15
  var $width;
16
  var $height;
17
  var $alt;
 
18
 
19
  /** Sets the width recalculating the height */
20
  public function set_width($width) {
15
  var $width;
16
  var $height;
17
  var $alt;
18
+ var $link;
19
 
20
  /** Sets the width recalculating the height */
21
  public function set_width($width) {
plugin.php CHANGED
@@ -4,7 +4,7 @@
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.7.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.
@@ -35,7 +35,7 @@ if (version_compare(phpversion(), '5.6', '<')) {
35
  return;
36
  }
37
 
38
- define('NEWSLETTER_VERSION', '6.7.4');
39
 
40
  global $newsletter, $wpdb;
41
 
@@ -185,7 +185,7 @@ class Newsletter extends NewsletterModule {
185
  if ( $this->is_admin_page() ) {
186
  add_action( 'admin_enqueue_scripts', array( $this, 'hook_wp_admin_enqueue_scripts' ) );
187
  }
188
-
189
  add_action('wp_ajax_tnp_hide_promotion', function () {
190
  update_option('newsletter_promotion', $_POST['id']);
191
  die();
@@ -427,7 +427,7 @@ class Newsletter extends NewsletterModule {
427
  }
428
  $this->save_options($this->options);
429
  }
430
-
431
  delete_transient("tnp_extensions_json");
432
 
433
  return true;
@@ -1259,13 +1259,16 @@ class Newsletter extends NewsletterModule {
1259
  }
1260
 
1261
  $newsletter_page_url = get_permalink($page->ID);
1262
- if ($language && $this->newsletter_page_url) {
1263
  if (class_exists('SitePress')) {
1264
  $newsletter_page_url = apply_filters('wpml_permalink', $newsletter_page_url, $language, true);
1265
  }
1266
- if (function_exists('pll_get_post')) {
1267
- $newsletter_page_url = get_permalink(pll_get_post($page->ID), $language);
1268
- }
 
 
 
1269
  }
1270
 
1271
  return $newsletter_page_url;
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.7.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.
35
  return;
36
  }
37
 
38
+ define('NEWSLETTER_VERSION', '6.7.6');
39
 
40
  global $newsletter, $wpdb;
41
 
185
  if ( $this->is_admin_page() ) {
186
  add_action( 'admin_enqueue_scripts', array( $this, 'hook_wp_admin_enqueue_scripts' ) );
187
  }
188
+
189
  add_action('wp_ajax_tnp_hide_promotion', function () {
190
  update_option('newsletter_promotion', $_POST['id']);
191
  die();
427
  }
428
  $this->save_options($this->options);
429
  }
430
+
431
  delete_transient("tnp_extensions_json");
432
 
433
  return true;
1259
  }
1260
 
1261
  $newsletter_page_url = get_permalink($page->ID);
1262
+ if ($language && $newsletter_page_url) {
1263
  if (class_exists('SitePress')) {
1264
  $newsletter_page_url = apply_filters('wpml_permalink', $newsletter_page_url, $language, true);
1265
  }
1266
+ if ( function_exists( 'pll_get_post' ) ) {
1267
+ $translated_page = get_permalink( pll_get_post( $page->ID ), $language );
1268
+ if ( $translated_page ) {
1269
+ $newsletter_page_url = $translated_page;
1270
+ }
1271
+ }
1272
  }
1273
 
1274
  return $newsletter_page_url;
profile/profile.php CHANGED
@@ -25,7 +25,7 @@ class NewsletterProfile extends NewsletterModule {
25
  }
26
 
27
  function hook_newsletter_action($action, $user, $email) {
28
-
29
  if (in_array($action, ['p', 'profile', 'pe', 'profile-save', 'profile_export', 'ps'])) {
30
  if (!$user || $user->status != TNP_User::STATUS_CONFIRMED) {
31
  $this->dienow(__('The subscriber was not found or is not confirmed.', 'newsletter'));
@@ -61,7 +61,7 @@ class NewsletterProfile extends NewsletterModule {
61
  }
62
 
63
  /**
64
- *
65
  * @param stdClass $user
66
  */
67
  function get_profile_export_url($user) {
@@ -72,7 +72,7 @@ class NewsletterProfile extends NewsletterModule {
72
  * URL to the subscriber profile edit action. This URL MUST NEVER be changed by
73
  * 3rd party plugins. Plugins can change the final URL after the action has been executed using the
74
  * <code>newsletter_profile_url</code> filter.
75
- *
76
  * @param stdClass $user
77
  */
78
  function get_profile_url($user, $email = null) {
@@ -98,7 +98,7 @@ class NewsletterProfile extends NewsletterModule {
98
  }
99
 
100
  /**
101
- *
102
  * @param type $text
103
  * @param type $key
104
  * @param TNP_User $user
@@ -181,7 +181,7 @@ class NewsletterProfile extends NewsletterModule {
181
  if (!$email) {
182
  continue;
183
  }
184
- // 'id'=>$item->email_id,
185
  $newsletters[] = array('subject' => $email->subject, 'action' => $action, 'sent' => date('Y-m-d h:i:s', $email->send_on));
186
  }
187
 
@@ -197,7 +197,7 @@ class NewsletterProfile extends NewsletterModule {
197
 
198
  /**
199
  * Build the profile editing form for the specified subscriber.
200
- *
201
  * @param TNP_User $user
202
  * @return string
203
  */
@@ -244,6 +244,24 @@ class NewsletterProfile extends NewsletterModule {
244
  $buffer .= "</div>\n";
245
  }
246
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
247
  // Profile
248
  for ($i = 1; $i <= NEWSLETTER_PROFILE_MAX; $i++) {
249
  if ($options['profile_' . $i . '_status'] == 0) {
@@ -335,7 +353,7 @@ class NewsletterProfile extends NewsletterModule {
335
  /**
336
  * Saves the subscriber data extracting them from the $_REQUEST and for the
337
  * subscriber identified by the <code>$user</code> object.
338
- *
339
  * @return type
340
  */
341
  function save_profile($user) {
@@ -345,6 +363,7 @@ class NewsletterProfile extends NewsletterModule {
345
  $data = array();
346
  $data['id'] = $user->id;
347
 
 
348
  $options_profile = get_option('newsletter_profile', array());
349
  $options_main = get_option('newsletter_main', array());
350
 
@@ -391,6 +410,12 @@ class NewsletterProfile extends NewsletterModule {
391
  die('Wrong sex field');
392
  }
393
  }
 
 
 
 
 
 
394
 
395
  // Lists. If not list is present or there is no list to choose or all are unchecked.
396
  $nl = array();
@@ -436,7 +461,7 @@ class NewsletterProfile extends NewsletterModule {
436
  if (isset($alert)) {
437
  $user->alert = $alert;
438
  } else {
439
- $user->alert = $this->options['saved'];
440
  }
441
  return $user;
442
  }
25
  }
26
 
27
  function hook_newsletter_action($action, $user, $email) {
28
+
29
  if (in_array($action, ['p', 'profile', 'pe', 'profile-save', 'profile_export', 'ps'])) {
30
  if (!$user || $user->status != TNP_User::STATUS_CONFIRMED) {
31
  $this->dienow(__('The subscriber was not found or is not confirmed.', 'newsletter'));
61
  }
62
 
63
  /**
64
+ *
65
  * @param stdClass $user
66
  */
67
  function get_profile_export_url($user) {
72
  * URL to the subscriber profile edit action. This URL MUST NEVER be changed by
73
  * 3rd party plugins. Plugins can change the final URL after the action has been executed using the
74
  * <code>newsletter_profile_url</code> filter.
75
+ *
76
  * @param stdClass $user
77
  */
78
  function get_profile_url($user, $email = null) {
98
  }
99
 
100
  /**
101
+ *
102
  * @param type $text
103
  * @param type $key
104
  * @param TNP_User $user
181
  if (!$email) {
182
  continue;
183
  }
184
+ // 'id'=>$item->email_id,
185
  $newsletters[] = array('subject' => $email->subject, 'action' => $action, 'sent' => date('Y-m-d h:i:s', $email->send_on));
186
  }
187
 
197
 
198
  /**
199
  * Build the profile editing form for the specified subscriber.
200
+ *
201
  * @param TNP_User $user
202
  * @return string
203
  */
244
  $buffer .= "</div>\n";
245
  }
246
 
247
+ if ( $this->is_multilanguage() ) {
248
+
249
+ $languages = $this->get_languages();
250
+
251
+ $buffer .= '<div class="tnp-field tnp-field-language">';
252
+ $buffer .= '<label>' . __( 'Language', 'Newsletter' ) . '</label>';
253
+ $buffer .= '<select name="nlng" class="tnp-language">';
254
+
255
+ $buffer .= '<option value="" disabled ' . ( empty( $user->language ) ? ' selected' : '' ) . '>' . __( 'Select language', 'newsletter' ) . '</option>';
256
+ foreach ( $languages as $key => $language ) {
257
+ $buffer .= '<option value="' . $key . '"' . ( $user->language == $key ? ' selected' : '' ) . '>' . $language . '</option>';
258
+ }
259
+
260
+ $buffer .= '</select>';
261
+ $buffer .= "</div>\n";
262
+
263
+ }
264
+
265
  // Profile
266
  for ($i = 1; $i <= NEWSLETTER_PROFILE_MAX; $i++) {
267
  if ($options['profile_' . $i . '_status'] == 0) {
353
  /**
354
  * Saves the subscriber data extracting them from the $_REQUEST and for the
355
  * subscriber identified by the <code>$user</code> object.
356
+ *
357
  * @return type
358
  */
359
  function save_profile($user) {
363
  $data = array();
364
  $data['id'] = $user->id;
365
 
366
+ $options = $this->get_options('', $this->get_current_language($user));
367
  $options_profile = get_option('newsletter_profile', array());
368
  $options_main = get_option('newsletter_main', array());
369
 
410
  die('Wrong sex field');
411
  }
412
  }
413
+ if ( isset( $_REQUEST['nlng'] ) ) {
414
+ $languages = $this->get_languages();
415
+ if ( isset( $languages[ $_REQUEST['nlng'] ] ) ) {
416
+ $data['language'] = $_REQUEST['nlng'];
417
+ }
418
+ }
419
 
420
  // Lists. If not list is present or there is no list to choose or all are unchecked.
421
  $nl = array();
461
  if (isset($alert)) {
462
  $user->alert = $alert;
463
  } else {
464
+ $user->alert = $options['saved'];
465
  }
466
  return $user;
467
  }
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.4.2
5
- Stable tag: 6.7.4
6
  Requires PHP: 5.6
7
  Contributors: satollo,webagile,michael-travan
8
 
@@ -32,12 +32,12 @@ We redesigned our drag and drop composer to make your campaign creation even eas
32
  * **Single** And **Double Opt-In** plus privacy checkbox for EU laws compliance
33
  * **Subscribers lists** to fine-target your campaigns
34
  * PHP API and REST API for coders and integrations
35
- * SMTP-Ready
36
  * Customizable Themes
37
  * **Status panel** to check your blog mailing capability and configuration
38
  * **Compatible with every SMTP plugin**: Post SMTP (aka Postman), WP Mail SMTP, Easy WP SMTP, Easy SMTP Mail, WP Mail Bank, ...
39
  * **Subscribers import** from file
40
- * Newsletter with Html and Text message versions
41
 
42
  = Find Us =
43
 
@@ -88,7 +88,7 @@ Anyway if you configure the plugin to use external services (usually an external
88
 
89
  We provide support for our plugin on [Wordpress.org forums](https://wordpress.org/support/plugin/newsletter) and through our [official forum](https://www.thenewsletterplugin.com/forums).
90
 
91
- Premium Users with an active license have access to one-to-one support via our [ticketing system](https://www.thenewsletterplugin.com/support-ticket).
92
 
93
  = Follow Us =
94
 
@@ -113,6 +113,23 @@ Thank you, The Newsletter Team
113
 
114
  == Changelog ==
115
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
116
  * Improved posts block in the Automated context with more options
117
  * Improved the unsubscribe header
118
  * Removed the Auto-Submitted header
@@ -178,7 +195,7 @@ Thank you, The Newsletter Team
178
 
179
  = 6.6.3 =
180
 
181
- * Changed the administration script enqueuing
182
  * Improved the status page
183
  * Added notice on page list to highlight the Newsletter dedicated page
184
 
@@ -202,7 +219,7 @@ Thank you, The Newsletter Team
202
  * Revisited the posts block
203
  * Support for the new Reports addon styles
204
  * Improved the excerpt extraction
205
- * Cancellation administrative notifications on/off switch
206
 
207
  = 6.5.8 =
208
 
@@ -248,7 +265,7 @@ Thank you, The Newsletter Team
248
 
249
  = 6.5.2 =
250
 
251
- * Fixed image block
252
  * Newsletter editing page with TinyMCE now saves before sending a test
253
 
254
  = 6.5.1 =
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.4.2
5
+ Stable tag: 6.7.6
6
  Requires PHP: 5.6
7
  Contributors: satollo,webagile,michael-travan
8
 
32
  * **Single** And **Double Opt-In** plus privacy checkbox for EU laws compliance
33
  * **Subscribers lists** to fine-target your campaigns
34
  * PHP API and REST API for coders and integrations
35
+ * SMTP-Ready
36
  * Customizable Themes
37
  * **Status panel** to check your blog mailing capability and configuration
38
  * **Compatible with every SMTP plugin**: Post SMTP (aka Postman), WP Mail SMTP, Easy WP SMTP, Easy SMTP Mail, WP Mail Bank, ...
39
  * **Subscribers import** from file
40
+ * Newsletter with Html and Text message versions
41
 
42
  = Find Us =
43
 
88
 
89
  We provide support for our plugin on [Wordpress.org forums](https://wordpress.org/support/plugin/newsletter) and through our [official forum](https://www.thenewsletterplugin.com/forums).
90
 
91
+ Premium Users with an active license have access to one-to-one support via our [ticketing system](https://www.thenewsletterplugin.com/support-ticket).
92
 
93
  = Follow Us =
94
 
113
 
114
  == Changelog ==
115
 
116
+ = 6.7.6 =
117
+
118
+ * Fixed error on profile save
119
+
120
+ = 6.7.5 =
121
+
122
+ * Added language selector on subscriber profile page on multilanguage site
123
+ * Fix multilanguage label on profile page
124
+ * Added newsletter_user_post_subscribe hook (just after saving the subscription, before saving you can use newsletter_user_subscribe)
125
+ * Added checks for WP 5.5 breaking changes
126
+ * Added new layout (big images) on posts block
127
+ * Added standard button on post block
128
+ * Minor fix on hero block
129
+ * Added support for Popup Maker (need a free addon)
130
+
131
+ = 6.7.4 =
132
+
133
  * Improved posts block in the Automated context with more options
134
  * Improved the unsubscribe header
135
  * Removed the Auto-Submitted header
195
 
196
  = 6.6.3 =
197
 
198
+ * Changed the administration script enqueuing
199
  * Improved the status page
200
  * Added notice on page list to highlight the Newsletter dedicated page
201
 
219
  * Revisited the posts block
220
  * Support for the new Reports addon styles
221
  * Improved the excerpt extraction
222
+ * Cancellation administrative notifications on/off switch
223
 
224
  = 6.5.8 =
225
 
265
 
266
  = 6.5.2 =
267
 
268
+ * Fixed image block
269
  * Newsletter editing page with TinyMCE now saves before sending a test
270
 
271
  = 6.5.1 =
subscription/subscription.php CHANGED
@@ -645,6 +645,7 @@ class NewsletterSubscription extends NewsletterModule {
645
  }
646
 
647
  $user = $this->get_user($email);
 
648
 
649
  if ($user != null) {
650
  // Email already registered in our database
@@ -718,6 +719,8 @@ class NewsletterSubscription extends NewsletterModule {
718
  if ($emails) {
719
  $this->send_message(($user->status == Newsletter::STATUS_CONFIRMED) ? 'confirmed' : 'confirmation', $user);
720
  }
 
 
721
 
722
  return $user;
723
  }
645
  }
646
 
647
  $user = $this->get_user($email);
648
+
649
 
650
  if ($user != null) {
651
  // Email already registered in our database
719
  if ($emails) {
720
  $this->send_message(($user->status == Newsletter::STATUS_CONFIRMED) ? 'confirmed' : 'confirmation', $user);
721
  }
722
+
723
+ $user = apply_filters('newsletter_user_post_subscribe', $user);
724
 
725
  return $user;
726
  }
tnp-header.php CHANGED
@@ -40,9 +40,9 @@ $warning |= empty($status_options['mail']);
40
  }
41
  </script>
42
 
43
- <?php if (false && get_option('newsletter_promotion') !== 'june-2020' && time() < gmmktime(0, 0, 0, 7, 15, 2020)) { ?>
44
  <div id="tnp-promotion-bar">
45
- <a href="https://www.thenewsletterplugin.com/premium?utm_source=plugin-bar&utm_campaign=june-2020" onclick="tnp_close_promotion(); return true;" target="_blank">We're running a 50% discount offer until July, 15. Check it out.</a>
46
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
47
  <a href="javascript:void(tnp_close_promotion('june-2020'))">No, thank you!</a>
48
  </div>
40
  }
41
  </script>
42
 
43
+ <?php if (get_option('newsletter_promotion') !== 'june-2020' && time() < gmmktime(0, 0, 0, 7, 15, 2020)) { ?>
44
  <div id="tnp-promotion-bar">
45
+ <a href="https://www.thenewsletterplugin.com/premium?utm_source=plugin-bar&utm_campaign=june-2020" onclick="tnp_close_promotion(); return true;" target="_blank">50% discount offer until July, 15. Check it out.</a>
46
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
47
  <a href="javascript:void(tnp_close_promotion('june-2020'))">No, thank you!</a>
48
  </div>
users/export.php CHANGED
@@ -1,10 +1,11 @@
1
  <?php
2
- @include_once NEWSLETTER_INCLUDES_DIR . '/controls.php';
 
3
 
4
  $options_profile = get_option('newsletter_profile');
5
  $controls = new NewsletterControls();
6
- $module = NewsletterUsers::instance();
7
 
 
8
  ?>
9
 
10
  <div class="wrap" id="tnp-wrap">
@@ -14,10 +15,6 @@ $module = NewsletterUsers::instance();
14
  <div id="tnp-heading">
15
 
16
  <h2><?php _e('Export', 'newsletter') ?></h2>
17
- <p>
18
- <strong>The import and export functions ARE NOT for backup</strong>.
19
- If you want to backup you should consider to backup the <code><?php echo $wpdb->prefix ?>newsletter*</code> tables.
20
- </p>
21
 
22
  </div>
23
 
1
  <?php
2
+ /* @var $this NewsletterUsers */
3
+ include_once NEWSLETTER_INCLUDES_DIR . '/controls.php';
4
 
5
  $options_profile = get_option('newsletter_profile');
6
  $controls = new NewsletterControls();
 
7
 
8
+ $controls->warnings[] = 'The export cannot be used for backup and restore. <a href="https://www.thenewsletterplugin.com/documentation/developers/backup-recovery/" target="_blank">Read more</a>.';
9
  ?>
10
 
11
  <div class="wrap" id="tnp-wrap">
15
  <div id="tnp-heading">
16
 
17
  <h2><?php _e('Export', 'newsletter') ?></h2>
 
 
 
 
18
 
19
  </div>
20
 
users/index.php CHANGED
@@ -121,6 +121,10 @@ $controls->data['search_page'] ++;
121
  <h2><?php _e('Subscribers', 'newsletter') ?>
122
  <a class="tnp-btn-h1" href="?page=newsletter_users_new"><?php _e('Add a subscriber', 'newsletter') ?></a>
123
  </h2>
 
 
 
 
124
 
125
  </div>
126
 
121
  <h2><?php _e('Subscribers', 'newsletter') ?>
122
  <a class="tnp-btn-h1" href="?page=newsletter_users_new"><?php _e('Add a subscriber', 'newsletter') ?></a>
123
  </h2>
124
+
125
+ <p>
126
+ See the <a href="admin.php?page=newsletter_users_massive">maintenance panel</a> to move subscribers between list, massively delete and so on.
127
+ </p>
128
 
129
  </div>
130