Carousel, Slider, Gallery by WP Carousel – Image Carousel & Photo Gallery, Post Carousel & Post Grid, Product Carousel & Product Grid for WooCommerce - Version 2.1.5

Version Description

Nov 02, 2019 = * Fix: User capabilities issue.

Download this release

Release Info

Developer shapedplugin
Plugin Icon 128x128 Carousel, Slider, Gallery by WP Carousel – Image Carousel & Photo Gallery, Post Carousel & Post Grid, Product Carousel & Product Grid for WooCommerce
Version 2.1.5
Comparing to
See all releases

Code changes from version 2.1.4 to 2.1.5

admin/css/wp-carousel-free-admin.css CHANGED
@@ -250,6 +250,54 @@
250
  .sp-wpcf-upgrade a.wpcf-upgrade-btn{
251
  display: inline-block;
252
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
253
  /* Responsive CSS */
254
  @media screen and (max-width: 782px) {
255
  .about-wrap .three-col .col {
250
  .sp-wpcf-upgrade a.wpcf-upgrade-btn{
251
  display: inline-block;
252
  }
253
+
254
+ /* Review notice */
255
+ #sp-wpcfree-review-notice {
256
+ padding:15px 15px 15px 0;
257
+ background-color:#fff;
258
+ border-radius:3px;
259
+ margin:20px 20px 0 0;
260
+ }
261
+ #sp-wpcfree-review-notice .sp-wpcfree-plugin-icon {
262
+ width:125px;
263
+ float:left;
264
+ line-height:90px;
265
+ text-align:center;
266
+ }
267
+ #sp-wpcfree-review-notice .sp-wpcfree-plugin-icon img {
268
+ max-width:83px;
269
+ vertical-align:middle;
270
+ }
271
+ #sp-wpcfree-review-notice .sp-wpcfree-notice-text {
272
+ overflow:hidden;
273
+ }
274
+ #sp-wpcfree-review-notice .sp-wpcfree-notice-text h3 {
275
+ font-size:24px;
276
+ margin:0 0 5px;
277
+ font-weight:400;
278
+ line-height:1;
279
+ }
280
+ #sp-wpcfree-review-notice .sp-wpcfree-notice-text p {
281
+ margin:10px 0 10px 0;
282
+ font-size:13px;
283
+ }
284
+ #sp-wpcfree-review-notice .sp-wpcfree-notice-text p.sp-wpcfree-review-actions {
285
+ margin:10px 0 2px 0;
286
+ }
287
+ #sp-wpcfree-review-notice .sp-wpcfree-notice-text .sp-wpcfree-review-actions a {
288
+ text-decoration:none;
289
+ margin-right:8px;
290
+ color:#63a37b;
291
+ display:inline-block;
292
+ position:relative;
293
+ }
294
+ #sp-wpcfree-review-notice .sp-wpcfree-notice-text .sp-wpcfree-review-actions a span {
295
+ padding-right:2px;
296
+ }
297
+ #sp-wpcfree-review-notice .sp-wpcfree-notice-text .sp-wpcfree-review-actions a.button {
298
+ color:#fff;
299
+ }
300
+
301
  /* Responsive CSS */
