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 +128 -242 1.3.52.4.1 View file →
@@ -1,279 +1,165 @@
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.3.5
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 11 if ( ! function_exists( 'is_admin' ) ) {
13 - exit();
12 + exit();
14 13 }
15 14
16 -require 'includes/skelet/skelet.php';
17 -
18 15 define( 'FCA_EOI_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
19 16 define( 'FCA_EOI_PLUGIN_FILE', __FILE__ );
20 17 define( 'FCA_EOI_PLUGIN_URL', plugins_url( '', __FILE__ ) );
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' );
21 22
22 23 if( ! defined ( 'FCA_EOI_DEBUG' ) ) {
23 - define( 'FCA_EOI_DEBUG', false );
24 + define( 'FCA_EOI_DEBUG', false );
24 25 }
25 -if ( FCA_EOI_DEBUG && ! class_exists ( 'Kint' ) ) {
26 - require FCA_EOI_PLUGIN_DIR . 'includes/classes/kint/Kint.class.php';
27 -}
28 -if ( ! class_exists ( 'Mustache_Engine' ) ) {
29 - require FCA_EOI_PLUGIN_DIR . 'includes/classes/Mustache/Autoloader.php';
30 - Mustache_Autoloader::register();
31 -}
32 26
33 -/**
34 - * Include scssphp
35 - *
36 - * Latest version requires PHP 5.3
37 - * Version 0.0.15 works with PHP 5.2
38 - * We detect PHP > 5.3 by checking the constant __DIR__
39 - */
40 -if ( ! class_exists ( 'scssc' ) ) {
41 - if( defined( '__DIR__' ) ) {
42 - require FCA_EOI_PLUGIN_DIR . 'includes/classes/scssphp/scss.inc.php';
43 - } else {
44 - require FCA_EOI_PLUGIN_DIR . 'includes/classes/scssphp-0.0.15/scss.inc.php';
45 - }
46 -}
47 -
48 -/**
49 - * Include and instanciate Mobile Detect
50 - */
51 -if ( ! class_exists ( 'Mobile_Detect' ) ) {
52 - require FCA_EOI_PLUGIN_DIR . 'includes/classes/Mobile-Detect/Mobile_Detect.php';
53 -}
54 -
55 -
56 27 if( ! class_exists( 'DhEasyOptIns' ) ) {
57 -class DhEasyOptIns {
28 + class DhEasyOptIns {
58 29
59 - var $ver = '1.3.5';
60 - var $distro = '';
61 - var $shortcode = 'optin-cat';
62 - var $shortcode_aliases = array(
63 - 'easy-opt-in',
64 - 'optincat',
65 - 'opt-in-cat',
66 - );
67 - var $settings;
68 - var $provider = '';
69 - 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 = '';
70 41
71 - 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';
72 54
73 - require FCA_EOI_PLUGIN_DIR . 'includes/eoi-error-handler.php';
74 - require FCA_EOI_PLUGIN_DIR . 'includes/eoi-post-types.php';
75 - require FCA_EOI_PLUGIN_DIR . 'includes/eoi-settings.php';
76 - require FCA_EOI_PLUGIN_DIR . 'includes/eoi-layout.php';
77 - require FCA_EOI_PLUGIN_DIR . 'includes/eoi-shortcode.php';
78 - require FCA_EOI_PLUGIN_DIR . 'includes/eoi-widget.php';
79 - require FCA_EOI_PLUGIN_DIR . 'includes/eoi-pointer.php';
80 - require FCA_EOI_PLUGIN_DIR . 'includes/eoi-tour-pointer.php';
81 - require FCA_EOI_PLUGIN_DIR . 'includes/eoi-activity.php';
82 - require FCA_EOI_PLUGIN_DIR . 'includes/eoi-init.php';
83 - require FCA_EOI_PLUGIN_DIR . 'includes/compatibility-mode/eoi-compatibility-mode.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;
84 61
85 - global $fca_eoi_shortcodes;
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 + }
86 68
87 - $post_type = $this->get_current_post_type();
88 - $eoi_settings = get_option('easy_opt_in_settings');
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();
89 74
90 - // Settings
91 - $this->settings();
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 + }
92 84
93 - // Add provider to settings
94 - $providers_available = array_keys( $this->settings[ 'providers' ] );
95 -
96 - //set current post type to setting array
97 - $this->settings[ 'post_type' ] = $post_type;
85 + // Include provider helper class(es)
86 + foreach ( $providers_available as $provider ) {
87 + require_once FCA_EOI_PLUGIN_DIR . "providers/$provider/functions.php";
88 + }
98 89
99 - // If there is only one provider, use it
100 - if( 1 == count( $providers_available ) ) {
101 - $this->provider = $this->settings[ 'provider' ] = $providers_available[ 0 ];
102 - }
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;
103 95
104 - // Distributions
105 - if( 1 == count( $providers_available ) ) {
106 - $this->distro = 'free';
107 - $this->settings['distribution'] = 'free';
108 - } else {
109 - $this->distro = 'premium';
110 - $this->settings['distribution'] = 'premium';
111 - }
112 -
113 - // Add options that are stored in DB if any
114 - $this->settings[ 'eoi_settings' ] = $eoi_settings;
115 -
116 - // Include provider helper class(es)
117 - foreach ( $providers_available as $provider ) {
118 - require $this->settings[ 'plugin_dir' ] . "providers/$provider/functions.php";
119 - }
120 -
121 - // Load extensions
122 - $post_types = new EasyOptInsPostTypes($this->settings);
123 - $fca_eoi_shortcodes = new EasyOptInsShortcodes($this->settings);
124 - $widget = new EasyOptInsWidgetHelper($this->settings);
125 - EasyOptInsActivity::get_instance()->settings = $this->settings;
126 - EasyOptInsInit::get_instance()->setup();
127 -
128 - // Load subscribing banner for free users
129 - if( 1 == count( $providers_available ) ) {
130 - $pointer = new EasyOptInsPointer( $this->settings );
131 - }
132 -
133 - //Load tour pointer
134 - //$tour_pointer = new EOITourPointer($this->settings );
135 -
136 - //load compatibility-mode
137 - new EasyOptInsCompatibilityMode( $this->settings );
138 -
139 - //load EasyOptIns Upgrade notifications
140 - if( count( $providers_available ) === 1 ) {
141 - require plugin_dir_path( __FILE__ ) . 'includes/eoi-upgrade.php';
142 - new EasyOptInsUpgrade( $this->settings );
143 - }
144 - }
145 -
146 - function get_current_post_type() {
147 -
148 - global $post, $typenow, $current_screen;
149 -
150 - if ( $post && $post->post_type ) {
151 - return $post->post_type;
152 - } elseif( $typenow ) {
153 - return $typenow;
154 - } elseif( $current_screen && $current_screen->post_type ) {
155 - return $current_screen->post_type;
156 - } elseif( isset( $_REQUEST['post_type'] ) ) {
157 - return sanitize_key( $_REQUEST['post_type'] );
158 - } elseif ( isset( $_REQUEST['post'] ) && $_REQUEST['post'] ) {
159 - $id = $_REQUEST['post'];
160 - $post_obj = get_post( $id );
161 - if( $post_obj ) {
162 - return $post_obj->post_type;
163 - }
164 - }
165 - return null;
166 - }
167 -
168 - function settings() {
169 - $this->settings['plugin_dir'] = FCA_EOI_PLUGIN_DIR;
170 - $this->settings['plugin_url'] = FCA_EOI_PLUGIN_URL;
171 - $this->settings['shortcode'] = $this->shortcode;
172 - $this->settings['shortcode_aliases'] = $this->shortcode_aliases;
173 - $this->settings['version'] = $this->ver;
174 - $this->settings['provider'] = $this->provider;
175 -
176 - // Load all providers
177 - foreach ( glob( $this->settings[ 'plugin_dir' ] . 'providers/*', GLOB_ONLYDIR ) as $provider_path ) {
178 - $provider_id = basename( $provider_path );
179 - require_once "$provider_path/provider.php";
180 - $this->settings[ 'providers' ][ $provider_id ] = call_user_func( "provider_$provider_id" );
181 - }
182 -
183 - if ( $_SERVER['REQUEST_METHOD'] == 'POST' && ! empty( $_POST['paf_submit'] ) ) {
184 - $options_before = get_option('paf');
185 - $options_after = empty( $_POST['paf'] ) ? array() : $_POST['paf'];
186 - $options_changed = true;
187 - } else {
188 - $options_changed = false;
189 - }
190 -
191 - // Load all powerups
192 - foreach ( glob( $this->settings[ 'plugin_dir' ] . 'powerups/*', GLOB_ONLYDIR ) as $powerup_path ) {
193 - $powerup_id = basename( $powerup_path );
194 - $powerup_id = preg_replace('/(\d+)_/', '', $powerup_id);
195 -
196 - require_once "$powerup_path/powerup.php";
197 - $function_name = "powerup_$powerup_id";
198 - $this->settings[ 'powerups' ][ $powerup_id ] = call_user_func( $function_name, $this->settings );
199 -
200 - $option_name = 'eoi_' . $function_name;
201 - if ( $options_changed ) {
202 - $hook_function_name = null;
203 -
204 - if ( empty( $options_before[ $option_name ] ) && ! empty( $options_after[ $option_name ] ) ) {
205 - $hook_function_name = $function_name . '_on_activate';
206 - } else if ( ! empty( $options_before[ $option_name ] ) && empty( $options_after[ $option_name ] ) ) {
207 - $hook_function_name = $function_name . '_on_deactivate';
208 - }
209 -
210 - if ( ! empty( $hook_function_name ) && function_exists( $hook_function_name ) ) {
211 - call_user_func( $hook_function_name, $this->settings );
212 - }
213 - }
214 - }
215 -
216 - paf_pages( array( 'eoi_powerups' => array(
217 - 'title' => __( 'Power Ups Settings' ),
218 - 'menu_title' => __( 'Power Ups' ),
219 - 'parent' => 'edit.php?post_type=easy-opt-ins',
220 - ) ) );
221 -
222 - $this->settings['error_text'] = array(
223 - 'field_required' => 'Error: This field is required.',
224 - 'invalid_email' => "Error: Please enter a valid email address. For example \"max@domain.com\"."
225 - );
226 - }
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 + }
227 104 }
228 -}
229 105
230 106 require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
231 107
232 108 if ( ! is_plugin_active( plugin_basename( __FILE__ ) ) ) {
233 - function fca_eoi_fail_activation( $message ) {
234 - wp_die( sprintf(
235 - '<h2>%s</h2><p>%s</p><p><a class="button button-large" href="%s">%s</a></p>'
236 - , __( 'Ooops!' )
237 - , __( $message )
238 - , admin_url( 'plugins.php' )
239 - , __( 'Go to plugins page' )
240 - ) );
241 - }
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 + }
242 118
243 - function fca_eoi_activation() {
244 - $plugins = get_plugins();
119 + function fca_eoi_activation() {
120 + $plugins = get_plugins();
121 +
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 + }
245 133
246 - // Fail to activate the plugin if other Optin Cat plugins are already active
247 - foreach ( $plugins as $file => $plugin ) {
248 - if ( stripos( $plugin['PluginURI'], 'fatcatapps.com/optincat' ) !== false && is_plugin_active( $file ) ) {
249 - $current_plugin = $plugins[ plugin_basename( __FILE__ ) ];
250 - fca_eoi_fail_activation(
251 - 'Only one Optin Cat plugin can be active at a time, but you already have ' .
252 - htmlspecialchars( $plugin['Name'] ) . ' active. ' .
253 - 'Please deactivate it before activating ' .
254 - htmlspecialchars( $current_plugin['Name'] ) . '.' );
255 - }
256 - }
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 );
257 137
258 - // Fail to activate the plugin if the providers or layouts directories are empty
259 - $providers = glob( FCA_EOI_PLUGIN_DIR . 'providers/*', GLOB_ONLYDIR );
260 - $layouts = glob( FCA_EOI_PLUGIN_DIR . 'layouts/*', GLOB_ONLYDIR );
138 + if ( empty( $providers ) || empty( $layouts ) ) {
139 + fca_eoi_fail_activation( 'Something went wrong. Please delete the plugin and install it again.' );
140 + }
141 +
142 + require FCA_EOI_PLUGIN_DIR . 'includes/eoi-functions.php';
261 143
262 - if ( empty( $providers ) || empty( $layouts ) ) {
263 - fca_eoi_fail_activation( 'Something went wrong. Please delete the plugin and install it again.' );
264 - }
144 + //convert everyone to new Post Meta Format if they are on OLD
145 + fca_eoi_convert_post_meta();
146 + //convert options from 'paf' to 'fca_eoi_settings'
147 + fca_eoi_convert_option_save();
148 +
149 + //check for users of custom form, otherwise that feature is disabled
150 + $opt = get_option ( 'fca_eoi_allow_customform', '' );
151 + if ( empty ( $opt ) ) {
152 + fca_eoi_set_custom_form_depreciation();
153 + }
154 +
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 + }
265 159
266 - // If everything went well, continue with the activation setup
267 - require FCA_EOI_PLUGIN_DIR . 'includes/eoi-activity.php';
268 - EasyOptInsActivity::get_instance()->setup();
269 -
270 - require FCA_EOI_PLUGIN_DIR . 'includes/eoi-init.php';
271 - EasyOptInsInit::get_instance()->on_activate();
272 - }
273 -
274 - // If the plugin is not yet active, check for any obstacles in activation
275 - register_activation_hook( __FILE__, 'fca_eoi_activation' );
276 - 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;
277 163 }
278 164
279 165 $dh_easy_opt_ins_plugin = new DhEasyOptIns();