PluginProbe
AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI / 6.0.3
AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI v6.0.3
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 / mailerpress / mailerpress.php

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

180 lines 4.9 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 - MailerPress
4 * Plugin URI: https://automatorwp.com/add-ons/mailerpress/
5 * Description: Connect AutomatorWP with MailerPress
6 * Version: 1.0.0
7 * Author: AutomatorWP
8 * Author URI: https://automatorwp.com/
9 * Text Domain: automatorwp-mailerpress
10 * Domain Path: /languages/
11 * Requires at least: 4.4
12 * Tested up to: 7.1
13 * Requires PHP: 7.4
14 * License: GNU AGPL v3.0 (http://www.gnu.org/licenses/agpl.txt)
15 *
16 * @package AutomatorWP\MailerPress
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_MailerPress {
25 /**
26 * @var AutomatorWP_Integration_MailerPress $instance The one true AutomatorWP_Integration_MailerPress
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_MailerPress self::$instance
37 */
38 public static function instance() {
39 if( !self::$instance ) {
40 self::$instance = new AutomatorWP_Integration_MailerPress();
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_MAILERPRESS_VER', '1.0.0' );
65
66 // Plugin file
67 define( 'AUTOMATORWP_MAILERPRESS_FILE', __FILE__ );
68
69 // Plugin path
70 define( 'AUTOMATORWP_MAILERPRESS_DIR', plugin_dir_path( __FILE__ ) );
71
72 // Plugin URL
73 define( 'AUTOMATORWP_MAILERPRESS_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_MAILERPRESS_DIR . 'includes/functions.php';
89 require_once AUTOMATORWP_MAILERPRESS_DIR . 'includes/ajax-functions.php';
90 require_once AUTOMATORWP_MAILERPRESS_DIR . 'includes/tags.php';
91
92 // Triggers
93 require_once AUTOMATORWP_MAILERPRESS_DIR . 'includes/triggers/user-contact-added.php';
94 require_once AUTOMATORWP_MAILERPRESS_DIR . 'includes/triggers/tag-added.php';
95
96 // Actions
97 require_once AUTOMATORWP_MAILERPRESS_DIR . 'includes/actions/create-user-contact.php';
98 require_once AUTOMATORWP_MAILERPRESS_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( 'mailerpress', array(
124 'label' => 'MailerPress',
125 'icon' => AUTOMATORWP_MAILERPRESS_URL . 'assets/mailerpress.svg',
126 ) );
127
128 }
129
130
131 /**
132 * Check if all plugin requirements are met
133 *
134 * @since 1.0.0
135 *
136 * @return bool
137 */
138 private function meets_requirements() {
139
140 if ( ! class_exists( 'AutomatorWP' ) ) {
141 return false;
142 }
143
144 if ( ! class_exists( 'MailerPress\Core\Kernel' ) ) {
145 return false;
146 }
147
148 return true;
149
150 }
151
152 /**
153 * Check if the pro version of this integration is installed
154 *
155 * @since 1.0.0
156 *
157 * @return bool True if pro version installed
158 */
159 private function pro_installed() {
160
161 if ( ! class_exists( 'AutomatorWP_MailerPress' ) ) {
162 return false;
163 }
164
165 return true;
166
167 }
168 }
169
170 /**
171 * The main function responsible for returning the one true AutomatorWP_Integration_MailerPress instance
172 *
173 * @since 1.0.0
174 * @return AutomatorWP_Integration_MailerPress
175 */
176 function AutomatorWP_Integration_MailerPress() {
177 return AutomatorWP_Integration_MailerPress::instance();
178 }
179 add_action( 'automatorwp_pre_init', 'AutomatorWP_Integration_MailerPress' );
180