- Added a new Email defintion (which will soon see it's components changed)
- Added a new post-install script for composer which adds a project skeleton "ready to use". - Error 500 are now handled properly in production; waiting to see if adjustements will be required before adding other code pages.
This commit is contained in:
1 parent
09b3e47c19
commit
01bb926ca7
30 files changed
+887
-2
No files matched your search
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
|
||||
use function DI\autowire, DI\create, DI\get;
|
||||
|
||||
use %NAMESPACE%\Entity;
|
||||
|
||||
use Ulmus\Entity\Field\Datetime,
|
||||
Ulmus\User\Lib\Authenticate;
|
||||
|
||||
use Storage\{ Session, Cookie };
|
||||
|
||||
use Laminas\Diactoros\Response\{ RedirectResponse, HtmlResponse };
|
||||
|
||||
use Notes\Security\SecurityHandler;
|
||||
|
||||
use Picea\Picea;
|
||||
|
||||
use TheBugs\Email\{ EmailConfiguration, MailerInterface, SwiftMailer };
|
||||
|
||||
return [
|
||||
Entity\User::class => autowire(Entity\User::class),
|
||||
|
||||
Authenticate::class => create(Authenticate::class)->constructor(get(Session::class), get(Cookie::class), get('authentication.method')),
|
||||
|
||||
SecurityHandler::class => create(SecurityHandler::class)->constructor(function() {
|
||||
return new RedirectResponse(getenv("URL_BASE")."/connexion");
|
||||
}),
|
||||
|
||||
'authentication.error' => function($c, Picea $picea) {
|
||||
return function($message) use ($picea) {
|
||||
return new HtmlResponse($picea->renderHtml('lean/error/500', [
|
||||
'title' => "",
|
||||
'subtitle' => "",
|
||||
'message' => $message,
|
||||
]));
|
||||
};
|
||||
},
|
||||
|
||||
EmailConfiguration::class => function($c) {
|
||||
$email = new EmailConfiguration( EmailConfiguration::AUTH_TYPE_SMTP );
|
||||
$email->smtpHost = getenv('SMTP_HOST');
|
||||
$email->smtpPort = getenv('SMTP_PORT');
|
||||
$email->smtpUsername = getenv('SMTP_USERNAME');
|
||||
$email->smtpPassword = getenv('SMTP_PASSWORD');
|
||||
$email->smtpUseTLS = getenv('SMTP_TLS');
|
||||
$email->toAddress = getenv("TO_EMAIL");
|
||||
$email->fromAddress = getenv("FROM_EMAIL");
|
||||
$email->fromName = getenv("FROM_NAME");
|
||||
|
||||
return $email;
|
||||
},
|
||||
];
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
use function DI\autowire, DI\create, DI\get;
|
||||
|
||||
$dir = getenv("META_PATH") . "/definitions";
|
||||
|
||||
return array_merge(
|
||||
Lean\Lean::definitions(),
|
||||
|
||||
Lean\Console\Lean::definitions(),
|
||||
|
||||
[
|
||||
'%APPKEY%' => [
|
||||
'picea' => [
|
||||
'context' => "%ESCAPED_NAMESPACE%\\View",
|
||||
|
||||
'extensions' => [
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
'ulmus' => [
|
||||
'entities' => [ '%ESCAPED_NAMESPACE%\\Entity' => getenv("PROJECT_PATH") . '/src/Entity/' ],
|
||||
],
|
||||
|
||||
'routes' => [
|
||||
'%ESCAPED_NAMESPACE%\\Controller' => getenv("PROJECT_PATH") . '/src/Controller/',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
require("$dir/auth.php"),
|
||||
require("$dir/storage.php"),
|
||||
require("$dir/env/" . getenv('APP_ENV') . ".php"),
|
||||
[ 'config' => function () { return require(getenv("META_PATH")."/config.php"); } ]
|
||||
);
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
use function DI\create, DI\autowire, DI\get;
|
||||
|
||||
use Dump\DumpMiddleware;
|
||||
|
||||
if ($_GET['sql'] ?? false) {
|
||||
\Ulmus\Common\PdoObject::$dump = "dump";
|
||||
}
|
||||
|
||||
return [
|
||||
"dump" => create(DumpMiddleware::class),
|
||||
"errorHandler" => create(Middlewares\Whoops::class),
|
||||
];
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
use Picea\Picea;
|
||||
|
||||
use CSLSJ\Debogueur\DebogueurMiddleware;
|
||||
|
||||
use Laminas\Diactoros\Response\HtmlResponse;
|
||||
|
||||
use Psr\Http\Server\MiddlewareInterface,
|
||||
Psr\Http\Message\ServerRequestInterface,
|
||||
Psr\Http\Server\RequestHandlerInterface,
|
||||
Psr\Http\Message\ResponseInterface;
|
||||
|
||||
use function DI\{ create, get, autowire };
|
||||
|
||||
error_reporting(getenv('ERROR_REPORTING') ?: ( E_ALL & ~E_USER_DEPRECATED & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE ));
|
||||
|
||||
return [
|
||||
/* do nothing in production !*/
|
||||
"dump" => function($c) {
|
||||
if (! function_exists('dump') ) {
|
||||
function dump(...$what) {}
|
||||
}
|
||||
|
||||
return new class implements MiddlewareInterface {
|
||||
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface { return $handler->handle($request); }
|
||||
};
|
||||
},
|
||||
|
||||
"errorHandler" => create(DebogueurMiddleware::class)->constructor(getenv('DEBOGUEUR_HASH') ?: "", null, get('app.errorhandler.html')),
|
||||
|
||||
'app.errorhandler.html' => function($c, Picea $picea) {
|
||||
return function(\Throwable $exception) use ($picea) {
|
||||
return new HtmlResponse($picea->renderHtml('lean/error/500', [
|
||||
'title' => "Une erreur s'est produite lors de l'exécution du script.",
|
||||
'subtitle' => "Êtes-vous connecté avec le bon compte ?",
|
||||
'message' => $exception->getMessage(),
|
||||
'exception' => $exception,
|
||||
]));
|
||||
};
|
||||
},
|
||||
];
|
||||
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
use Psr\Container\ContainerInterface;
|
||||
|
||||
use Ulmus\ConnectionAdapter,
|
||||
Ulmus\Container\AdapterProxy;
|
||||
|
||||
use LdapRecord\Connection;
|
||||
|
||||
return [
|
||||
ConnectionAdapter::class => function($c) {
|
||||
$adapter = new ConnectionAdapter('default', $c->get('config')['ulmus'], true);
|
||||
$adapter->resolveConfiguration();
|
||||
|
||||
$adapter->connect();
|
||||
|
||||
return $adapter;
|
||||
},
|
||||
|
||||
AdapterProxy::class => function (ContainerInterface $c) {
|
||||
return new AdapterProxy(
|
||||
$c->get(ConnectionAdapter::class)
|
||||
);
|
||||
}
|
||||
];
|
||||
Reference in new issue
Block a user