Esempio n. 1
0
 public function notificaciones()
 {
     if (!$this->input->is_ajax_request()) {
         redirect('404');
     } else {
         $notificaciones = array();
         $notificaciones['presupuestos'] = Presupuesto_model::numero_abiertos();
         $evento = new Evento_model();
         $notificaciones['eventos'] = count($evento->evento(date('Y-m-d'), $this->session->userdata('email')));
         $notificaciones['proyectos'] = Presupuesto_model::numero_aceptados();
         $notificaciones['tareas'] = Tarea_model::numeroTareasNuevas($this->session->userdata('email'), $this->session->userdata('ultimoAcceso'));
         $notificaciones['respuestas'] = Respuesta_model::numeroRespuestasNuevas($this->session->userdata('email'), $this->session->userdata('ultimoAcceso'));
         $notificaciones['notas'] = Notas_model::numeroNotasNuevas($this->session->userdata('email'), $this->session->userdata('ultimoAcceso'));
         $notificaciones['archivos'] = Archivo_model::numeroArchivosNuevos($this->session->userdata('email'), $this->session->userdata('ultimoAcceso'));
         $notificaciones['novedades'] = $notificaciones['presupuestos'] + $notificaciones['proyectos'] + $notificaciones['tareas'] + $notificaciones['respuestas'] + $notificaciones['notas'] + $notificaciones['archivos'];
         $notificaciones['chat'] = Chat_model::numero_mensajes_nuevos($this->session->userdata('ultimoAcceso'), $this->session->userdata('email'));
         echo json_encode($notificaciones);
     }
 }
Esempio n. 2
0
 private function _borrar_contenido($dir)
 {
     if (is_dir($dir)) {
         $handle = opendir($dir);
         $objects = get_dir_file_info($dir);
         foreach ($objects as $object) {
             if ($object['name'] != "." && $object['name'] != "..") {
                 if (is_dir($dir . DIRECTORY_SEPARATOR . $object['name'])) {
                     if (count(@scandir($dir . DIRECTORY_SEPARATOR . $object['name'])) > 2) {
                         Archivo_model::_borrar_contenido($dir . DIRECTORY_SEPARATOR . $object['name']);
                     }
                     rmdir($dir . DIRECTORY_SEPARATOR . $object['name']);
                 } else {
                     unlink($dir . DIRECTORY_SEPARATOR . $object['name']);
                 }
             }
         }
         reset($objects);
         closedir($handle);
         rmdir($dir);
     }
 }
Esempio n. 3
0
 public function borrarRespuesta($codigoProyecto, $codigoTarea, $codigoRespuesta)
 {
     if (Respuesta_model::existe($codigoRespuesta)) {
         $respuesta = new Respuesta_model();
         if ($this->session->userdata('email') == $respuesta->email($codigoRespuesta)) {
             $archivos = Archivo_model::obtener($respuesta->Codigo, 'respuesta');
             if (!empty($archivos)) {
                 foreach ($archivos as $arch) {
                     $archivo = new Archivo_model();
                     $archivo->eliminar($arch->Codigo);
                 }
             }
             $respuesta->borrar($codigoRespuesta);
         }
     }
     if ($this->session->userdata('usuario') == 'admin') {
         redirect("admin/proyecto/tarea/{$codigoProyecto}/{$codigoTarea}");
     } else {
         redirect("empleados/proyecto/tarea/{$codigoProyecto}/{$codigoTarea}");
     }
 }
Esempio n. 4
0
 public function borrar($codigo = '')
 {
     $presupuesto = new Presupuesto_model();
     if ($codigo != '') {
         if (Presupuesto_model::existe($codigo)) {
             $presupuesto->datos($codigo);
             $codigo = urldecode($codigo);
             $codigoArchivo = $presupuesto->codigoArchivo($codigo);
             if (Archivo_model::existe($codigoArchivo)) {
                 $archivo = new Archivo_model();
                 $archivo->datos($codigoArchivo);
                 $archivo->eliminar();
             }
             if ($presupuesto->eliminar($codigo)) {
                 redirect('admin/presupuesto');
             }
         }
     } else {
         if ($this->input->post('checkbox') != '') {
             $codigos = $this->input->post('checkbox');
             foreach ($codigos as $codigo) {
                 if (Presupuesto_model::existe($codigo)) {
                     $presupuesto->datos($codigo);
                     $codigo = urldecode($codigo);
                     $codigoArchivo = $presupuesto->codigoArchivo($codigo);
                     if (Archivo_model::existe($codigoArchivo)) {
                         $archivo = new Archivo_model();
                         $archivo->datos($codigoArchivo);
                         $archivo->eliminar();
                     }
                     $presupuesto->eliminar($codigo);
                 }
             }
         }
         redirect('admin/presupuesto');
     }
 }
