28 lines
1.1 KiB
PHP
28 lines
1.1 KiB
PHP
<?php
|
|
use Psr\Container\ContainerInterface;
|
|
|
|
return [
|
|
Ddeboer\Imap\ServerInterface::class => function(ContainerInterface $container) {
|
|
$emails = $container->get('emails');
|
|
if (isset($emails->port)) {
|
|
return new Ddeboer\Imap\Server($emails->host, $emails->port);
|
|
}
|
|
return new Ddeboer\Imap\Server($emails->host);
|
|
},
|
|
Ddeboer\Imap\ConnectionInterface::class => function(ContainerInterface $container) {
|
|
$emails = $container->get('emails');
|
|
$server = $container->get(Ddeboer\Imap\ServerInterface::class);
|
|
return $server->authenticate($emails->username, $emails->password);
|
|
},
|
|
PDO::class => function(ContainerInterface $container) {
|
|
$database = $container->get('database');
|
|
$dsn = ["mysql:host={$database->host}"];
|
|
if (isset($database->port)) {
|
|
$dsn []= "port={$database->port}";
|
|
}
|
|
$dsn []= "dbname={$database->name}";
|
|
$dsn = implode(';', $dsn);
|
|
return new PDO($dsn, $database->user->name, $database->user->password);
|
|
},
|
|
];
|