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