pushHandler(new Handler\RotatingFileHandler('/logs/php.log')); $handler = new Handler\NativeMailerHandler('jpvial@incoviba.cl', 'Incoviba Error', 'alert@incoviba.cl'); $handler->setFormatter(new Formatter\HtmlFormatter()); $logger->pushHandler(new Handler\FilterHandler($handler, Level::Error)); $logger->pushProcessor(new Processor\PsrLogMessageProcessor()); $logger->pushProcessor(new Processor\IntrospectionProcessor()); $logger->pushProcessor(new Processor\WebProcessor()); $logger->pushProcessor(new Processor\MemoryPeakUsageProcessor()); Monolog\ErrorHandler::register($logger); 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) { $logger->error($e); header('Location: install'); die(); } try { 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'); } } catch (Exception $e) { $logger->warning($e); echo ""; } catch (Error $e) { $logger->error($e); echo ""; } if (config('app.debug') == 'true') { if (config('app.benchmark') == 'true') { $benchmark->time = microtime(true) - $benchmark->time; $logger->debug("Time {$benchmark->time}"); if (get('ajax') != '1' and get('p') != 'ajax' and get('p') != 'informes') { echo view('benchmark', compact('benchmark')); } } } ?>