PluginProbe
GetResponse Forms by Optin Cat / 2.0.2
GetResponse Forms by Optin Cat v2.0.2
1.3.4 1.3.5 1.3.6 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.1 1.6.2 1.6.3 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 2.0.0 All 36 releases
getresponse / getresponse-wp.php

getresponse-wp.php in GetResponse Forms by Optin Cat 2.0.2, at getresponse-wp.php

175 lines 6.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /*
3 Plugin Name: GetResponse Forms by Optin Cat
4 Plugin URI: https://fatcatapps.com/optincat
5 Description: The GetResponse Optin Cat WordPress Lets You Convert More Blog Visits Into Email Subscribers. Set It Up In 2 Minutes.
6 Author: Fatcat Apps
7 Version: 2.0.2
8 Author URI: https://fatcatapps.com/
9 */
10
11 // define( 'FCA_EOI_DEBUG', true );
12
13 if ( ! function_exists( 'is_admin' ) ) {
14 exit();
15 }
16
17 define( 'FCA_EOI_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
18 define( 'FCA_EOI_PLUGIN_FILE', __FILE__ );
19 define( 'FCA_EOI_PLUGIN_URL', plugins_url( '', __FILE__ ) );
20 define( 'FCA_EOI_EDITION', 'getresponse' );
21 define( 'FCA_EOI_PLUGIN_SLUG', 'getresponse' );
22 define( 'FCA_EOI_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
23 define( 'FCA_EOI_VER', '2.0.2' );
24
25 if( ! defined ( 'FCA_EOI_DEBUG' ) ) {
26 define( 'FCA_EOI_DEBUG', false );
27 }
28
29 /**
30 * Include and instantiate Mobile Detect
31 */
32 if ( !class_exists ( 'Mobile_Detect' ) ) {
33 require FCA_EOI_PLUGIN_DIR . 'includes/classes/Mobile-Detect/Mobile_Detect.php';
34 }
35
36 if( ! class_exists( 'DhEasyOptIns' ) ) {
37 class DhEasyOptIns {
38
39 var $distro = '';
40 var $shortcode = 'optin-cat';
41 var $shortcode_aliases = array(
42 'easy-opt-in',
43 'optincat',
44 'opt-in-cat',
45 );
46 var $settings;
47 var $provider = '';
48 var $providers = array();
49 var $post_type_obj = '';
50
51 function __construct() {
52 require_once FCA_EOI_PLUGIN_DIR . 'includes/classes/k/k.php';
53 require_once FCA_EOI_PLUGIN_DIR . 'includes/eoi-powerups.php';
54 require_once FCA_EOI_PLUGIN_DIR . 'includes/eoi-post-types.php';
55 require_once FCA_EOI_PLUGIN_DIR . 'includes/eoi-layout.php';
56 require_once FCA_EOI_PLUGIN_DIR . 'includes/eoi-shortcode.php';
57 require_once FCA_EOI_PLUGIN_DIR . 'includes/eoi-widget.php';
58 require_once FCA_EOI_PLUGIN_DIR . 'includes/eoi-pointer.php';
59 require_once FCA_EOI_PLUGIN_DIR . 'includes/eoi-tour-pointer.php';
60 require_once FCA_EOI_PLUGIN_DIR . 'includes/eoi-activity.php';
61 require_once FCA_EOI_PLUGIN_DIR . 'includes/eoi-functions.php';
62
63 global $fca_eoi_shortcodes;
64
65 // Settings
66 $this->settings['shortcode'] = $this->shortcode;
67 $this->settings['shortcode_aliases'] = $this->shortcode_aliases;
68 $this->settings['provider'] = $this->provider;
69
70 // Load all providers
71 foreach ( glob( FCA_EOI_PLUGIN_DIR . 'providers/*', GLOB_ONLYDIR ) as $provider_path ) {
72 $provider_id = basename( $provider_path );
73 require_once "$provider_path/provider.php";
74 $this->settings[ 'providers' ][ $provider_id ] = call_user_func( "provider_$provider_id" );
75 }
76
77 // Add provider to settings
78 $providers_available = array_keys( $this->settings[ 'providers' ] );
79
80 //set current post type to setting array
81 $this->settings[ 'post_type' ] = get_post_type();
82
83 // If there is only one provider, use it
84 if( 1 == count( $providers_available ) ) {
85 $this->provider = $this->settings[ 'provider' ] = $providers_available[ 0 ];
86 $this->distro = 'free';
87 $this->settings['distribution'] = 'free';
88 } else {
89 $this->distro = 'premium';
90 $this->settings['distribution'] = 'premium';
91 }
92
93 // Include provider helper class(es)
94 foreach ( $providers_available as $provider ) {
95 require_once FCA_EOI_PLUGIN_DIR . "providers/$provider/functions.php";
96 }
97
98 // Load extensions
99 $this->post_type_obj = new EasyOptInsPostTypes($this->settings);
100 $fca_eoi_shortcodes = new EasyOptInsShortcodes($this->settings);
101 $widget = new EasyOptInsWidgetHelper($this->settings);
102 EasyOptInsActivity::get_instance()->settings = $this->settings;
103
104 // Load subscribing banner for free users
105 if( $this->distro == 'free' ) {
106 $pointer = new EasyOptInsPointer( $this->settings );
107 //load EasyOptIns Upgrade notifications
108 require plugin_dir_path( __FILE__ ) . 'includes/eoi-upgrade.php';
109 new EasyOptInsUpgrade( $this->settings );
110 }
111 }
112 }
113 }
114
115 require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
116
117 if ( ! is_plugin_active( plugin_basename( __FILE__ ) ) ) {
118 function fca_eoi_fail_activation( $message ) {
119 wp_die( sprintf(
120 '<h2>%s</h2><p>%s</p><p><a class="button button-large" href="%s">%s</a></p>'
121 , __( 'Ooops!' )
122 , __( $message )
123 , admin_url( 'plugins.php' )
124 , __( 'Go to plugins page' )
125 ) );
126 }
127
128 function fca_eoi_activation() {
129 $plugins = get_plugins();
130
131 // Fail to activate the plugin if other Optin Cat plugins are already active
132 foreach ( $plugins as $file => $plugin ) {
133 if ( stripos( $plugin['PluginURI'], 'fatcatapps.com/optincat' ) !== false && is_plugin_active( $file ) ) {
134 $current_plugin = $plugins[ plugin_basename( __FILE__ ) ];
135 fca_eoi_fail_activation(
136 'Only one Optin Cat plugin can be active at a time, but you already have ' .
137 htmlspecialchars( $plugin['Name'] ) . ' active. ' .
138 'Please deactivate it before activating ' .
139 htmlspecialchars( $current_plugin['Name'] ) . '.' );
140 }
141 }
142
143 // Fail to activate the plugin if the providers or layouts directories are empty
144 $providers = glob( FCA_EOI_PLUGIN_DIR . 'providers/*', GLOB_ONLYDIR );
145 $layouts = glob( FCA_EOI_PLUGIN_DIR . 'layouts/*', GLOB_ONLYDIR );
146
147 if ( empty( $providers ) || empty( $layouts ) ) {
148 fca_eoi_fail_activation( 'Something went wrong. Please delete the plugin and install it again.' );
149 }
150
151 require FCA_EOI_PLUGIN_DIR . 'includes/eoi-functions.php';
152
153 //convert everyone to new Post Meta Format if they are on OLD
154 fca_eoi_convert_post_meta();
155 //convert options from 'paf' to 'fca_eoi_settings'
156 fca_eoi_convert_option_save();
157
158 //check for users of custom form, otherwise that feature is disabled
159 $opt = get_option ( 'fca_eoi_allow_customform', '' );
160 if ( empty ( $opt ) ) {
161 fca_eoi_set_custom_form_depreciation();
162 }
163
164 // If everything went well, continue with the activation setup
165 require FCA_EOI_PLUGIN_DIR . 'includes/eoi-activity.php';
166 EasyOptInsActivity::get_instance()->setup();
167 }
168
169 // If the plugin is not yet active, check for any obstacles in activation
170 register_activation_hook( __FILE__, 'fca_eoi_activation' );
171 return;
172 }
173
174 $dh_easy_opt_ins_plugin = new DhEasyOptIns();
175