diff --git a/common/Controller/Web/Base.php b/common/Controller/Web/Base.php new file mode 100644 index 0000000..7253dc6 --- /dev/null +++ b/common/Controller/Web/Base.php @@ -0,0 +1,18 @@ +locale('es')->isoFormat('D MMMM')); + $hora = Carbon::now()->format('H:i a'); + $visitas = $container->get('visitas'); + return $view->render($response, 'home', compact('valor_uf', 'fecha', 'hora', 'visitas')); + } +} diff --git a/common/Middleware/Visits.php b/common/Middleware/Visits.php new file mode 100644 index 0000000..9f6920a --- /dev/null +++ b/common/Middleware/Visits.php @@ -0,0 +1,56 @@ +filename = $filename; + $this->time = $visit_time; + } + public function __invoke(Request $request, Handler $handler): Response { + $params = $request->getServerParams(); + $ip = $params['REMOTE_ADDR']; + $fwd = 0; + $login = Carbon::now(); + if (isset($params['HTTP_X_FORWARDED_FOR'])) { + $fwd = $params['HTTP_X_FORWARDED_FOR']; + } + if (!file_exists($this->filename)) { + $file = (object) [ + 'visits' => 0, + 'ips' => [] + ]; + } else { + $file = json_decode(trim(file_get_contents($this->filename))); + } + $found = false; + foreach ($file->ips as $i => $ipd) { + if ($ipd->ip == $ip and $ipd->fwd == $fwd) { + $t = Carbon::parse($ipd->time); + if ($t->diffInSeconds($login) > $this->time) { + $file->ips[$i]->time = $t->format('Y-m-d H:i:s'); + $file->visits ++; + } + $found = true; + break; + } + } + if (!$found) { + $file->ips []= (object) [ + 'ip' => $ip, + 'fwd' => $fwd, + 'time' => $login->format('Y-m-d H:i:s') + ]; + $file->visits ++; + } + file_put_contents($this->filename, json_encode($file, \JSON_PRETTY_PRINT)); + $response = $handler->handle($request); + return $response; + } +} diff --git a/resources/routes/router.php b/resources/routes/router.php new file mode 100644 index 0000000..9018b92 --- /dev/null +++ b/resources/routes/router.php @@ -0,0 +1,2 @@ +getContainer()->get('env') . '.php'; diff --git a/resources/routes/web.php b/resources/routes/web.php new file mode 100644 index 0000000..eaff353 --- /dev/null +++ b/resources/routes/web.php @@ -0,0 +1,16 @@ +isDir()) { + continue; + } + include_once $file->getRealPath(); +} + +$app->get('/', Base::class); diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php new file mode 100644 index 0000000..8773d24 --- /dev/null +++ b/resources/views/home.blade.php @@ -0,0 +1,10 @@ +@extends('layout.base') + +@section('page_content') + @include('home.banner') + @include('home.segmentos') + @include('home.destacados') + @include('home.resumen') + @include('home.indicadores') + @include('home.confianza') +@endsection diff --git a/resources/views/home/banner.blade.php b/resources/views/home/banner.blade.php new file mode 100644 index 0000000..3765b00 --- /dev/null +++ b/resources/views/home/banner.blade.php @@ -0,0 +1,16 @@ + diff --git a/resources/views/home/confianza.blade.php b/resources/views/home/confianza.blade.php new file mode 100644 index 0000000..e69de29 diff --git a/resources/views/home/destacados.blade.php b/resources/views/home/destacados.blade.php new file mode 100644 index 0000000..e69de29 diff --git a/resources/views/home/indicadores.blade.php b/resources/views/home/indicadores.blade.php new file mode 100644 index 0000000..e69de29 diff --git a/resources/views/home/resumen.blade.php b/resources/views/home/resumen.blade.php new file mode 100644 index 0000000..e69de29 diff --git a/resources/views/home/segmentos.blade.php b/resources/views/home/segmentos.blade.php new file mode 100644 index 0000000..63e834d --- /dev/null +++ b/resources/views/home/segmentos.blade.php @@ -0,0 +1,21 @@ +
+
+ SEGMENTOS DE NEGOCIO +
+
+
+
+
+
+ +
+
+ Oficinas +
+
+
+
+
+
+
+