Example #1
0
 /**
  * Cantidad de mensajes que tiene el usuario en su bandeja de entrada para
  * ser leidos.
  * @return int
  */
 public function cantidad_mensajes_nuevos()
 {
     $m = new Model_Mensaje();
     return $m->total_recibidos($this->primary_key['id'], Model_Mensaje::ESTADO_NUEVO);
 }
Example #2
0
 /**
  * Generamos el menu de usuario a colocar en la cabecera.
  * @return RainTPL
  */
 protected function make_user_header()
 {
     // Cargamos la vista.
     $vista = View::factory('header/login');
     // Cargamos el usuario y sus datos.
     $vista->assign('usuario', Usuario::usuario()->as_array());
     // Sucesos.
     $lst = Suceso_Barra::obtener_listado(Usuario::$usuario_id, 1, 20);
     $eventos = array();
     foreach ($lst as $v) {
         // Obtengo informaciĆ³n del suceso.
         $s_data = Suceso_Barra::procesar($v);
         // Verifico su existencia.
         if ($s_data === NULL) {
             continue;
         }
         // Obtenemos el tipo de suceso.
         $tipo = $v->as_object()->tipo;
         // Cargamos la vista.
         $suceso_vista = View::factory('suceso/barra/' . $tipo);
         // Asigno los datos del usuario actual.
         $suceso_vista->assign('actual', Usuario::usuario()->as_array());
         // Asigno informaciĆ³n del suceso.
         $suceso_vista->assign('suceso', $s_data);
         // Datos del suceso.
         $suceso_vista->assign('fecha', $v->fecha);
         // Agregamos el evento.
         $eventos[] = $suceso_vista->parse();
     }
     $vista->assign('sucesos', $eventos);
     unset($lst, $eventos);
     // Listado de mensajes.
     $model_mensajes = new Model_Mensaje();
     $vista->assign('mensajes_nuevos', $model_mensajes->total_recibidos(Usuario::$usuario_id, Model_Mensaje::ESTADO_NUEVO));
     $msg_rst = $model_mensajes->recibidos(Usuario::$usuario_id, 1, 5);
     $msg_event = array();
     foreach ($msg_rst as $v) {
         // Datos del post.
         $aux = $v->as_array();
         $aux['emisor'] = $v->emisor()->as_array();
         switch ($aux['estado']) {
             case 0:
                 $aux['estado_string'] = 'nuevo';
                 break;
             case 1:
                 $aux['estado_string'] = 'leido';
                 break;
             case 2:
                 $aux['estado_string'] = 'respondido';
                 break;
             case 3:
                 $aux['estado_string'] = 'reenviado';
                 break;
         }
         $msg_event[] = $aux;
     }
     $vista->assign('mensajes', $msg_event);
     unset($msg_event, $msg_rst);
     return $vista;
 }
Example #3
0
 /**
  * Eliminamos un mensaje del usuario.
  * @param int $mensaje ID del mensaje a borrar.
  */
 public function action_borrar($mensaje)
 {
     $mensaje = (int) $mensaje;
     // Verificamos exista el mensaje.
     $model_mensaje = new Model_Mensaje($mensaje);
     if (!is_array($model_mensaje->as_array())) {
         $_SESSION['flash_error'] = 'El mensaje a eliminar no existe.';
         Request::redirect('/mensaje/');
     }
     // Verificamos sea el receptor.
     if (Usuario::$usuario_id != $model_mensaje->receptor_id) {
         $_SESSION['flash_error'] = 'El mensaje a eliminar no existe.';
         Request::redirect('/mensaje/');
     }
     // Verifico el estado.
     if ($model_mensaje->estado === Model_Mensaje::ESTADO_ELIMINADO) {
         $_SESSION['flash_error'] = 'El mensaje a eliminar no existe.';
         Request::redirect('/mensaje/');
     }
     // Seteamos como eliminado.
     $model_mensaje->actualizar_estado(Model_Mensaje::ESTADO_ELIMINADO);
     $_SESSION['flash_success'] = 'Mensaje eliminado correctamente.';
     Request::redirect('/mensaje/');
 }