PluginProbe
Easy Subscribe / 1.5.2
Easy Subscribe v1.5.2
1.5.7 1.5.6 1.5.5 1.5.4 trunk 1.1.1 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.3.0 1.4.0 1.4.1 1.5.0 1.5.1 1.5.2 1.5.3
easy-subscribe / easy-subscribe.php

easy-subscribe.php in Easy Subscribe 1.5.2, at easy-subscribe.php

150 lines 5.4 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: Easy Subscribe
5 * Description: Easy way to integrate the form and collect subscribers.
6 * Version: 1.5.2
7 * Author: Devnet
8 * Author URI: https://devnet.hr
9 * License: GPL-2.0+
10 * License URI: http://www.gnu.org/licenses/gpl-2.0.txt
11 * Text Domain: easy-subscribe
12 */
13 use Devnet\EasySubscribe\Includes\Activator;
14 use Devnet\EasySubscribe\Includes\Deactivator;
15 use Devnet\EasySubscribe\Includes\Plugin;
16 use Devnet\EasySubscribe\Includes\Uninstaller;
17 // If this file is called directly, abort.
18 if ( !defined( 'ABSPATH' ) ) {
19 exit;
20 }
21 if ( function_exists( 'devnet_esub_fs' ) ) {
22 devnet_esub_fs()->set_basename( false, __FILE__ );
23 } else {
24 if ( !function_exists( 'devnet_esub_fs' ) ) {
25 // Create a helper function for easy SDK access.
26 function devnet_esub_fs() {
27 global $devnet_esub_fs;
28 if ( !isset( $devnet_esub_fs ) ) {
29 // Include Freemius SDK.
30 require_once __DIR__ . '/vendor/freemius/wordpress-sdk/start.php';
31 $devnet_esub_fs = fs_dynamic_init( [
32 'id' => '14904',
33 'slug' => 'easy-subscribe',
34 'premium_slug' => 'easy-subscribe-pro',
35 'type' => 'plugin',
36 'public_key' => 'pk_fb60e997a9379fa986e287711e169',
37 'is_premium' => false,
38 'premium_suffix' => '(Pro)',
39 'has_addons' => true,
40 'has_paid_plans' => true,
41 'trial' => [
42 'days' => 7,
43 'is_require_payment' => true,
44 ],
45 'menu' => [
46 'slug' => 'easy-subscribe',
47 'first-path' => 'admin.php?page=easy-subscribe',
48 ],
49 'is_live' => true,
50 ] );
51 }
52 return $devnet_esub_fs;
53 }
54
55 // Init Freemius.
56 devnet_esub_fs();
57 // Signal that SDK was initiated.
58 do_action( 'devnet_esub_fs_loaded' );
59 }
60 /*
61 * Show the contact submenu item only when the user have a valid non-expired license.
62 *
63 * @param $is_visible The filtered value. Whether the submenu item should be visible or not.
64 * @param $menu_id The ID of the submenu item.
65 *
66 * @return bool If true, the menu item should be visible.
67 */
68 if ( !function_exists( 'devnet_esub_is_submenu_visible' ) ) {
69 function devnet_esub_is_submenu_visible( $is_visible, $menu_id ) {
70 if ( 'contact' != $menu_id ) {
71 return $is_visible;
72 }
73 return devnet_esub_fs()->can_use_premium_code();
74 }
75
76 }
77 /*
78 * TODO: do uninstall logic.
79 */
80 if ( !function_exists( 'devnet_esub_fs_uninstall_cleanup' ) ) {
81 function devnet_esub_fs_uninstall_cleanup() {
82 require_once plugin_dir_path( __FILE__ ) . 'includes/uninstaller.php';
83 Uninstaller::cleanup();
84 }
85
86 }
87 if ( !function_exists( 'devnet_esub_fs_custom_icon' ) ) {
88 function devnet_esub_fs_custom_icon() {
89 return dirname( __FILE__ ) . '/assets/images/logo.png';
90 }
91
92 }
93 /*
94 * Run Freemius actions and filters.
95 */
96 if ( function_exists( 'devnet_esub_fs' ) ) {
97 devnet_esub_fs()->add_filter(
98 'is_submenu_visible',
99 'devnet_esub_is_submenu_visible',
100 10,
101 2
102 );
103 devnet_esub_fs()->add_action( 'after_uninstall', 'devnet_esub_fs_uninstall_cleanup' );
104 devnet_esub_fs()->add_filter( 'plugin_icon', 'devnet_esub_fs_custom_icon' );
105 }
106 function devnet_esub_options() {
107 $options = [
108 'general' => get_option( 'devnet_esub_general' ),
109 'forms' => [
110 'devnet_esub_form' => get_option( 'devnet_esub_form' ),
111 ],
112 'messages' => get_option( 'devnet_esub_messages' ),
113 ];
114 return $options;
115 }
116
117 function activate_plugin_easy_subscribe() {
118 require_once plugin_dir_path( __FILE__ ) . 'includes/activator.php';
119 Activator::activate();
120 }
121
122 function deactivate_plugin_easy_subscribe() {
123 require_once plugin_dir_path( __FILE__ ) . 'includes/deactivator.php';
124 Deactivator::deactivate();
125 }
126
127 register_activation_hook( __FILE__, 'activate_plugin_easy_subscribe' );
128 register_deactivation_hook( __FILE__, 'deactivate_plugin_easy_subscribe' );
129 function run_devnet_easy_subscribe_update() {
130 $db_version = (int) get_option( 'devnet_esub_db_version' );
131 if ( !$db_version || $db_version < DEVNET_ESUB_DB_VERSION ) {
132 require_once plugin_dir_path( __FILE__ ) . 'includes/activator.php';
133 Activator::update_table();
134 }
135 }
136
137 function run_devnet_easy_subscribe() {
138 require plugin_dir_path( __FILE__ ) . 'includes/plugin.php';
139 $plugin = new Plugin();
140 $plugin->run();
141 }
142
143 define( 'DEVNET_ESUB_VERSION', '1.5.2' );
144 define( 'DEVNET_ESUB_DB_VERSION', 3 );
145 define( 'DEVNET_ESUB_NAME', 'Easy Subscribe' );
146 define( 'DEVNET_ESUB_SLUG', plugin_basename( __FILE__ ) );
147 define( 'DEVNET_ESUB_OPTIONS', devnet_esub_options() );
148 run_devnet_easy_subscribe_update();
149 run_devnet_easy_subscribe();
150 }