Example #1
0
 public function delete($id)
 {
     $c = new Cliente_model();
     $c->where('id', $id);
     //@todo: Recuperar da configuração do sistema
     return $c->update('situacao_id', 3);
 }
Example #2
0
 public function novedades()
 {
     $this->permisos('admin');
     $this->pagina = 'novedades';
     $this->titulo = 'novedades';
     $this->estilo = array('backend', 'novedades');
     $this->carpeta = 'administrador';
     $this->menu = 'menu_admin_general';
     $this->submenu = '';
     $datos['novedades']['presupuestos'] = Presupuesto_model::numero_abiertos();
     if ($datos['novedades']['presupuestos'] != 0) {
         $datos['presupuestos'] = Presupuesto_model::abiertos();
     }
     $datos['novedades']['proyectos'] = Presupuesto_model::numero_aceptados();
     if ($datos['novedades']['proyectos'] != 0) {
         $datos['proyectos'] = Presupuesto_model::aceptados();
     }
     $datos['novedades']['tareas'] = Tarea_model::numeroTareasNuevas($this->session->userdata('email'), $this->session->userdata('ultimoAcceso'));
     $datos['novedades']['respuestas'] = Respuesta_model::numeroRespuestasNuevas($this->session->userdata('email'), $this->session->userdata('ultimoAcceso'));
     if ($datos['novedades']['tareas'] != 0) {
         $datos['tareas'] = Tarea_model::tareasNuevas($this->session->userdata('email'), $this->session->userdata('ultimoAcceso'));
     }
     if ($datos['novedades']['respuestas'] != 0) {
         $datos['respuestas'] = Respuesta_model::respuestasNuevas($this->session->userdata('email'), $this->session->userdata('ultimoAcceso'));
     }
     if (!empty($datos['respuestas'])) {
         foreach ($datos['respuestas'] as $resp) {
             $tarea = new Tarea_model();
             $resp->CodigoProyecto = $tarea->codigoProyecto($resp->CodigoTarea);
         }
     }
     $datos['novedades']['notas'] = Notas_model::numeroNotasNuevas($this->session->userdata('email'), $this->session->userdata('ultimoAcceso'));
     if ($datos['novedades']['notas'] != 0) {
         $datos['notas'] = Notas_model::notasNuevas($this->session->userdata('email'), $this->session->userdata('ultimoAcceso'));
     }
     $datos['novedades']['archivos'] = Archivo_model::numeroArchivosNuevos($this->session->userdata('email'), $this->session->userdata('ultimoAcceso'));
     if ($datos['novedades']['archivos'] != 0) {
         $datos['archivos'] = Archivo_model::archivosNuevos($this->session->userdata('email'), $this->session->userdata('ultimoAcceso'));
     }
     $datos['eventos'] = Evento_model::eventosFuturos($this->session->userdata('email'));
     $datos['clientes'] = Cliente_model::recientes(3);
     $datos['noticias'] = $this->Noticias->noticias_recientes(3);
     $this->mostrar($datos);
 }
Example #3
0
 public function pesquisa_cliente()
 {
     $cliente_nome = $this->input->post('nome');
     $cliente_documento = $this->input->post('documento');
     $c = new Cliente_model();
     $c->like('nome', $cliente_nome);
     $c->or_like('documento', $cliente_documento);
     return $c->get();
 }
