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;
 }
Beispiel #2
0
<?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();