function dados_mensagem($tipo_mensagem)
{
    // globals ----------------------------------------------
    global $tabela_banco;
    // tabela de banco de dados
    // --------------------------------------------------------
    // retorna id de usuario de chat -------------------
    $idusuario = retorne_idusuario_sessao_chat(null, false);
    // retorna id de usuario de chat
    // ---------------------------------------------------------
    // id de usuario logado ------------------------------
    $idusuario_logado = retorne_idusuario_logado();
    // id de usuario logado
    // ---------------------------------------------------------
    // query -------------------------------------------------
    switch ($tipo_mensagem) {
        case 0:
            // logado
            $query = "select *from {$tabela_banco['22']} where idusuario='{$idusuario_logado}' and idamigo='{$idusuario}';";
            // query
            break;
        case 1:
            // amigo
            $query = "select *from {$tabela_banco['22']} where idusuario='{$idusuario}' and idamigo='{$idusuario_logado}';";
            // query
            break;
    }
    // ---------------------------------------------------------
    // dados de retorno ----------------------------------
    return retorne_dados_query($query);
    // dados de retorno
    // ---------------------------------------------------------
}
function excluir_conversa_chat()
{
    // globals ----------------------------------------------
    global $tabela_banco;
    // tabela de banco de dados
    // --------------------------------------------------------
    // retorna id de usuario de chat -------------------
    $idusuario = retorne_idusuario_sessao_chat(null, false);
    // retorna id de usuario de chat
    // ---------------------------------------------------------
    // id de usuario logado ------------------------------
    $idusuario_logado = retorne_idusuario_logado();
    // id de usuario logado
    // ---------------------------------------------------------
    // querys ------------------------------------------------
    $query[] = "update {$tabela_banco['22']} set mensagem='', data_mensagem='', visualizada='0' where idusuario='{$idusuario_logado}' and idamigo='{$idusuario}';";
    // query
    $query[] = "update {$tabela_banco['22']} set visualizada='1' where idamigo='{$idusuario_logado}' and idusuario='{$idusuario}';";
    // query
    $query[] = "update {$tabela_banco['22']} set visualizada='1' where idusuario='{$idusuario_logado}' and idamigo='{$idusuario}';";
    // query
    // ---------------------------------------------------------
    // salvando mensagens ----------------------------
    executador_querys($query);
    // salvando mensagens
    // ---------------------------------------------------------
}
function constroe_campo_conversa_chat()
{
    // globals ----------------------------------------------
    global $imagem_servidor;
    // imagens servidor
    // --------------------------------------------------------
    // id de usuario ---------------------------------------
    $idusuario = retorne_idusuario_post();
    // id de usuario
    // ---------------------------------------------------------
    // atualiza id de sessao -----------------------------
    retorne_idusuario_sessao_chat($idusuario, true);
    // atualiza id de sessao
    // ---------------------------------------------------------
    // imagem emoticon ---------------------------------
    $imagem_emoticon = "<img src='" . $imagem_servidor['emoticon'] . "' title='Memes e emoticons'>";
    // imagem emoticon
    // ----------------------------------------------------------
    // imagem carregar mais ----------------------------
    $imagem_carregar_mais = "<img src='" . $imagem_servidor['carregar_mais'] . "' title='Mais' onclick='carregar_mais_mensagens_chat_usuario(1);'>";
    // imagem carregar mais
    // ----------------------------------------------------------
    // imagem carregar menos --------------------------
    $imagem_carregar_menos = "<img src='" . $imagem_servidor['carregar_menos'] . "' title='Menos' onclick='carregar_mais_mensagens_chat_usuario(2);'>";
    // imagem carregar menos
    // ----------------------------------------------------------
    // campo carregar mais ------------------------------
    $campo_carregar_mais .= "<div id='div_carregar_mais_mensagens_chat'>";
    // campo carregar mais
    $campo_carregar_mais .= $imagem_carregar_mais;
    // campo carregar mais
    $campo_carregar_mais .= "&nbsp;";
    // campo carregar mais
    $campo_carregar_mais .= "&nbsp;";
    // campo carregar mais
    $campo_carregar_mais .= $imagem_carregar_menos;
    // campo carregar mais
    $campo_carregar_mais .= "</div>";
    // campo carregar mais
    // ----------------------------------------------------------
    // codigo html bruto ----------------------------------
    $codigo_html_bruto .= constroe_perfil_chat_usuario($idusuario);
    $codigo_html_bruto .= menu_opcoes_conversa_chat($idusuario);
    $codigo_html_bruto .= "<div id='div_campo_troca_mensagens_chat'></div>";
    $codigo_html_bruto .= "<div class='campo_escreve_mensagem_chat'>";
    $codigo_html_bruto .= $campo_carregar_mais;
    $codigo_html_bruto .= campo_exibir_emoticons_memes();
    $codigo_html_bruto .= "<input type='text' id='campo_input_chat' placeholder='Sua mensagem' onkeydown='if(event.keyCode == 13){enviar_mensagem_chat({$idusuario});}' autofocus>";
    $codigo_html_bruto .= "<br>";
    $codigo_html_bruto .= "<input type='button' class='botao_padrao' value='Enviar' onclick='enviar_mensagem_chat({$idusuario});'>";
    $codigo_html_bruto .= "</div>";
    // --------------------------------------------------------
    // retorno ----------------------------------------------
    return $codigo_html_bruto;
    // retorno
    // --------------------------------------------------------
}
function carregar_mensagens_chat()
{
    // globals -----------------------------------------------
    global $separador_mensagem_chat;
    // separador de mensagens de chat
    // ---------------------------------------------------------
    // retorna id de usuario de chat -------------------
    $idusuario = retorne_idusuario_sessao_chat(null, false);
    // retorna id de usuario de chat
    // ---------------------------------------------------------
    // id de usuario logado ------------------------------
    $idusuario_logado = retorne_idusuario_logado();
    // id de usuario logado
    // ---------------------------------------------------------
    // dados da mensagem -----------------------------
    $dados_mensagem[0] = dados_mensagem(0);
    // dados da mensagem
    // ---------------------------------------------------------
    // recupera conteudo antigo de mensagem ----
    $conteudo_mensagem_chat = $dados_mensagem[0]['mensagem'];
    // recupera conteudo antigo de mensagem
    // ---------------------------------------------------------
    // adiciona baloes ------------------------------------
    $conteudo_mensagem_chat = str_replace($separador_mensagem_chat[0], "<div class='balao_mensagem_enviou'>", $conteudo_mensagem_chat);
    // separador de mensagem
    $conteudo_mensagem_chat = str_replace($separador_mensagem_chat[1], "<div class='balao_mensagem_recebeu'>", $conteudo_mensagem_chat);
    // separador de mensagem
    $conteudo_mensagem_chat = str_replace($separador_mensagem_chat[2], "</div>", $conteudo_mensagem_chat);
    // separador de mensagem
    $conteudo_mensagem_chat = str_replace($separador_mensagem_chat[3], "<br><br>", $conteudo_mensagem_chat);
    // separador de mensagem
    // ---------------------------------------------------------
    // converte urls para links ------------------------
    $conteudo_mensagem_chat = converte_urls_texto_links($conteudo_mensagem_chat);
    // converte urls para links
    // ----------------------------------------------------------
    // converte emoticons ------------------------------
    $conteudo_mensagem_chat = converte_codigo_emoticon($conteudo_mensagem_chat);
    // converte emoticons
    // ---------------------------------------------------------
    // codigo html bruto --------------------------------
    $codigo_html_bruto .= $conteudo_mensagem_chat;
    // ---------------------------------------------------------
    // retorno -----------------------------------------------
    return $codigo_html_bruto;
    // retorno
    // ---------------------------------------------------------
}
<?php

