Movimento automático de tópico

3 participantes

Ver o tópico anterior Ver o tópico seguinte Ir para baixo

Tópico em curso Movimento automático de tópico

Mensagem por Troubleshoot 10.10.24 17:12

Detalhes da questão


Endereço do fórum: http://bricarus.forumeiros.com/
Versão do fórum: AwesomeBB

Descrição


Fala pessoal!
Podem me ajudar?

É possível fazer movimentos automáticos de Tópicos de acordo com o forum que o usuário tem acesso?

Contexto:

Tenho um formulário no meu fórum que, quando preenchido, envia informações para a seção /f1-. Essa seção está bloqueada para que os usuários possam apenas postar, sem acesso ao conteúdo, já que o formulário contém dados privados.

Necessidade:

Quero automatizar a movimentação dos tópicos postados em /f1-, de acordo com o grupo do usuário. Atualmente, tenho 5 grupos e fóruns privados, cada um acessível apenas ao grupo específico. Preciso que, ao identificar o grupo do usuário, o tópico seja movido automaticamente para o fórum correspondente, onde ele pode visualizar o conteúdo.

Solução Proposta:

Identificação Automática: Basear-se no nome do usuário e seu grupo para identificar para qual fórum o tópico deve ser movido.
Movimentação Automática: Após o envio, o sistema move o tópico do /f1- para o fórum privado correspondente ao grupo do usuário, garantindo que apenas membros daquele grupo tenham acesso.

Benefícios:

Eficiência ao eliminar a necessidade de movimentação manual.
Segurança ao garantir que apenas membros autorizados vejam as informações.
Escalabilidade para adicionar novos grupos e fóruns.
Troubleshoot

Troubleshoot
Hiper Membro

Membro desde : 25/09/2011
Mensagens : 2234
Pontos : 3008

http://guiatecnico.ativo-forum.com/

Ir para o topo Ir para baixo

Ajudeiro
  • 0

Tópico em curso Re: Movimento automático de tópico

Mensagem por Sleep 11.10.24 9:57

Olá "@Troubleshoot",

Vamos ter um javascript criado do zero para o efeito:

Painel administrativo > Módulos > HTML & JavaScript > Gestão dos códigos JavaScript.
Código:

Código:
$(document).ready(function() {
    // Definir os fóruns correspondentes aos grupos
    var forumGrupos = {
        "Grupo1": "/f2-",  // Fórum associado ao grupo "1"
        "Grupo2": "/f3-",  // Fórum associado ao grupo "2"
        "Grupo3": "/f4-",  // Fórum associado ao grupo "3"
        "Grupo4": "/f5-",  // Fórum associado ao grupo "4"
        "Grupo5": "/f6-"  // Fórum associado ao grupo "5"
    };

    // Função para capturar o grupo do usuário com base na listagem de grupos
    function identificarGrupo() {
        var grupo = "";  // Variável para armazenar o nome do grupo

        // Verifica se o grupo do usuário é "1" baseado no link presente
        if ($('ul.group_list.noList a[href*="/gxx-nomegrupo"]').length > 0) {
            grupo = "Grupo1";  // 1
        } else if ($('ul.group_list.noList a[href*="/gxx-nomegrupo"]').length > 0) {
            grupo = "Grupo2";  // 2
        } else if ($('ul.group_list.noList a[href*="/gxx-nomegrupo"]').length > 0) {
            grupo = "Grupo3";  // 3
        } else if ($('ul.group_list.noList a[href*="/gxx-nomegrupo"]').length > 0) {
            grupo = "Grupo4";  // 4
        } else if ($('ul.group_list.noList a[href*="/gxx-nomegrupo"]').length > 0) {
            grupo = "Grupo5";  // 5
        }

        return grupo;  // Retorna o nome do grupo identificado
    }

    // Função para capturar o ID do tópico
    function obterIdTopico() {
        var url = window.location.href;  // Obtém a URL da página
        var regex = /\/t(\d+)-/;  // Expressão regular para capturar o ID do tópico a partir da URL

        var match = url.match(regex);
        if (match) {
            return match[1];  // Retorna o ID do tópico se encontrado
        } else {
            return null;  // Retorna null se não encontrar o ID
        }
    }

    // Função para mover o tópico
    function moverTopicoParaForumCorreto() {
        var grupo = identificarGrupo();  // Identifica o grupo do usuário
        var topicoID = obterIdTopico();  // Obtém o ID do tópico da URL

        if (!topicoID) {
            console.log("Erro: Não foi possível obter o ID do tópico.");
            return;
        }

        var forumDestino = forumGrupos[grupo];  // Obtém o fórum correspondente ao grupo

        if (forumDestino) {
            // Exemplo de requisição POST para mover o tópico (certifique-se que tem permissão para isso)
            $.post("/modcp?mode=move&f=" + forumDestino, { tid: topicoID }, function(response) {
                console.log("Tópico movido com sucesso para o fórum: " + forumDestino);
            }).fail(function() {
                console.log("Erro ao tentar mover o tópico.");
            });
        } else {
            console.log("Erro: Grupo do usuário não corresponde a nenhum fórum.");
        }
    }

    // Dispara a movimentação do tópico automaticamente após a página carregar
    moverTopicoParaForumCorreto();
});

---
Não esqueça de Adaptar o seguinte:

- Identificação do grupo: O código captura o grupo do usuário com base nos links que você colocar no HTML (href*="/gXX-nomegrupo").

Movimentação do tópico: A função moverTopicoParaForumCorreto obtém o grupo do usuário e o ID do tópico, e então faz uma requisição POST para mover o tópico para o fórum correspondente.

*Código em Beta, criado. Avise-me de alguma falha ou dúvida.

Atenciosamente,
Sleep
Sleep

Sleep
Ajudeiro
Ajudeiro

Membro desde : 10/08/2012
Mensagens : 1117
Pontos : 1352

https://ajuda.forumeiros.com/

Ir para o topo Ir para baixo

Tópico em curso Re: Movimento automático de tópico

Mensagem por Troubleshoot 11.10.24 16:38

Muito obrigado pela ajuda!!!

Slep só tenho uma dúvida, para fazer este movimento ele já reconhece o "moderador" daquele forum que tem permissão de mover para outro?

Se for necessário isso, pode usar o /u1 mesmo



Edit: tentei aplicar o código e não resultou... testei com membros e admins fazendo o tópico mas não moveu
Troubleshoot

Troubleshoot
Hiper Membro

Membro desde : 25/09/2011
Mensagens : 2234
Pontos : 3008

http://guiatecnico.ativo-forum.com/

Ir para o topo Ir para baixo

Admineiro

Tópico em curso Re: Movimento automático de tópico

Mensagem por tikky Ontem à(s) 1:25

Olá @Troubleshoot,

Veja se esta questão resolvida "Mover tópicos automaticamente" ajuda!


Atenciosamente,
tikky.
tikky

tikky
Admineiro
Admineiro

Membro desde : 13/01/2017
Mensagens : 7955
Pontos : 9208

Ir para o topo Ir para baixo

Ver o tópico anterior Ver o tópico seguinte Ir para o topo

- Tópicos semelhantes

Permissões neste sub-fórum
Não podes responder a tópicos