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
getresponse / getresponse-wp.php

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

166 lines 5.7 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.4.1
8 Author URI: https://fatcatapps.com/
9 */
10
11 if ( ! function_exists( 'is_admin' ) ) {
12 exit();
13 }
14
15 define( 'FCA_EOI_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
16 define( 'FCA_EOI_PLUGIN_FILE', __FILE__ );
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' );
22
23 if( ! defined ( 'FCA_EOI_DEBUG' ) ) {
24 define( 'FCA_EOI_DEBUG', false );
25 }
26
27 if( ! class_exists( 'DhEasyOptIns' ) ) {
28 class DhEasyOptIns {
29
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 = '';
41
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';
54
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
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 }
68
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();
74
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 }
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 }
89
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;
95
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 }
104 }
105
106 require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
107
108 if ( ! is_plugin_active( plugin_basename( __FILE__ ) ) ) {
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 }
118
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 }
133
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 );
137
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';
143
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 }
159
160 // If the plugin is not yet active, check for any obstacles in activation
161 register_activation_hook( __FILE__, 'fca_eoi_activation' );
162 return;
163 }
164
165 $dh_easy_opt_ins_plugin = new DhEasyOptIns();
166