PluginProbe ʕ •ᴥ•ʔ
MailPoet – Newsletters, Email Marketing, and Automation / 5.27.0
MailPoet – Newsletters, Email Marketing, and Automation v5.27.0
5.28.1 5.28.0 5.27.0 5.26.0 5.26.1 5.25.0 5.24.0 4.43.0 4.43.1 4.44.0 4.44.1 4.45.0 4.46.0 4.47.0 4.48.0 4.48.1 4.48.2 4.49.0 4.49.1 4.5.0 4.5.1 4.5.2 4.50.0 4.50.1 4.51.0 4.51.1 4.51.2 4.52.0 4.53.0 4.54.0 4.55.0 4.56.0 4.57.0 4.58.0 4.58.1 4.58.2 4.6.0 4.6.1 4.6.2 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 5.0.0 5.0.1 5.0.2 5.1.0 5.1.1 5.10.0 5.10.1 5.11.0 5.12.0 5.12.1 5.12.10 5.12.11 5.12.12 5.12.13 5.12.2 5.12.3 5.12.4 5.12.5 5.12.6 5.12.7 5.12.8 5.12.9 5.13.0 5.13.1 5.13.2 5.14.0 5.14.1 5.14.2 5.14.3 5.15.0 5.15.1 5.16.0 5.16.1 5.16.2 5.16.3 5.16.4 5.17.0 5.17.1 5.17.2 5.17.3 5.17.4 5.17.5 5.17.6 5.18.0 5.19.0 5.2.0 5.2.1 5.2.2 5.2.3 5.20.0 5.21.0 5.21.1 5.21.2 5.21.3 5.22.0 5.22.1 5.22.2 5.22.3 5.22.4 5.23.0 5.23.1 5.23.2 5.3.0 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 5.4.0 5.4.1 5.4.2 5.5.0 5.5.1 5.5.2 5.6.0 5.6.1 5.6.2 5.6.3 5.6.4 5.7.0 5.7.1 5.8.0 5.8.1 5.9.0 3.0.0-beta.15 3.7.1 3.0.0-beta.16 3.7.2 3.0.0-beta.17 3.7.3 3.0.0-beta.18 3.7.4 3.0.0-beta.19 3.7.5 3.0.0-beta.2 3.7.6 3.0.0-beta.20 3.7.8 3.0.0-beta.21 3.70.0 3.0.0-beta.22 3.71.0 3.0.0-beta.23 3.71.1 3.0.0-beta.23.1 3.71.2 3.0.0-beta.23.2 3.71.3 3.0.0-beta.24 3.72.0 3.0.0-beta.25 3.73.0 3.0.0-beta.26 3.73.1 3.0.0-beta.27 3.73.2 3.0.0-beta.28 3.74.0 3.0.0-beta.29 3.74.1 3.0.0-beta.3 3.74.2 3.0.0-beta.30 3.74.3 3.0.0-beta.31 3.75.0 3.0.0-beta.32 3.75.1 3.0.0-beta.33 3.76.0 3.0.0-beta.33.1 3.77.0 3.0.0-beta.34.0.0 3.77.1 3.0.0-beta.36.0.0 3.78.0 3.0.0-beta.36.0.1 3.79.0 3.0.0-beta.36.2.0 3.8 3.0.0-beta.36.3.0 3.8.1 3.0.0-beta.36.3.1 3.8.2 3.0.0-beta.37.0.0 3.8.3 3.0.0-beta.4 3.8.4 3.0.0-beta.5 3.8.5 3.0.0-beta.6 3.8.6 3.0.0-beta.7 3.80.0 3.0.0-beta.7.1 3.81.0 3.0.0-beta.8 3.82.0 3.0.0-beta.9 3.83.0 3.0.0-rc.1.0.0 3.84.0 3.0.0-rc.1.0.1 3.84.1 3.0.0-rc.1.0.2 3.85.0 3.0.0-rc.1.0.3 3.85.1 3.0.0-rc.1.0.4 3.86.0 3.0.0-rc.2.0.0 3.87.0 3.0.0-rc.2.0.1 3.87.1 3.0.0-rc.2.0.2 3.87.2 3.0.0-rc.2.0.3 3.88.0 3.0.1 3.88.1 3.0.2 3.88.2 3.0.3 3.89.0 3.0.4 3.89.1 3.0.5 3.89.2 3.0.6 3.89.3 3.0.7 3.89.4 3.0.8 3.9.0 3.0.9 3.9.1 3.1.0 3.90.0 3.10 3.90.1 3.10.1 3.90.2 3.100.0 3.91.0 3.100.1 3.91.1 3.100.2 3.92.0 3.101.0 3.92.1 3.101.1 3.93.0 3.102.0 3.93.1 3.102.1 3.94.0 3.103.0 3.95.0 3.103.1 3.95.1 3.11.0 3.96.0 3.11.1 3.96.1 3.11.2 3.97.0 3.11.3 3.98.0 3.11.4 3.98.1 3.11.5 3.99.0 3.12.0 3.99.1 3.12.1 4.0.0 3.13.0 4.0.1 3.14.0 4.1.0 3.14.1 4.1.1 3.15.0 4.10.0 3.16.0 4.11.0 3.16.1 4.11.1 3.16.2 4.12.0 3.16.3 4.12.1 3.17.0 4.12.2 3.17.1 4.13.0 3.17.2 4.14.0 3.18.0 4.15.0 3.18.1 4.16.0 3.18.2 4.17.0 3.19.0 4.17.1 3.19.1 4.18.0 3.19.2 4.18.1 3.19.3 4.19.0 3.2.0 4.2.0 3.2.1 4.20.0 3.2.2 4.20.1 3.2.3 4.20.2 3.2.4 4.21.0 3.2.5 4.22.0 3.20.0 4.22.1 3.21.0 4.22.2 3.21.1 4.23.0 3.22.0 4.24.0 3.23.0 4.25.0 3.23.1 4.26.0 3.23.2 4.26.1 3.24.0 4.27.0 3.25.0 4.28.0 3.25.1 4.29.0 3.26.0 4.3.0 3.26.1 4.3.1 3.27.0 4.30.0 3.28.0 4.31.0 3.29.0 4.31.1 3.3.0 4.32.0 3.3.1 4.33.0 3.3.2 4.34.0 3.3.3 4.35.0 3.3.4 4.35.1 3.3.5 4.36.0 3.3.6 4.37.0 3.30.0 4.38.0 3.31.0 4.39.0 3.31.1 4.4.0 3.32.0 4.40.0 3.32.1 4.41.0 3.32.2 4.41.1 3.33.0 4.41.2 3.34.0 4.41.3 3.34.1 4.42.0 3.34.2 4.42.1 3.34.3 3.34.4 3.35.0 3.35.1 3.35.3 3.35.4 3.36.0 3.37.0 3.37.1 3.37.2 3.37.3 3.38.0 3.38.1 3.39.0 3.39.1 3.39.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.40.0 3.40.1 3.41.0 3.41.1 3.41.2 3.42.0 3.42.1 3.42.2 3.42.3 3.43.0 3.43.1 3.44.0 3.45.0 3.45.1 3.46.0 3.46.1 3.46.10 3.46.11 3.46.12 3.46.13 3.46.14 3.46.2 3.46.3 3.46.4 3.46.5 3.46.6 3.46.7 3.46.8 3.46.9 3.47.0 3.47.1 3.47.10 3.47.11 3.47.2 3.47.3 3.47.5 3.47.6 3.47.7 3.47.9 3.48.0 3.48.1 3.49.0 3.49.1 3.5.0 3.5.1 3.50.0 3.51.0 3.51.1 3.51.2 3.52.0 3.53.0 3.54.0 3.54.1 3.54.2 3.54.3 3.55.0 3.55.1 3.56.0 3.56.1 3.56.2 3.57.0 3.57.1 3.58.0 3.59.0 3.59.1 3.59.2 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.60.0 3.60.1 3.60.10 3.60.11 3.60.12 3.60.2 3.60.3 3.60.4 3.60.6 3.60.7 3.60.8 3.60.9 3.61.0 3.62.0 3.62.1 3.63.0 3.64.0 3.64.1 3.64.2 3.64.3 3.65.0 trunk 3.65.1 3.0.0 3.66.0 3.0.0-beta.1 3.67.0 3.0.0-beta.10 3.67.1 3.0.0-beta.11 3.68.0 3.0.0-beta.12 3.69.0 3.0.0-beta.13 3.69.1 3.0.0-beta.14 3.7.0
mailpoet / mailpoet_initializer.php
mailpoet Last commit date
assets 2 weeks ago generated 2 weeks ago lang 2 weeks ago lib 2 weeks ago lib-3rd-party 4 months ago vendor 2 weeks ago vendor-prefixed 3 months ago views 2 weeks ago .gitleaksignore 1 year ago index.php 3 years ago license.txt 4 years ago mailpoet-cron.php 4 months ago mailpoet.php 2 weeks ago mailpoet_initializer.php 3 months ago readme.txt 2 weeks ago
mailpoet_initializer.php
127 lines
1 <?php // phpcs:ignore SlevomatCodingStandard.TypeHints.DeclareStrictTypes.DeclareStrictTypesMissing
2
3 if (!defined('ABSPATH')) exit;
4
5
6 use Automattic\WooCommerce\EmailEditor\Email_Editor_Container;
7 use MailPoet\Config\Env;
8 use MailPoet\Config\RequirementsChecker;
9 use Tracy\Debugger;
10
11 if (empty($mailpoetPlugin)) exit;
12
13 require_once($mailpoetPlugin['autoloader']);
14
15 if (PHP_VERSION_ID >= 80200) {
16 $tracyPath = __DIR__ . '/tools/vendor/tracy.phar';
17 } else {
18 $tracyPath = __DIR__ . '/tools/vendor/tracy-legacy.phar';
19 }
20 if (WP_DEBUG && PHP_VERSION_ID >= 70100 && file_exists($tracyPath)) {
21 require_once $tracyPath;
22
23 if (getenv('MAILPOET_TRACY_PRODUCTION_MODE')) {
24 $logDir = getenv('MAILPOET_TRACY_LOG_DIR');
25 if (!$logDir) {
26 throw new RuntimeException("Environment variable 'MAILPOET_TRACY_LOG_DIR' was not set.");
27 }
28
29 if (!is_dir($logDir)) {
30 @mkdir($logDir, 0777, true);
31 }
32
33 if (!is_writable($logDir)) {
34 throw new RuntimeException("Logging directory '$logDir' is not writable.'");
35 }
36
37 Debugger::enable(Debugger::PRODUCTION, $logDir);
38 Debugger::$logSeverity = E_ALL;
39 } else {
40 function render_tracy() {
41 ob_start();
42 Debugger::renderLoader();
43 $tracyScriptHtml = ob_get_clean();
44
45 // strip 'async' to ensure all AJAX request are caught
46 // (even when fired immediately after page starts loading)
47 // see: https://github.com/nette/tracy/issues/246
48 $tracyScriptHtml = str_replace('async', '', $tracyScriptHtml);
49
50 // set higher number of displayed AJAX rows
51 $maxAjaxRows = 4;
52 $tracyScriptHtml .= "<script>window.TracyMaxAjaxRows = $maxAjaxRows;</script>\n";
53
54 // just minor adjustments to Debugger::renderLoader() output
55 // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
56 echo $tracyScriptHtml;
57 }
58
59 add_action('admin_enqueue_scripts', 'render_tracy', PHP_INT_MAX, 0);
60 session_start();
61 Debugger::enable(Debugger::DEVELOPMENT);
62
63 // Fix Tracy info panel error: when Composer\Autoload\ClassLoader is loaded
64 // from a plugin without autoload_psr4.php (e.g., Query Monitor), Tracy's
65 // info panel fails with "Undefined variable $baseDir". Wrap the panel to
66 // suppress this specific error.
67 $bar = Debugger::getBar();
68 $origInfoPanel = $bar->getPanel('Tracy:info');
69 $bar->addPanel(new class($origInfoPanel) implements \Tracy\IBarPanel {
70 private $inner;
71
72 public function __construct(
73 \Tracy\IBarPanel $inner
74 ) {
75 $this->inner = $inner;
76 }
77
78 public function getTab(): string {
79 return $this->inner->getTab();
80 }
81
82 public function getPanel(): string {
83 $prev = set_error_handler(function ($severity, $message, $file) use (&$prev) {
84 if (strpos($message, 'Undefined variable') !== false && strpos($file, 'info.panel.phtml') !== false) {
85 return true;
86 }
87 return $prev ? $prev($severity, $message, $file, func_get_arg(3)) : false;
88 });
89 try {
90 return $this->inner->getPanel();
91 } finally {
92 restore_error_handler();
93 }
94 }
95 }, 'Tracy:info');
96
97 if (getenv('MAILPOET_DISABLE_TRACY_PANEL')) {
98 Debugger::$showBar = false;
99 }
100 }
101 define('MAILPOET_DEVELOPMENT', true);
102 }
103
104 define('MAILPOET_VERSION', $mailpoetPlugin['version']);
105
106 Env::init(
107 $mailpoetPlugin['filename'],
108 $mailpoetPlugin['version']
109 );
110
111 $requirements = new RequirementsChecker();
112 $requirementsCheckResults = $requirements->checkAllRequirements();
113 if (
114 !$requirementsCheckResults[RequirementsChecker::TEST_VENDOR_SOURCE]
115 ) {
116 return;
117 }
118
119 // Ensure functions like get_plugins, etc.
120 require_once(ABSPATH . 'wp-admin/includes/plugin.php');
121
122 // Initialize the Email Editor container to allow getting its instances in MailPoet constructors.
123 Email_Editor_Container::init();
124
125 $initializer = MailPoet\DI\ContainerWrapper::getInstance()->get(MailPoet\Config\Initializer::class);
126 $initializer->init();
127