40 lines
1.5 KiB
PHP
40 lines
1.5 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use FecaMailshots\Plugin;
|
|
use FecaMailshots\WordPress\ProductionWordPressFacade;
|
|
|
|
require_once __DIR__ . '/autoload.php';
|
|
|
|
$getOption = static function (string $key): string {
|
|
if (!function_exists('get_option')) {
|
|
return '';
|
|
}
|
|
$raw = get_option(\FecaMailshots\Admin\SetupAdminPage::OPTION_KEY, []);
|
|
if (!is_array($raw) || !isset($raw[$key])) {
|
|
return '';
|
|
}
|
|
return trim((string) $raw[$key]);
|
|
};
|
|
|
|
$dbConfig = [
|
|
'MYSQL_HOST' => $getOption('db_host'),
|
|
'MYSQL_PORT' => $getOption('db_port'),
|
|
'MYSQL_USER' => $getOption('db_user'),
|
|
'MYSQL_PASSWORD' => $getOption('db_password'),
|
|
'MAILSHOTS_REMOTE_MYSQL_DB' => $getOption('mailshots_db_name'),
|
|
'MEMBERS_REMOTE_MYSQL_DB' => $getOption('members_db_name'),
|
|
];
|
|
|
|
$wp = new ProductionWordPressFacade();
|
|
$container = Plugin::buildContainer($dbConfig, $wp);
|
|
$container->get(FecaMailshots\Admin\DataSourcesAdminPage::class)->register();
|
|
$container->get(FecaMailshots\Admin\MailshotsAdminPage::class)->register();
|
|
$container->get(FecaMailshots\Admin\AttachmentsAdminPage::class)->register();
|
|
$container->get(FecaMailshots\Admin\PdfAssetsAdminPage::class)->register();
|
|
$container->get(FecaMailshots\Admin\SetupAdminPage::class)->register();
|
|
$container->get(FecaMailshots\Admin\ProfileAdminPage::class)->register();
|
|
$container->get(FecaMailshots\Admin\MailshotTestAdminPage::class)->register();
|
|
$container->get(FecaMailshots\Admin\RunMailshotAdminPage::class)->register();
|