Example #4
0
 public function buscar($campo = 'Nombre', $orden = 'asc', $limit = '5', $busqueda = '', $offset = 0)
 {
     $this->pagina = 'clientes';
     $this->carpeta = 'empleado';
     $this->menu = 'menu_empleado_clientes';
     $this->titulo = 'buscar cliente';
     $this->javascript = array('marcar_checkbox', 'confirmacion', 'redireccion');
     $this->estilo = array($this->pagina, 'tablas');
     if ($this->uri->segment(1) == 'admin') {
         $this->permisos('admin');
         $datos['user'] = '******';
     } else {
         $this->permisos('empleado');
         $datos['user'] = '******';
     }
     $datos['busqueda'] = TRUE;
     if ($busqueda != '') {
         $datos['buscador'] = array('class' => 'search-query input-medium', 'type' => 'text', 'name' => 'buscador', 'placeholder' => 'Buscar', 'value' => urldecode($busqueda), 'autofocus' => 'autofocus');
     } else {
         $datos['buscador'] = array('class' => 'search-query input-medium', 'type' => 'text', 'name' => 'buscador', 'placeholder' => 'Buscar', 'value' => $this->input->post('buscador'), 'autofocus' => 'autofocus');
     }
     $datos['boton'] = array('class' => 'btn', 'id' => 'buscador', 'name' => 'button', 'value' => 'Buscar');
     $datos['borrar'] = array('class' => 'btn btn-danger', 'id' => 'borrar', 'value' => 'Borrar selección', 'data-confirm' => "¿Estás seguro?");
     $datos['fields'] = array('Nombre' => 'Nombre', 'Email' => 'Email', 'FechaAltaSistema' => 'Alta', 'FechaUltimoAcceso' => 'Último acceso', 'Presupuestos' => 'Presupuestos', 'Proyectos' => 'Proyectos');
     $this->form_validation->set_rules('buscador', 'Buscador', 'trim|required|xss_clean');
     $this->form_validation->set_message('required', '%s no puede estar vacio');
     $this->form_validation->set_message('xss_clean', ' %s no es una búsqueda válida');
     if ($this->form_validation->run() == FALSE) {
         if ($busqueda != '') {
             $busqueda = urldecode($busqueda);
             $opciones = $this->seleccion(Cliente_model::busqueda_cantidad($busqueda));
             $datos['opciones'] = $opciones;
             if ($this->input->post('cantidad') != '') {
                 if ($opciones[$this->input->post('cantidad')] == 'Todo') {
                     $limit = Cliente_model::busqueda_cantidad($busqueda);
                 } else {
                     $limit = $opciones[$this->input->post('cantidad')];
                 }
             }
             $datos['elementos'] = $limit;
             if ($this->input->post('cantidad') != '') {
                 $datos['limit'] = $this->input->post('cantidad');
             } else {
                 $aux = 0;
                 if ($limit % 5 != 0) {
                     $aux = 1;
                 }
                 $datos['limit'] = floor($limit / 5) - 1 + $aux;
             }
             $datos['busq'] = $busqueda;
             $datos['clientes'] = Cliente_model::buscar($busqueda, $campo, $orden, $offset, $limit);
             $datos['numero'] = Cliente_model::busqueda_cantidad($busqueda);
             $config = array();
             if ($this->uri->segment(1) == 'admin') {
                 $config['base_url'] = base_url() . "admin/clientes/buscar/" . $campo . "/" . $orden . "/" . $limit . "/" . $busqueda . "/";
             } else {
                 $config['base_url'] = base_url() . "empleados/clientes/buscar/" . $campo . "/" . $orden . "/" . $limit . "/" . $busqueda . "/";
             }
             $config['total_rows'] = Cliente_model::busqueda_cantidad($busqueda);
             $config['per_page'] = $limit;
             $config['uri_segment'] = 8;
             $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['campo'] = $campo;
             $datos['orden'] = $orden;
         } else {
             $datos['numero'] = 0;
             $datos['opciones'] = array(0);
             $datos['campo'] = $campo;
             $datos['orden'] = $orden;
             $datos['buscar'] = '';
             $datos['limit'] = 0;
             $datos['elementos'] = 0;
             $datos['busq'] = '';
             $datos['vacio'] = TRUE;
         }
     } else {
         $busqueda = $this->input->post('buscador');
         $opciones = $this->seleccion(Cliente_model::busqueda_cantidad($busqueda));
         $datos['opciones'] = $opciones;
         if ($this->input->post('cantidad') != '') {
             if ($opciones[$this->input->post('cantidad')] == 'Todo') {
                 $limit = Cliente_model::numero();
             } else {
                 $limit = $opciones[$this->input->post('cantidad')];
             }
         }
         $datos['elementos'] = $limit;
         if ($this->input->post('cantidad') != '') {
             $datos['limit'] = $this->input->post('cantidad');
         } else {
             $aux = 0;
             if ($limit % 5 != 0) {
                 $aux = 1;
             }
             $datos['limit'] = floor($limit / 5) - 1 + $aux;
         }
         $datos['busq'] = $busqueda;
         $datos['clientes'] = Cliente_model::buscar($busqueda, $campo, $orden, $offset, $limit);
         $datos['numero'] = Cliente_model::busqueda_cantidad($busqueda);
         $config = array();
         if ($this->uri->segment(1) == 'admin') {
             $config['base_url'] = base_url() . "admin/clientes/buscar/" . $campo . "/" . $orden . "/" . $limit . "/" . $busqueda . "/";
         } else {
             $config['base_url'] = base_url() . "empleados/clientes/buscar/" . $campo . "/" . $orden . "/" . $limit . "/" . $busqueda . "/";
         }
         $config['total_rows'] = Cliente_model::busqueda_cantidad($busqueda);
         $config['per_page'] = $limit;
         $config['uri_segment'] = 7;
         $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['campo'] = $campo;
         $datos['orden'] = $orden;
     }
     $this->mostrar($datos);
 }
