mailchimp-for-wp
Last commit date
assets
10 years ago
config
10 years ago
includes
10 years ago
integrations
10 years ago
languages
10 years ago
vendor
10 years ago
CHANGELOG.md
10 years ago
LICENSE
11 years ago
mailchimp-for-wp.php
10 years ago
readme.txt
10 years ago
wpml-config.xml
10 years ago
mailchimp-for-wp.php
120 lines
| 1 | <?php |
| 2 | /* |
| 3 | Plugin Name: MailChimp for WordPress |
| 4 | Plugin URI: https://mc4wp.com/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=plugins-page |
| 5 | Description: MailChimp for WordPress by ibericode. Adds various highly effective sign-up methods to your site. |
| 6 | Version: 3.1 |
| 7 | Author: ibericode |
| 8 | Author URI: https://ibericode.com/ |
| 9 | Text Domain: mailchimp-for-wp |
| 10 | Domain Path: /languages |
| 11 | License: GPL v3 |
| 12 | |
| 13 | MailChimp for WordPress |
| 14 | Copyright (C) 2012-2015, Danny van Kooten, hi@dannyvankooten.com |
| 15 | |
| 16 | This program is free software: you can redistribute it and/or modify |
| 17 | it under the terms of the GNU General Public License as published by |
| 18 | the Free Software Foundation, either version 3 of the License, or |
| 19 | (at your option) any later version. |
| 20 | |
| 21 | This program is distributed in the hope that it will be useful, |
| 22 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 23 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 24 | GNU General Public License for more details. |
| 25 | |
| 26 | You should have received a copy of the GNU General Public License |
| 27 | along with this program. If not, see <http://www.gnu.org/licenses/>. |
| 28 | */ |
| 29 | |
| 30 | // Prevent direct file access |
| 31 | defined( 'ABSPATH' ) or exit; |
| 32 | |
| 33 | /** |
| 34 | * Bootstrap the MailChimp for WordPress plugin |
| 35 | * |
| 36 | * @ignore |
| 37 | * @access private |
| 38 | * @return bool |
| 39 | */ |
| 40 | function __mc4wp_load_plugin() { |
| 41 | |
| 42 | global $mc4wp; |
| 43 | |
| 44 | // Don't run if MailChimp for WP Pro 2.x is activated |
| 45 | if( defined( 'MC4WP_VERSION' ) ) { |
| 46 | return false; |
| 47 | } |
| 48 | |
| 49 | // bootstrap the core plugin |
| 50 | define( 'MC4WP_VERSION', '3.1' ); |
| 51 | define( 'MC4WP_PLUGIN_DIR', dirname( __FILE__ ) . '/' ); |
| 52 | define( 'MC4WP_PLUGIN_URL', plugins_url( '/' , __FILE__ ) ); |
| 53 | define( 'MC4WP_PLUGIN_FILE', __FILE__ ); |
| 54 | |
| 55 | // load autoloader |
| 56 | require_once MC4WP_PLUGIN_DIR . 'vendor/autoload_52.php'; |
| 57 | |
| 58 | /** |
| 59 | * @global MC4WP_Container $GLOBALS['mc4wp'] |
| 60 | * @name $mc4wp |
| 61 | */ |
| 62 | $mc4wp = mc4wp(); |
| 63 | $mc4wp['api'] = 'mc4wp_get_api'; |
| 64 | $mc4wp['request'] = array( 'MC4WP_Request', 'create_from_globals' ); |
| 65 | $mc4wp['log'] = 'mc4wp_get_debug_log'; |
| 66 | |
| 67 | // forms |
| 68 | $mc4wp['forms'] = new MC4WP_Form_Manager(); |
| 69 | $mc4wp['forms']->add_hooks(); |
| 70 | |
| 71 | // integration core |
| 72 | $mc4wp['integrations'] = new MC4WP_Integration_Manager(); |
| 73 | $mc4wp['integrations']->add_hooks(); |
| 74 | |
| 75 | // bootstrap custom integrations |
| 76 | require_once MC4WP_PLUGIN_DIR . 'integrations/bootstrap.php'; |
| 77 | |
| 78 | // Doing cron? Load Usage Tracking class. |
| 79 | if( defined( 'DOING_CRON' ) && DOING_CRON ) { |
| 80 | MC4WP_Usage_Tracking::instance()->add_hooks(); |
| 81 | } |
| 82 | |
| 83 | // Initialize admin section of plugin |
| 84 | if( is_admin() |
| 85 | && ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) ) { |
| 86 | |
| 87 | $messages = new MC4WP_Admin_Messages(); |
| 88 | $mc4wp['admin.messages'] = $messages; |
| 89 | |
| 90 | $mailchimp = new MC4WP_MailChimp(); |
| 91 | |
| 92 | $admin = new MC4WP_Admin( $messages, $mailchimp ); |
| 93 | $admin->add_hooks(); |
| 94 | |
| 95 | $forms_admin = new MC4WP_Forms_Admin( $messages, $mailchimp ); |
| 96 | $forms_admin->add_hooks(); |
| 97 | |
| 98 | $integrations_admin = new MC4WP_Integration_Admin( $mc4wp['integrations'], $messages, $mailchimp ); |
| 99 | $integrations_admin->add_hooks(); |
| 100 | } |
| 101 | |
| 102 | return true; |
| 103 | } |
| 104 | |
| 105 | add_action( 'plugins_loaded', '__mc4wp_load_plugin', 20 ); |
| 106 | |
| 107 | /** |
| 108 | * Flushes all MailChimp caches |
| 109 | * |
| 110 | * @ignore |
| 111 | * @access private |
| 112 | * @since 3.0 |
| 113 | */ |
| 114 | function __mc4wp_flush() { |
| 115 | delete_transient( 'mc4wp_mailchimp_lists' ); |
| 116 | delete_transient( 'mc4wp_mailchimp_lists_fallback' ); |
| 117 | } |
| 118 | |
| 119 | register_activation_hook( __FILE__, '__mc4wp_flush' ); |
| 120 |