PluginProbe ʕ •ᴥ•ʔ
MailPoet – Newsletters, Email Marketing, and Automation / 5.35.1
MailPoet – Newsletters, Email Marketing, and Automation v5.35.1
5.35.1 5.35.0 5.34.3 5.34.2 5.34.1 5.34.0 5.33.1 5.33.0 5.32.0 5.31.0 5.30.0 5.29.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 1 day ago generated 1 day ago lang 1 day ago lib 1 day ago lib-3rd-party 6 months ago vendor 1 day ago vendor-prefixed 2 months ago views 1 day ago .gitleaksignore 2 weeks ago index.php 3 years ago license.txt 4 years ago mailpoet-cron.php 6 months ago mailpoet.php 1 day ago mailpoet_initializer.php 6 months ago readme.txt 1 day 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