Example #5
0
 public function registrar()
 {
     $this->menu = 'menu_admin_presupuestos';
     $datos['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');
     $datos['provincias'] = $this->Provincia->obtener();
     $datos['provincias'][0] = ' ';
     $datos['ciudades'] = $this->Ciudad->obtener();
     if ($this->uri->segment(1) == 'cliente') {
         $this->load->library('cart');
         $this->permisos('cliente');
         $this->pagina = 'presupuesto';
         $this->carpeta = 'cliente';
         $this->titulo = 'Solicitar presupuesto';
         $this->estilo = array('registrar', 'presupuesto', 'jquery-te-1.3.3');
         $this->javascript = array('jquery-ui', 'ciudades', 'tamanyo', 'jquery.validate.min', 'validarPresupuesto');
         $datos['boton'] = array('class' => 'btn', 'value' => 'Solicitar presupuesto');
         $datos['formulario'] = array('direccion' => array('label' => 'Dirección', 'input' => array('class' => 'direccion', 'id' => 'direccion', 'name' => 'direccion', 'autofocus' => 'autofocus'), 'requerido' => TRUE), 'provincia' => array('label' => 'Provincia', 'input' => array('class' => 'provincia', 'id' => 'provincia', 'name' => 'provincia'), 'requerido' => TRUE), 'ciudad' => array('label' => 'Ciudad', 'input' => array('class' => 'ciudad', 'id' => 'ciudad', 'name' => 'ciudad'), 'requerido' => TRUE), 'tipo' => array('label' => 'Tipo de obra', 'input' => array('class' => 'tipo', 'id' => 'tipo', 'name' => 'tipo', 'autofocus' => 'autofocus'), 'requerido' => TRUE), 'superficie' => array('label' => 'Superficie', 'input' => array('class' => 'superficie input-small', 'id' => 'supericie', 'name' => 'superficie'), 'requerido' => FALSE), 'descripcion' => array('label' => 'Descripción', 'input' => array('class' => 'descripcion span12 editor', 'id' => 'descripcion', 'name' => 'descripcion'), 'requerido' => FALSE));
     } else {
         if ($this->uri->segment(1) == 'admin') {
             $this->permisos('admin');
             $this->pagina = 'crear presupuesto';
             $this->carpeta = 'administrador';
             $this->titulo = 'Crear presupuesto';
             $this->estilo = array('registrar', 'presupuesto', 'jquery-te-1.3.3');
             $this->javascript = array('presupuesto', 'calcular presupuesto', 'ciudades', 'fecha', 'registroCliente', 'jquery.validate.min', 'validarPresupuesto', 'editor', 'jquery-te-1.3.3.min');
             $this->menu = 'menu_admin_presupuestos';
             $datos['boton'] = array('class' => 'btn btn-info', 'name' => 'button', 'id' => 'boton_presupuesto');
             $datos['formulario'] = array('descripcion' => array('class' => 'descripcion span12 editor', 'name' => 'descripcion', 'label' => 'Descripción', 'requerido' => FALSE), 'direccion' => array('class' => 'direccion', 'name' => 'direccion', 'label' => 'Dirección', 'requerido' => TRUE, 'autofocus' => 'autofocus'), 'nombre' => array('class' => 'nombre', 'name' => 'nombre', 'label' => 'Cliente', 'requerido' => TRUE), 'provincia' => array('class' => 'provincia', 'name' => 'provincia', 'label' => 'Provincia', 'requerido' => TRUE), 'ciudad' => array('class' => 'ciudad', 'name' => 'ciudad', 'label' => 'Ciudad', 'requerido' => TRUE), 'tipo' => array('class' => 'tipo', 'name' => 'tipo', 'label' => 'Tipo de obra', 'autofocus' => 'autofocus', 'requerido' => TRUE), 'superficie' => array('class' => 'superficie input-small', 'name' => 'superficie', 'label' => 'Superficie', 'requerido' => FALSE), 'pem' => array('class' => 'pem input-small', 'id' => 'pem', 'name' => 'pem', 'label' => 'Pem', 'placeholder' => 'PEM', 'requerido' => TRUE), 'coeficiente' => array('class' => 'coeficiente input-small', 'id' => 'coeficiente', 'name' => 'coeficiente', 'label' => 'Coeficiente', 'placeholder' => 'Coeficiente', 'requerido' => TRUE), 'coeficienteSeguridad' => array('class' => 'coeficienteSeguridad input-small', 'id' => 'coeficienteSeguridad', 'name' => 'coeficienteSeguridad', 'label' => 'C. de seguridad', 'placeholder' => 'C.S.', 'requerido' => FALSE));
             $clientes = Cliente_model::obtener('Nombre', 'asc');
             $datos['clientes'] = array();
             $email = array();
             foreach ($clientes as $cliente) {
                 $datos['clientes'][$cliente->Email] = $cliente->Nombre . ' ' . $cliente->ApellidoP . ' ' . $cliente->ApellidoM;
             }
         }
     }
     /*Para formulario cliente*/
     $datos['boton2'] = array('class' => 'btn btn-info', 'name' => 'button', 'id' => 'boton_cliente');
     $datos['formularioRegistro'] = array('nombre' => array('id' => 'nombre', 'class' => 'nombre', 'label' => 'Nombre', 'name' => 'nombre', 'maxlength' => '60', 'size' => '15', 'requerido' => TRUE), 'apellidoPaterno' => array('id' => 'apellidoP', 'class' => 'apellidoP', 'label' => 'Primer apellido', 'name' => 'primerApellido', 'maxlength' => '60', 'size' => '15', 'requerido' => TRUE), 'apellidoMaterno' => array('id' => 'apellidoM', 'class' => 'apellidoM', 'label' => 'Segundo apellido', 'name' => 'segundoApellido', 'maxlength' => '60', 'size' => '15', 'requerido' => TRUE), 'fechaNacimiento' => array('id' => 'fechaN', 'class' => 'fechaN', 'label' => 'Fecha de nacimiento', 'name' => 'fNacimiento', 'maxlength' => '10', 'size' => '15', 'requerido' => TRUE), 'email' => array('id' => 'email', 'class' => 'email', 'label' => 'Email', 'name' => 'email', 'maxlength' => '50', 'size' => '15', 'requerido' => TRUE), 'password' => array('id' => 'password', 'class' => 'password', 'label' => 'Contraseña', 'name' => 'pass', 'maxlength' => '20', 'size' => '15', 'autocomplete' => 'off', 'requerido' => TRUE), 'passconf' => array('id' => 'passconf', 'class' => 'passconf', 'label' => 'Repita la contraseña', 'name' => 'passconf', 'maxlength' => '20', 'size' => '15', 'autocomplete' => 'off', 'requerido' => TRUE));
     if ($this->_validar()) {
         $presupuesto = new Presupuesto_model();
         if ($this->uri->segment(1) == 'cliente') {
             if ($presupuesto->inicializar($this->session->userdata('email'))) {
                 $id = $this->db->insert_id();
                 $presupuesto->datos($id);
                 $datos['valido'] = 'La solicitud de presupuesto ha sido registrado con éxito. En breve le daremos respuesta. Gracias por confiar en nosotros.';
                 $data = array('codigo' => $id, 'cliente' => htmlentities(strip_tags($this->session->userdata('nombre') . ' ' . $this->session->userdata('apellidos'))), 'email' => htmlentities(strip_tags($this->session->userdata('email'))), 'estado' => 'Abierto', 'fecha' => date('d-m-Y H:i:s', strtotime($presupuesto->fechaSolicitud())), 'solicitadoFecha' => date('d M Y', strtotime($presupuesto->fechaSolicitud())), 'solicitadoHora' => date('H:i A', strtotime($presupuesto->fechaSolicitud())), 'tipo' => $datos['opciones'][$presupuesto->tipo()], 'direccion' => $presupuesto->direccion(), 'ciudad' => $presupuesto->ciudad(), 'provincia' => $presupuesto->provincia());
                 $this->pusher->trigger('private-notificaciones', 'presupuesto-enviar', $data);
             } else {
                 $datos['error'] = 'La solicitud de presupuesto no ha podido registrarse con éxito. Por favor inténtelo de nuevo más tarde.';
             }
         } else {
             if ($this->uri->segment(1) == 'admin') {
                 if ($presupuesto->inicializar()) {
                     $codigoPresupuesto = $presupuesto->codigo();
                     $archivo = new Archivo_model();
                     $archivo->inicializar('presupuesto', $codigoPresupuesto);
                     if ($this->LineasPresupuesto->inicializar($codigoPresupuesto)) {
                         $this->guardar($codigoPresupuesto);
                         $datosEmail = array('direccion' => 'barea@arquitectosdecadiz.com ', 'nombre' => 'Barea Arquitectos', 'asunto' => 'Solicitud presupuesto estudio arquitectura Barea Arquitectos', 'texto' => '<FONT FACE="arial" SIZE=4>
                                     Le informamos que el presupuesto que solicitó esta listo. 
                                     Podrá acceder a él desde el área de clientes de la página web.
                                     <a href="' . base_url() . 'privado/ "> ' . base_url() . 'privado </a>
                                     </FONT>
                                     <br><br>
                                     <FONT FACE="arial" SIZE=1>
                                     BAREA ARQUITECTOS SL <br> c/ Vega, 1, 1ºA <br> 11130_Chiclana de la Frontera (Cádiz) <br> Tlf.: 956403042/636686745 <br> barea@arquitectosdecadiz.com <br><br>
                                     La presente información se envía únicamente para la persona a la que va dirigida y puede contener información de carácter confidencial 
                                     o privilegiada. Cualquier modificación, retransmisión, difusión u otro uso de 
                                     esta información por personas o entidades distintas a la persona a la que va dirigida está prohibida. Si usted lo ha recibido por error 
                                     por favor contacte con el remitente y borre el mensaje de cualquier ordenador. BAREA ARQUITECTOS S.L. no asume la responsabilidad derivada 
                                     del hecho de que terceras personas puedan llegar a conocer el contenido de este mensaje durante su transmisión.
                                     </FONT>
                                     ', 'destino' => strtolower($this->input->post('nombre')));
                         //Enviamos email de confirmación
                         $this->my_phpmailer->Enviar($datosEmail);
                         $this->exito = "El presupuesto se ha creado satisfactoriamente.";
                     } else {
                         $this->error = array('nivel' => '2', 'mensaje' => "El presupuesto no se ha registrado.");
                     }
                 } else {
                     $this->error = array('nivel' => '2', 'mensaje' => "El presupuesto no se ha registrado.");
                 }
             }
         }
     }
     $this->mostrar($datos);
 }
Example #6
0
 public function informacion($codigo)
 {
     $this->permisos('admin');
     $this->pagina = 'proyecto';
     $this->carpeta = 'administrador';
     $this->titulo = 'Información proyecto';
     $this->menu = 'menu_admin_proyecto';
     $this->submenu = 'menu_proyecto';
     $this->estilo = array('jquery-te-1.3.3', 'jquery-ui', 'proyectos', $this->pagina);
     $this->javascript = array('editor', 'proyecto', 'campos', 'jquery-te-1.3.3.min');
     $datos['user'] = '******';
     if (Proyecto_model::existe($codigo)) {
         $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');
         $datos['codigo'] = $codigo;
         $datos['estados'] = array('0' => 'Ejecución', '1' => 'Cerrado');
         $proyecto = new Proyecto_model();
         $datos['proyecto'] = $proyecto->datos($codigo);
         $datos['estado'] = $proyecto->estado();
         $archivo = new Archivo_model();
         $datos['mem'] = $archivo->memProyecto($codigo);
         $datos['mostrar'] = array('name' => 'mostrar', 'id' => 'mostrar', 'value' => 'accept', 'checked' => $proyecto->visible());
         $datos['nombreProyecto'] = $proyecto->nombre();
         $datos['empleadosProyectos'] = Proyecto_model::empleadosProyecto($codigo);
         $presupuesto = new Presupuesto_model();
         $datos['presupuesto'] = $presupuesto->datos($proyecto->codigoPresupuesto());
         $datos['presupuesto']->Tipo = $opciones[$datos['presupuesto']->Tipo];
         $datos['precio'] = $presupuesto->precio();
         $datos['editor'] = array('class' => 'editor', 'id' => 'contenido', 'name' => 'contenido', 'label' => 'contenido', 'value' => $proyecto->contenido($codigo));
         $cliente = new Cliente_model();
         $datos['cliente'] = $cliente->datos($presupuesto->email());
         $archivos = Archivo_model::archivosProyecto($codigo);
         $datos['archivos'] = array();
         $datos['imagenes'] = array();
         foreach ($archivos as $archivo) {
             if (substr($archivo->Ruta, -1) != '/') {
                 $ext = substr(strrchr($archivo->Ruta, "."), 1);
                 if ($ext == 'jpg' || $ext == 'JPG' || $ext == 'jpeg' || $ext == 'JPEG' || $ext == 'png' || $ext == 'PNG') {
                     array_push($datos['imagenes'], $archivo);
                 } else {
                     array_push($datos['archivos'], $archivo);
                 }
             }
         }
         if (Empresa_model::existe($proyecto->constructora())) {
             $constructora = new Constructora_model();
             $datos['constructora'] = $proyecto->constructora();
             $constructoras = Constructora_model::obtener('RazonSocial', 'asc');
             $datos['constructoras'] = array('0' => '');
             foreach ($constructoras as $constructora) {
                 $datos['constructoras'][$constructora->Cif] = $constructora->RazonSocial;
             }
         } else {
             $constructoras = Constructora_model::obtener('RazonSocial', 'asc');
             $datos['constructoras'] = array('0' => '');
             foreach ($constructoras as $constructora) {
                 $datos['constructoras'][$constructora->Cif] = $constructora->RazonSocial;
             }
         }
         $proveedores = Proveedor_model::obtener('Cif', 'asc');
         $datos['proveedores'] = array('0' => '');
         foreach ($proveedores as $proveedor) {
             $datos['proveedores'][$proveedor->Cif] = $proveedor->RazonSocial;
         }
         $empleados = Proyecto_model::empleadosProyecto($codigo);
         $datos['empleados'] = array();
         foreach ($empleados as $aux) {
             $empleado = new Empleado_model();
             $empleado->Foto = $empleado->foto($aux->EmailEmpleado);
             array_push($datos['empleados'], $empleado->datos($aux->EmailEmpleado));
         }
         $tareas = Tarea_model::obtener($this->session->userdata('email'), $codigo);
         $datos['tareas'] = $tareas;
         $materiales = Material_model::obtener($codigo);
         $datos['materiales'] = $materiales;
         $this->form_validation->set_rules('material[]', 'material', 'trim|min_length[3]|xss_clean');
         $this->form_validation->set_rules('contenido', 'material', 'trim|min_length[3]|xss_clean');
         $this->form_validation->set_message('min_length', '%s debe tener mínimo %s caracteres');
         $this->form_validation->set_message('xss_clean', ' %s no es válido');
         if ($this->form_validation->run() == TRUE) {
             if ($this->input->post('estado') != TRUE) {
                 $estado = 'Ejecución';
                 $datos['estado'] = $estado;
             } else {
                 $estado = 'Cerrado';
                 $datos['estado'] = $estado;
             }
             $data = array('Visible' => FALSE, 'Estado' => $estado);
             $proyecto->actualizar($codigo, $data);
             Archivo_model::ocultar($codigo);
             if ($this->input->post('mem') != '') {
                 $codigoArchivo = $this->input->post('mem');
                 $data = array('Codigo' => $codigoArchivo[0], 'CodigoProyecto' => $codigo, 'ArchivoProyecto' => TRUE);
                 $archivo = new Archivo_model();
                 $archivo->memProyecto($codigo, $data, TRUE);
                 $datos['mem'] = $codigoArchivo[0];
             }
             if ($this->input->post('contenido') != '') {
                 $data = array('Contenido' => $this->input->post('contenido'));
                 $proyecto->actualizar($codigo, $data);
                 $datos['editor']['value'] = $this->input->post('contenido');
             }
             $aux = $this->input->post('mostrar');
             if ($aux == 'accept') {
                 $data = array('Visible' => TRUE);
                 $proyecto->actualizar($codigo, $data);
                 Archivo_model::ocultar($codigo);
                 $aux = $this->input->post();
                 $value = 'accept';
                 foreach ($aux as $key => $value) {
                     if ($key != 'mostrar') {
                         $archivo = new Archivo_model();
                         $archivo->visible($key, TRUE);
                     }
                 }
             }
             if ($this->input->post('constructora') != 0) {
                 $aux = $this->input->post();
                 $data = array('CifConstructora' => $this->input->post('constructora'));
                 $datos['constructora'] = $this->input->post('constructora');
                 $proyecto->actualizar($codigo, $data);
             }
             if ($this->input->post('proveedor') != '' && $this->input->post('material') != '') {
                 $mat = $this->input->post('material');
                 $prov = $this->input->post('proveedor');
                 for ($i = 0; $i != count($this->input->post('proveedor')); $i++) {
                     $material = new Material_model();
                     $material->inicializar($mat[$i], $prov[$i], $codigo);
                 }
             }
         } else {
             $datos['errores'] = validation_errors();
         }
         $datos['mostrar']['checked'] = $proyecto->visible($codigo);
         $archivos = Archivo_model::archivosProyecto($codigo);
         $materiales = Material_model::obtener($codigo);
         $datos['materiales'] = $materiales;
         $datos['archivos'] = array();
         $datos['imagenes'] = array();
         foreach ($archivos as $archivo) {
             if (substr($archivo->Ruta, -1) != '/') {
                 $ext = substr(strrchr($archivo->Ruta, "."), 1);
                 if ($ext == 'jpg' || $ext == 'JPG' || $ext == 'jpeg' || $ext == 'JPEG' || $ext == 'png' || $ext == 'PNG') {
                     array_push($datos['imagenes'], $archivo);
                 } else {
                     array_push($datos['archivos'], $archivo);
                 }
             }
         }
     } else {
         $this->error = array('nivel' => '1', 'mensaje' => 'El proyecto indicado no existe');
     }
     $this->mostrar($datos);
 }