Folders – Unlimited Folders to Organize Media Library Folder, Pages, Posts, File Manager - Version 2.1.3

Version Description

  • You can now minimize the folders section if you need that extra space :)
Download this release

Release Info

Developer galdub
Plugin Icon wp plugin Folders – Unlimited Folders to Organize Media Library Folder, Pages, Posts, File Manager
Version 2.1.3
Comparing to
See all releases

Code changes from version 2.1.2 to 2.1.3

assets/css/design.css CHANGED
@@ -122,6 +122,9 @@ li.active > span > i.fa-folder:before {
122
  box-sizing: border-box;
123
  z-index: 1;
124
  direction: ltr;
 
 
 
125
  }
126
  html[dir="rtl"] .wcp-content {
127
  left: auto;
@@ -129,6 +132,9 @@ html[dir="rtl"] .wcp-content {
129
  }
130
  body.wp-admin #wpcontent {
131
  padding-left: 310px;
 
 
 
132
  }
133
  html[dir="rtl"] body.wp-admin #wpcontent {
134
  padding-left: 0px;
@@ -800,6 +806,45 @@ span.upgrade-message a.pink, span.upgrade-message span.pink {
800
  cursor: no-drop;
801
  pointer-events: none;
802
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
803
  button.button.organize-button {
804
  vertical-align: middle;
805
  text-decoration: none;
@@ -859,10 +904,20 @@ button.button.organize-button:hover, button.button.organize-button:focus {
859
  padding-bottom: 100px;
860
  top: 0;
861
  right: 0;
 
862
  }
863
  .ui-resizable-handle.ui-resizable-e {
864
  display: none !important;
865
  }
 
 
 
 
 
 
 
 
 
866
  body.wp-admin #wpcontent {
867
  padding: 0 !important;
868
  }
122
  box-sizing: border-box;
123
  z-index: 1;
124
  direction: ltr;
125
+ transition: all 0.15s linear;
126
+ -webkit-transition: all 0.15s linear;
127
+ -moz-transition: all 0.15s linear;
128
  }
129
  html[dir="rtl"] .wcp-content {
130
  left: auto;
132
  }
133
  body.wp-admin #wpcontent {
134
  padding-left: 310px;
135
+ transition: all 0.15s linear;
136
+ -webkit-transition: all 0.15s linear;
137
+ -moz-transition: all 0.15s linear;
138
  }
139
  html[dir="rtl"] body.wp-admin #wpcontent {
140
  padding-left: 0px;
806
  cursor: no-drop;
807
  pointer-events: none;
808
  }
809
+ .wcp-hide-show-buttons {
810
+ position: absolute;
811
+ top: 25px;
812
+ right: -20px;
813
+ }
814
+ .wcp-hide-show-buttons .toggle-buttons {
815
+ background: #f51366;
816
+ color: #fff;
817
+ display: inline-block;
818
+ margin: 0;
819
+ padding: 0;
820
+ float: left;
821
+ -webkit-border-top-right-radius: 50%;
822
+ -webkit-border-bottom-right-radius: 50%;
823
+ -moz-border-radius-topright: 50%;
824
+ -moz-border-radius-bottomright: 50%;
825
+ border-top-right-radius: 50%;
826
+ border-bottom-right-radius: 50%;
827
+ display: none;
828
+ width: 20px;
829
+ height: 20px;
830
+ cursor: pointer;
831
+ }
832
+ .wcp-hide-show-buttons .toggle-buttons:hover {
833
+ background: #bc0f50;
834
+ }
835
+ .hide-folders-area .wcp-content {
836
+ width: 0px !important;
837
+ }
838
+ .hide-folders-area .wcp-container {
839
+ display: none;
840
+ }
841
+
842
+ .wcp-hide-show-buttons .toggle-buttons.active {
843
+ display: block;
844
+ }
845
+ #wcp-content.no-transition .wcp-container {
846
+ display: none;
847
+ }
848
  button.button.organize-button {
849
  vertical-align: middle;
850
  text-decoration: none;
904
  padding-bottom: 100px;
905
  top: 0;
906
  right: 0;
907
+ display: block;
908
  }
909
  .ui-resizable-handle.ui-resizable-e {
910
  display: none !important;
911
  }
