PluginProbe
Easy Subscribe / 1.5.0
Easy Subscribe v1.5.0
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.0, at easy-subscribe.php

143 lines 5.1 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.0
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 dirname( __FILE__ ) . '/fs/freemius/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 /*
88 * Run Freemius actions and filters.
89 */
90 if ( function_exists( 'devnet_esub_fs' ) ) {
91 devnet_esub_fs()->add_filter(
92 'is_submenu_visible',
93 'devnet_esub_is_submenu_visible',
94 10,
95 2
96 );
97 devnet_esub_fs()->add_action( 'after_uninstall', 'devnet_esub_fs_uninstall_cleanup' );
98 }
99 function devnet_esub_options() {
100 $options = [
101 'general' => get_option( 'devnet_esub_general' ),
102 'forms' => [
103 'devnet_esub_form' => get_option( 'devnet_esub_form' ),
104 ],
105 'messages' => get_option( 'devnet_esub_messages' ),
106 ];
107 return $options;
108 }
109
110 function activate_plugin_easy_subscribe() {
111 require_once plugin_dir_path( __FILE__ ) . 'includes/activator.php';
112 Activator::activate();
113 }
114
115 function deactivate_plugin_easy_subscribe() {
116 require_once plugin_dir_path( __FILE__ ) . 'includes/deactivator.php';
117 Deactivator::deactivate();
118 }
119
120 register_activation_hook( __FILE__, 'activate_plugin_easy_subscribe' );
121 register_deactivation_hook( __FILE__, 'deactivate_plugin_easy_subscribe' );
122 function run_devnet_easy_subscribe_update() {
123 $db_version = (int) get_option( 'devnet_esub_db_version' );
124 if ( !$db_version || $db_version < DEVNET_ESUB_DB_VERSION ) {
125 require_once plugin_dir_path( __FILE__ ) . 'includes/activator.php';
126 Activator::update_table();
127 }
128 }
129
130 function run_devnet_easy_subscribe() {
131 require plugin_dir_path( __FILE__ ) . 'includes/plugin.php';
132 $plugin = new Plugin();
133 $plugin->run();
134 }
135
136 define( 'DEVNET_ESUB_VERSION', '1.5.0' );
137 define( 'DEVNET_ESUB_DB_VERSION', 3 );
138 define( 'DEVNET_ESUB_NAME', 'Easy Subscribe' );
139 define( 'DEVNET_ESUB_SLUG', plugin_basename( __FILE__ ) );
140 define( 'DEVNET_ESUB_OPTIONS', devnet_esub_options() );
141 run_devnet_easy_subscribe_update();
142 run_devnet_easy_subscribe();
143 }