PluginProbe
GetResponse Forms by Optin Cat / 1.7.2
GetResponse Forms by Optin Cat v1.7.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 1.7.2, at getresponse-wp.php

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