Spacer - Version 3.0.3

Version Description

  • Adds a suggestion box! (Settings > Spacer > Suggestion Box [top tabs])
  • Adds compatibility with Panels add-on
  • WP tested up to version 4.5.2
Download this release

Release Info

Developer clevelandwebdeveloper
Plugin Icon 128x128 Spacer
Version 3.0.3
Comparing to
See all releases

Code changes from version 3.0.2 to 3.0.3

images/part.png ADDED
Binary file
index.php CHANGED
@@ -4,7 +4,7 @@
4
  Plugin Name: Spacer
5
  Plugin URI: http://www.clevelandwebdeveloper.com/wordpress-plugins/spacer
6
  Description: Adds a spacer button to the WYSIWYG visual editor which allows you to add precise custom spacing between lines in your posts and pages.
7
- Version: 3.0.2
8
  Author: Justin Saad
9
  Author URI: http://www.clevelandwebdeveloper.com
10
  License: GPL2
@@ -111,19 +111,19 @@ class motech_spacer {
111
  $user_id = get_current_user_id();
112
  //there is no default spacer height set, and nag message not ignored...
113
  //$checkdefault = get_option($this->plugin_slug . '_default_height_mobile','');
114
- if ( ( ! get_user_meta($user_id, 'spacer3185_nag_ignore') ) && (current_user_can( 'manage_options' )) ) {
115
  echo '<div id="message" class="updated fade notice"><p>';
116
- echo "<b>".__('Create headers that really stand out with the new Spacer add-on, Line-On-Sides Headers!', 'motech-spacer')."</b>";
117
  echo "</p>";
118
- echo "<p><strong><a href=\"http://www.clevelandwebdeveloper.com/?p=868&amp;utm_medium=plugin&amp;utm_source=plugin-notice-msg&amp;utm_campaign=Spacer+Notice+Msg&amp;utm_content=Lineonsides+Notice\" target=\"_blank\">".__('Create Line-On-Sides Headers &raquo;', 'motech-spacer')."</a> | <a class=\"dismiss-notice\" style=\"color:red;\" href=\"".get_bloginfo( 'wpurl' ) . "/wp-admin/options-general.php?page=".$this->plugin_slug."-setting-admin&spacer3185_nag_ignore=0\" target=\"_parent\">".__('I got it. Thanks.', 'motech-spacer')." [X]</a></strong></p></div>";
119
  }
120
  }
121
 
122
  function adminmessage_init()
