Esempio n. 1
0
 public function descargar($codigo)
 {
     if (Archivo_model::existe($codigo)) {
         $aux = FALSE;
         $archivo = new Archivo_model();
         $archivo->datos($codigo);
         $file = str_replace('http://localhost', realpath(__DIR__ . '/../../../'), $archivo->ruta($codigo));
         if ($archivo->codigoTarea() != NULL || $archivo->codigoRespuesta() != NULL) {
             if ($this->session->userdata('usuario') == 'admin' || Tarea_model::existeEmpleado($archivo->codigoTarea($codigo), $this->session->userdata('email'))) {
                 $aux = TRUE;
             }
         } else {
             if ($this->session->userdata('usuario') == 'admin' || $archivo->emailEmpleado() == $this->session->userdata('email') || Proyecto_model::existeEmpleado($archivo->codigoProyecto($codigo), $this->session->userdata('email'))) {
                 $aux = TRUE;
             } elseif ($this->session->userdata('usuario') == 'cliente') {
                 if ($archivo->CodigoProyecto != NULL) {
                     $proyecto = new Proyecto_model();
                     $codigoP = $proyecto->codigoPresupuesto($archivo->CodigoProyecto);
                     $presupuesto = new Presupuesto_model();
                     if ($codigoP != '') {
                         if ($presupuesto->email($codigoP) == $this->session->userdata('email')) {
                             $aux = TRUE;
                         }
                     }
                 } else {
                     $codigoP = $archivo->codigoPresupuesto($codigo);
                     $presupuesto = new Presupuesto_model();
                     if ($codigoP != '') {
                         if ($presupuesto->email($codigoP) == $this->session->userdata('email')) {
                             $aux = TRUE;
                         }
                     }
                 }
             }
         }
         if ($aux) {
             if (file_exists($file)) {
                 $extension = $archivo->Extension;
                 if ($extension == 'pdf') {
                     header('Content-type: application/pdf');
                 } elseif ($extension == 'jpg' || $extension == 'png' || $extension == 'jpeg') {
                     header('Content-type: application/jpg');
                 }
                 header('Content-Disposition: attachment; filename=' . basename($file));
                 header('Expires: 0');
                 header('Cache-Control: must-revalidate');
                 header('Pragma: public');
                 header('Content-Length: ' . filesize($file));
                 ob_clean();
                 flush();
                 readfile($file);
             } else {
                 echo "El archivo no existe";
             }
         } else {
             echo 'No puedes descargar el archivo';
         }
     } else {
         echo 'El archivo no existe';
     }
 }