// abre pasta maniparq -----------------------------
chdir("../maniparq");
// abre pasta maniparq
// --------------------------------------------------------
// carrega bibliotecas ------------------------------
include "bibliotecas_php.php";
// carrega bibliotecas
// -------------------------------------------------------
// carrega dados de servidor ---------------------
include "../servidor/dados_servidor.php";
// carrega dados de servidor
// -------------------------------------------------------
// conecta ao mysql -------------------------------
conecta_mysql(true);
// conecta ao mysql
// ------------------------------------------------------
// limpando sessao antiga -----------------------
retorne_idusuario_sessao_chat(null, true);
// limpa idusuario de sessao anterior
// ------------------------------------------------------
// desconecta do mysql --------------------------
desconecta_mysql();
// desconecta do mysql
// ------------------------------------------------------
<?php

// abre pasta maniparq
chdir("../maniparq");
// carrega bibliotecas
include "bibliotecas_php.php";
// carrega dados de servidor
include "../servidor/dados_servidor.php";
// conecta ao mysql
conecta_mysql(true);
// id de usuario logado
$idusuario_logado = retorne_idusuario_logado();
// id de usuario de sessao de chat, este usuario e o amigo do usuario logado
$idusuario = retorne_idusuario_sessao_chat(null, false);
// idusuario sessao chat anterior
// query
$query[] = "delete from {$tabela_banco['22']} where idusuario='{$idusuario_logado}';";
$query[] = "update {$tabela_banco['22']} set visualizada='1' where idamigo='{$idusuario_logado}' and idusuario='{$idusuario}';";
// query
$query[] = "update {$tabela_banco['22']} set visualizada='1' where idusuario='{$idusuario_logado}' and idamigo='{$idusuario}';";
// query
// excluindo
executador_querys($query);
// desconecta do mysql
desconecta_mysql();
function enviar_mensagem_chat()
{
    // globals ----------------------------------------------
    global $tabela_banco;
    // tabela de banco de dados
    global $separador_mensagem_chat;
    // separador de mensagens de chat
    // --------------------------------------------------------
    // dados de formulario -----------------------------
    $conteudo_mensagem_chat = remove_html($_POST['conteudo_mensagem_chat']);
    // conteudo da mensagem
    // --------------------------------------------------------
    // retorna id de usuario de chat ----------------
    $idusuario = retorne_idusuario_sessao_chat(null, false);
    // retorna id de usuario de chat
    // ---------------------------------------------------------
    // valida conteudo de mensagem -------------
    if ($conteudo_mensagem_chat == null or $idusuario == null) {
        return null;
        // retorno nulo
    }
    // --------------------------------------------------------
    // id de usuario logado -----------------------------
    $idusuario_logado = retorne_idusuario_logado();
    // id de usuario logado
    // ---------------------------------------------------------
    // cria registro de troca de mensagens ------
    criar_registros_conversa_chat($idusuario);
    // cria registro de troca de mensagens
    // ---------------------------------------------------------
    // data atual --------------------------------------------
    $data_atual = data_atual();
    // data atual
    $data_atual_normal = hora_atual();
    // data atual normal
    // ---------------------------------------------------------
    // dados da mensagem -----------------------------
    $dados_mensagem[0] = dados_mensagem(0);
    // dados da mensagem
    $dados_mensagem[1] = dados_mensagem(1);
    // dados da mensagem
    // ---------------------------------------------------------
    // monta data de envio ------------------------------
    $data_completa_envio = "Ás " . $data_atual_normal . $separador_mensagem_chat[3];
    // monta data
    $data_completa_envio = converte_para_utf8($data_completa_envio);
    // converte para utf-8
    // ---------------------------------------------------------
    // adiciona data ---------------------------------------
    $conteudo_mensagem_chat = $data_completa_envio . $conteudo_mensagem_chat;
    // adiciona data
    // ---------------------------------------------------------
    // mensagem de usuario ---------------------------
    $mensagem[0] = $dados_mensagem[0]['mensagem'] . $separador_mensagem_chat[0] . $conteudo_mensagem_chat . $separador_mensagem_chat[2];
    // mensagem de usuario
    $mensagem[1] = $dados_mensagem[1]['mensagem'] . $separador_mensagem_chat[1] . $conteudo_mensagem_chat . $separador_mensagem_chat[2];
    // mensagem de usuario
    // ---------------------------------------------------------
    // querys ------------------------------------------------
    $query[] = "update {$tabela_banco['22']} set mensagem='{$mensagem['0']}', data_mensagem='{$data_atual}', visualizada='0' where idusuario='{$idusuario_logado}' and idamigo='{$idusuario}';";
    // query
    $query[] = "update {$tabela_banco['22']} set mensagem='{$mensagem['1']}', data_mensagem='{$data_atual}', visualizada='1' where idusuario='{$idusuario}' and idamigo='{$idusuario_logado}';";
    // query
    // ---------------------------------------------------------
    // salvando mensagens ----------------------------
    executador_querys($query);
    // salvando mensagens
    // ---------------------------------------------------------
}
function excluir_conversa_chat()
{
    global $tabela_banco;
    $idusuario = retorne_idusuario_sessao_chat(null, false);
    $idusuario_logado = retorne_idusuario_logado();
    $query[] = "update {$tabela_banco['22']} set mensagem='', data_mensagem='', visualizada='0' where idusuario='{$idusuario_logado}' and idamigo='{$idusuario}';";
    $query[] = "update {$tabela_banco['22']} set visualizada='1' where idamigo='{$idusuario_logado}' and idusuario='{$idusuario}';";
    $query[] = "update {$tabela_banco['22']} set visualizada='1' where idusuario='{$idusuario_logado}' and idamigo='{$idusuario}';";
    executador_querys($query);
}