912
+ .hide-folders-area .wcp-container {
913
+ display: block;
914
+ }
915
+ .wcp-hide-show-buttons {
916
+ display: none;
917
+ }
918
+ .hide-folders-area .wcp-content {
919
+ width: 100% !important;
920
+ }
921
  body.wp-admin #wpcontent {
922
  padding: 0 !important;
923
  }
assets/js/custom.js CHANGED
@@ -7,6 +7,7 @@ var totalFolders = -1;
7
  var isKeyActive = 0;
8
  var folderLimitation = 10;
9
 
 
10
  var listFolderString = "<li class='grid-view' data-id='__folder_id__' id='folder___folder_id__'>" +
11
  "<div class='folder-item is-folder' data-id='__folder_id__'>" +
12
  "<a title='__folder_name__' id='folder_view___folder_id__'" +
@@ -167,6 +168,8 @@ function add_menu_to_list() {
167
 
168
  jQuery(document).ready(function(){
169
 
 
 
170
  if(wcp_settings.can_manage_folder == "0") {
171
  jQuery(".wcp-custom-form a:not(.pink)").addClass("button-disabled");
172
  }
@@ -378,6 +381,44 @@ jQuery(document).ready(function(){
378
  });
379
 
380
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
381
 
382
  //if(wcp_settings.can_manage_folder == "1") {
383
  jQuery(".tree-structure .folder-item").livequery(function () {
@@ -505,6 +546,7 @@ jQuery(document).ready(function(){
505
  },
506
  stop: function( e, ui ) {
507
  nonce = wcp_settings.nonce;
 
508
  jQuery.ajax({
509
  url: wcp_settings.ajax_url,
510
  data: "type=" + wcp_settings.post_type + "&action=wcp_change_post_width&width=" + ui.size.width+"&nonce="+nonce,
7
  var isKeyActive = 0;
8
  var folderLimitation = 10;
9
 
10
+
11
  var listFolderString = "<li class='grid-view' data-id='__folder_id__' id='folder___folder_id__'>" +
12
  "<div class='folder-item is-folder' data-id='__folder_id__'>" +
13
  "<a title='__folder_name__' id='folder_view___folder_id__'" +
168
 
169
  jQuery(document).ready(function(){
170
 
171
+ wcp_settings.folder_width = parseInt(wcp_settings.folder_width);
172
+
173
  if(wcp_settings.can_manage_folder == "0") {
174
  jQuery(".wcp-custom-form a:not(.pink)").addClass("button-disabled");
175
  }
381
  });
382
 
383
 
384
+ jQuery(".wcp-hide-show-buttons .toggle-buttons").click(function(){
385
+ var folderStatus = "show";
386
+ if(jQuery(this).hasClass("hide-folders")) {
387
+ folderStatus = "hide";
388
+ }
389
+ jQuery(".wcp-hide-show-buttons .toggle-buttons").toggleClass("active");
390
+ nonce = wcp_settings.nonce;
391
+ if(folderStatus == "show") {
392
+ jQuery("#wcp-content").addClass("no-transition");
393
+ jQuery("#wcp-content").removeClass("hide-folders-area");
394
+ if(wcp_settings.isRTL == "1") {
395
+ jQuery("#wpcontent").css("padding-right", (wcp_settings.folder_width + 20) + "px");
396
+ jQuery("#wpcontent").css("padding-left", "0px");
397
+ } else {
398
+ jQuery("#wpcontent").css("padding-left", (wcp_settings.folder_width + 20) + "px");
399
+ }
400
+ setTimeout(function(){
401
+ jQuery("#wcp-content").removeClass("no-transition");
402
+ }, 250);
403
+ } else {
404
+ jQuery("#wcp-content").addClass("hide-folders-area");
405
+ if(wcp_settings.isRTL == "1") {
406
+ jQuery("#wpcontent").css("padding-right", "20px");
407
+ jQuery("#wpcontent").css("padding-left", "0px");
408
+ } else {
409
+ jQuery("#wpcontent").css("padding-left", "20px");
410
+ }
411
+ }
412
+
413
+ jQuery.ajax({
414
+ url: wcp_settings.ajax_url,
415
+ data: "type=" + wcp_settings.post_type + "&action=wcp_change_folder_display_status&status=" + folderStatus +"&nonce="+nonce,
416
+ method: 'post',
417
+ success: function (res) {
418
+ setStickyHeaderForMedia();
419
+ }
420
+ });
421
+ });
422
 
423
  //if(wcp_settings.can_manage_folder == "1") {
424
  jQuery(".tree-structure .folder-item").livequery(function () {
546
  },
547
  stop: function( e, ui ) {
548
  nonce = wcp_settings.nonce;
549
+ wcp_settings.folder_width = ui.size.width;
550
  jQuery.ajax({
551
  url: wcp_settings.ajax_url,
552
  data: "type=" + wcp_settings.post_type + "&action=wcp_change_post_width&width=" + ui.size.width+"&nonce="+nonce,
folders.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Plugin Name: Folders
4
  * Description: Arrange media, pages, custom post types and posts into folders
5
- * Version: 2.1.2
6
  * Author: Premio
7
  * Author URI: https://premio.io/downloads/folders/
8
  */
@@ -15,7 +15,7 @@ define('WCP_FOLDER', 'folders');
15
  define('WCP_FOLDER_VAR', 'folders_settings');
16
  define("WCP_DS", DIRECTORY_SEPARATOR);
17
  define('WCP_FOLDER_URL',plugin_dir_url(__FILE__));
18
- define('WCP_FOLDER_VERSION',"2.1.2");
19
 
20
  include_once plugin_dir_path(__FILE__)."includes/folders.class.php";
21
  register_activation_hook( __FILE__, array( 'WCP_Folders', 'activate' ) );
2
  /**
3
  * Plugin Name: Folders
4
  * Description: Arrange media, pages, custom post types and posts into folders
5
+ * Version: 2.1.3
6
  * Author: Premio
7
  * Author URI: https://premio.io/downloads/folders/
8
  */
15
  define('WCP_FOLDER_VAR', 'folders_settings');
16
  define("WCP_DS", DIRECTORY_SEPARATOR);
17
  define('WCP_FOLDER_URL',plugin_dir_url(__FILE__));
18
+ define('WCP_FOLDER_VERSION',"2.1.3");
19
 
20
  include_once plugin_dir_path(__FILE__)."includes/folders.class.php";
21
  register_activation_hook( __FILE__, array( 'WCP_Folders', 'activate' ) );
includes/folders.class.php CHANGED
@@ -61,6 +61,10 @@ class WCP_Folders
61
  /* Update width Data */
62
  add_action('wp_ajax_wcp_change_post_width', array($this, 'wcp_change_post_width'));
63
 
 
 
 
 
64
  /* Update width Data */
65
  add_action('wp_ajax_wcp_change_all_status', array($this, 'wcp_change_all_status'));
66
 
@@ -635,6 +639,49 @@ class WCP_Folders
635
  die;
636
  }
637
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
638
  public function wcp_change_post_width()
639
  {
640
  $response = array();
@@ -1583,15 +1630,25 @@ class WCP_Folders
1583
  global $typenow;
1584
  $width = get_option("wcp_dynamic_width_for_" . $typenow);
1585
  $width = esc_attr($width);
1586
- if (!empty($width) && is_numeric($width)) {
1587
- $css .= ".wcp-content{width:{$width}px}";
1588
- if ( function_exists( 'is_rtl' ) && is_rtl() ) {
1589
- $css .= "html[dir='rtl'] body.wp-admin #wpcontent {padding-right:" . ($width + 20) . "px}";
 
 
 
 
 
 
 
 
 
 
 
1590
  $css .= "html[dir='rtl'] body.wp-admin #wpcontent {padding-left:0px}";
1591
  } else {
1592
- $css .= "body.wp-admin #wpcontent {padding-left:" . ($width + 20) . "px}";
1593
  }
1594
-
1595
  }
1596
  }
1597
  wp_add_inline_style('wcp-css-handle', $css);
@@ -1689,6 +1746,8 @@ class WCP_Folders
1689
  }
1690
 
1691
  $can_manage_folder = current_user_can("manage_categories")?1:0;
 
 
1692
  wp_localize_script('wcp-folders-custom', 'wcp_settings', array(
1693
  'ajax_url' => admin_url('admin-ajax.php'),
1694
  'post_type' => $typenow,
@@ -1699,7 +1758,8 @@ class WCP_Folders
1699
  'register_url' => $register_url,
1700
  'isRTL' => $is_rtl,
1701
  'nonce' => wp_create_nonce('wcp_folder_nonce_'.$typenow),
1702
- 'can_manage_folder' => $can_manage_folder
 
1703
  ));
1704
 
1705
  wp_enqueue_script('wcp-folders-alert');
61
  /* Update width Data */
62
  add_action('wp_ajax_wcp_change_post_width', array($this, 'wcp_change_post_width'));
63
 
64
+ /* Update width Data */
65
+ add_action('wp_ajax_wcp_change_folder_display_status', array($this, 'wcp_change_folder_display_status'));
66
+
67
+
68
  /* Update width Data */
69
  add_action('wp_ajax_wcp_change_all_status', array($this, 'wcp_change_all_status'));
70
 
639
  die;
640
  }
641
 
642
+ public function wcp_change_folder_display_status()
643
+ {
644
+ $response = array();
645
+ $response['status'] = 0;
646
+ $response['error'] = 0;
647
+ $response['data'] = array();
648
+ $response['message'] = "";
649
+ $postData = $_POST;
650
+ $errorCounter = 0;
651
+ if (!isset($postData['status']) || empty($postData['status'])) {
652
+ $response['message'] = __("Your request is not valid", WCP_FOLDER);
653
+ $errorCounter++;
654
+ } else if (!isset($postData['type']) || empty($postData['type'])) {
655
+ $response['message'] = __("Your request is not valid", WCP_FOLDER);
656
+ $errorCounter++;
657
+ } else if (!isset($postData['nonce']) || empty($postData['nonce'])) {
658
+ $response['message'] = __("Your request is not valid", WCP_FOLDER);
659
+ $errorCounter++;
660
+ } else if ($postData['type'] == "page" && !current_user_can("edit_pages")) {
661
+ $response['message'] = __("You have not permission to update width", WCP_FOLDER);
662
+ $errorCounter++;
663
+ } else if ($postData['type'] != "page" && !current_user_can("edit_posts")) {
664
+ $response['message'] = __("You have not permission to update width", WCP_FOLDER);
665
+ $errorCounter++;
666
+ } else {
667
+ $type = self::sanitize_options($postData['type']);
668
+ $nonce = self::sanitize_options($postData['nonce']);
669
+ if(!wp_verify_nonce($nonce, 'wcp_folder_nonce_'.$type)) {
670
+ $response['message'] = __("Your request is not valid", WCP_FOLDER);
671
+ $errorCounter++;
672
+ }
673
+ }
674
+ if ($errorCounter == 0) {
675
+ $type = self::sanitize_options($postData['type']);
676
+ $width = self::sanitize_options($postData['status']);
677
+ $optionName = "wcp_dynamic_display_status_" . $type;
678
+ update_option($optionName, $width);
679
+ $response['status'] = 1;
680
+ }
681
+ echo json_encode($response);
682
+ die;
683
+ }
684
+
685
  public function wcp_change_post_width()
686
  {
687
  $response = array();
1630
  global $typenow;
1631
  $width = get_option("wcp_dynamic_width_for_" . $typenow);
1632
  $width = esc_attr($width);
1633
+ $display_status = "wcp_dynamic_display_status_" . $typenow;
1634
+ $display_status = get_option($display_status);
1635
+ if($display_status != "hide") {
1636
+ if (!empty($width) && is_numeric($width)) {
1637
+ $css .= ".wcp-content{width:{$width}px}";
1638
+ if (function_exists('is_rtl') && is_rtl()) {
1639
+ $css .= "html[dir='rtl'] body.wp-admin #wpcontent {padding-right:" . ($width + 20) . "px}";
1640
+ $css .= "html[dir='rtl'] body.wp-admin #wpcontent {padding-left:0px}";
1641
+ } else {
1642
+ $css .= "body.wp-admin #wpcontent {padding-left:" . ($width + 20) . "px}";
1643
+ }
1644
+ }
1645
+ } else {
1646
+ if (function_exists('is_rtl') && is_rtl()) {
1647
+ $css .= "html[dir='rtl'] body.wp-admin #wpcontent {padding-right:20px}";
1648
  $css .= "html[dir='rtl'] body.wp-admin #wpcontent {padding-left:0px}";
1649
  } else {
1650
+ $css .= "body.wp-admin #wpcontent {padding-left:20px}";
1651
  }
 
1652
  }
1653
  }
1654
  wp_add_inline_style('wcp-css-handle', $css);
1746
  }
1747
 
1748
  $can_manage_folder = current_user_can("manage_categories")?1:0;
1749
+ $width = get_option("wcp_dynamic_width_for_" . $typenow);
1750
+ $width = empty($width)||!is_numeric($width)?310:$width;
1751
  wp_localize_script('wcp-folders-custom', 'wcp_settings', array(
1752
  'ajax_url' => admin_url('admin-ajax.php'),
1753
  'post_type' => $typenow,
1758
  'register_url' => $register_url,
1759
  'isRTL' => $is_rtl,
1760
  'nonce' => wp_create_nonce('wcp_folder_nonce_'.$typenow),
1761
+ 'can_manage_folder' => $can_manage_folder,
1762
+ 'folder_width' => $width
1763
  ));
1764
 
1765
  wp_enqueue_script('wcp-folders-alert');
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: galdub, tomeraharon, premio
3
  Tags: folder, folders, organize, pages folders, media library, posts folders, media folders, subfolders, file manager, directories
4
  Requires at least: 3.0.0
5
  Tested up to: 5.2
6
- Stable tag: 2.1.2
7
  Plugin URI: https://premio.io/downloads/folders/
8
 
9
  Folders is a FREE WordPress plugin that will help you quickly organize and manage all of your Pages, Posts and Media library files in folders.
@@ -59,6 +59,7 @@ E-Commerce businesses: Quickly upload new products and descriptions and then pla
59
  * Resize folders menu
60
  * Compatible with RTL admin panel (such as Hebrew,Arabic etc.)
61
  * Add and remove folders menu from pages, posts, and media
 
62
  * <a href="https://premio.io/downloads/folders" target="_blank" title="Folders pro plans"><strong>Upgrade to pro</strong></a> to get unlimited folders :)
63
 
64
  = GDPR AND PRIVACY =
@@ -116,6 +117,9 @@ A live demo for the Folders plugin is available at <a href="https://demo.premio.
116
 
117
  == Changelog ==
118
 
 
 
 
119
  = 2.1.2 =
120
  * Now you can see all the unassinged media folder files, pages, posts and custom posts
121
 
3
  Tags: folder, folders, organize, pages folders, media library, posts folders, media folders, subfolders, file manager, directories
4
  Requires at least: 3.0.0
5
  Tested up to: 5.2
6
+ Stable tag: 2.1.3
7
  Plugin URI: https://premio.io/downloads/folders/
8
 
9
  Folders is a FREE WordPress plugin that will help you quickly organize and manage all of your Pages, Posts and Media library files in folders.
59
  * Resize folders menu
60
  * Compatible with RTL admin panel (such as Hebrew,Arabic etc.)
61
  * Add and remove folders menu from pages, posts, and media
62
+ * Minimize the folders area if you need extra space
63
  * <a href="https://premio.io/downloads/folders" target="_blank" title="Folders pro plans"><strong>Upgrade to pro</strong></a> to get unlimited folders :)
64
 
65
  = GDPR AND PRIVACY =
117
 
118
  == Changelog ==
119
 
120
+ = 2.1.3 =
121
+ * You can now minimize the folders section if you need that extra space :)
122
+
123
  = 2.1.2 =
124
  * Now you can see all the unassinged media folder files, pages, posts and custom posts
125
 
templates/admin/admin-content.php CHANGED
@@ -33,24 +33,30 @@ defined('ABSPATH') or die('Nope, not accessing this');
33
  <div id="media-css">
34
 
35
  </div>
36
- <div id="wcp-content">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37
  <div id="wcp-content-resize">
38
  <div class="wcp-content">
 
 
 
 
39
  <div class='wcp-container'>
40
  <?php echo $form_html ?>
41
- <?php
42
- $optionName = $typenow."_parent_status";
43
- $status = get_option($optionName);
44
- global $typenow;
45
- $title = ucfirst($typenow);
46
- if($typenow == "page") {
47
- $title = "Pages";
48
- } else if($typenow == "post") {
49
- $title = "Posts";
50
- } else if($typenow == "attachment") {
51
- $title = "Files";
52
- }
53
- ?>
54
  <div class="header-posts">
55
  <a href="javascript:;" class="all-posts"><span class="wcp-icon folder-icon-insert_drive_file"></span> <?php echo __("All ".$title, WCP_FOLDER) ?> <span class="total-count"><?php echo $total_posts ?></span></a>
56
  </div>
33
  <div id="media-css">
34
 
35
  </div>
36
+ <?php
37
+ $optionName = $typenow."_parent_status";
38
+ $status = get_option($optionName);
39
+ global $typenow;
40
+ $title = ucfirst($typenow);
41
+ if($typenow == "page") {
42
+ $title = "Pages";
43
+ } else if($typenow == "post") {
44
+ $title = "Posts";
45
+ } else if($typenow == "attachment") {
46
+ $title = "Files";
47
+ }
48
+ $display_status = "wcp_dynamic_display_status_" . $typenow;
49
+ $display_status = get_option($display_status);
50
+ ?>
51
+ <div id="wcp-content" class="<?php echo isset($display_status) && $display_status == "hide"?"hide-folders-area":"" ?>" >
52
  <div id="wcp-content-resize">
53
  <div class="wcp-content">
54
+ <div class="wcp-hide-show-buttons">
55
+ <div class="toggle-buttons hide-folders <?php echo !isset($display_status) || $display_status != "hide"?"active":"" ?>"><span class="dashicons dashicons-arrow-left"></span></div>
56
+ <div class="toggle-buttons show-folders <?php echo isset($display_status) && $display_status == "hide"?"active":"" ?>"><span class="dashicons dashicons-arrow-right"></span></div>
57
+ </div>
58
  <div class='wcp-container'>
59
  <?php echo $form_html ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  <div class="header-posts">
61
  <a href="javascript:;" class="all-posts"><span class="wcp-icon folder-icon-insert_drive_file"></span> <?php echo __("All ".$title, WCP_FOLDER) ?> <span class="total-count"><?php echo $total_posts ?></span></a>
62
  </div>
templates/admin/upgrade-to-pro.php CHANGED
@@ -18,7 +18,7 @@ defined('ABSPATH') or die('Nope, not accessing this');
18
  </div>
19
  <div class="rpt_price rpt_price_0">$19</div>
20
  <div class="rpt_description rpt_description_0">
21
- <?php _e('Per year. Renewals for 50% off', WCP_FOLDER); ?>
22
  </div>
23
  <div style="clear:both;"></div>
24
  </div>
@@ -47,7 +47,7 @@ defined('ABSPATH') or die('Nope, not accessing this');
47
  </div>
48
  <div class="rpt_price rpt_price_1">$39</div>
49
  <div class="rpt_description rpt_description_0">
50
- <?php _e('Per year. Renewals for 50% off', WCP_FOLDER); ?>
51
  </div>
52
  <div style="clear:both;"></div>
53
  </div>
@@ -78,7 +78,7 @@ defined('ABSPATH') or die('Nope, not accessing this');
78
  </div>
79
  <div class="rpt_price rpt_price_2">$79</div>
80
  <div class="rpt_description rpt_description_0">
81
- <?php _e('Per year. Renewals for 50% off', WCP_FOLDER); ?>
82
  </div>
83
  <div style="clear:both;"></div>
84
  </div>
18
  </div>
19
  <div class="rpt_price rpt_price_0">$19</div>
20
  <div class="rpt_description rpt_description_0">
21
+ <?php _e('Per year. Renewals for 25% off', WCP_FOLDER); ?>
22
  </div>
23
  <div style="clear:both;"></div>
24
  </div>
47
  </div>
48
  <div class="rpt_price rpt_price_1">$39</div>
49
  <div class="rpt_description rpt_description_0">
50
+ <?php _e('Per year. Renewals for 25% off', WCP_FOLDER); ?>
51
  </div>
52
  <div style="clear:both;"></div>
53
  </div>
78
  </div>
79
  <div class="rpt_price rpt_price_2">$79</div>
80
  <div class="rpt_description rpt_description_0">
81
+ <?php _e('Per year. Renewals for 25% off', WCP_FOLDER); ?>
82
  </div>
83
  <div style="clear:both;"></div>
84
  </div>