Esempio n. 5
0
 public function proyectos()
 {
     $this->pagina = 'proyectos';
     $this->titulo = 'proyectos';
     $this->estilo = array('listProyectos', 'bootstrap-lightbox');
     $this->javascript = array('bootstrap-lightbox', 'proyectos', 'tamanyo');
     $offset = $this->uri->segment(2);
     $limit = 2;
     $visibles = array();
     if (Proyecto_model::numeroVisibles() > 0) {
         $visibles = Proyecto_model::visibles($offset, $limit);
     }
     if (empty($visibles)) {
         $datos['mensaje'] = 'Actualmente no existen proyectos disponibles para mostrar.';
     } else {
         $opciones = array('0' => '', '1' => 'Obra Nueva', '2' => 'Peritación', '3' => 'Rehabilitación', '4' => 'Adecuación de local', '5' => 'Tasación', '6' => 'Informe', '7' => 'Auditoría energética');
         $proyectos = array();
         $presupuesto = new Presupuesto_model();
         foreach ($visibles as $visible) {
             $presupuesto->datos($visible->CodigoPresupuesto);
             $imagenes = Archivo_model::obtenerVisibles($visible->Codigo);
             $proyectos[$visible->Codigo] = array('Nombre' => $visible->NombreProyecto, 'Ciudad' => $presupuesto->ciudad(), 'Provincia' => $presupuesto->provincia(), 'Tipo' => $opciones[$visible->Tipo], 'Descripcion' => $visible->Contenido, 'imagenes' => $imagenes);
         }
         $config = array();
         $config['base_url'] = base_url() . "proyectos";
         $config['total_rows'] = Proyecto_model::numeroVisibles();
         $config['per_page'] = $limit;
         $config['uri_segment'] = 2;
         $config['prev_link'] = 'anterior';
         $config['next_link'] = 'siguiente';
         $config['first_link'] = '<<';
         $config['last_link'] = '>>';
         $config['num_tag_open'] = '<li>';
         $config['num_tag_close'] = '</li>';
         $config['cur_tag_open'] = '<li class="disabled"><a href="#">';
         $config['cur_tag_close'] = '</a></li>';
         $config['prev_tag_open'] = '<li>';
         $config['prev_tag_close'] = '</li>';
         $config['next_tag_open'] = '<li>';
         $config['next_tag_close'] = '</li>';
         $config['first_tag_open'] = '<li>';
         $config['first_tag_close'] = '</li>';
         $config['last_tag_open'] = '<li>';
         $config['last_tag_close'] = '</li>';
         $this->pagination->initialize($config);
         $datos['links'] = $this->pagination->create_links();
         $datos['proyectos'] = $proyectos;
     }
     $this->mostrar($datos);
 }
Esempio n. 6
0
 public function descargarZip($codigoProyecto, $codigoCarpeta = '')
 {
     $this->load->library('zip');
     if (Proyecto_model::existe($codigoProyecto)) {
         $proyecto = new Proyecto_model();
         $nombre = $proyecto->nombre($codigoProyecto);
         if ($this->session->userdata('usuario') == 'admin' || Proyecto_model::existeEmpleado($codigoProyecto, $this->session->userdata('email'))) {
             if ($codigoCarpeta == '') {
                 $path = getcwd() . "/archivos/proyectos/{$codigoProyecto}/";
             } else {
                 if (Archivo_model::existe($codigoCarpeta)) {
                     $archivo = new Archivo_model();
                     $path = str_replace('http://localhost/bareaarquitectos', realpath(getcwd()), $archivo->ruta($codigoCarpeta));
                 }
             }
             if (file_exists($path)) {
                 $this->zip->read_dir($path, FALSE);
                 $this->zip->download($nombre);
             }
         }
     }
 }