private static function validate() { $errors = array(); if (!isset($_POST["barcode"]) || !$_POST["barcode"] || strlen(trim($_POST["barcode"])) != 16) { array_push($errors, 'Código de barras inválido'); } else { $userId = (int) substr($_POST["barcode"], 0, 8); $solicitudId = (int) substr($_POST["barcode"], 8, 8); $solicitud = SolicitudesEntregaAdmin::getSolicitudEntregaById($solicitudId); if ($solicitud == null) { array_push($errors, 'Solicitud inválida'); } else { if ($solicitud->status == SolicitudEntregaState::anulada) { array_push($errors, 'La solicitud se encuetra anulada'); } else { if ($solicitud->status == SolicitudEntregaState::entregada) { array_push($errors, 'La solicitud ya fué entregada'); } else { if ($solicitud->status != SolicitudEntregaState::confirmada) { array_push($errors, 'La solicitud aun no ha sido confirmada'); } else { if ($solicitud->userId != $userId) { array_push($errors, 'La solicitud no coincide con el usuario enviado'); } else { $actual = date("y-m-d", time()); $startsAt = date("y-m-d", strtotime($solicitud->startsAt)); if ($startsAt < $actual) { array_push($errors, 'La fecha de entrega ha caducado'); } if ($startsAt > $actual) { array_push($errors, 'Su turno está agendado para ' . date("d/m/y", strtotime($solicitud->startsAt)) . ' a las ' . date("H:i", strtotime($solicitud->startsAt))); } } } } } } } return $errors; }
<?php if (!isset($_SESSION)) { session_start(); } $_SERVER["DOCUMENT_ROOT"] = $_SERVER["DOCUMENT_ROOT"] . '/turnos'; include_once $_SERVER["DOCUMENT_ROOT"] . '/common/Includes.php'; use admin\SolicitudesEntregaAdmin; use dao\SecurityDao; $solicitud = SolicitudesEntregaAdmin::getSolicitudEntregaById($_GET['id']); $user = SecurityDao::getUserById($solicitud->userId); $barcode = str_repeat("0", 8 - strlen($user->id)) . $user->id . str_repeat("0", 8 - strlen($solicitud->id)) . $solicitud->id; $status = null; switch ($solicitud->status) { case 1: $status = 'Ingresada'; break; case 2: $status = 'Pendiente de confirmación'; break; case 3: $status = 'Confirmada'; break; case 4: $status = 'Rechazada'; break; } $generator = new \lib\barcode\BarcodeGeneratorPNG(); $img = 'data:image/png;base64,' . base64_encode($generator->getBarcode($barcode, $generator::TYPE_CODE_128)); $pdf = new \lib\FPDF(); $pdf->AddPage();