load->model('Comites_model');// llamamos a los modelos que vamos a utilizar $this->load->model('Integrantes_model');// llamamos a los modelos que vamos a utilizar $this->load->model('Integrantes_Comites_model');// llamamos a los modelos que vamos a utilizar } ////////////////////////////////////////Funciones del Usuario//////////////////////////////////////////////////// /// Nota: Las funciones deben estar en singular. public function index() { $data['active'] = "Comités"; //pestaña activa $data['title'] = "Comités"; //Titulos del elemento mostrado $data['content'] = "comites/list.php"; // vista que se va a cargar en el espacio en blanco. $data['listaComites'] = $this->Comites_model->lista_comites(); // modelo de consulta en la BD $this->load->view("template", $data); // vista contenedora + array de datos. } public function create() { $data['active'] = "Comités"; //pestaña activa $data['title'] = "Nuevo Comité"; //Titulos del elemento mostrado $data['content'] = "comites/create.php"; // vista que se va a cargar en el espacio en blanco. //$data['tipo_integrante'] = $this->Tipo_integrante_model->lista_Tipo_Integrantes(); $data['comites'] = $this->Comites_model->lista_comites(); $data['message'] = $this->session->flashdata('error'); $data['datos'] = $this->session->flashdata('datos'); $this->load->view("template", $data); // vista contenedora + array de datos. } public function insert() { $datos = $this->input->post(); // recibimos los datos via post o get //var_dump($datos); // configuramos las opciones para subir archivos $config['upload_path'] = './uploads/logos/'; $config['allowed_types'] = 'gif|jpg|png'; //$config['max_size'] = 100; //$config['max_width'] = 1024; //$config['max_height'] = 768; // llamamos a la libreria upload y le pasamos la configuracion $this->load->library('upload', $config); // preguntamos si NO se subió el archivo if ( ! $this->upload->do_upload('imagen_comite')) { // Mostramos el error $error = $this->upload->display_errors(); $this->session->set_flashdata('error', $error); $this->session->set_flashdata('datos', $datos); redirect(base_url('index.php/comites/create'),'refresh'); } else { // recuperamos los datos ingresados $data = array('upload_data' => $this->upload->data()); // los insertamos en la base de datos y recuperamos el ultimo id insertado $last_id = $this->Comites_model->insertComites($datos['nombre_comite'], $datos['nombre_completo_comite'], $_FILES['imagen_comite']['name'], $datos['descripcion']); // redireccionamos a la lista integrantes redirect(base_url('index.php/comites'),'refresh'); } } public function edit() { $data['active'] = "Comités"; //pestaña activa $data['title'] = "Editar Comité"; //Titulos del elemento mostrado $data['content'] = "comites/edit.php"; // vista que se va a cargar en el espacio en blanco. $data['comite'] = $this->Comites_model->unComite($_GET['id_comite']); // modelo de consulta en la BD $data['message'] = $this->session->flashdata('error'); $this->load->view("template", $data); // vista contenedora + array de datos. } public function update(){ $datos = $this->input->post(); // recibimos los datos via post o get //var_dump($datos); // configuramos las opciones para subir archivos $config['upload_path'] = './uploads/logos/'; $config['allowed_types'] = 'gif|jpg|png'; //$config['max_size'] = 100; //$config['max_width'] = 1024; //$config['max_height'] = 768; // llamamos a la libreria upload y le pasamos la configuracion $this->load->library('upload', $config); $nombre_imagen =''; // comprobamos si exite una nueva imagen if ($_FILES['imagen_comite']['name'] == '') { // si eñ resultado es vacio toma la imagen anterior y actualiza los campos $nombre_imagen = $datos['imagen_2']; // pasamos los datos al modelo para actualizar $this->Comites_model->updateComites($datos['id_comite'],$datos['nombre_comite'], $datos['nombre_completo_comite'], $nombre_imagen, $datos['descripcion']); // redireccionamos a la lista integrantes redirect(base_url('index.php/comites'),'refresh'); } else { // si el resultado no está vacio es por que existe una nueva imagen $nombre_imagen = $_FILES['imagen_comite']['name']; // preguntamos si NO se subió el archivo if ( ! $this->upload->do_upload('imagen_comite')) { // Mostramos el error $error = $this->upload->display_errors(); $this->session->set_flashdata('error', $error); $this->session->set_flashdata('datos', $datos); redirect(base_url('index.php/comites/edit?id_comite='.$datos['id_comite']),'refresh'); } else { // recuperamos los datos ingresados $data = array('upload_data' => $this->upload->data()); // los actualizamos en la base de datos $this->Comites_model->updateComites($datos['id_comite'],$datos['nombre_comite'], $datos['nombre_completo_comite'], $nombre_imagen, $datos['descripcion']); // redireccionamos a la lista integrantes redirect(base_url('index.php/comites'),'refresh'); } } } public function delete() { // primero buscamos a todos los integrantes que tengan ese comité asignado y los guardamos en un array $integrantes_comites = $this->Integrantes_Comites_model->select_integrantes_comites($_POST['id_comite']); // recorremos el array foreach ($integrantes_comites as $integrante){ // Actualizamos el comité asignado a cada integrante por "Ninguno" (id_comite = 1) $this->Integrantes_Comites_model->updateIntegrantes_Comites($integrante->id_integrante,1); } // procedemos a eliminar el comité $this->Comites_model->deleteComite($_POST['id_comite']); // redireccionamos a la lista de comites redirect(base_url('index.php/comites'),'refresh'); } public function ajaxRequest(){ $this->Comites_model->updateStatus($_GET['id_comite'],$_GET['valor']); redirect(base_url('index.php/integrantes'),'refresh'); } }