Codeigniter - ayuda como hacer una comunicacion interna (intranet) con codeigniter

   
Vista:

ayuda como hacer una comunicacion interna (intranet) con codeigniter

Publicado por Cesar Eduardo (1 intervención) el 29/08/2017 16:50:01
Hola, buen día, estoy tratando de hacer una comunicación interna (mensajes) en codeigniter, soy novato en este framework, he estado tratando de ver como hacer para cuando el Administrador envié un mensaje hacia algún usuario en especifico a este le notifique que tiene un nuevo mensaje por parte del administrador, ¿alguna idea de como hacer para que me notifique?

Este es mi controlador;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
public function nuevo_Interna(){
	if($this->session->userdata('logeado')){
		if($this->session->userdata('nivel') == 2){
			$data['titulo'] = "Mensaje  ";
			$data['subtitulo'] = "Nuevo";
			$menu['menu'] = $this->menu_model->crear_menu();
			$menu_activo['menu_activo']= "inbox";
			$data['modulo'] = "nuevo_mensaje";
			$data['fecha'] = $this->datos_model->VerRegistros('cedha_mensajes','fecha');
			$data['turnado'] = $this->datos_model->VerRegistrosWHERE('usuarios','nombre',array('nivel_id' => 1));
			$data['mensaje'] = $this->datos_model->VerRegistros('cedha_mensajes','mensaje');
			$data['expediente'] = $this->datos_model->VerRegistros('cedha_mensajes','expediente');
			$data['estatus'] = $this->datos_model->VerRegistros('cedha_mensajes','estatus');
			$data['descripcion'] = $this->datos_model->VerRegistros('cedha_mensajes_estatus','descripcion');
 
			$this->load->view('constructor/head');
			$this->load->view('constructor/sidebar',$menu);
			$this->load->view('mensajes/Nuevo',$data);
			$this->load->view('constructor/librerias');
			$this->load->view('mensajes/funciones',$data);
			$this->load->view('constructor/footer',$menu_activo);
		} else {
			redirect('user/index');
		}
	} else {
		$this->load->view('autenticar/login');
		$this->load->view('autenticar/funciones');
	}
}
public function guardar_nuevo_mensaje(){
	if($this->session->userdata('logeado')){
			if($_POST['expediente'] == 0){
				$expediente_folio= $this->Mensajes_model->CheckMensajeFolio();
				$expediente_anio= date('Y');
				$expedienteMensaje= $expediente_folio.'/'.$expediente_anio;
 
				$data= array('fecha' => $_POST['fecha'], //inserta fecha
							 'expediente_anio' => $expediente_anio, // trae el año
							 'usuario_origen' => $this->input->post('usuario'), //trae el usuario logueado
							 'usuario_destino' => $_POST['turnado'], // trae a la persona turnada para el envio
							 'mensaje' => $_POST['descripcion_mensaje'], //trae el mensaje
							 'expediente' => $expedienteMensaje, // se hace el numero del expediente a mostrar
							 'expediente_folio' => $expediente_folio, //se inseta el numero de folio
							 'estatus' => $_POST['descripcion_estatus'], // trae la descripcion del status
							 'adjunto' => $_POST['archivo1']); //obtiene el archivo para guardarlo
				$ExpedienteID= $this->datos_model->InsertarRegistroID('cedha_mensajes',$data);
			}
		echo $ExpedienteID;
		//alert('guardado');
	}
}

Este es mi modelo;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
class Mensajes_model extends CI_Model {
    public function __construct(){
        parent::__construct();
    }
    public function CheckMensajeFolio(){
        $anio= date('Y');
        $buscar_anio= $this->db->get_where('cedha_mensajes',array('expediente_anio' => $anio));
        if ($buscar_anio->num_rows() == 0){
            return 1;
        } else {
            $qxry= $this->db
                        ->from('cedha_mensajes')
                        ->where('expediente_anio',$anio)
                        ->order_by('expediente_folio','DESC')
                        ->limit(1)
                        ->get();
            $folio= $qxry->row()->expediente_folio + 1;
            return $folio;
        }
    }
    public function GetMensajes($fecha){
        $this->db->select('row_id,
                           fecha,
                           expediente,
                           usuario_origen,
                           usuario_destino,
                           mensaje,
                           estatus,
                           expediente_folio,
                           expediente_anio');
        $this->db->FROM('cedha_mensajes','row_id=expediente','LEFT');
        $this->db->order_by('expediente_folio','DESC');
        $this->db->order_by('expediente_anio','DESC');
        $qxry= $this->db->get();
        return $qxry->result();
    }
 
}
public function InsertarRegistroID($tabla,$data){
	$query= $this->db->insert($tabla,$data);
	$id= $this->db->insert_id();
	return $id;
}

Y aqui es donde quiero que me notifique;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<ul class="nav navbar-nav navbar-right">
	<li class="dropdown">
		<a href="javascript:;" data-toggle="dropdown" class="dropdown-toggle f-s-14">
			<i class="fa fa-bell-o"></i>
			<span class="label">0</span>
		</a>
		<ul class="dropdown-menu media-list pull-right animated fadeInDown">
            <li class="dropdown-header">Notifications (5)</li>
            <li class="media">
                <a href="javascript:;">
                    <div class="media-left"><i class="fa fa-bug media-object bg-red"></i></div>
                </a>
            </li>
           <li class="media">
                <a href="javascript:;">
                    <div class="media-left"><i class="fa fa-envelope media-object bg-blue"></i></div>
                    <div class="media-body">
                        <h6 class="media-heading">Mensaje</h6>
                        <div class="text-muted f-s-11">Hace tantos minutos</div>
                    </div>
                </a>
            </li>
            <!--<li class="dropdown-footer text-center">
                <a href="javascript:;">View more</a>
            </li> -->
        </ul>

No se si puedan ayudarme en como hacerlo o como hacerle, les agradezco su ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Revisar política de publicidad