This commit is contained in:
Juan Pablo Vial
2023-07-24 20:41:38 -04:00
parent 6ab24c8961
commit be33305cf1
612 changed files with 11436 additions and 107 deletions

45
app_old/ui/app.php Normal file
View File

@ -0,0 +1,45 @@
<?php
use DI\ContainerBuilder;
use DI\Bridge\Slim\Bridge;
require_once 'composer.php';
$builder = new ContainerBuilder();
$folders = [
'settings',
'setups'
];
foreach ($folders as $f) {
$folder = implode(DIRECTORY_SEPARATOR, [
__DIR__,
$f
]);
if (!file_exists($folder)) {
continue;
}
$files = new FilesystemIterator($folder);
foreach ($files as $file) {
if ($file->isDir()) {
continue;
}
$builder->addDefinitions($file->getRealPath());
}
}
$app = Bridge::create($builder->build());
$folder = implode(DIRECTORY_SEPARATOR, [
__DIR__,
'middlewares'
]);
if (file_exists($folder)) {
$files = new FilesystemIterator($folder);
foreach ($files as $file) {
if ($file->isDir()) {
continue;
}
require_once $file->getRealPath();
}
}
return $app;

6
app_old/ui/composer.php Normal file
View File

@ -0,0 +1,6 @@
<?php
include_once implode(DIRECTORY_SEPARATOR, [
dirname(__DIR__),
'vendor',
'autoload.php'
]);

View File

@ -0,0 +1,2 @@
<?php
$app->add($app->getContainer()->get(App\Middleware\Auth::class));

View File

@ -0,0 +1,20 @@
<?php
function loadDatabase(object $settings, string $name): void
{
$port = 3306;
if (isset($settings->port)) {
$port = $settings->port;
}
$dsn = 'mysql:host=' . $settings->host . ';port=' . $port . ';dbname=' . $settings->database . ';charset=utf8';
ORM::configure($dsn, null, $name);
ORM::configure('username', $settings->username, $name);
ORM::configure('password', $settings->password, $name);
}
$databases = $app->getContainer()->get('databases');
foreach ($databases as $name => $settings) {
loadDatabase($settings, $name);
}
Model::$short_table_names = true;

View File

@ -0,0 +1,2 @@
<?php
Monolog\ErrorHandler::register($app->getContainer()->get(Psr\Log\LoggerInterface::class));

View File

@ -0,0 +1,15 @@
<?php
function buildRoutes(&$app) {
$folder = implode(DIRECTORY_SEPARATOR, [
$app->getContainer()->get('folders')->get('routes'),
'ui'
]);
$files = new FilesystemIterator($folder);
foreach ($files as $file) {
if ($file->isDir()) {
continue;
}
include_once $file->getRealPath();
}
}
buildRoutes($app);

View File

@ -0,0 +1,4 @@
<?php
return [
'env' => $_ENV
];

View File

@ -0,0 +1,12 @@
<?php
return [
'folders' => function() {
return new DI\Container([
'base' => dirname(__FILE__, 3),
'resources' => DI\String('{base}/resources'),
'routes' => DI\String('{resources}/routes'),
'templates' => DI\String('{resources}/views'),
'cache' => DI\String('{base}/cache')
]);
}
];

View File

@ -0,0 +1,8 @@
<?php
return [
'urls' => function() {
return [
'base' => 'http://localhost:8080'
];
}
];

View File

@ -0,0 +1,20 @@
<?php
use Psr\Container\ContainerInterface;
return [
'databases' => function(ContainerInterface $container) {
$env = $container->get('env');
$arr = [
ORM::DEFAULT_CONNECTION => (object) [
'host' => $env['MYSQL_HOST'],
'database' => $env['MYSQL_DATABASE'],
'username' => $env['MYSQL_USER'],
'password' => $env['MYSQL_PASSWORD']
]
];
if (isset($env['MYSQL_PORT'])) {
$arr[ORM::DEFAULT_CONNECTION]->port = $env['MYSQL_PORT'];
}
return (object) $arr;
}
];

View File

@ -0,0 +1,20 @@
<?php
use Psr\Container\ContainerInterface;
return [
Slim\Views\Blade::class => function(ContainerInterface $container) {
$folders = $container->get('folders');
return new Slim\Views\Blade(
$folders->get('templates'),
$folders->get('cache'),
null,
$container->has('urls') ? $container->get('urls') : []
);
},
eftec\bladeone\BladeOne::class => function(ContainerInterface $container) {
return new eftec\bladeone\BladeOne(
$container->get('folders')->get('templates'),
$container->get('folders')->get('cache')
);
}
];

View File

@ -0,0 +1,8 @@
<?php
use Psr\Container\ContainerInterface;
return [
Psr\Http\Message\ResponseFactoryInterface::class => function(ContainerInterface $container) {
return $container->get(Nyholm\Psr7\Factory\Psr17Factory::class);
}
];

View File

@ -0,0 +1,30 @@
<?php
use Psr\Container\ContainerInterface;
return [
Psr\Log\LoggerInterface::class => function(ContainerInterface $container) {
return new Monolog\Logger('ui', [
new Monolog\Handler\FilterHandler(
new Monolog\Handler\RotatingFileHandler('/logs/ui.debug.log'),
Monolog\Level::Debug,
Monolog\Level::Notice
),
new Monolog\Handler\FilterHandler(
(new Monolog\Handler\RotatingFileHandler('/logs/ui.error.log'))
->setFormatter(new Monolog\Formatter\LineFormatter(null, null, true)),
Monolog\Level::Warning,
Monolog\Level::Error
),
new Monolog\Handler\FilterHandler(
new Monolog\Handler\RotatingFileHandler('/logs/ui.critical.log'),
Monolog\Level::Critical
)
], [
$container->get(Monolog\Processor\PsrLogMessageProcessor::class),
$container->get(Monolog\Processor\WebProcessor::class),
$container->get(Monolog\Processor\IntrospectionProcessor::class),
$container->get(Monolog\Processor\MemoryUsageProcessor::class),
$container->get(Monolog\Processor\MemoryPeakUsageProcessor::class)
]);
}
];