123
  {
124
- if ( isset($_GET['spacer3185_nag_ignore']) && '0' == $_GET['spacer3185_nag_ignore'] ) {
125
  $user_id = get_current_user_id();
126
- add_user_meta($user_id, 'spacer3185_nag_ignore', 'true', true);
127
  if (wp_get_referer()) {
128
  /* Redirects user to where they were before */
129
  wp_safe_redirect(wp_get_referer());
@@ -435,7 +435,7 @@ function activespacer($id="") { #return attributes for active spacer based on id
435
  </div>
436
 
437
 
438
- <div class="grwrap lineonsidesheaders">
439
 
440
  <div id="green_ribbon_top">
441
  <div id="green_ribbon_left">
@@ -491,6 +491,64 @@ function activespacer($id="") { #return attributes for active spacer based on id
491
 
492
  </div>
493
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
494
 
495
 
496
  </div>
@@ -500,6 +558,7 @@ function activespacer($id="") { #return attributes for active spacer based on id
500
  <a href="#defaultspacer" class="nav-tab nav-tab-active"><?php _e('Default', 'motech-spacer')?></a>
501
  <a href="#addspacers" class="nav-tab"><span class="dashicons dashicons-plus dashicons-plus-alt"></span> <?php _e('Add Spacers', 'motech-spacer')?></a>
502
  <?php do_action( 'spacer_sectiontabhook' ); #use this hook to add additional section tabs ?>
 
503
  <a href="#addons" class="nav-tab"><span class="dashicons dashicons-admin-plugins"></span> <?php _e('Add-Ons', 'motech-spacer')?></a>
504
  <a href="#licenses" class="nav-tab"><span class="dashicons dashicons-admin-network"></span> <?php _e('Licenses', 'motech-spacer')?></a>
505
  <?php /*?> <a href="#privacy-settings" class="nav-tab">Privacy settings</a>
@@ -612,7 +671,17 @@ if( is_plugin_active( 'spacer-lineonsides-headers/index.php' ) ) {
612
  $actionbutton = '<a href="javascript:void(0)" title="'.__('Installed', 'motech-spacer').'" class="button-secondary msbutton">'.__('Installed', 'motech-spacer').'</a>';
613
  }
614
  ?>
615
- <div class="msaddon mscol"><img src="<?php echo plugins_url( 'images/lhart.png' , __FILE__ ) ?>"><h2><?php _e('Line-On-Sides Headers', 'motech-spacer') ?></h2><div class="msaddon-content"><p><?php _e('Create headers that really stand out with lines on the sides.', 'motech-spacer') ?></p><div class="msaddon-buttons"><a href="http://www.clevelandwebdeveloper.com/?p=868&amp;utm_medium=plugin&amp;utm_source=plugin-addons-page&amp;utm_campaign=Spacers+Addons+Page&amp;utm_content=Lineonsides+Learn" target="_blank" class="button-secondary msdbutton"><?php _e('Learn More', 'motech-spacer') ?></a><?php echo $actionbutton ?></div></div></div>
 
 
 
 
 
 
 
 
 
 
616
 
617
  </div>
618
  <div id="licenses" class="metabox-holder mainsection hidden wrap">
@@ -620,6 +689,21 @@ if( is_plugin_active( 'spacer-lineonsides-headers/index.php' ) ) {
620
  <?php do_settings_sections($this->plugin_slug.'-setting-admin_licenses'); ?>
621
  </div>
622
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
623
  <div class="wrap"><div class="savebutton"><button type="submit"><span class="dashicons dashicons-yes"></span> <?php _e('SAVE CHANGES!', 'motech-spacer') ?></button></div></div>
624
  </form>
625
  </div>
@@ -1690,6 +1774,32 @@ if( is_plugin_active( 'spacer-lineonsides-headers/index.php' ) ) {
1690
  ?>
1691
  <script>
1692
  jQuery(function() {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1693
 
1694
  //jquery for color picker
1695
  jQuery('tr.motech-color-field').removeClass('motech-color-field');
4
  Plugin Name: Spacer
5
  Plugin URI: http://www.clevelandwebdeveloper.com/wordpress-plugins/spacer
6
  Description: Adds a spacer button to the WYSIWYG visual editor which allows you to add precise custom spacing between lines in your posts and pages.
7
+ Version: 3.0.3
8
  Author: Justin Saad
9
  Author URI: http://www.clevelandwebdeveloper.com
10
  License: GPL2
111
  $user_id = get_current_user_id();
112
  //there is no default spacer height set, and nag message not ignored...
113
  //$checkdefault = get_option($this->plugin_slug . '_default_height_mobile','');
114
+ if ( ( ! get_user_meta($user_id, 'spacer4592_nag_ignore') ) && (current_user_can( 'manage_options' )) ) {
115
  echo '<div id="message" class="updated fade notice"><p>';
116
+ echo "<b>".__('Style your own panels (think alerts, info boxes) and use them in your posts and pages whenever they are needed, with the new Spacer add-on, Panels!', 'motech-spacer')."</b>";
117
  echo "</p>";
118
+ echo "<p><strong><a href=\"http://www.clevelandwebdeveloper.com/?p=931&amp;utm_medium=plugin&amp;utm_source=plugin-notice-msg&amp;utm_campaign=Spacer+Notice+Msg&amp;utm_content=Panels+Notice\" target=\"_blank\">".__('Create Panels &raquo;', 'motech-spacer')."</a> | <a class=\"dismiss-notice\" style=\"color:red;\" href=\"".get_bloginfo( 'wpurl' ) . "/wp-admin/options-general.php?page=".$this->plugin_slug."-setting-admin&spacer4592_nag_ignore=0\" target=\"_parent\">".__('I got it. Thanks.', 'motech-spacer')." [X]</a></strong></p></div>";
119
  }
120
  }
121
 
122
  function adminmessage_init()
123
  {
124
+ if ( isset($_GET['spacer4592_nag_ignore']) && '0' == $_GET['spacer4592_nag_ignore'] ) {
125
  $user_id = get_current_user_id();
126
+ add_user_meta($user_id, 'spacer4592_nag_ignore', 'true', true);
127
  if (wp_get_referer()) {
128
  /* Redirects user to where they were before */
129
  wp_safe_redirect(wp_get_referer());
435
  </div>
436
 
437
 
438
+ <div class="grwrap lineonsidesheaders" style="display:none;">
439
 
440
  <div id="green_ribbon_top">
441
  <div id="green_ribbon_left">
491
 
492
  </div>
493
  </div>
494
+
495
+
496
+ <div class="grwrap panels">
497
+
498
+ <div id="green_ribbon_top">
499
+ <div id="green_ribbon_left">
500
+ </div>
501
+ <div id="green_ribbon_base">
502
+ <span id="hms_get_premium" addonname="panels"><?php _e('NEW! Get Premium &raquo;', 'motech-spacer')?></span>
503
+ <span class="hms_get_premium_meta"><?php _e('Panels Add-On now available for as low as $10!', 'motech-spacer')?></span>
504
+ </div>
505
+ <div id="green_ribbon_right">
506
+ </div>
507
+ </div>
508
+
509
+ <div class="motech_premium_box">
510
+
511
+
512
+ <div class="motech_premium_box_wrap">
513
+ <h2><?php _e('Get Panels', 'motech-spacer')?></h2>
514
+ <div class="updated below-h2" style="margin-bottom: -20px !important;"><p><strong><?php _e('Purchase will be processed via PayPal.', 'motech-spacer')?></strong></p></div>
515
+ <div class="updated below-h2"><p><strong><?php _e('Every license is valid for the lifetime of the website where it\'s installed.', 'motech-spacer')?></strong></p></div>
516
+ <div class="motech_purchase_buttons">
517
+
518
+ <div class="motech_purchase_button unlimited_use">
519
+ <form action="https://www.paypal.com/cgi-bin/webscr" method="post"><input name="cmd" value="_s-xclick" type="hidden"><input name="hosted_button_id" value="ZV77J555HXJTE" type="hidden">
520
+ <button name="submit">
521
+ <div class="purchase_graphic"><?php _e('Buy', 'motech-spacer')?> <span><?php _e('Unlimited', 'motech-spacer')?></span></div>
522
+ <div class="purchase_bubble">
523
+ <div class="purchase_price">$25</div>
524
+ <div class="purchase_meta"><?php _e('Unlimited sites forever!', 'motech-spacer')?></div>
525
+ </div>
526
+ </button>
527
+ <img src="https://www.paypal.com/en_US/i/scr/pixel.gif" alt="" border="0" height="1" width="1">
528
+ </form>
529
+ </div>
530
+
531
+ <div class="motech_purchase_button one_use">
532
+ <form action="https://www.paypal.com/cgi-bin/webscr" method="post"><input name="cmd" value="_s-xclick" type="hidden"><input name="hosted_button_id" value="GNBBYMDBN3UUE" type="hidden">
533
+ <button name="submit">
534
+ <div class="purchase_graphic"><?php _e('Buy 1 Use', 'motech-spacer')?></div>
535
+ <div class="purchase_bubble">
536
+ <div class="purchase_price">$10</div>
537
+ <div class="purchase_meta"><?php _e('1 site license', 'motech-spacer')?></div>
538
+ </div>
539
+ </button>
540
+ <img src="https://www.paypal.com/en_US/i/scr/pixel.gif" alt="" border="0" height="1" width="1">
541
+ </form>
542
+ </div>
543
+
544
+ </div>
545
+
546
+ <div class="motech_premium_cancel"><span><?php _e('Cancel', 'motech-spacer')?></span></div>
547
+
548
+ </div>
549
+
550
+ </div>
551
+ </div>
552
 
553
 
554
  </div>
558
  <a href="#defaultspacer" class="nav-tab nav-tab-active"><?php _e('Default', 'motech-spacer')?></a>
559
  <a href="#addspacers" class="nav-tab"><span class="dashicons dashicons-plus dashicons-plus-alt"></span> <?php _e('Add Spacers', 'motech-spacer')?></a>
560
  <?php do_action( 'spacer_sectiontabhook' ); #use this hook to add additional section tabs ?>
561
+ <a href="#suggestionbox" class="nav-tab"><span class="dashicons dashicons-email-alt"></span> <?php _e('Suggestion Box', 'motech-spacer')?></a>
562
  <a href="#addons" class="nav-tab"><span class="dashicons dashicons-admin-plugins"></span> <?php _e('Add-Ons', 'motech-spacer')?></a>
563
  <a href="#licenses" class="nav-tab"><span class="dashicons dashicons-admin-network"></span> <?php _e('Licenses', 'motech-spacer')?></a>
564
  <?php /*?> <a href="#privacy-settings" class="nav-tab">Privacy settings</a>
671
  $actionbutton = '<a href="javascript:void(0)" title="'.__('Installed', 'motech-spacer').'" class="button-secondary msbutton">'.__('Installed', 'motech-spacer').'</a>';
672
  }
673
  ?>
674
+ <div class="msaddon mscol"><img src="<?php echo plugins_url( 'images/lhart.png' , __FILE__ ) ?>"><h2><?php _e('Line-On-Sides Headers', 'motech-spacer') ?></h2><div class="msaddon-content"><p><?php _e('Create headers that really stand out with lines on the sides.', 'motech-spacer') ?></p><div class="msaddon-buttons"><a href="http://www.clevelandwebdeveloper.com/?p=868&amp;utm_medium=plugin&amp;utm_source=plugin-addons-page&amp;utm_campaign=Spacers+Addons+Page&amp;utm_content=Lineonsides+Learn" target="_blank" class="button-secondary msdbutton"><?php _e('Learn More', 'motech-spacer') ?></a><?php echo $actionbutton ?></div></div></div>
675
+
676
+ <?php
677
+ $actionbutton = '<a href="#" title="'.__('Buy Panels', 'motech-spacer').'" class="button-primary msbutton buynowbutton" addonname="panels">'.__('Buy Now', 'motech-spacer').'</a>';
678
+ if( is_plugin_active( 'spacer-panels/index.php' ) ) {
679
+ $actionbutton = '<a href="javascript:void(0)" title="'.__('Active', 'motech-spacer').'" class="button-secondary msbutton">'.__('Active', 'motech-spacer').'</a>';
680
+ } elseif( file_exists(plugin_dir_path(__FILE__) . '../spacer-panels/index.php') ) {
681
+ $actionbutton = '<a href="javascript:void(0)" title="'.__('Installed', 'motech-spacer').'" class="button-secondary msbutton">'.__('Installed', 'motech-spacer').'</a>';
682
+ }
683
+ ?>
684
+ <div class="msaddon mscol"><img src="<?php echo plugins_url( 'images/part.png' , __FILE__ ) ?>"><h2><?php _e('Panels', 'motech-spacer') ?></h2><div class="msaddon-content"><p><?php _e('Style your own panels (think alerts, info boxes) and use them in your posts and pages whenever they are needed.', 'motech-spacer') ?></p><div class="msaddon-buttons"><a href="http://www.clevelandwebdeveloper.com/?p=931&amp;utm_medium=plugin&amp;utm_source=plugin-addons-page&amp;utm_campaign=Spacers+Addons+Page&amp;utm_content=Panels+Learn" target="_blank" class="button-secondary msdbutton"><?php _e('Learn More', 'motech-spacer') ?></a><?php echo $actionbutton ?></div></div></div>
685
 
686
  </div>
687
  <div id="licenses" class="metabox-holder mainsection hidden wrap">
689
  <?php do_settings_sections($this->plugin_slug.'-setting-admin_licenses'); ?>
690
  </div>
691
  </div>
692
+ <div id="suggestionbox" class="metabox-holder mainsection hidden wrap">
693
+ <div class="motech-spacer-options section general wrap">
694
+ <h1>Have a good suggestion for a Spacer add-on or a feature request? Let's hear it...</h1>
695
+ <?php
696
+ global $current_user;
697
+ wp_get_current_user();
698
+ ?>
699
+ <textarea style="width:100%;min-height:250px;" name="mysuggestion" placeholder="Suggestions go here"></textarea>
700
+ <div style="font-size:20px;line-height:normal;margin: 25px 0px;margin-bottom: 35px;"><input type="checkbox" name="signmeup" value="yes" checked="checked">Yes, I want to subscribe to the Spacer newsletter and be the first to know of important Spacer news and upcoming releases. I want to stay notified about exclusive discounts and insider deals on premium features. My email address is: <input type="text" name="myemail" value="<?php echo $current_user->user_email ?>" /> <div style="font-size:14px;">(The Spacer newsletter is personally written and sent out about once a month (at most). It's not remotely annoying or spammy. We promise.)</div></div>
701
+ <div class="sendhook">
702
+ <div class="newbutton readysend"><span class="dashicons dashicons-email-alt"></span> <span class="readysendlabel"><?php _e('SEND', 'motech-spacer') ?></span></div>
703
+ <div class="responsehook" style="margin-top: -20px;padding: 15px;margin-left: 10px;margin-right: 10px;background: rgb(252, 248, 227); color: rgb(138, 109, 59);border: 1px solid rgb(252, 220, 126);border-radius: 3px;display:none;"></div>
704
+ </div>
705
+ </div>
706
+ </div>
707
  <div class="wrap"><div class="savebutton"><button type="submit"><span class="dashicons dashicons-yes"></span> <?php _e('SAVE CHANGES!', 'motech-spacer') ?></button></div></div>
708
  </form>
709
  </div>
1774
  ?>
1775
  <script>
1776
  jQuery(function() {
1777
+
1778
+ jQuery("body").on("click",".sendhook .newbutton.readysend", function() {
1779
+ buttonelement = jQuery(this);
1780
+ jQuery(this).find(".readysendlabel").html("SENDING...");
1781
+ jQuery(this).removeClass("readysend").addClass("notreadysend").css("cursor","not-allowed");
1782
+ suggestion = jQuery("textarea[name=mysuggestion]").val();
1783
+ signmeup = jQuery("input[name=signmeup]:checked").val();
1784
+ myemail = jQuery("input[name=myemail]").val();
1785
+
1786
+ //user doesn't want to sign up for mailing list, email not sent
1787
+ if(typeof signmeup == 'undefined'){
1788
+ myemail = "";
1789
+ }
1790
+
1791
+ jQuery.ajax({
1792
+ type: "POST",
1793
+ dataType: "json",
1794
+ url: "http://www.justinsaad.com/suggestions/response.php",
1795
+ data: { suggestion : suggestion, signmeup : signmeup, myemail : myemail },
1796
+ success: function(data) { //data is the response from the php page
1797
+ jQuery(".responsehook").text(data['response']).fadeIn('slow');
1798
+ buttonelement.find(".readysendlabel").html("SENT!");
1799
+ }
1800
+ });
1801
+
1802
+ });
1803
 
1804
  //jquery for color picker
1805
  jQuery('tr.motech-color-field').removeClass('motech-color-field');
js/motech-color-picker.js CHANGED
@@ -11,6 +11,19 @@ jQuery(document).ready(function($){
11
  spacerElement = $(event.target).closest(".aheaderunit");
12
  headerid = spacerElement.find("input[type=text].addheader_id").val();
13
  spacerElement.find(".lineonsides_style_hook").append("<style>.spacer_lineonsides.spacer_lineonsides_"+headerid+":before,.spacer_lineonsides.spacer_lineonsides_"+headerid+":after {border-top-color:"+ui.color.toString()+";}</style>");
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  }
15
  }
16
  });
11
  spacerElement = $(event.target).closest(".aheaderunit");
12
  headerid = spacerElement.find("input[type=text].addheader_id").val();
13
  spacerElement.find(".lineonsides_style_hook").append("<style>.spacer_lineonsides.spacer_lineonsides_"+headerid+":before,.spacer_lineonsides.spacer_lineonsides_"+headerid+":after {border-top-color:"+ui.color.toString()+";}</style>");
14
+ }else if($(event.target).attr("name").indexOf("motech_spacer_panelbgcolor_addpanels") >= 0){
15
+ spacerElement = $(event.target).closest(".apanelunit");
16
+ $(event.target).closest(".apanelunit").find(".spacer_panel").css('background-color',ui.color.toString());
17
+ }else if($(event.target).attr("name").indexOf("motech_spacer_paneltxtcolor_addpanels") >= 0){
18
+ spacerElement = $(event.target).closest(".apanelunit");
19
+ $(event.target).closest(".apanelunit").find(".spacer_panel").css('color',ui.color.toString());
20
+ }else if($(event.target).attr("name").indexOf("motech_spacer_panelbordercolor_addpanels") >= 0){
21
+ spacerElement = $(event.target).closest(".apanelunit");
22
+ $(event.target).closest(".apanelunit").find(".spacer_panel").css('border-color',ui.color.toString());
23
+ $(event.target).closest(".apanelunit").find(".spacer_panel_heading").css('background-color',ui.color.toString());
24
+ }else if($(event.target).attr("name").indexOf("motech_spacer_panelheadingtextcolor_addpanels") >= 0){
25
+ spacerElement = $(event.target).closest(".apanelunit");
26
+ $(event.target).closest(".apanelunit").find(".spacer_panel_heading").css('color',ui.color.toString());
27
  }
28
  }
29
  });
js/motech-javascript.js CHANGED
@@ -20,7 +20,7 @@ jQuery(document).ready(function($){
20
  }
21
  //window.location.replace(tabContent);
22
  }
23
- if($(this).attr("href")=="#addons"){
24
  $(".savebutton").hide();
25
  }else{
26
  $(".savebutton").show();
@@ -53,12 +53,12 @@ jQuery(document).ready(function($){
53
  $(this).closest(".postbox").toggleClass("closed");
54
  });
55
 
56
- $('body').on('input change', 'input.addingspacer, input.addingheader', function() {
57
  var newval = jQuery(this).val();
58
  if(newval==""){
59
  newval = "Untitled";
60
  }
61
- jQuery(this).closest(".addspacerunit.postbox, .aheaderunit.postbox").find(".hndle span").first().text(newval);
62
  });
63
 
64
  $('body').on('.aspacerunit input change', '.aspacerunit input, .aspacerunit textarea, .aspacerunit select', function() {
20
  }
21
  //window.location.replace(tabContent);
22
  }
23
+ if($(this).attr("href")=="#addons" || $(this).attr("href")=="#suggestionbox"){
24
  $(".savebutton").hide();
25
  }else{
26
  $(".savebutton").show();
53
  $(this).closest(".postbox").toggleClass("closed");
54
  });
55
 
56
+ $('body').on('input change', 'input.addingspacer, input.addingheader, input.addingpanel', function() {
57
  var newval = jQuery(this).val();
58
  if(newval==""){
59
  newval = "Untitled";
60
  }
61
+ jQuery(this).closest(".addspacerunit.postbox, .aheaderunit.postbox, .apanelunit.postbox").find(".hndle span").first().text(newval);
62
  });
63
 
64
  $('body').on('.aspacerunit input change', '.aspacerunit input, .aspacerunit textarea, .aspacerunit select', function() {
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: clevelandwebdeveloper
3
  Donate link: http://www.clevelandwebdeveloper.com/wordpress-plugins/donate.php
4
  Tags: spacer, spacing, line space
5
  Requires at least: 3.5
6
- Tested up to: 4.5
7
- Stable tag: 3.0.2
8
  License: GPLv2
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -85,6 +85,11 @@ Try adding <code>margin-bottom: 25px;</code> to the Spacer's Style setting.
85
 
86
  == Changelog ==
87
 
 
 
 
 
 
88
  = 3.0.2 =
89
  * Adds compatibility with Line-On-Sides Headers add-on
90
  * WP tested up to version 4.5
@@ -124,5 +129,5 @@ Try adding <code>margin-bottom: 25px;</code> to the Spacer's Style setting.
124
 
125
  == Upgrade Notice ==
126
 
127
- = 3.0.2 =
128
- New: This version adds compatibility with the new Line-On-Sides Headers add-on. Spacer is now tested up to WP version 4.5 - Enjoy!
3
  Donate link: http://www.clevelandwebdeveloper.com/wordpress-plugins/donate.php
4
  Tags: spacer, spacing, line space
5
  Requires at least: 3.5
6
+ Tested up to: 4.5.2
7
+ Stable tag: 3.0.3
8
  License: GPLv2
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
85
 
86
  == Changelog ==
87
 
88
+ = 3.0.3 =
89
+ * Adds a suggestion box! (Settings > Spacer > Suggestion Box [top tabs])
90
+ * Adds compatibility with Panels add-on
91
+ * WP tested up to version 4.5.2
92
+
93
  = 3.0.2 =
94
  * Adds compatibility with Line-On-Sides Headers add-on
95
  * WP tested up to version 4.5
129
 
130
  == Upgrade Notice ==
131
 
132
+ = 3.0.3 =
133
+ New: This version adds a suggestion box! (Settings > Spacer > Suggestion Box [top tabs]) and compatibility with the new Panels add-on. Spacer is now tested up to WP version 4.5.2 - Enjoy!