v0.2.0
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,3 +1,6 @@
|
||||
# Composer
|
||||
/vendor/
|
||||
composer.lock
|
||||
|
||||
# Blade
|
||||
/resources/cache/
|
||||
|
45
bootstrap/app.php
Normal file
45
bootstrap/app.php
Normal file
@ -0,0 +1,45 @@
|
||||
<?php
|
||||
use DI\Bridge\Slim\Bridge;
|
||||
|
||||
include_once 'composer.php';
|
||||
|
||||
$container_builder = new DI\ContainerBuilder();
|
||||
|
||||
$folders = [
|
||||
'common'
|
||||
];
|
||||
if (isset($_ENV)) {
|
||||
$folders []= $_ENV;
|
||||
}
|
||||
|
||||
$file = 'config.php';
|
||||
foreach ($folders as $folder) {
|
||||
$filename = implode(DIRECTORY_SEPARATOR, [__DIR__, $folder, $file]);
|
||||
if (file_exists($filename)) {
|
||||
$container_builder->addDefinitions($filename);
|
||||
}
|
||||
}
|
||||
|
||||
$file = 'setup.php';
|
||||
foreach ($folders as $folder) {
|
||||
$filename = implode(DIRECTORY_SEPARATOR, [__DIR__, $folder, $file]);
|
||||
if (file_exists($filename)) {
|
||||
$container_builder->addDefinitions($filename);
|
||||
}
|
||||
}
|
||||
|
||||
$container = $container_builder->build();
|
||||
$app = Bridge::create($container);
|
||||
$app->setBasePath($container->get('urls.base'));
|
||||
$app->addRoutingMiddleware();
|
||||
$app->addErrorMiddleware(true, true, true);
|
||||
|
||||
$file = 'middleware.php';
|
||||
foreach ($folders as $folder) {
|
||||
$filename = implode(DIRECTORY_SEPARATOR, [__DIR__, $folder, $file]);
|
||||
if (file_exists($filename)) {
|
||||
include_once $filename;
|
||||
}
|
||||
}
|
||||
|
||||
include_once implode(DIRECTORY_SEPARATOR, [$app->getContainer()->get('folders.routes'), 'router.php']);
|
13
bootstrap/common/config.php
Normal file
13
bootstrap/common/config.php
Normal file
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
return [
|
||||
'folders.base' => dirname(__DIR__, 2),
|
||||
'folders.resources' => DI\string(implode(DIRECTORY_SEPARATOR, [
|
||||
'{folders.base}',
|
||||
'resources'
|
||||
])),
|
||||
'folders.routes' => DI\string(implode(DIRECTORY_SEPARATOR, [
|
||||
'{folders.resources}',
|
||||
'routes'
|
||||
])),
|
||||
'urls.base' => '/provm/raby'
|
||||
];
|
6
bootstrap/composer.php
Normal file
6
bootstrap/composer.php
Normal file
@ -0,0 +1,6 @@
|
||||
<?php
|
||||
require_once implode(DIRECTORY_SEPARATOR, [
|
||||
dirname(__DIR__),
|
||||
'vendor',
|
||||
'autoload.php'
|
||||
]);
|
3
bootstrap/web.php
Normal file
3
bootstrap/web.php
Normal file
@ -0,0 +1,3 @@
|
||||
<?php
|
||||
$_ENV = 'web';
|
||||
include_once 'app.php';
|
35
bootstrap/web/config.php
Normal file
35
bootstrap/web/config.php
Normal file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
return [
|
||||
'folders.templates' => DI\string(implode(DIRECTORY_SEPARATOR, [
|
||||
'{folders.resources}',
|
||||
'views'
|
||||
])),
|
||||
'folders.cache' => DI\string(implode(DIRECTORY_SEPARATOR, [
|
||||
'{folders.resources}',
|
||||
'cache'
|
||||
])),
|
||||
'blade_template_path' => DI\get('folders.templates'),
|
||||
'blade_cache_path' => DI\get('folders.cache'),
|
||||
'urls.assets' => DI\string(implode('/', [
|
||||
'{urls.base}',
|
||||
'assets'
|
||||
])),
|
||||
'urls.images' => DI\string(implode('/', [
|
||||
'{urls.assets}',
|
||||
'images'
|
||||
])),
|
||||
'assets' => (object) [
|
||||
(object) [
|
||||
'script' => 'https://code.jquery.com/jquery-3.4.1.min.js'
|
||||
],
|
||||
(object) [
|
||||
'script' => 'https://cdnjs.cloudflare.com/ajax/libs/fomantic-ui/2.8.4/semantic.min.js',
|
||||
'style' => 'https://cdnjs.cloudflare.com/ajax/libs/fomantic-ui/2.8.4/semantic.min.css',
|
||||
'fonts' => [
|
||||
'https://cdnjs.cloudflare.com/ajax/libs/fomantic-ui/2.8.4/themes/default/assets/fonts/brand-icons.woff2',
|
||||
'https://cdnjs.cloudflare.com/ajax/libs/fomantic-ui/2.8.4/themes/default/assets/fonts/icons.woff2',
|
||||
'https://cdnjs.cloudflare.com/ajax/libs/fomantic-ui/2.8.4/themes/default/assets/fonts/outline-icons.woff2'
|
||||
]
|
||||
]
|
||||
]
|
||||
];
|
2
bootstrap/web/middleware.php
Normal file
2
bootstrap/web/middleware.php
Normal file
@ -0,0 +1,2 @@
|
||||
<?php
|
||||
//$app->add(new Zeuxisoo\Whoops\Slim\WhoopsMiddleware);
|
21
bootstrap/web/setup.php
Normal file
21
bootstrap/web/setup.php
Normal file
@ -0,0 +1,21 @@
|
||||
<?php
|
||||
use Psr\Container\ContainerInterface;
|
||||
|
||||
return [
|
||||
Slim\Views\Blade::class => function(ContainerInterface $container) {
|
||||
return new Slim\Views\Blade(
|
||||
$container->get('blade_template_path'),
|
||||
$container->get('blade_cache_path'),
|
||||
null,
|
||||
[
|
||||
'urls' => (object) [
|
||||
'base' => $container->get('urls.base'),
|
||||
'assets' => (object) [
|
||||
'images' => $container->get('urls.images')
|
||||
]
|
||||
],
|
||||
'assets' => $container->get('assets')
|
||||
]
|
||||
);
|
||||
}
|
||||
];
|
12
common/Controller/Web/Consultas.php
Normal file
12
common/Controller/Web/Consultas.php
Normal file
@ -0,0 +1,12 @@
|
||||
<?php
|
||||
namespace ProVM\NotariaRaby\Common\Controller\Web;
|
||||
|
||||
use Psr\Http\Message\ServerRequestInterface as Request;
|
||||
use Psr\Http\Message\ResponseInterface as Response;
|
||||
use Slim\Views\Blade as View;
|
||||
|
||||
class Consultas {
|
||||
public function __invoke(Request $request, Response $response, View $view): Response {
|
||||
return $view->render($response, 'consultas');
|
||||
}
|
||||
}
|
12
common/Controller/Web/Contacto.php
Normal file
12
common/Controller/Web/Contacto.php
Normal file
@ -0,0 +1,12 @@
|
||||
<?php
|
||||
namespace ProVM\NotariaRaby\Common\Controller\Web;
|
||||
|
||||
use Psr\Http\Message\ServerRequestInterface as Request;
|
||||
use Psr\Http\Message\ResponseInterface as Response;
|
||||
use Slim\Views\Blade as View;
|
||||
|
||||
class Contacto {
|
||||
public function __invoke(Request $request, Response $response, View $view): Response {
|
||||
return $view->render($response, 'contacto');
|
||||
}
|
||||
}
|
12
common/Controller/Web/Home.php
Normal file
12
common/Controller/Web/Home.php
Normal file
@ -0,0 +1,12 @@
|
||||
<?php
|
||||
namespace ProVM\NotariaRaby\Common\Controller\Web;
|
||||
|
||||
use Psr\Http\Message\ServerRequestInterface as Request;
|
||||
use Psr\Http\Message\ResponseInterface as Response;
|
||||
use Slim\Views\Blade as View;
|
||||
|
||||
class Home {
|
||||
public function __invoke(Request $request, Response $response, View $view): Response {
|
||||
return $view->render($response, 'home');
|
||||
}
|
||||
}
|
12
common/Controller/Web/Notaria.php
Normal file
12
common/Controller/Web/Notaria.php
Normal file
@ -0,0 +1,12 @@
|
||||
<?php
|
||||
namespace ProVM\NotariaRaby\Common\Controller\Web;
|
||||
|
||||
use Psr\Http\Message\ServerRequestInterface as Request;
|
||||
use Psr\Http\Message\ResponseInterface as Response;
|
||||
use Slim\Views\Blade as View;
|
||||
|
||||
class Notaria {
|
||||
public function __invoke(Request $request, Response $response, View $view): Response {
|
||||
return $view->render($response, 'notaria');
|
||||
}
|
||||
}
|
12
common/Controller/Web/Serivicios.php
Normal file
12
common/Controller/Web/Serivicios.php
Normal file
@ -0,0 +1,12 @@
|
||||
<?php
|
||||
namespace ProVM\NotariaRaby\Common\Controller\Web;
|
||||
|
||||
use Psr\Http\Message\ServerRequestInterface as Request;
|
||||
use Psr\Http\Message\ResponseInterface as Response;
|
||||
use Slim\Views\Blade as View;
|
||||
|
||||
class Servicios {
|
||||
public function __invoke(Request $request, Response $response, View $view): Response {
|
||||
return $view->render($response, 'servicios');
|
||||
}
|
||||
}
|
32
composer.json
Normal file
32
composer.json
Normal file
@ -0,0 +1,32 @@
|
||||
{
|
||||
"name": "provm/notaria_raby",
|
||||
"description": "Pagina web de Notaria Raby",
|
||||
"type": "project",
|
||||
"require": {
|
||||
"slim/slim": "^4.4",
|
||||
"nyholm/psr7": "^1.2",
|
||||
"nyholm/psr7-server": "^0.4.1",
|
||||
"rubellum/slim-blade-view": "^0.1.1",
|
||||
"php-di/slim-bridge": "^3.0",
|
||||
"zeuxisoo/slim-whoops": "^0.7.2",
|
||||
"whoops/soap": "^1.0",
|
||||
"symfony/var-dumper": "^5.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^8.5",
|
||||
"kint-php/kint": "^3.3"
|
||||
},
|
||||
"license": "UNLICENSED",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Aldarien",
|
||||
"email": "aldarien85@gmail.com"
|
||||
}
|
||||
],
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"ProVM\\NotariaRaby\\Common\\": "common",
|
||||
"ProVM\\Common\\": "provm/common"
|
||||
}
|
||||
}
|
||||
}
|
19
provm/common/Basic/Controller.php
Normal file
19
provm/common/Basic/Controller.php
Normal file
@ -0,0 +1,19 @@
|
||||
<?php
|
||||
namespace ProVM\Common\Basic;
|
||||
|
||||
use Psr\Http\Message\ResponseInterface as Response;
|
||||
use ProVM\Common\Definition\Controller as ControllerInterface;
|
||||
|
||||
abstract class Controller implements ControllerInterface {
|
||||
public function withJSON(Response $response, string $data): Response {
|
||||
$response->getBody()->write(json_encode($data));
|
||||
return $response
|
||||
->withHeader('Content-Type', 'application/json')
|
||||
->withStatus(201);
|
||||
}
|
||||
public function withRedirect(string $uri): Response {
|
||||
return $response
|
||||
->withHeader('Location', $uri)
|
||||
->withStatus(303);
|
||||
}
|
||||
}
|
9
provm/common/Definition/Controller.php
Normal file
9
provm/common/Definition/Controller.php
Normal file
@ -0,0 +1,9 @@
|
||||
<?php
|
||||
namespace ProVM\Common\Definition;
|
||||
|
||||
use Psr\Http\Message\ResponseInterface as Response;
|
||||
|
||||
interface Controller {
|
||||
public function withJSON(Response $response, string $data): Response;
|
||||
public function withRedirect(string $uri): Response;
|
||||
}
|
4
public/.htaccess
Normal file
4
public/.htaccess
Normal file
@ -0,0 +1,4 @@
|
||||
RewriteEngine On
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
RewriteRule ^ index.php [QSA,L]
|
8
public/index.php
Normal file
8
public/index.php
Normal file
@ -0,0 +1,8 @@
|
||||
<?php
|
||||
include_once implode(DIRECTORY_SEPARATOR, [
|
||||
dirname(__DIR__),
|
||||
'bootstrap',
|
||||
'web.php'
|
||||
]);
|
||||
|
||||
$app->run();
|
7
resources/routes/router.php
Normal file
7
resources/routes/router.php
Normal file
@ -0,0 +1,7 @@
|
||||
<?php
|
||||
$folder = implode(DIRECTORY_SEPARATOR, [
|
||||
__DIR__,
|
||||
$_ENV
|
||||
]);
|
||||
$filename = $_ENV . '.php';
|
||||
include_once $filename;
|
16
resources/routes/web.php
Normal file
16
resources/routes/web.php
Normal file
@ -0,0 +1,16 @@
|
||||
<?php
|
||||
use ProVM\NotariaRaby\Common\Controller\Web\Home;
|
||||
|
||||
$folder = implode(DIRECTORY_SEPARATOR, [
|
||||
__DIR__,
|
||||
'web'
|
||||
]);
|
||||
$files = new DirectoryIterator($folder);
|
||||
foreach ($files as $file) {
|
||||
if ($file->isDir()) {
|
||||
continue;
|
||||
}
|
||||
include_once $file->getRealPath();
|
||||
}
|
||||
|
||||
$app->get('/', Home::class);
|
0
resources/views/consultas.blade.php
Normal file
0
resources/views/consultas.blade.php
Normal file
0
resources/views/contacto.blade.php
Normal file
0
resources/views/contacto.blade.php
Normal file
9
resources/views/home.blade.php
Normal file
9
resources/views/home.blade.php
Normal file
@ -0,0 +1,9 @@
|
||||
@extends('layout.base')
|
||||
|
||||
@section('page_content')
|
||||
@include('home.banner')
|
||||
@include('home.suplente')
|
||||
@include('home.numero')
|
||||
@include('home.links')
|
||||
@include('home.horario')
|
||||
@endsection
|
28
resources/views/home/banner.blade.php
Normal file
28
resources/views/home/banner.blade.php
Normal file
@ -0,0 +1,28 @@
|
||||
<div class="banner">
|
||||
<div class="mensaje">
|
||||
<p>
|
||||
<strong>
|
||||
5° NOTARÍA DE SANTIAGO
|
||||
<br />
|
||||
PATRICIO RABY BENAVENTE
|
||||
</strong>
|
||||
</p>
|
||||
<p>
|
||||
Gertrudis Echenique 30, of. 32, El Golf
|
||||
<br />
|
||||
<img class="ui icon" src="{{$urls->assets->images}}/logo_metro_blanco.png" />
|
||||
Metro Alcantara
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@push('styles')
|
||||
<style type="text/css">
|
||||
.banner {
|
||||
background-image: url('{{$urls->assets->images}}/img_banner.png')
|
||||
}
|
||||
.banner .mensaje {
|
||||
padding: 3em;
|
||||
}
|
||||
</style>
|
||||
@endpush
|
1
resources/views/home/horario.blade.php
Normal file
1
resources/views/home/horario.blade.php
Normal file
@ -0,0 +1 @@
|
||||
Horario
|
45
resources/views/home/links.blade.php
Normal file
45
resources/views/home/links.blade.php
Normal file
@ -0,0 +1,45 @@
|
||||
<div class="ui grid">
|
||||
<div class="three columns row">
|
||||
<div class="row">
|
||||
<div class="center aligned column">
|
||||
<table class="ui table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>DOCUMENTOS ONLINE</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Autorizaciones</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Declaraciones</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Certificados</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Poderes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Contratos</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Otros</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="column">
|
||||
<table class="ui table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>LINKS DE CONSULTA</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
<div class="column"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
11
resources/views/home/numero.blade.php
Normal file
11
resources/views/home/numero.blade.php
Normal file
@ -0,0 +1,11 @@
|
||||
<div class="ui center aligned grid">
|
||||
<div class="row">
|
||||
<div class="three wide column">
|
||||
<div class="ui inverted black center aligned segment">
|
||||
NÚMERO DE ATENCIÓN ONLINE
|
||||
<br />
|
||||
<img src="{{$urls->assets->images}}/logo_play_store.png" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
37
resources/views/home/suplente.blade.php
Normal file
37
resources/views/home/suplente.blade.php
Normal file
@ -0,0 +1,37 @@
|
||||
<div class="ui grid">
|
||||
<div class="row">
|
||||
<div class="five wide column" style="padding: 2em;">
|
||||
<h4>
|
||||
Horario lunes a viernes
|
||||
<br />
|
||||
9:30 - 13:30 | 15:30 - 18:00
|
||||
</h4>
|
||||
<p>
|
||||
La atención dentro del horario, puede verse
|
||||
afectada circunstancialmente y sin previo
|
||||
aviso, por encontrarse el notario cumpliendo
|
||||
funciones fuera de la Notaría.
|
||||
</p>
|
||||
<button class="ui inverted dark-blue button">
|
||||
NOTARÍA DE TURNO
|
||||
</button>
|
||||
</div>
|
||||
<div class="nine wide column" style="background-image: url('{{$urls->assets->images}}/img_suplente.png')">
|
||||
<div class="ui center aligned grid">
|
||||
<div class="row">
|
||||
<div class="four wide column">
|
||||
<div class="ui center aligned segment">
|
||||
<h4 style="padding: 0; margin: 0;">NOTARIO SUPLENTE</h4>
|
||||
<p style="font-size: 8pt;">DEL 1 DE ABRIL AL 15 DE MAYO</p>
|
||||
<p class="center aligned">
|
||||
MARIA VIRGINIA
|
||||
<br />
|
||||
WIELANDT COVARRUBIAS
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
8
resources/views/layout/base.blade.php
Normal file
8
resources/views/layout/base.blade.php
Normal file
@ -0,0 +1,8 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="es">
|
||||
@include('layout.head')
|
||||
<body>
|
||||
@include('layout.header')
|
||||
@yield('page_content')
|
||||
@include('layout.footer')
|
||||
</body>
|
2
resources/views/layout/footer.blade.php
Normal file
2
resources/views/layout/footer.blade.php
Normal file
@ -0,0 +1,2 @@
|
||||
<footer></footer>
|
||||
@include('layout.scripts')
|
8
resources/views/layout/head.blade.php
Normal file
8
resources/views/layout/head.blade.php
Normal file
@ -0,0 +1,8 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>
|
||||
Notaría Patricio Raby
|
||||
@yield('page_title')
|
||||
</title>
|
||||
@include('layout.styles')
|
||||
</head>
|
21
resources/views/layout/header.blade.php
Normal file
21
resources/views/layout/header.blade.php
Normal file
@ -0,0 +1,21 @@
|
||||
<header>
|
||||
<nav class="ui menu dark-blue inverted">
|
||||
<a class="left aligned item" href="{{$urls->base}}">
|
||||
NOTARÍA RABY
|
||||
</a>
|
||||
<div class="right menu">
|
||||
<a class="item" href="{{$urls->base}}/notaria">
|
||||
NOTARÍA
|
||||
</a>
|
||||
<a class="item" href="{{$urls->base}}/servicios">
|
||||
SERVICIOS
|
||||
</a>
|
||||
<a class="item" href="{{$urls->base}}/consultas">
|
||||
CONSULTAS
|
||||
</a>
|
||||
<a class="item" href="{{$urls->base}}/contacto">
|
||||
CONTACTO
|
||||
</a>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
7
resources/views/layout/scripts.blade.php
Normal file
7
resources/views/layout/scripts.blade.php
Normal file
@ -0,0 +1,7 @@
|
||||
@foreach ($assets as $asset)
|
||||
@if (isset($asset->script))
|
||||
<script type="text/javascript" src="{{$asset->script}}"></script>
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
@stack('scripts')
|
18
resources/views/layout/styles.blade.php
Normal file
18
resources/views/layout/styles.blade.php
Normal file
@ -0,0 +1,18 @@
|
||||
<link rel="shortcut icon" type="image/png" href="{{$urls->assets->images}}/favicon.png" />
|
||||
@foreach ($assets as $asset)
|
||||
@if (isset($asset->style))
|
||||
<link rel="stylesheet" type="text/css" href="{{$asset->style}}" />
|
||||
@endif
|
||||
@if (isset($asset->fonts))
|
||||
@foreach ($asset->fonts as $font)
|
||||
<link rel="stylesheet" href="{{$font}}" />
|
||||
@endforeach
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
<style type="text/css">
|
||||
.inverted.dark-blue {
|
||||
background-color: #003662 !important;
|
||||
}
|
||||
</style>
|
||||
@stack('styles')
|
0
resources/views/servicios.blade.php
Normal file
0
resources/views/servicios.blade.php
Normal file
Reference in New Issue
Block a user