Files
intranet/public/index.php
2020-12-01 17:23:13 -03:00

89 lines
2.3 KiB
PHP

<?php
use Carbon\Carbon;
use Incoviba\old\Proyecto\Proyecto;
use App\Contract\Auth;
include_once dirname(__DIR__) . '/bootstrap/autoload.php';
header("Access-Control-Allow-Origin: *");
if (config('app.debug') == true) {
if (config('app.benchmark') == true) {
$benchmark = (object) ['time' => microtime(true)];
}
}
Carbon::setLocale(config('app.locale'));
setlocale(LC_TIME, 'es_ES');
sanitize();
try {
Auth::isIn();
} catch (PDOException $e) {
header('Location: install');
die();
}
if (Auth::isIn()) {
if ((get('p') !== false or get('page') !== false or get('m') !== false or get('module') !== false)) {
if (($route = route()) !== false) {
echo $route;
} else {
echo view('construccion');
}
} else {
$proyectos = model(Proyecto::class)->findMany();
$dias = [];
$cierres = [];
$pendientes = 0;
$hoy = 0;
foreach ($proyectos as $proyecto) {
$pendientes += $proyecto->cuotasPendientes();
$hoy += $proyecto->cuotasHoy();
foreach ($proyecto->cuotasMes() as $cuota) {
$f = $cuota->pago()->fecha();
if ($f->isoWeekday() == 6 or $f->isoWeekDay() == 7) {
$f = $f->copy()->addDays(2)->startOfWeek();
}
$dia = $f->format('Y-m-d');
if (!isset($dias[$dia])) {
$dias[$dia] = [$proyecto->descripcion => 0];
}
if (!isset($dias[$dia][$proyecto->descripcion])) {
$dias[$dia][$proyecto->descripcion] = 0;
}
$dias[$dia][$proyecto->descripcion] ++;
}
if (count($proyecto->cierres()) > 0) {
$cierres[$proyecto->descripcion] = (object) ['total' => count($proyecto->cierres()),'vigentes' => $proyecto->cierres(3), 'rechazados' => $proyecto->cierres(-1), 'pendientes' => $proyecto->cierres(2)];
}
}
uksort($dias, function($a, $b) {
return strcmp($a, $b);
});
uksort($cierres, function($a, $b) {
return strcmp($a, $b);
});
echo view('home', compact('pendientes', 'hoy', 'dias', 'cierres'));
}
} elseif (get('p') == 'auth' or get('page') == 'auth') {
$route = route();
if ($route !== false) {
echo $route;
} else {
echo view('guest');
}
} else {
echo view('guest');
}
if (config('app.debug') == 'true') {
if (config('app.benchmark') == 'true') {
$benchmark->time = microtime(true) - $benchmark->time;
if (get('ajax') != '1' and get('p') != 'ajax' and get('p') != 'informes') {
echo view('benchmark', compact('benchmark'));
}
}
}
?>