PluginProbe
GetResponse Forms by Optin Cat / 2.4.1
GetResponse Forms by Optin Cat v2.4.1
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
← All changes | getresponse-wp.php +116 -200 1.6.22.4.1 View file →
@@ -1,232 +1,151 @@
1 1 <?php
2 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 Viisots Into Email Subscribers. Set It Up In 2 Minutes.
6 - Author: Fatcat Apps
7 - Version: 1.6.2
8 - Author URI: https://fatcatapps.com/
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.4.1
8 + Author URI: https://fatcatapps.com/
9 9 */
10 10
11 -// define( 'FCA_EOI_DEBUG', true );
12 -
13 11 if ( ! function_exists( 'is_admin' ) ) {
14 - exit();
12 + exit();
15 13 }
16 14
17 -require 'includes/skelet/skelet.php';
18 -
19 15 define( 'FCA_EOI_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
20 16 define( 'FCA_EOI_PLUGIN_FILE', __FILE__ );
21 17 define( 'FCA_EOI_PLUGIN_URL', plugins_url( '', __FILE__ ) );
22 18 define( 'FCA_EOI_EDITION', 'getresponse' );
19 +define( 'FCA_EOI_PLUGIN_SLUG', 'getresponse' );
20 +define( 'FCA_EOI_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
21 +define( 'FCA_EOI_VER', '2.4.1' );
23 22
24 -
25 23 if( ! defined ( 'FCA_EOI_DEBUG' ) ) {
26 - define( 'FCA_EOI_DEBUG', false );
24 + define( 'FCA_EOI_DEBUG', false );
27 25 }
28 26
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 27 if( ! class_exists( 'DhEasyOptIns' ) ) {
37 -class DhEasyOptIns {
28 + class DhEasyOptIns {
38 29
39 - var $ver = '1.6.2';
40 - var $distro = '';
41 - var $shortcode = 'optin-cat';
42 - var $shortcode_aliases = array(
43 - 'easy-opt-in',
44 - 'optincat',
45 - 'opt-in-cat',
46 - );
47 - var $settings;
48 - var $provider = '';
49 - var $providers = array();
30 + var $distro = '';
31 + var $shortcode = 'optin-cat';
32 + var $shortcode_aliases = array(
33 + 'easy-opt-in',
34 + 'optincat',
35 + 'opt-in-cat',
36 + );
37 + var $settings;
38 + var $provider = '';
39 + var $providers = array();
40 + var $post_type_obj = '';
50 41
51 - function __construct() {
42 + function __construct() {
43 + require_once FCA_EOI_PLUGIN_DIR . 'includes/classes/k/k.php';
44 + require_once FCA_EOI_PLUGIN_DIR . 'includes/eoi-powerups.php';
45 + require_once FCA_EOI_PLUGIN_DIR . 'includes/eoi-subscribers.php';
46 + require_once FCA_EOI_PLUGIN_DIR . 'includes/eoi-post-types.php';
47 + require_once FCA_EOI_PLUGIN_DIR . 'includes/eoi-layout.php';
48 + require_once FCA_EOI_PLUGIN_DIR . 'includes/eoi-shortcode.php';
49 + require_once FCA_EOI_PLUGIN_DIR . 'includes/eoi-widget.php';
50 + require_once FCA_EOI_PLUGIN_DIR . 'includes/eoi-activity.php';
51 + require_once FCA_EOI_PLUGIN_DIR . 'includes/eoi-functions.php';
52 + require_once FCA_EOI_PLUGIN_DIR . 'includes/eoi-block.php';
53 + require_once FCA_EOI_PLUGIN_DIR . 'includes/eoi-uninstall.php';
52 54
53 - require FCA_EOI_PLUGIN_DIR . 'includes/eoi-post-types.php';
54 - require FCA_EOI_PLUGIN_DIR . 'includes/eoi-layout.php';
55 - require FCA_EOI_PLUGIN_DIR . 'includes/eoi-shortcode.php';
56 - require FCA_EOI_PLUGIN_DIR . 'includes/eoi-widget.php';
57 - require FCA_EOI_PLUGIN_DIR . 'includes/eoi-pointer.php';
58 - require FCA_EOI_PLUGIN_DIR . 'includes/eoi-tour-pointer.php';
59 - require FCA_EOI_PLUGIN_DIR . 'includes/eoi-activity.php';
60 - require FCA_EOI_PLUGIN_DIR . 'includes/eoi-functions.php';
55 + global $fca_eoi_shortcodes;
56 +
57 + // Settings
58 + $this->settings['shortcode'] = $this->shortcode;
59 + $this->settings['shortcode_aliases'] = $this->shortcode_aliases;
60 + $this->settings['provider'] = $this->provider;
61 61
62 - global $fca_eoi_shortcodes;
63 -
62 + // Load all providers
63 + foreach ( glob( FCA_EOI_PLUGIN_DIR . 'providers/*', GLOB_ONLYDIR ) as $provider_path ) {
64 + $provider_id = basename( $provider_path );
65 + require_once "$provider_path/provider.php";
66 + $this->settings[ 'providers' ][ $provider_id ] = call_user_func( "provider_$provider_id" );
67 + }
64 68
65 - // Settings
66 - $this->settings['shortcode'] = $this->shortcode;
67 - $this->settings['shortcode_aliases'] = $this->shortcode_aliases;
68 - $this->settings['version'] = $this->ver;
69 - $this->settings['provider'] = $this->provider;
69 + // Add provider to settings
70 + $providers_available = array_keys( $this->settings[ 'providers' ] );
71 +
72 + //set current post type to setting array
73 + $this->settings[ 'post_type' ] = get_post_type();
70 74
71 - // Load all providers
72 - foreach ( glob( FCA_EOI_PLUGIN_DIR . 'providers/*', GLOB_ONLYDIR ) as $provider_path ) {
73 - $provider_id = basename( $provider_path );
74 - require_once "$provider_path/provider.php";
75 - $this->settings[ 'providers' ][ $provider_id ] = call_user_func( "provider_$provider_id" );
76 - }
75 + // If there is only one provider, use it
76 + if( 1 == count( $providers_available ) ) {
77 + $this->provider = $this->settings[ 'provider' ] = $providers_available[ 0 ];
78 + $this->distro = 'free';
79 + $this->settings['distribution'] = 'free';
80 + } else {
81 + $this->distro = 'premium';
82 + $this->settings['distribution'] = 'premium';
83 + }
77 84
78 - if ( $_SERVER['REQUEST_METHOD'] == 'POST' && ! empty( $_POST['paf_submit'] ) ) {
79 - $options_before = get_option('paf');
80 - $options_after = empty( $_POST['paf'] ) ? array() : $_POST['paf'];
81 - $options_changed = true;
82 - } else {
83 - $options_changed = false;
84 - }
85 + // Include provider helper class(es)
86 + foreach ( $providers_available as $provider ) {
87 + require_once FCA_EOI_PLUGIN_DIR . "providers/$provider/functions.php";
88 + }
85 89
86 - // Load all powerups
87 - foreach ( glob( FCA_EOI_PLUGIN_DIR . 'powerups/*', GLOB_ONLYDIR ) as $powerup_path ) {
88 - $powerup_id = basename( $powerup_path );
89 - $powerup_id = preg_replace('/(\d+)_/', '', $powerup_id);
90 + // Load extensions
91 + $this->post_type_obj = new EasyOptInsPostTypes($this->settings);
92 + $fca_eoi_shortcodes = new EasyOptInsShortcodes($this->settings);
93 + $widget = new EasyOptInsWidgetHelper($this->settings);
94 + EasyOptInsActivity::get_instance()->settings = $this->settings;
90 95
91 - require_once "$powerup_path/powerup.php";
92 - $function_name = "powerup_$powerup_id";
93 - $this->settings[ 'powerups' ][ $powerup_id ] = call_user_func( $function_name, $this->settings );
94 -
95 - $option_name = 'eoi_' . $function_name;
96 - if ( $options_changed ) {
97 - $hook_function_name = null;
98 -
99 - if ( empty( $options_before[ $option_name ] ) && ! empty( $options_after[ $option_name ] ) ) {
100 - $hook_function_name = $function_name . '_on_activate';
101 - } else if ( ! empty( $options_before[ $option_name ] ) && empty( $options_after[ $option_name ] ) ) {
102 - $hook_function_name = $function_name . '_on_deactivate';
103 - }
104 -
105 - if ( ! empty( $hook_function_name ) && function_exists( $hook_function_name ) ) {
106 - call_user_func( $hook_function_name, $this->settings );
107 - }
108 - }
109 - }
110 -
111 - paf_pages( array( 'eoi_powerups' => array(
112 - 'title' => __( 'Power Ups Settings' ),
113 - 'menu_title' => __( 'Power Ups' ),
114 - 'parent' => 'edit.php?post_type=easy-opt-ins',
115 - ) ) );
116 -
117 - // Add provider to settings
118 - $providers_available = array_keys( $this->settings[ 'providers' ] );
119 -
120 - //set current post type to setting array
121 - $this->settings[ 'post_type' ] = get_post_type();
122 -
123 - // If there is only one provider, use it
124 - if( 1 == count( $providers_available ) ) {
125 - $this->provider = $this->settings[ 'provider' ] = $providers_available[ 0 ];
126 - }
127 -
128 - // Distributions
129 - if( 1 == count( $providers_available ) ) {
130 - $this->distro = 'free';
131 - $this->settings['distribution'] = 'free';
132 - } else {
133 - $this->distro = 'premium';
134 - $this->settings['distribution'] = 'premium';
135 - }
136 -
137 - // Include provider helper class(es)
138 - foreach ( $providers_available as $provider ) {
139 - require_once FCA_EOI_PLUGIN_DIR . "providers/$provider/functions.php";
140 - }
141 -
142 - // Load extensions
143 - $post_types = new EasyOptInsPostTypes($this->settings);
144 - $fca_eoi_shortcodes = new EasyOptInsShortcodes($this->settings);
145 - $widget = new EasyOptInsWidgetHelper($this->settings);
146 - EasyOptInsActivity::get_instance()->settings = $this->settings;
147 -
148 - // Load subscribing banner for free users
149 - if( 1 == count( $providers_available ) ) {
150 - $pointer = new EasyOptInsPointer( $this->settings );
151 - }
152 -
153 -
154 - //load EasyOptIns Upgrade notifications
155 - if( count( $providers_available ) === 1 ) {
156 - require plugin_dir_path( __FILE__ ) . 'includes/eoi-upgrade.php';
157 - new EasyOptInsUpgrade( $this->settings );
158 - }
159 - }
160 -
161 - function get_current_post_type() {
162 -
163 - global $post, $typenow, $current_screen;
164 -
165 - if ( $post && $post->post_type ) {
166 - return $post->post_type;
167 - } elseif( $typenow ) {
168 - return $typenow;
169 - } elseif( $current_screen && $current_screen->post_type ) {
170 - return $current_screen->post_type;
171 - } elseif( isset( $_REQUEST['post_type'] ) ) {
172 - return sanitize_key( $_REQUEST['post_type'] );
173 - } elseif ( isset( $_REQUEST['post'] ) && $_REQUEST['post'] ) {
174 - $id = $_REQUEST['post'];
175 - $post_obj = get_post( $id );
176 - if( $post_obj ) {
177 - return $post_obj->post_type;
178 - }
179 - }
180 - return null;
181 - }
182 -
183 -
96 + // Load subscribing banner for free users
97 + if( $this->distro == 'free' ) {
98 + //load EasyOptIns Upgrade notifications
99 + require plugin_dir_path( __FILE__ ) . 'includes/eoi-upgrade.php';
100 + new EasyOptInsUpgrade( $this->settings );
101 + }
102 + }
103 + }
184 104 }
185 -}
186 105
187 106 require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
188 107
189 108 if ( ! is_plugin_active( plugin_basename( __FILE__ ) ) ) {
190 - function fca_eoi_fail_activation( $message ) {
191 - wp_die( sprintf(
192 - '<h2>%s</h2><p>%s</p><p><a class="button button-large" href="%s">%s</a></p>'
193 - , __( 'Ooops!' )
194 - , __( $message )
195 - , admin_url( 'plugins.php' )
196 - , __( 'Go to plugins page' )
197 - ) );
198 - }
109 + function fca_eoi_fail_activation( $message ) {
110 + wp_die( sprintf(
111 + '<h2>%s</h2><p>%s</p><p><a class="button button-large" href="%s">%s</a></p>'
112 + , __( 'Ooops!' )
113 + , __( $message )
114 + , admin_url( 'plugins.php' )
115 + , __( 'Go to plugins page' )
116 + ) );
117 + }
199 118
200 - function fca_eoi_activation() {
201 - $plugins = get_plugins();
119 + function fca_eoi_activation() {
120 + $plugins = get_plugins();
202 121
203 - // Fail to activate the plugin if other Optin Cat plugins are already active
204 - foreach ( $plugins as $file => $plugin ) {
205 - if ( stripos( $plugin['PluginURI'], 'fatcatapps.com/optincat' ) !== false && is_plugin_active( $file ) ) {
206 - $current_plugin = $plugins[ plugin_basename( __FILE__ ) ];
207 - fca_eoi_fail_activation(
208 - 'Only one Optin Cat plugin can be active at a time, but you already have ' .
209 - htmlspecialchars( $plugin['Name'] ) . ' active. ' .
210 - 'Please deactivate it before activating ' .
211 - htmlspecialchars( $current_plugin['Name'] ) . '.' );
212 - }
213 - }
122 + // Fail to activate the plugin if other Optin Cat plugins are already active
123 + foreach ( $plugins as $file => $plugin ) {
124 + if ( stripos( $plugin['PluginURI'], 'fatcatapps.com/optincat' ) !== false && is_plugin_active( $file ) ) {
125 + $current_plugin = $plugins[ plugin_basename( __FILE__ ) ];
126 + fca_eoi_fail_activation(
127 + 'Only one Optin Cat plugin can be active at a time, but you already have ' .
128 + htmlspecialchars( $plugin['Name'] ) . ' active. ' .
129 + 'Please deactivate it before activating ' .
130 + htmlspecialchars( $current_plugin['Name'] ) . '.' );
131 + }
132 + }
214 133
215 - // Fail to activate the plugin if the providers or layouts directories are empty
216 - $providers = glob( FCA_EOI_PLUGIN_DIR . 'providers/*', GLOB_ONLYDIR );
217 - $layouts = glob( FCA_EOI_PLUGIN_DIR . 'layouts/*', GLOB_ONLYDIR );
134 + // Fail to activate the plugin if the providers or layouts directories are empty
135 + $providers = glob( FCA_EOI_PLUGIN_DIR . 'providers/*', GLOB_ONLYDIR );
136 + $layouts = glob( FCA_EOI_PLUGIN_DIR . 'layouts/*', GLOB_ONLYDIR );
218 137
219 - if ( empty( $providers ) || empty( $layouts ) ) {
220 - fca_eoi_fail_activation( 'Something went wrong. Please delete the plugin and install it again.' );
221 - }
138 + if ( empty( $providers ) || empty( $layouts ) ) {
139 + fca_eoi_fail_activation( 'Something went wrong. Please delete the plugin and install it again.' );
140 + }
222 141
223 142 require FCA_EOI_PLUGIN_DIR . 'includes/eoi-functions.php';
224 -
225 - //convert everyone to new CSS if they are on OLD
226 - fca_eoi_migrate_css();
143 +
227 144 //convert everyone to new Post Meta Format if they are on OLD
228 145 fca_eoi_convert_post_meta();
146 + //convert options from 'paf' to 'fca_eoi_settings'
147 + fca_eoi_convert_option_save();
229 148
230 149 //check for users of custom form, otherwise that feature is disabled
231 150 $opt = get_option ( 'fca_eoi_allow_customform', '' );
232 151 if ( empty ( $opt ) ) {
@@ -232,18 +151,15 @@
232 151 if ( empty ( $opt ) ) {
233 152 fca_eoi_set_custom_form_depreciation();
234 153 }
235 154
236 - // If everything went well, continue with the activation setup
237 - require FCA_EOI_PLUGIN_DIR . 'includes/eoi-activity.php';
238 - EasyOptInsActivity::get_instance()->setup();
239 -
240 -
155 + // If everything went well, continue with the activation setup
156 + require FCA_EOI_PLUGIN_DIR . 'includes/eoi-activity.php';
157 + EasyOptInsActivity::get_instance()->setup();
158 + }
241 159
242 - }
243 -
244 - // If the plugin is not yet active, check for any obstacles in activation
245 - register_activation_hook( __FILE__, 'fca_eoi_activation' );
246 - return;
160 + // If the plugin is not yet active, check for any obstacles in activation
161 + register_activation_hook( __FILE__, 'fca_eoi_activation' );
162 + return;
247 163 }
248 164
249 165 $dh_easy_opt_ins_plugin = new DhEasyOptIns();