PluginProbe
AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI / 5.8.6
AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI v5.8.6
6.0.3 6.0.2 6.0.1 6.0.0 5.8.6 5.8.5 5.8.4 5.8.3 5.8.2 5.8.1 5.8.0 5.7.9.2 5.7.9.1 5.7.8 5.7.9 5.7.6 5.7.7 5.7.5 5.7.4 5.7.3 5.7.2 5.7.1 trunk 5.6.0 5.6.1 All 34 releases
automatorwp / integrations / mail-mint / mail-mint.php

mail-mint.php in AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI 5.8.6, at integrations/mail-mint/mail-mint.php

179 lines 4.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: AutomatorWP - Mail Mint
4 * Plugin URI: https://automatorwp.com/add-ons/mail-mint/
5 * Description: Connect AutomatorWP with Mail Mint
6 * Version: 1.0.0
7 * Author: AutomatorWP
8 * Author URI: https://automatorwp.com/
9 * Text Domain: automatorwp-mail-mint
10 * Domain Path: /languages/
11 * Requires at least: 4.4
12 * Tested up to: 7.0
13 * Requires PHP: 7.4
14 * License: GNU AGPL v3.0 (http://www.gnu.org/licenses/agpl.txt)
15 *
16 * @package AutomatorWP\Mail_Mint
17 * @author AutomatorWP
18 * @copyright Copyright (c) AutomatorWP
19 */
20
21 // Exit if accessed directly
22 if ( ! defined( 'ABSPATH' ) ) exit;
23
24 final class AutomatorWP_Integration_Mail_Mint {
25 /**
26 * @var AutomatorWP_Integration_Mail_Mint $instance The one true AutomatorWP_Integration_Mail_Mint
27 * @since 1.0.0
28 */
29 private static $instance;
30
31 /**
32 * Get active instance
33 *
34 * @access public
35 * @since 1.0.0
36 * @return AutomatorWP_Integration_Mail_Mint self::$instance
37 */
38 public static function instance() {
39 if( !self::$instance ) {
40 self::$instance = new AutomatorWP_Integration_Mail_Mint();
41
42 if( ! self::$instance->pro_installed() ) {
43
44 self::$instance->constants();
45 self::$instance->includes();
46
47 }
48
49 self::$instance->hooks();
50 }
51
52 return self::$instance;
53 }
54
55 /**
56 * Setup plugin constants
57 *
58 * @access private
59 * @since 1.0.0
60 * @return void
61 */
62 private function constants() {
63 // Plugin version
64 define( 'AUTOMATORWP_MAIL_MINT_VER', '1.0.0' );
65
66 // Plugin file
67 define( 'AUTOMATORWP_MAIL_MINT_FILE', __FILE__ );
68
69 // Plugin path
70 define( 'AUTOMATORWP_MAIL_MINT_DIR', plugin_dir_path( __FILE__ ) );
71
72 // Plugin URL
73 define( 'AUTOMATORWP_MAIL_MINT_URL', plugin_dir_url( __FILE__ ) );
74 }
75
76 /**
77 * Include plugin files
78 *
79 * @access private
80 * @since 1.0.0
81 * @return void
82 */
83 private function includes() {
84
85 if ( $this->meets_requirements() ) {
86
87 // Functions
88 require_once AUTOMATORWP_MAIL_MINT_DIR . 'includes/functions.php';
89 require_once AUTOMATORWP_MAIL_MINT_DIR . 'includes/ajax-functions.php';
90 require_once AUTOMATORWP_MAIL_MINT_DIR . 'includes/tags.php';
91
92 // Triggers
93 require_once AUTOMATORWP_MAIL_MINT_DIR . 'includes/triggers/user-contact-added.php';
94 require_once AUTOMATORWP_MAIL_MINT_DIR . 'includes/triggers/tag-added.php';
95
96 // Actions
97 require_once AUTOMATORWP_MAIL_MINT_DIR . 'includes/actions/create-user-contact.php';
98 require_once AUTOMATORWP_MAIL_MINT_DIR . 'includes/actions/user-add-tag.php';
99
100 }
101 }
102
103 /**
104 * Setup plugin hooks
105 *
106 * @access private
107 * @since 1.0.0
108 * @return void
109 */
110 private function hooks() {
111
112 add_action( 'automatorwp_init', array( $this, 'register_integration' ) );
113
114 }
115
116 /**
117 * Registers this integration with AutomatorWP
118 *
119 * @since 1.0.0
120 */
121 public function register_integration() {
122
123 automatorwp_register_integration( 'mail_mint', array(
124 'label' => 'Mail Mint',
125 'icon' => AUTOMATORWP_MAIL_MINT_URL . 'assets/mail-mint.svg',
126 ) );
127
128 }
129
130 /**
131 * Check if all plugin requirements are met
132 *
133 * @since 1.0.0
134 *
135 * @return bool
136 */
137 private function meets_requirements() {
138
139 if ( ! class_exists( 'AutomatorWP' ) ) {
140 return false;
141 }
142
143 if ( ! defined( 'MRM_VERSION' ) ) {
144 return false;
145 }
146
147 return true;
148
149 }
150
151 /**
152 * Check if the pro version of this integration is installed
153 *
154 * @since 1.0.0
155 *
156 * @return bool True if pro version installed
157 */
158 private function pro_installed() {
159
160 if ( ! class_exists( 'AutomatorWP_Mail_Mint' ) ) {
161 return false;
162 }
163
164 return true;
165
166 }
167 }
168
169 /**
170 * The main function responsible for returning the one true AutomatorWP_Integration_Mail_Mint instance
171 *
172 * @since 1.0.0
173 * @return AutomatorWP_Integration_Mail_Mint
174 */
175 function AutomatorWP_Integration_Mail_Mint() {
176 return AutomatorWP_Integration_Mail_Mint::instance();
177 }
178 add_action( 'automatorwp_pre_init', 'AutomatorWP_Integration_Mail_Mint' );
179