Overview

Packages

  • Mauticommerce
  • None

Classes

  • Mauticommerce
  • Mauticommerce_Admin
  • Mauticommerce_Err
  • Mauticommerce_Order

Functions

  • __
  • _x
  • get_mautic_country_list
  • get_mautic_region
  • get_woocommerce_country_list
  • mautic_is_activate_woocommerce
  • Overview
  • Package
  • Class
  1: <?php
  2: /**
  3:  * Plugin Name: Mauticommerce
  4:  * Version: 0.1.0
  5:  * Descrtiption: Senf Woo Wommerce customer information to Mautic Form.
  6:  * Author: hideokamoto
  7:  * Author URI: http://wp-kyoto.net/
  8:  * Plugin URI: https://github.com/megumiteam/mauticommerce
  9:  * Text Domain: mauticommerce
 10:  * Domain Path: /languages
 11:  * @package Mauticommerce
 12:  */
 13: if ( ! mautic_is_activate_woocommerce() ) {
 14:     $mauticommerce_err = new Mauticommerce_Err();
 15:     $mauticommerce_err->activation_fail();
 16:     return false;
 17: }
 18: define( 'MAUTICOMMERCE_PATH', plugin_dir_path( __FILE__ ) );
 19: define( 'MAUTICOMMERCE_URL', plugin_dir_url( __FILE__ ) );
 20: define( 'MAUTICOMMERCE_ROOT', __FILE__ );
 21: 
 22: require_once 'inc/class.admin.php';
 23: require_once 'inc/class.order.php';
 24: 
 25: $mauticommerce = Mauticommerce::get_instance();
 26: $mauticommerce->init();
 27: 
 28: class Mauticommerce {
 29:     private static $instance;
 30:     private static $text_domain;
 31: 
 32:     private function __construct() {
 33:     }
 34: 
 35:     public static function get_instance() {
 36:         if ( ! isset( self::$instance ) ) {
 37:             $c = __CLASS__;
 38:             self::$instance = new $c();
 39:         }
 40:         return self::$instance;
 41:     }
 42: 
 43:     /**
 44:      * Get Plugin text_domain
 45:      *
 46:      * @return string
 47:      * @since 0.0.1
 48:      */
 49:     public static function text_domain() {
 50:         static $text_domain;
 51: 
 52:         if ( ! $text_domain ) {
 53:             $data = get_file_data( MAUTICOMMERCE_ROOT , array( 'text_domain' => 'Text Domain' ) );
 54:             $text_domain = $data['text_domain'];
 55:         }
 56:         return $text_domain;
 57:     }
 58: 
 59:     public function init() {
 60:         $admin = Mauticommerce_Admin::get_instance();
 61:         add_action( 'admin_menu', array( $admin, 'add_admin_menu' ) );
 62:         add_action( 'admin_init', array( $admin, 'settings_init' ) );
 63:         $order = Mauticommerce_Order::get_instance();
 64:         add_action( 'woocommerce_checkout_update_order_meta', array( $order, 'subscribe_to_mautic' ) );
 65:     }
 66: }
 67: 
 68: class Mauticommerce_Err {
 69:     /**
 70:      * Set Error to fail to Actiavation Plugin
 71:      *
 72:      * @since 0.1.1
 73:      **/
 74:     public function activation_fail() {
 75:         $msg = array(
 76:             __( 'MautiCommerce Need "WooCommerce" Plugin.' , 'mauticommerce' ),
 77:             __( 'Please Activate it.' , 'mauticommerce' ),
 78:         );
 79:         $e = new WP_Error( 'MautiCommerce Activation Error', $msg );
 80:         $this->show_error_message( $e );
 81:         add_action( 'admin_notices', array( $this, 'admin_notices' ) );
 82:         return $e;
 83:     }
 84: 
 85:     /**
 86:      * Show notice for wp-admin if have error messages
 87:      *
 88:      * @since 0.0.1
 89:      **/
 90:     public function admin_notices() {
 91:         if ( $message_list = get_transient( 'mautic-admin-errors' ) ) {
 92:             $this->show_notice_html( $message_list );
 93:         }
 94:     }
 95: 
 96:     /**
 97:      * Set error message
 98:      *
 99:      * @param WP_Error
100:      * @since 0.0.1
101:      */
102:     public function show_error_message( $msg ) {
103:         if ( ! is_wp_error( $msg ) ) {
104:             $e = new WP_Error();
105:             $e->add( 'error' , $msg , 'mautic-admin-errors' );
106:         } else {
107:             $e = $msg;
108:         }
109:         set_transient( 'mautic-admin-errors' , $e->get_error_messages(), 10 );
110:     }
111: 
112:     /**
113:      * echo error message html
114:      *
115:      * @param array
116:      * @since 0.1.0
117:      */
118:     public function show_notice_html( $message_list ) {
119:         foreach ( $message_list as $key => $messages ) {
120:             $html  = "<div class='error'><ul>";
121:             foreach ( (array) $messages as $key => $message ) {
122:                 $html .= "<li>{$message}</li>";
123:             }
124:             $html .= '</ul></div>';
125:         }
126:         echo $html;
127:     }
128: }
129: 
130: /**
131:  * Check WooCommerce Plugin status
132:  *
133:  * @since 0.0.1
134:  * @return bool
135:  */
136: function mautic_is_activate_woocommerce() {
137:     $active_plugins = get_option( 'active_plugins' );
138:     $plugin = 'woocommerce/woocommerce.php';
139:     if ( ! array_search( $plugin, $active_plugins ) && file_exists( WP_PLUGIN_DIR . '/' . $plugin ) ) {
140:         return false;
141:     } else {
142:         return true;
143:     }
144: }
145: 
API documentation generated by ApiGen