PluginProbe
Countdown Timer Block – build urgency for events and launches / 1.2.6
Countdown Timer Block – build urgency for events and launches v1.2.6
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
countdown-time / plugin.php

plugin.php in Countdown Timer Block – build urgency for events and launches 1.2.6, at plugin.php

134 lines 5.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * Plugin Name: Countdown Time - Block
5 * Description: Display your events date into a timer to your visitor with countdown time block
6 * Version: 1.2.6
7 * Author: bPlugins
8 * Author URI: https://bplugins.com
9 * License: GPLv3
10 * License URI: https://www.gnu.org/licenses/gpl-3.0.txt
11 * Text Domain: countdown-time
12 */
13 // ABS PATH
14 if ( !defined( 'ABSPATH' ) ) {
15 exit;
16 }
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.6' ) );
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' );
73 }
74 function ctbIsPremium() {
75 return ( CTB_HAS_PRO ? ctb_fs()->can_use_premium_code() : false );
76 }
77
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' );
102 }
103 wp_send_json_success( [
104 'isPipe' => ctbIsPremium(),
105 ] );
106 }
107
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 }
123
124 function blockCategories( $categories ) {
125 return array_merge( [[
126 'slug' => 'CTBlock',
127 'title' => 'Countdown Time',
128 ]], $categories );
129 }
130
131 }
132
133 new CTBPlugin();
134 }