302
  @media screen and (max-width: 782px) {
303
  .about-wrap .three-col .col {
admin/css/wp-carousel-free-admin.min.css CHANGED
@@ -1 +1 @@
1
- .text-center{text-align:center}#adminmenu .menu-icon-sp_wp_carousel .wp-menu-image img{width:22px;padding:7px 0;height:20px}.spwpcp-gallery-list li{display:inline;margin:5px}.js .tmce-active .wp-editor-area{color:#000}.sp_wpcp_shortcode_generator .spf-wrapper{min-height:200px;z-index:999;background-image:url(../img/preloader.gif);background-repeat:no-repeat;background-color:#fff;background-position:center;}.sp_wpcp_shortcode_generator .spf-wrapper li{opacity:0;}.sp-wpcp-help .wp-badge{border:none;background:url(../img/wpcp-icon-256.png) right no-repeat;background-size:100px 100px;box-shadow:none;height:auto;top:-75px}.about-wrap.sp-wpcf-upgrade [class$="-col"],.about-wrap.sp-wpcp-help [class$="-col"]{display:flex;justify-content:space-between;flex-wrap:wrap}.about-wrap.sp-wpcf-upgrade [class$="-col"] .col,.about-wrap.sp-wpcp-help [class$="-col"] .col{flex:1;align-self:flex-start}.about-wrap.sp-wpcp-help .feature-section .col{margin-top:40px}.about-wrap.sp-wpcf-upgrade [class$="-col"] .col+.col{margin-left:0}.about-wrap.sp-wpcp-help [class$="-col"] .col+.col{margin-left:20px}.sp-wpcf-upgrade .headline-feature.feature-video,.sp-wpcp-help .headline-feature.feature-video{position:relative;margin:40px 0;padding-bottom:56.25%;width:100%;max-width:100%;height:0;text-align:center}.sp-wpcf-upgrade .headline-feature.feature-video iframe,.sp-wpcp-help .headline-feature.feature-video iframe{position:absolute;top:0;left:0;width:100%;height:100%}.sp-wpcp-help .feature-section .sp-wpcp-feature{background-color:#fff;padding:20px 20px;border:1px solid #ddd}.sp-wpcp-help .feature-section .sp-wpcp-feature h3{font-size:16px;margin-top:18px}.sp-wpcp-help .feature-section i.sp-wpcp-font-icon{font-size:30px;display:block;color:#18afb9;font-family:fontawesome;font-style:normal}@media (max-width:500px){.sp-wpcp-help .wp-badge{background-position-x:center;top:0}}.sp-wpc-text-center{text-align:center}.sp-wpcf-upgrade>h1{font-size:2.5em;color:#444;font-weight:300}.sp-wpcf-upgrade>h1 span{font-weight:400}.sp-wpcf-upgrade .about-text{margin-bottom:0}.sp-wpcf-upgrade ul{margin-top:0}.sp-wpcf-upgrade .wp-badge{border:none;background:url(../img/premium-logo.png) no-repeat;background-size:150px 150px;box-shadow:none;top:0;padding-right:8px}.about-wrap.sp-wpcf-upgrade .about-text{min-height:60px}.about-wrap.sp-wpcf-upgrade hr{order:0;height:0;margin:0;border-top:1px solid rgba(0,0,0,.1)}.sp-wpcf-upgrade .feature-section .sp-wpc-feature{background-color:#fff;padding:20px 20px;border:1px solid #ddd}.sp-wpcf-upgrade .feature-section .sp-wpc-feature h3{font-size:16px;margin-top:18px}.sp-wpcf-upgrade .feature-section i.fa{font-size:30px;display:block;color:#22afba}.sp-wpcf-upgrade .sp-wpc-pro-features .feature-section span.dashicons{font-size:22px;color:#fff;background-color:#22afba;width:28px;height:28px;line-height:28px;border-radius:50%;margin-right:10px}.sp-wpcf-upgrade .sp-wpc-pro-features .feature-section{margin-bottom:40px;display:flex;flex-wrap:wrap}.sp-wpcf-upgrade .sp-wpc-pro-features .feature-section .sp-wpc-feature h3{margin-top:0}.sp-wpcf-upgrade .sp-wpc-pro-features .feature-section .sp-wpc-feature p{margin-bottom:0}.sp-wpcf-upgrade .sp-wpc-pro-features .feature-section .sp-wpc-feature{box-shadow:0 0 10px 0 #ddd;margin:4px;border:0 solid}.sp-wpcf-upgrade .sp-wpc-pro-features .feature-section.three-col .col{min-width:32%;max-width:32%;margin-top:20px;display:flex;align-self:auto}.sp-wpcf-upgrade .sp-wpc-pro-features .sp-wpc-pro-subtitle{font-size:1.2em;margin-bottom:26px}.sp-wpcf-upgrade .sp-wpc-upgrade-sticky-footer{position:fixed;bottom:0;background:#fff;width:calc(100% - 195px);z-index:9;margin-left:-25px;text-align:center;border:1px solid #dfdfdf;padding:15px 0;border-bottom:none}.sp-wpcf-upgrade .sp-wpc-pro-features h2,.sp-wpcf-upgrade .sp-wpcp-promo-video-title{font-size:2.2em;font-weight:400}.sp-wpcp-join-community h2{font-size:2em}.sp-wpcf-upgrade .sp-wpc-upgrade-sticky-footer h3{margin-top:17px;margin-bottom:20px}.sp-wpcf-upgrade .sp-wpc-upgrade-sticky-footer a.button{margin:0 8px}.sp-wpcf-upgrade .wpcf-upgrade-btn{display:inline-block;padding:0 20px 0 0}.sp-wpcf-upgrade .wpcf-upgrade-btn a,.sp-wpcf-upgrade a.wpcf-upgrade-btn{text-decoration:none;text-align:center;font-size:16px}.sp-wpcf-upgrade .wpcf-upgrade-btn a:focus{outline:0}.sp-wpcf-upgrade a.wpcf-upgrade-btn,.sp-wpcf-upgrade ul li.wpcf-upgrade-btn:first-child a{background:#7cc048;padding:0 15px;line-height:46px;display:block;color:#fff;border-radius:3px}.sp-wpcf-upgrade ul li.wpcf-upgrade-btn:last-child a{text-decoration:underline}.sp-wpcf-upgrade ul li.wpcf-upgrade-btn a i{margin-left:4px}.sp-wpcf-upgrade ul li.wpcf-upgrade-btn:last-child a i{font-size:14px}.sp-wpcf-upgrade a.wpcf-upgrade-btn{display:inline-block}@media screen and (max-width:782px){.about-wrap .three-col .col{min-width:48%!important;max-width:48%!important;margin-left:0!important}.about-wrap.sp-wpcp-help .feature-section .col{margin-top:20px}}@media (max-width:960px){.sp-wpc-help .sp-wpc-upgrade-sticky-footer{width:calc(100%)}}@media only screen and (max-width:500px){.about-wrap .three-col .col{min-width:100%!important}.sp-wpcf-upgrade .wp-badge{background-position-x:center}}
1
+ .text-center{text-align:center}#adminmenu .menu-icon-sp_wp_carousel .wp-menu-image img{width:22px;padding:7px 0;height:20px}.spwpcp-gallery-list li{display:inline;margin:5px}.js .tmce-active .wp-editor-area{color:#000}.sp_wpcp_shortcode_generator .spf-wrapper{min-height:200px;z-index:999;background-image:url(../img/preloader.gif);background-repeat:no-repeat;background-color:#fff;background-position:center}.sp_wpcp_shortcode_generator .spf-wrapper li{opacity:0}.sp-wpcp-help .wp-badge{border:none;background:url(../img/wpcp-icon-256.png) right no-repeat;background-size:100px 100px;box-shadow:none;height:auto;top:-75px}.about-wrap.sp-wpcf-upgrade [class$="-col"],.about-wrap.sp-wpcp-help [class$="-col"]{display:flex;justify-content:space-between;flex-wrap:wrap}.about-wrap.sp-wpcf-upgrade [class$="-col"] .col,.about-wrap.sp-wpcp-help [class$="-col"] .col{flex:1;align-self:flex-start}.about-wrap.sp-wpcp-help .feature-section .col{margin-top:40px}.about-wrap.sp-wpcf-upgrade [class$="-col"] .col+.col{margin-left:0}.about-wrap.sp-wpcp-help [class$="-col"] .col+.col{margin-left:20px}.sp-wpcf-upgrade .headline-feature.feature-video,.sp-wpcp-help .headline-feature.feature-video{position:relative;margin:40px 0;padding-bottom:56.25%;width:100%;max-width:100%;height:0;text-align:center}.sp-wpcf-upgrade .headline-feature.feature-video iframe,.sp-wpcp-help .headline-feature.feature-video iframe{position:absolute;top:0;left:0;width:100%;height:100%}.sp-wpcp-help .feature-section .sp-wpcp-feature{background-color:#fff;padding:20px 20px;border:1px solid #ddd}.sp-wpcp-help .feature-section .sp-wpcp-feature h3{font-size:16px;margin-top:18px}.sp-wpcp-help .feature-section i.sp-wpcp-font-icon{font-size:30px;display:block;color:#18afb9;font-family:fontawesome;font-style:normal}@media (max-width:500px){.sp-wpcp-help .wp-badge{background-position-x:center;top:0}}.sp-wpc-text-center{text-align:center}.sp-wpcf-upgrade>h1{font-size:2.5em;color:#444;font-weight:300}.sp-wpcf-upgrade>h1 span{font-weight:400}.sp-wpcf-upgrade .about-text{margin-bottom:0}.sp-wpcf-upgrade ul{margin-top:0}.sp-wpcf-upgrade .wp-badge{border:none;background:url(../img/premium-logo.png) no-repeat;background-size:150px 150px;box-shadow:none;top:0;padding-right:8px}.about-wrap.sp-wpcf-upgrade .about-text{min-height:60px}.about-wrap.sp-wpcf-upgrade hr{order:0;height:0;margin:0;border-top:1px solid rgba(0,0,0,.1)}.sp-wpcf-upgrade .feature-section .sp-wpc-feature{background-color:#fff;padding:20px 20px;border:1px solid #ddd}.sp-wpcf-upgrade .feature-section .sp-wpc-feature h3{font-size:16px;margin-top:18px}.sp-wpcf-upgrade .feature-section i.fa{font-size:30px;display:block;color:#22afba}.sp-wpcf-upgrade .sp-wpc-pro-features .feature-section span.dashicons{font-size:22px;color:#fff;background-color:#22afba;width:28px;height:28px;line-height:28px;border-radius:50%;margin-right:10px}.sp-wpcf-upgrade .sp-wpc-pro-features .feature-section{margin-bottom:40px;display:flex;flex-wrap:wrap}.sp-wpcf-upgrade .sp-wpc-pro-features .feature-section .sp-wpc-feature h3{margin-top:0}.sp-wpcf-upgrade .sp-wpc-pro-features .feature-section .sp-wpc-feature p{margin-bottom:0}.sp-wpcf-upgrade .sp-wpc-pro-features .feature-section .sp-wpc-feature{box-shadow:0 0 10px 0 #ddd;margin:4px;border:0 solid}.sp-wpcf-upgrade .sp-wpc-pro-features .feature-section.three-col .col{min-width:32%;max-width:32%;margin-top:20px;display:flex;align-self:auto}.sp-wpcf-upgrade .sp-wpc-pro-features .sp-wpc-pro-subtitle{font-size:1.2em;margin-bottom:26px}.sp-wpcf-upgrade .sp-wpc-upgrade-sticky-footer{position:fixed;bottom:0;background:#fff;width:calc(100% - 195px);z-index:9;margin-left:-25px;text-align:center;border:1px solid #dfdfdf;padding:15px 0;border-bottom:none}.sp-wpcf-upgrade .sp-wpc-pro-features h2,.sp-wpcf-upgrade .sp-wpcp-promo-video-title{font-size:2.2em;font-weight:400}.sp-wpcp-join-community h2{font-size:2em}.sp-wpcf-upgrade .sp-wpc-upgrade-sticky-footer h3{margin-top:17px;margin-bottom:20px}.sp-wpcf-upgrade .sp-wpc-upgrade-sticky-footer a.button{margin:0 8px}.sp-wpcf-upgrade .wpcf-upgrade-btn{display:inline-block;padding:0 20px 0 0}.sp-wpcf-upgrade .wpcf-upgrade-btn a,.sp-wpcf-upgrade a.wpcf-upgrade-btn{text-decoration:none;text-align:center;font-size:16px}.sp-wpcf-upgrade .wpcf-upgrade-btn a:focus{outline:0}.sp-wpcf-upgrade a.wpcf-upgrade-btn,.sp-wpcf-upgrade ul li.wpcf-upgrade-btn:first-child a{background:#7cc048;padding:0 15px;line-height:46px;display:block;color:#fff;border-radius:3px}.sp-wpcf-upgrade ul li.wpcf-upgrade-btn:last-child a{text-decoration:underline}.sp-wpcf-upgrade ul li.wpcf-upgrade-btn a i{margin-left:4px}.sp-wpcf-upgrade ul li.wpcf-upgrade-btn:last-child a i{font-size:14px}.sp-wpcf-upgrade a.wpcf-upgrade-btn{display:inline-block}#sp-wpcfree-review-notice{padding:15px 15px 15px 0;background-color:#fff;border-radius:3px;margin:20px 20px 0 0}#sp-wpcfree-review-notice .sp-wpcfree-plugin-icon{width:125px;float:left;line-height:90px;text-align:center}#sp-wpcfree-review-notice .sp-wpcfree-plugin-icon img{max-width:83px;vertical-align:middle}#sp-wpcfree-review-notice .sp-wpcfree-notice-text{overflow:hidden}#sp-wpcfree-review-notice .sp-wpcfree-notice-text h3{font-size:24px;margin:0 0 5px;font-weight:400;line-height:1}#sp-wpcfree-review-notice .sp-wpcfree-notice-text p{margin:10px 0 10px 0;font-size:13px}#sp-wpcfree-review-notice .sp-wpcfree-notice-text p.sp-wpcfree-review-actions{margin:10px 0 2px 0}#sp-wpcfree-review-notice .sp-wpcfree-notice-text .sp-wpcfree-review-actions a{text-decoration:none;margin-right:8px;color:#63a37b;display:inline-block;position:relative}#sp-wpcfree-review-notice .sp-wpcfree-notice-text .sp-wpcfree-review-actions a span{padding-right:2px}#sp-wpcfree-review-notice .sp-wpcfree-notice-text .sp-wpcfree-review-actions a.button{color:#fff}@media screen and (max-width:782px){.about-wrap .three-col .col{min-width:48%!important;max-width:48%!important;margin-left:0!important}.about-wrap.sp-wpcp-help .feature-section .col{margin-top:20px}}@media (max-width:960px){.sp-wpc-help .sp-wpc-upgrade-sticky-footer{width:calc(100%)}}@media only screen and (max-width:500px){.about-wrap .three-col .col{min-width:100%!important}.sp-wpcf-upgrade .wp-badge{background-position-x:center}}
admin/views/notices/review.php ADDED
@@ -0,0 +1,123 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The admin review notice.
4
+ *
5
+ * @since 2.1.5
6
+ * @version 2.1.5
7
+ *
8
+ * @package WP_Carousel_Free
9
+ * @subpackage WP_Carousel_Free/admin/views/notices
10
+ * @author ShapedPlugin<support@shapedplugin.com>
11
+ */
12
+ class WP_Carousel_Free_Review {
13
+
14
+ /**
15
+ * Display admin notice.
16
+ *
17
+ * @return void
18
+ */
19
+ public function display_admin_notice() {
20
+ // Show only to Admins.
21
+ if ( ! current_user_can( 'manage_options' ) ) {
22
+ return;
23
+ }
24
+
25
+ // Variable default value.
26
+ $review = get_option( 'sp_wp_carousel_free_review_notice_dismiss' );
27
+ $time = time();
28
+ $load = false;
29
+
30
+ if ( ! $review ) {
31
+ $review = array(
32
+ 'time' => $time,
33
+ 'dismissed' => false,
34
+ );
35
+ add_option( 'sp_wp_carousel_free_review_notice_dismiss', $review );
36
+ } else {
37
+ // Check if it has been dismissed or not.
38
+ if ( ( isset( $review['dismissed'] ) && ! $review['dismissed'] ) && ( isset( $review['time'] ) && ( ( $review['time'] + ( DAY_IN_SECONDS * 3 ) ) <= $time ) ) ) {
39
+ $load = true;
40
+ }
41
+ }
42
+
43
+ // If we cannot load, return early.
44
+ if ( ! $load ) {
45
+ return;
46
+ }
47
+ ?>
48
+ <div id="sp-wpcfree-review-notice" class="sp-wpcfree-review-notice">
49
+ <div class="sp-wpcfree-plugin-icon">
50
+ <img src="<?php echo WPCAROUSELF_URL . 'admin/img/wpcp-icon-256.png'; ?>" alt="WP Carousel">
51
+ </div>
52
+ <div class="sp-wpcfree-notice-text">
53
+ <h3>Enjoying <strong>WP Carousel</strong>?</h3>
54
+ <p>Hope that you had a good experience with the <strong>WP Carousel</strong>. Would you please show us a little love by rating us in the <a href="https://wordpress.org/support/plugin/wp-carousel-free/reviews/?filter=5#new-post" target="_blank"><strong>WordPress.org</strong></a>?
55
+ Just a minute to rate it. Thank you!</p>
56
+
57
+ <p class="sp-wpcfree-review-actions">
58
+ <a href="https://wordpress.org/support/plugin/wp-carousel-free/reviews/?filter=5#new-post" target="_blank" class="button button-primary notice-dismissed rate-wp-carousel">Rate WP Carousel</a>
59
+ <a href="#" class="notice-dismissed remind-me-later"><span class="dashicons dashicons-clock"></span>Nope, maybe later
60
+ </a>
61
+ <a href="#" class="notice-dismissed never-show-again"><span class="dashicons dashicons-dismiss"></span>Never show again</a>
62
+ </p>
63
+ </div>
64
+ </div>
65
+
66
+ <script type='text/javascript'>
67
+
68
+ jQuery(document).ready( function($) {
69
+ $(document).on('click', '#sp-wpcfree-review-notice.sp-wpcfree-review-notice .notice-dismissed', function( event ) {
70
+ if ( $(this).hasClass('rate-wp-carousel') ) {
71
+ var notice_dismissed_value = "1";
72
+ }
73
+ if ( $(this).hasClass('remind-me-later') ) {
74
+ var notice_dismissed_value = "2";
75
+ event.preventDefault();
76
+ }
77
+ if ( $(this).hasClass('never-show-again') ) {
78
+ var notice_dismissed_value = "3";
79
+ event.preventDefault();
80
+ }
81
+
82
+ $.post( ajaxurl, {
83
+ action: 'sp-wpcfree-never-show-review-notice',
84
+ notice_dismissed_data : notice_dismissed_value
85
+ });
86
+
87
+ $('#sp-wpcfree-review-notice.sp-wpcfree-review-notice').hide();
88
+ });
89
+ });
90
+
91
+ </script>
92
+ <?php
93
+ }
94
+
95
+ /**
96
+ * Dismiss review notice
97
+ *
98
+ * @since 2.1.5
99
+ *
100
+ * @return void
101
+ **/
102
+ public function dismiss_review_notice() {
103
+ if ( ! $review ) {
104
+ $review = array();
105
+ }
106
+ switch ( $_POST['notice_dismissed_data'] ) {
107
+ case '1':
108
+ $review['time'] = time();
109
+ $review['dismissed'] = false;
110
+ break;
111
+ case '2':
112
+ $review['time'] = time();
113
+ $review['dismissed'] = false;
114
+ break;
115
+ case '3':
116
+ $review['time'] = time();
117
+ $review['dismissed'] = true;
118
+ break;
119
+ }
120
+ update_option( 'sp_wp_carousel_free_review_notice_dismiss', $review );
121
+ die;
122
+ }
123
+ }
includes/class-wp-carousel-free-activator.php ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Fired during plugin activation
4
+ *
5
+ * @link https://shapedplugin.com
6
+ * @since 3.0.0
7
+ *
8
+ * @package WP_Carousel_Pro
9
+ * @subpackage WP_Carousel_Pro/includes
10
+ */
11
+
12
+ /**
13
+ * Fired during plugin activation.
14
+ *
15
+ * This class defines all code necessary to run during the plugin's activation.
16
+ *
17
+ * @since 2.1.5
18
+ * @package WP_Carousel_Free
19
+ * @subpackage WP_Carousel_Free/includes
20
+ * @author ShapedPlugin<shapedplugin@gmail.com>
21
+ */
22
+ class WP_Carousel_Free_Activator {
23
+
24
+ /**
25
+ * The carousels.
26
+ *
27
+ * @var array
28
+ */
29
+ private $carousels;
30
+
31
+ /**
32
+ * WP Carousel activator.
33
+ *
34
+ * Deactivate the pro version during the activation of the WP Carousel.
35
+ *
36
+ * @since 2.1.5
37
+ * @return void
38
+ */
39
+ public static function activate() {
40
+ deactivate_plugins( 'wp-carousel-pro/wp-carousel-pro.php' );
41
+ }
42
+ }
includes/class-wp-carousel-free-post-types.php CHANGED
@@ -96,24 +96,12 @@ class WP_Carousel_Free_Post_Type {
96
  'public' => false,
97
  'hierarchical' => false,
98
  'exclude_from_search' => true,
99
- 'show_ui' => true,
100
  'show_in_admin_bar' => false,
101
  'menu_position' => apply_filters( 'sp_wp_carousel_menu_position', 120 ),
102
  'menu_icon' => WPCAROUSELF_URL . '/admin/js/wp-carousel-icon.svg',
103
  'rewrite' => false,
104
  'query_var' => false,
105
- 'capabilities' => array(
106
- 'edit_post' => 'update_core',
107
- 'read_post' => 'update_core',
108
- 'delete_post' => 'update_core',
109
- 'delete_posts' => 'update_core',
110
- 'delete_others_posts' => 'update_core',
111
- 'edit_posts' => 'update_core',
112
- 'edit_others_posts' => 'update_core',
113
- 'publish_posts' => 'update_core',
114
- 'read_private_posts' => 'update_core',
115
- 'create_posts' => 'update_core',
116
- ),
117
  'supports' => array(
118
  'title',
119
  ),
96
  'public' => false,
97
  'hierarchical' => false,
98
  'exclude_from_search' => true,
99
+ 'show_ui' => current_user_can( 'manage_options' ) ? true : false,
100
  'show_in_admin_bar' => false,
101
  'menu_position' => apply_filters( 'sp_wp_carousel_menu_position', 120 ),
102
  'menu_icon' => WPCAROUSELF_URL . '/admin/js/wp-carousel-icon.svg',
103
  'rewrite' => false,
104
  'query_var' => false,
 
 
 
 
 
 
 
 
 
 
 
 
105
  'supports' => array(
106
  'title',
107
  ),
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: shapedplugin
3
  Donate link: http://shapedplugin.com/donate
4
  Tags: wordpress carousel, best carousel plugin, image carousel, image slider, post carousel, custom post carousel, custom taxonomy carousel, woocommerce product carousel, content carousel, video carousel, video slider, video lightbox, youtube carousel, video gallery, carousel, slider, responsive slider, responsive carousel, carousel slider, ticker carousel, center mode carousel, slide anything, image gallery, image lightbox, wordpress image gallery, photo gallery, gallery slider, wordpress gallery plugin, gallery, post slider, vimeo slider, self hosted video carousel, content slider, wordpress slider, featured content slider, html slider, horizontal carousel slider, posts content slider, product carousel, woocommerce slider, woocommerce product slider
5
  Requires at least: 4.3
6
- Tested up to: 5.2.2
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -326,8 +326,10 @@ Thank you!
326
 
327
  == Changelog ==
328
 
329
- = 2.1.4Sep 04, 2019 =
330
  * Fix: User capabilities issue.
 
 
331
  * Fix: Google fonts loading issue.
332
 
333
  = 2.1.3 – Jul 13, 2019 =
3
  Donate link: http://shapedplugin.com/donate
4
  Tags: wordpress carousel, best carousel plugin, image carousel, image slider, post carousel, custom post carousel, custom taxonomy carousel, woocommerce product carousel, content carousel, video carousel, video slider, video lightbox, youtube carousel, video gallery, carousel, slider, responsive slider, responsive carousel, carousel slider, ticker carousel, center mode carousel, slide anything, image gallery, image lightbox, wordpress image gallery, photo gallery, gallery slider, wordpress gallery plugin, gallery, post slider, vimeo slider, self hosted video carousel, content slider, wordpress slider, featured content slider, html slider, horizontal carousel slider, posts content slider, product carousel, woocommerce slider, woocommerce product slider
5
  Requires at least: 4.3
6
+ Tested up to: 5.2.4
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
326
 
327
  == Changelog ==
328
 
329
+ = 2.1.5Nov 02, 2019 =
330
  * Fix: User capabilities issue.
331
+
332
+ = 2.1.4 – Sep 04, 2019 =
333
  * Fix: Google fonts loading issue.
334
 
335
  = 2.1.3 – Jul 13, 2019 =
wp-carousel-free.php CHANGED
@@ -10,7 +10,7 @@
10
  * Plugin Name: WordPress Carousel
11
  * Plugin URI: https://shapedplugin.com/plugin/wordpress-carousel-pro/
12
  * Description: The Most Powerful and User-friendly WordPress Carousel Plugin. Create beautiful carousels in minutes using Images, Posts, WooCommerce Products etc.
13
- * Version: 2.1.4
14
  * Author: ShapedPlugin
15
  * Author URI: https://shapedplugin.com/
16
  * License: GPL-2.0+
@@ -24,6 +24,16 @@ if ( ! defined( 'WPINC' ) ) {
24
  die;
25
  }
26
 
 
 
 
 
 
 
 
 
 
 
27
 
28
  /**
29
  * Main class of the plugin
@@ -119,7 +129,7 @@ class SP_WP_Carousel_Free {
119
  */
120
  public function setup() {
121
  $this->plugin_name = 'wp-carousel-free';
122
- $this->version = '2.1.4';
123
  $this->define_constants();
124
  $this->includes();
125
  $this->load_dependencies();
@@ -166,6 +176,7 @@ class SP_WP_Carousel_Free {
166
  require_once WPCAROUSELF_INCLUDES . '/class-wp-carousel-free-loader.php';
167
  require_once WPCAROUSELF_INCLUDES . '/class-wp-carousel-free-post-types.php';
168
  require_once WPCAROUSELF_PATH . '/admin/views/wpcfree-metabox/classes/setup.class.php';
 
169
  require_once WPCAROUSELF_PATH . '/admin/views/metabox-config.php';
170
  require_once WPCAROUSELF_PATH . '/admin/views/option-config.php';
171
  require_once WPCAROUSELF_INCLUDES . '/class-wp-carousel-free-shortcode.php';
@@ -222,8 +233,12 @@ class SP_WP_Carousel_Free {
222
  * @access private
223
  */
224
  private function define_common_hooks() {
225
- $plugin_cpt = new WP_Carousel_Free_Post_Type( $this->get_plugin_name(), $this->get_version() );
 
 
226
  $this->loader->add_action( 'init', $plugin_cpt, 'wp_carousel_post_type', 11 );
 
 
227
  }
228
 
229
  /**
10
  * Plugin Name: WordPress Carousel
11
  * Plugin URI: https://shapedplugin.com/plugin/wordpress-carousel-pro/
12
  * Description: The Most Powerful and User-friendly WordPress Carousel Plugin. Create beautiful carousels in minutes using Images, Posts, WooCommerce Products etc.
13
+ * Version: 2.1.5
14
  * Author: ShapedPlugin
15
  * Author URI: https://shapedplugin.com/
16
  * License: GPL-2.0+
24
  die;
25
  }
26
 
27
+ /**
28
+ * The code that runs during plugin activation.
29
+ * This action is documented in includes/class-wp-carousel-free-activator.php
30
+ */
31
+ function activate_wp_carousel_free() {
32
+ require_once WPCAROUSELF_PATH . '/includes/class-wp-carousel-free-activator.php';
33
+ WP_Carousel_Free_Activator::activate();
34
+ }
35
+ register_activation_hook( __FILE__, 'activate_wp_carousel_free' );
36
+
37
 
38
  /**
39
  * Main class of the plugin
129
  */
130
  public function setup() {
131
  $this->plugin_name = 'wp-carousel-free';
132
+ $this->version = '2.1.5';
133
  $this->define_constants();
134
  $this->includes();
135
  $this->load_dependencies();
176
  require_once WPCAROUSELF_INCLUDES . '/class-wp-carousel-free-loader.php';
177
  require_once WPCAROUSELF_INCLUDES . '/class-wp-carousel-free-post-types.php';
178
  require_once WPCAROUSELF_PATH . '/admin/views/wpcfree-metabox/classes/setup.class.php';
179
+ require_once WPCAROUSELF_PATH . '/admin/views/notices/review.php';
180
  require_once WPCAROUSELF_PATH . '/admin/views/metabox-config.php';
181
  require_once WPCAROUSELF_PATH . '/admin/views/option-config.php';
182
  require_once WPCAROUSELF_INCLUDES . '/class-wp-carousel-free-shortcode.php';
233
  * @access private
234
  */
235
  private function define_common_hooks() {
236
+ $plugin_cpt = new WP_Carousel_Free_Post_Type( $this->get_plugin_name(), $this->get_version() );
237
+ $plugin_review_notice = new WP_Carousel_Free_Review( $this->get_plugin_name(), $this->get_version() );
238
+
239
  $this->loader->add_action( 'init', $plugin_cpt, 'wp_carousel_post_type', 11 );
240
+ $this->loader->add_action( 'admin_notices', $plugin_review_notice, 'display_admin_notice' );
241
+ $this->loader->add_action( 'wp_ajax_sp-wpcfree-never-show-review-notice', $plugin_review_notice, 'dismiss_review_notice' );
242
  }
243
 
244
  /**