diff --git a/meta/definitions/cli.php b/meta/definitions/cli.php index 98a42b2..c6237cd 100644 --- a/meta/definitions/cli.php +++ b/meta/definitions/cli.php @@ -11,24 +11,6 @@ use Notes\CLI\CommandFetcher; use Lean\Lean; return [ - /*CronardMiddleware::class => function($c) { - $cronardMiddleware = new CronardMiddleware($c, getenv('CRON_KEY'), function() : ResponseInterface { - return new HtmlResponse(sprintf("%s - cron task begin...", date('Y-m-d H:i:s'))); - }, [], $c->get(TaskFetcher::class)); - - return $cronardMiddleware->fromFile(getenv("META_PATH")."/crontab.php")->fromAnnotations($c->get(TaskFetcher::class)); - }, - - TaskFetcher::class => function($c) { - $fetcher = new TaskFetcher(null, null, $c->get('cronard.caching')); - - $fetcher->setFolderList(array_map(function($item) { - return $item; - }, $c->get(Lean::class)->getCronard())); - - return $fetcher; - },*/ - CommandFetcher::class => function($c) { $fetcher = new CommandFetcher(null, null, $c->get('cli.caching')); diff --git a/meta/definitions/template.php b/meta/definitions/template.php index 95d3d81..ea13690 100644 --- a/meta/definitions/template.php +++ b/meta/definitions/template.php @@ -7,6 +7,7 @@ use Laminas\Diactoros\Response\HtmlResponse; use Picea\{ Picea, Caching\Cache, Caching\Opcache, Compiler, Compiler\Context, Compiler\BaseContext, FileFetcher, Language\DefaultRegistrations, Method\Request }; use Picea\Extension\{ LanguageHandler, LanguageExtension, TitleExtension, NumberExtension, UrlExtension }; use Picea\Ui\{ Method, Ui }; +use Picea\Asset\Asset; return [ Picea::class => function($c) { @@ -33,6 +34,11 @@ return [ { parent::registerAll($compiler); ( new Ui() )->registerFormExtension($compiler); + + if ( class_exists('Picea\\Asset\\Asset') ) { + ( new Asset() )->registerExtension($compiler); + + } } }); diff --git a/skeleton/lean b/skeleton/lean new file mode 100755 index 0000000..c1e8d30 --- /dev/null +++ b/skeleton/lean @@ -0,0 +1,9 @@ +#!/bin/php +getMessage(), var_export($t->getTrace(), true)); +} \ No newline at end of file diff --git a/skeleton/meta/config.php b/skeleton/meta/config.php index 99fbb40..2e40b90 100644 --- a/skeleton/meta/config.php +++ b/skeleton/meta/config.php @@ -30,6 +30,12 @@ return [ 'charset' => getenv("DATABASE_CHARSET"), ], ], + + #'sqlite' => [ + # 'adapter' => getenv("SQLITE_ADAPTER"), + # 'path' => getenv('PROJECT_PATH') . DIRECTORY_SEPARATOR . getenv("SQLITE_PATH"), + # 'pragma' => explode(',', getenv("SQLITE_PRAGMA")), + #], ] ] ]; diff --git a/skeleton/meta/definitions/auth.php b/skeleton/meta/definitions/auth.php index 9405214..7e37832 100644 --- a/skeleton/meta/definitions/auth.php +++ b/skeleton/meta/definitions/auth.php @@ -63,6 +63,4 @@ return [ return $email; }, - - PermissionGrantInterface::class => create(%NAMESPACE%\PrivilegeGrantAccess::class)->constructor(get(ServerRequestInterface::class), get(Session::class)), ]; diff --git a/skeleton/meta/definitions/security.php b/skeleton/meta/definitions/security.php index 1cc4c09..892ac27 100644 --- a/skeleton/meta/definitions/security.php +++ b/skeleton/meta/definitions/security.php @@ -18,5 +18,5 @@ return [ ); }, - PermissionGrantInterface::class => create(DefaultPermissionGrant::class)->constructor(get(ServerRequestInterface::class), get(Session::class)), + PermissionGrantInterface::class => create(%NAMESPACE%\PrivilegeGrantAccess::class)->constructor(get(ServerRequestInterface::class), get(Session::class)), ]; diff --git a/skeleton/meta/definitions/storage.php b/skeleton/meta/definitions/storage.php index 4fefaf2..8b485dc 100644 --- a/skeleton/meta/definitions/storage.php +++ b/skeleton/meta/definitions/storage.php @@ -14,8 +14,6 @@ return [ $adapter = new ConnectionAdapter('default', $c->get('config')['ulmus'], true); $adapter->resolveConfiguration(); - $adapter->connect(); - return $adapter; }, diff --git a/skeleton/src/Controller/Home.php b/skeleton/src/Controller/Home.php index 73f6fbf..33d575f 100644 --- a/skeleton/src/Controller/Home.php +++ b/skeleton/src/Controller/Home.php @@ -4,11 +4,12 @@ namespace %NAMESPACE%\Controller; use Psr\Http\Message\{ServerRequestInterface, ResponseInterface }; +use Notes\Route\Attribute\Method\Route; + use %NAMESPACE%\{ Lib, Entity, Form, }; use function %NAMESPACE%\View\{ _, lang, url, route, form }; -#[Language("%APPKEY%.home")] class Home { use Lib\ControllerTrait; diff --git a/skeleton/src/Entity/User.php b/skeleton/src/Entity/User.php index 1ef3fb6..dac9dc5 100644 --- a/skeleton/src/Entity/User.php +++ b/skeleton/src/Entity/User.php @@ -3,7 +3,7 @@ namespace %NAMESPACE%\Entity; use Ulmus\Entity\Field\Datetime; -use Ulmus\{Attribute\Obj\Table; +use Ulmus\{Attribute\Obj\Table}; use %NAMESPACE%\Lib; diff --git a/skeleton/src/Lib/ControllerTrait.php b/skeleton/src/Lib/ControllerTrait.php index 21e6d1f..5fd2679 100644 --- a/skeleton/src/Lib/ControllerTrait.php +++ b/skeleton/src/Lib/ControllerTrait.php @@ -8,7 +8,8 @@ use Ulmus\User\Entity\User; use Ulmus\User\Lib\Authenticate; use Notes\Route\Attribute\Object\Route; use Notes\Security\Attribute\Security; -use %NAMESPACE%\Entity; + +use %NAMESPACE%\{ Entity, Lib, Form }; use Mcnd\Event\EventManager; diff --git a/skeleton/src/Middleware/Authentication.php b/skeleton/src/Middleware/Authentication.php index c939356..c4cc124 100644 --- a/skeleton/src/Middleware/Authentication.php +++ b/skeleton/src/Middleware/Authentication.php @@ -2,11 +2,8 @@ namespace %NAMESPACE%\Middleware; -use Psr\Http\Server\MiddlewareInterface; -use Psr\Http\Message\ServerRequestInterface; -use Psr\Http\Server\RequestHandlerInterface; -use Psr\Http\Message\ResponseInterface; - +use Psr\Http\Server\{ RequestHandlerInterface, MiddlewareInterface }; +use Psr\Http\Message\{ ResponseInterface, ServerRequestInterface }; use Storage\Session; class Authentication implements MiddlewareInterface { @@ -23,9 +20,6 @@ class Authentication implements MiddlewareInterface { $this->session = $session; } - #[param ServerRequestInterface $request] - #[param RequestHandlerInterface $handler] - #[return ResponseInterface] public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface { $user = $this->session->get( $this->sessionUserVariable() ); @@ -37,8 +31,6 @@ class Authentication implements MiddlewareInterface { return $handler->handle($request); } - #[param string|null sessionUserVariable] - #[return mixed] public function sessionUserVariable(?string $set = null) : string { return $set !== null ? $this->sessionUserVariable = $set : $this->sessionUserVariable; diff --git a/skeleton/view/base/layout/default.phtml b/skeleton/view/base/layout/default.phtml index ebfa87e..b0f654e 100644 --- a/skeleton/view/base/layout/default.phtml +++ b/skeleton/view/base/layout/default.phtml @@ -5,7 +5,6 @@ {% section "head.title" %}{{ title() }} — {{ lang('application_name') }}{% endsection %} - {% endsection %} diff --git a/skeleton/view/home.phtml b/skeleton/view/home.phtml index 1d7e5c9..e2a7c93 100644 --- a/skeleton/view/home.phtml +++ b/skeleton/view/home.phtml @@ -6,4 +6,8 @@
Hello World :) !
+ +
+ Accéder à la console LEAN +
{% endsection %} \ No newline at end of file diff --git a/src/ControllerTrait.php b/src/ControllerTrait.php index f9179b1..21e3a77 100644 --- a/src/ControllerTrait.php +++ b/src/ControllerTrait.php @@ -51,7 +51,11 @@ trait ControllerTrait { public function renderRawView(string $view, ?array $variables = null) : string { - return $this->picea->renderHtml($view, $variables ?? [], $this); + if ( null === $content = $this->picea->renderHtml($view, $variables ?? [], $this) ) { + throw new \RuntimeException("Picea's renderHtml() returned NULL as result ; an error occured within your template `$view`."); + } + + return $content; } public function renderView(string $view, ?array $variables = null) : ResponseInterface diff --git a/src/File.php b/src/File.php new file mode 100644 index 0000000..1b2d4e2 --- /dev/null +++ b/src/File.php @@ -0,0 +1,43 @@ +