Como criar um tema que apenas administradores podem usar?

Como criar um tema que não apenas administradores possam usar?

Não tenho certeza se entendi o que você quer dizer. Você poderia dar mais detalhes?

1 curtida

Muitos problemas acontecem no meu fórum, já comentei aqui no meta sobre isso, e como não pude desativar as funções perigosas dos moderadores, porque o Discourse não tem essa opção, fiz uma gambiarra via CSS, para remover as opções que são perigosas para o meu fórum em que eles têm acesso, quando fiz isso via CSS acabou que foi tirado de mim também, opções como ver IP, banir, deletar todas as postagens etc… Tirei de todos os temas, gostaria de deixar apenas um tema sem CSS para que eu possa ver as opções, mas que só eu possa usar este tema.

1 curtida

Não sei por que você está usando CSS e temas para gerenciar seus moderadores, mas não é assim que se faz. Use níveis de confiança para criar mods de categoria e também escolha seus mods com mais cuidado. Você provavelmente está apenas criando mais problemas para si mesmo ao tentar limitar as funções do moderador via CSS e temas.

1 curtida

Resolvi todos os meus problemas modificando as funções dos meus moderadores via CSS. É uma situação muito complexa e a única solução real foi essa. Já tentei moderação por categoria e não foi viável para o meu fórum, não foi interessante para a demanda. A única maneira que resolveu meus problemas foram as modificações via CSS. Como o Discourse deixa as mesmas opções de moderador para o administrador, essa foi a única solução. Mas agora eu só preciso de uma maneira de poder usar um tema que não tenha modificações em CSS. Assim, não preciso desativá-lo toda vez que o usar.

I’m going to tell you a little bit about what happened: I live in Brazil, here there are 214.3 million inhabitants, most of them unemployed and without purchasing power. A lot of people use the internet as a means of entertainment, so my forum fits that. But the existence of my forum threatens another forum a lot, which has already made NUMEROUS attacks on mine, and has already bought a lot of my moderators, countless moderators have already deleted users, deleted messages, leaked IPs to others, really destroyed me. I’ve already spent months without any moderators, but it’s very difficult to have a forum without a moderator, I want to put moderators back, but it’s no use choosing well, I don’t know how the culture of the Nordic countries is, but at least in the culture of the sector from forums in my country, people don’t take it very seriously and are easily corrupted, one time or another money talks louder and they can use their powers to destroy my forum, the only solution I have is that the moderators don’t have the same powers as administrators, and that was the only thing that solved it, through CSS.

1 curtida

Eu já tinha criado um tópico sobre isso, que gerou um grande debate que não levou a lugar nenhum, muitos me aconselharam a escolher melhor os moderadores, para que eu tivesse um senso de critério e escolhesse pessoas mais confiáveis, bem, mas isso não se aplica aos fóruns mundiais em que estou, a única solução foi tirar alguns poderes dos moderadores (IP, Ban, Excluir todas as postagens, verificar e-mail etc), mas isso me afetou também.

Olá :wave:
Você pode usar o Modo de Segurança (assim como seus moderadores) para desativar temas.

Com seções personalizadas, você pode criar seu atalho para /safe-mode

  1. Crie uma seção personalizada na sua barra lateral como esta.


    Isso deve ficar assim. (Adicione um título, Nome e Link /safe-mode) Certifique-se de não marcar a caixa Tornar esta seção pública e visível para todos.

  2. Ela será colocada na seção personalizada do Menu de Navegação (barra lateral).

  3. Aqui você pode desativar os temas e componentes de tema. Clique no botão Entrar no Modo de Segurança.

4 curtidas

Talvez verificar os moderadores de categoria?

2 curtidas

Se um ator mal-intencionado descobrir o modo de segurança, suas contramedidas de CSS serão ineficazes.

A única maneira de proteger o Discourse é por meio de uma atribuição cuidadosa de privilégios pelo back-end.

4 curtidas

Isso significa que você precisaria de um plugin personalizado que fizesse essas alterações. A menos que você tenha um orçamento (talvez de US$ 1.000 a US$ 5.000?), você precisará tentar moderadores de categoria ou tl4.

2 curtidas

Eles já falaram sobre isso aqui: :slight_smile:

1 curtida

Acho que deveria ser possível fazer com que o componente de tema oculte as coisas para todos, exceto para os administradores.

Mas o modo de segurança ainda seria um desvio fácil. Talvez um plugin rápido e sujo pudesse desativar esses recursos sem tanto tempo quanto eu estimei originalmente.

1 curtida

Concordo com praticamente tudo que todos disseram aqui.

Se você realmente quiser seguir o caminho do CSS, veja como pode fazer com que suas modificações de CSS se apliquem apenas a não administradores:

Na aba Head do seu tema, escreva isto:

    <script type="text/discourse-plugin" version="1.4.0">
    let currentUser = api.getCurrentUser();
    if (currentUser.admin == true) {
         document.querySelector("body").classList.add("is-admin");
    }
    </script>

Envolva todas as suas regras de CSS com body:not(.is-admin) { (seu CSS) } como, por exemplo:

body:not(.is-admin) {
    #main {
        background: pink;
    }
}

No meu exemplo, o fundo rosa será aplicado a todos, exceto aos usuários administradores.

3 curtidas

O Discourse adiciona automaticamente classes baseadas em grupos ao <body> para que seja possível pular o JS e fazer algo como

body:not(.group-admins) #main { background: pink; }

Não tenho outra classe específica de grupo além de staff como administrador na minha instância de teste (última versão do Discourse):

<body> class="chat-enabled staff has-sidebar-page navigation-topics docked"

Pelo que vejo, nem no <html> nem em nenhuma outra tag.

No meta, usamos CSS Classes for Current User's Groups, que também poderia ser usado no caso da daniela. :slight_smile:

2 curtidas

Ahhhhh, foi isso que me confundiu - eu estava apenas olhando no Meta :man_facepalming: Obrigado @Canapin

3 curtidas

EU TE AMO MUITO

Obrigado por me mostrar isso, eu não conseguia resolver este problema há mais de 1 ano

2 curtidas