95 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| use function DI\autowire, DI\create, DI\get;
 | |
| 
 | |
| use Zend\Diactoros\Response\TextResponse;
 | |
| 
 | |
| use TheBugs\JavascriptMiddleware;
 | |
| 
 | |
| use Cronard\CronardMiddleware;
 | |
| 
 | |
| use Lean\Lean;
 | |
| 
 | |
| use Storage\Cookie,
 | |
|     Storage\Session,
 | |
|     Storage\SessionMiddleware;
 | |
| 
 | |
| return [
 | |
|     'lean.default' => [
 | |
|         'picea' => [
 | |
|             'context' => "Lean\\View",
 | |
| 
 | |
|             'view' => [
 | |
|                 [
 | |
|                     'path' => getenv("VIEW_PATH"),
 | |
|                     'order' => 10,
 | |
|                 ],
 | |
|                 [
 | |
|                     'path' => getenv("PROJECT_PATH") . "/vendor/mcnd/lean/view/",
 | |
|                     'order' => 99,
 | |
|                 ],
 | |
|             ],
 | |
|         ],
 | |
| 
 | |
|         'ulmus' => [],
 | |
| 
 | |
|         'tell' => [
 | |
|             'json' => [
 | |
|                 [
 | |
|                     'path' => getenv("META_PATH") . "/i18n",
 | |
|                     'order' => 10,
 | |
|                 ],
 | |
| 
 | |
|                 [
 | |
|                     'path' => getenv("PROJECT_PATH") . "/vendor/mcnd/lean/meta/i18n",
 | |
|                     'order' => 99,
 | |
|                 ],
 | |
|             ],
 | |
| 
 | |
|             'php' => [
 | |
|                 [
 | |
|                     'path' => getenv("CACHE_PATH")."/i18n",
 | |
|                     'order' => 0,
 | |
|                 ]
 | |
|             ]
 | |
|         ],
 | |
| 
 | |
|         'routes' => [],
 | |
|     ],
 | |
| 
 | |
|     Lean::class => autowire(Lean::class),
 | |
| 
 | |
|     CronardMiddleware::class => function($c) {
 | |
|         $cronardMiddleware = new CronardMiddleware(getenv('CRON_KEY'), function() : ResponseInterface {
 | |
|             return new TextResponse(sprintf("%s - cron task begin...", date('Y-m-d H:i:s')));
 | |
|         });
 | |
| 
 | |
|         return $cronardMiddleware->fromFile(getenv("META_PATH")."/crontab.php");
 | |
|     },
 | |
| 
 | |
|     JavascriptMiddleware::class => create(JavascriptMiddleware::class),
 | |
| 
 | |
|     Cookie::class => create(Cookie::class)->constructor([ 'secure' => true, 'samesite' => 'Strict' ], getenv("LEAN_RANDOM")),
 | |
| 
 | |
|     Session::class => create(Session::class),
 | |
| 
 | |
|     SessionMiddleware::class => create(SessionMiddleware::class)->constructor(get(Cookie::class), [ 'name' => "lean_sess_" . substr(md5(getenv("LEAN_RANDOM")), 0, 12) ]),
 | |
| 
 | |
|     'git.commit' => function($c) {
 | |
|         if ( getenv("DEBUG") ) {
 | |
|             return uniqid("debug_");
 | |
|         }
 | |
| 
 | |
|         $gitdir = getenv("PROJECT_PATH") . DIRECTORY_SEPARATOR . ".git" . DIRECTORY_SEPARATOR;
 | |
| 
 | |
|         if ( false !== ( $currentBranch = file_get_contents( $gitdir . "HEAD") ) ) {
 | |
|             $file = explode(": ", $currentBranch)[1];
 | |
|             $path = $gitdir . str_replace("/", DIRECTORY_SEPARATOR, trim($file, " \t\n\r"));
 | |
| 
 | |
|             return trim(file_get_contents( $path ), " \t\n\r");
 | |
|         }
 | |
| 
 | |
|         return "gitless-project";
 | |
|     },
 | |
| ];
 |