PluginProbe
Countdown Timer Block – build urgency for events and launches / 1.2.8
Countdown Timer Block – build urgency for events and launches v1.2.8
1.3.3 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 All 32 releases
← All changes | plugin.php +112 -117 1.2.01.2.8 View file →
@@ -1,12 +1,12 @@
1 1 <?php
2 2
3 3 /**
4 - * Plugin Name: Countdown Time - Block
4 + * Plugin Name: Countdown Timer - Block
5 5 * Description: Display your events date into a timer to your visitor with countdown time block
6 - * Version: 1.2.0
7 - * Author: bPlugins LLC
8 - * Author URI: http://bplugins.com
6 + * Version: 1.2.8
7 + * Author: bPlugins
8 + * Author URI: https://bplugins.com
9 9 * License: GPLv3
10 10 * License URI: https://www.gnu.org/licenses/gpl-3.0.txt
11 11 * Text Domain: countdown-time
12 12 */
@@ -13,127 +13,122 @@
13 13 // ABS PATH
14 14 if ( !defined( 'ABSPATH' ) ) {
15 15 exit;
16 16 }
17 -register_activation_hook( __FILE__, function () {
18 - if ( is_plugin_active( 'countdown-time/plugin.php' ) ) {
19 - deactivate_plugins( 'countdown-time/plugin.php' );
17 +if ( function_exists( 'ctb_fs' ) ) {
18 + register_activation_hook( __FILE__, function () {
19 + if ( is_plugin_active( 'countdown-time/plugin.php' ) ) {
20 + deactivate_plugins( 'countdown-time/plugin.php' );
21 + }
22 + if ( is_plugin_active( 'countdown-time-pro/plugin.php' ) ) {
23 + deactivate_plugins( 'countdown-time-pro/plugin.php' );
24 + }
25 + } );
26 +} else {
27 + define( 'CTB_VERSION', ( isset( $_SERVER['HTTP_HOST'] ) && 'localhost' === $_SERVER['HTTP_HOST'] ? time() : '1.2.8' ) );
28 + define( 'CTB_DIR_URL', plugin_dir_url( __FILE__ ) );
29 + define( 'CTB_DIR_PATH', plugin_dir_path( __FILE__ ) );
30 + define( 'CTB_HAS_FREE', 'countdown-time/plugin.php' === plugin_basename( __FILE__ ) );
31 + define( 'CTB_HAS_PRO', 'countdown-time-pro/plugin.php' === plugin_basename( __FILE__ ) );
32 + if ( !function_exists( 'ctb_fs' ) ) {
33 + function ctb_fs() {
34 + global $ctb_fs;
35 + if ( !isset( $ctb_fs ) ) {
36 + $fsStartPath = dirname( __FILE__ ) . '/freemius/start.php';
37 + $bSDKInitPath = dirname( __FILE__ ) . '/bplugins_sdk/init.php';
38 + if ( CTB_HAS_PRO && file_exists( $fsStartPath ) ) {
39 + require_once $fsStartPath;
40 + } else {
41 + if ( CTB_HAS_FREE && file_exists( $bSDKInitPath ) ) {
42 + require_once $bSDKInitPath;
43 + }
44 + }
45 + $ctbConfig = [
46 + 'id' => '14562',
47 + 'slug' => 'countdown-time',
48 + 'premium_slug' => 'countdown-time-pro',
49 + 'type' => 'plugin',
50 + 'public_key' => 'pk_7f62446a2a53154c56c36346db2fa',
51 + 'is_premium' => false,
52 + 'premium_suffix' => 'Pro',
53 + 'has_premium_version' => true,
54 + 'has_addons' => false,
55 + 'has_paid_plans' => true,
56 + 'trial' => [
57 + 'days' => 7,
58 + 'is_require_payment' => true,
59 + ],
60 + 'menu' => [
61 + 'slug' => 'edit.php?post_type=ctb',
62 + 'contact' => false,
63 + 'support' => false,
64 + ],
65 + ];
66 + $ctb_fs = ( CTB_HAS_PRO && file_exists( $fsStartPath ) ? fs_dynamic_init( $ctbConfig ) : fs_lite_dynamic_init( $ctbConfig ) );
67 + }
68 + return $ctb_fs;
69 + }
70 +
71 + ctb_fs();
72 + do_action( 'ctb_fs_loaded' );
20 73 }
21 - if ( is_plugin_active( 'countdown-time-pro/plugin.php' ) ) {
22 - deactivate_plugins( 'countdown-time-pro/plugin.php' );
74 + function ctbIsPremium() {
75 + return ( CTB_HAS_PRO ? ctb_fs()->can_use_premium_code() : false );
23 76 }
24 -} );
25 -define( 'CTB_VERSION', ( isset( $_SERVER['HTTP_HOST'] ) && 'localhost' === $_SERVER['HTTP_HOST'] ? time() : '1.2.0' ) );
26 -define( 'CTB_DIR_URL', plugin_dir_url( __FILE__ ) );
27 -define( 'CTB_DIR_PATH', plugin_dir_path( __FILE__ ) );
28 -define( 'CTB_HAS_FREE', 'countdown-time/plugin.php' === plugin_basename( __FILE__ ) );
29 -define( 'CTB_HAS_PRO', 'countdown-time-pro/plugin.php' === plugin_basename( __FILE__ ) );
30 77
31 -if ( !function_exists( 'ctb_fs' ) ) {
32 - function ctb_fs()
33 - {
34 - global $ctb_fs ;
35 -
36 - if ( !isset( $ctb_fs ) ) {
37 - $fsStartPath = dirname( __FILE__ ) . '/freemius/start.php';
38 - $bSDKInitPath = dirname( __FILE__ ) . '/bplugins_sdk/init.php';
39 -
40 - if ( CTB_HAS_PRO && file_exists( $fsStartPath ) ) {
41 - require_once $fsStartPath;
42 - } else {
43 - if ( CTB_HAS_FREE && file_exists( $bSDKInitPath ) ) {
44 - require_once $bSDKInitPath;
45 - }
78 + require_once CTB_DIR_PATH . '/includes/pattern.php';
79 + require_once CTB_DIR_PATH . '/includes/CustomPost.php';
80 + require_once CTB_DIR_PATH . '/includes/HelpPage.php';
81 + // if( CTB_HAS_FREE ){
82 + // require_once CTB_DIR_PATH . '/includes/UpgradePage.php';
83 + // }
84 + class CTBPlugin {
85 + function __construct() {
86 + add_action( 'init', [$this, 'onInit'] );
87 + add_action( 'wp_ajax_ctbPipeChecker', [$this, 'ctbPipeChecker'] );
88 + add_action( 'wp_ajax_nopriv_ctbPipeChecker', [$this, 'ctbPipeChecker'] );
89 + add_action( 'admin_init', [$this, 'registerSettings'] );
90 + add_action( 'rest_api_init', [$this, 'registerSettings'] );
91 + add_filter( 'block_categories_all', [$this, 'blockCategories'] );
92 + }
93 +
94 + function onInit() {
95 + register_block_type( __DIR__ . '/build' );
96 + }
97 +
98 + function ctbPipeChecker() {
99 + $nonce = $_POST['_wpnonce'] ?? null;
100 + if ( !wp_verify_nonce( $nonce, 'wp_ajax' ) ) {
101 + wp_send_json_error( 'Invalid Request' );
46 102 }
47 -
48 - $ctbConfig = [
49 - 'id' => '14562',
50 - 'slug' => 'countdown-time',
51 - 'premium_slug' => 'countdown-time-pro',
52 - 'type' => 'plugin',
53 - 'public_key' => 'pk_7f62446a2a53154c56c36346db2fa',
54 - 'is_premium' => false,
55 - 'premium_suffix' => 'Pro',
56 - 'has_premium_version' => true,
57 - 'has_addons' => false,
58 - 'has_paid_plans' => true,
59 - 'trial' => [
60 - 'days' => 7,
61 - 'is_require_payment' => true,
62 - ],
63 - 'menu' => [
64 - 'slug' => 'edit.php?post_type=ctb',
65 - 'contact' => false,
66 - 'support' => false,
67 - ],
68 - ];
69 - $ctb_fs = ( CTB_HAS_PRO && file_exists( $fsStartPath ) ? fs_dynamic_init( $ctbConfig ) : fs_lite_dynamic_init( $ctbConfig ) );
103 + wp_send_json_success( [
104 + 'isPipe' => ctbIsPremium(),
105 + ] );
70 106 }
71 -
72 - return $ctb_fs;
73 - }
74 -
75 - ctb_fs();
76 - do_action( 'ctb_fs_loaded' );
77 -}
78 107
79 -function ctbIsPremium()
80 -{
81 - return ( CTB_HAS_PRO ? \ctb_fs()->is__premium_only() && \ctb_fs()->can_use_premium_code() : false );
82 -}
108 + function registerSettings() {
109 + register_setting( 'ctbUtils', 'ctbUtils', [
110 + 'show_in_rest' => [
111 + 'name' => 'ctbUtils',
112 + 'schema' => [
113 + 'type' => 'string',
114 + ],
115 + ],
116 + 'type' => 'string',
117 + 'default' => wp_json_encode( [
118 + 'nonce' => wp_create_nonce( 'wp_ajax' ),
119 + ] ),
120 + 'sanitize_callback' => 'sanitize_text_field',
121 + ] );
122 + }
83 123
84 -require_once CTB_DIR_PATH . '/inc/block.php';
85 -require_once CTB_DIR_PATH . '/inc/pattern.php';
86 -require_once CTB_DIR_PATH . '/inc/CustomPost.php';
87 -require_once CTB_DIR_PATH . '/inc/HelpPage.php';
88 -if ( CTB_HAS_FREE ) {
89 - require_once CTB_DIR_PATH . '/inc/UpgradePage.php';
90 -}
91 -class CTBPlugin
92 -{
93 - function __construct()
94 - {
95 - add_action( 'wp_ajax_ctbPipeChecker', [ $this, 'ctbPipeChecker' ] );
96 - add_action( 'wp_ajax_nopriv_ctbPipeChecker', [ $this, 'ctbPipeChecker' ] );
97 - add_action( 'admin_init', [ $this, 'registerSettings' ] );
98 - add_action( 'rest_api_init', [ $this, 'registerSettings' ] );
99 - add_filter( 'block_categories_all', [ $this, 'blockCategories' ] );
100 - }
101 -
102 - function ctbPipeChecker()
103 - {
104 - $nonce = $_POST['_wpnonce'] ?? null;
105 - if ( !wp_verify_nonce( $nonce, 'wp_ajax' ) ) {
106 - wp_send_json_error( 'Invalid Request' );
124 + function blockCategories( $categories ) {
125 + return array_merge( [[
126 + 'slug' => 'CTBlock',
127 + 'title' => 'Countdown Time',
128 + ]], $categories );
107 129 }
108 - wp_send_json_success( [
109 - 'isPipe' => ctbIsPremium(),
110 - ] );
130 +
111 131 }
112 -
113 - function registerSettings()
114 - {
115 - register_setting( 'ctbUtils', 'ctbUtils', [
116 - 'show_in_rest' => [
117 - 'name' => 'ctbUtils',
118 - 'schema' => [
119 - 'type' => 'string',
120 - ],
121 - ],
122 - 'type' => 'string',
123 - 'default' => wp_json_encode( [
124 - 'nonce' => wp_create_nonce( 'wp_ajax' ),
125 - ] ),
126 - 'sanitize_callback' => 'sanitize_text_field',
127 - ] );
128 - }
129 -
130 - function blockCategories( $categories )
131 - {
132 - return array_merge( [ [
133 - 'slug' => 'CTBlock',
134 - 'title' => 'Countdown Time',
135 - ] ], $categories );
136 - }
137 132
138 -}
139 -new CTBPlugin();
133 + new CTBPlugin();
134 +}