Configuração de Registro.

Suporte à dúvidas gerais relacionadas ao phpBB.
Avatar do usuário
robra
Membro Sênior
Membro Sênior
Mensagens: 6065
Registrado em: 02 Dez 2010, 22:29

Configuração de Registro.

Mensagem por robra »

Criei um fórum em meu site e gostaria de saber se tem como utilizar a regra "Administrador" e "usuário" para ativar o registro. Vou dar um exemplo:
Eu quero apenas que os usuários se cadastrem utilizando contas de e-mail @hotmail.com.br. Então, utilizando a regra "Administrador" caso o e-mail do novo usuário cadastrado NÃO pertença a conta @hotmail.com.br aí eu não aprovo o cadastro. Caso pertença a conta @hotmail.com.br aí eu aprovo o cadastro, porém, para que eu saiba que esta @hotmail.com.br é uma conta de e-mail real e ativa, o novo usuário deverá receber um e-mail de ativação, como acontece com a regra "usuário" para a ativação do cadastro.
Por isso eu preciso utilizar as 2 regras ao mesmo tempo, tanto a regra "Administrador" como a regra "usuário".
Tem como fazer isso ?

Desde já, agradeço a atenção dispensada.
[DICA] Antes de abrir um Novo Tópico, procure saber se a sua dúvida já foi respondida. Pesquise no Google por palavras(em inglês também) relacionadas à ela, somado à palavra "phpbb".
Avatar do usuário
_Vinny_
Administrador
Administrador
Mensagens: 5915
Registrado em: 03 Set 2009, 21:59
Contact:

Re: Configuração de Registro.

Mensagem por _Vinny_ »

Entre no Painel de Administração, clique na aba Geral, nesta página procure por Configuração de Registro. Então haverá se não me engano quatro opções: Desativado | Nunca | pelo Usuário | Administrador

Marque Administrador e clique no botão Enviar. Com isso, novos registros somente serão aprovados pelo administrador do fórum. O administrador e o usuário é notificado por e-mail (se não me engano) sobre a ativação.
Tradução Português Brasileiro: https://www.phpbb.com/customise/db/tran ... ortuguese/

Precisa de serviços phpBB? Me mande um mensagem privada!
Avatar do usuário
robra
Membro Sênior
Membro Sênior
Mensagens: 6065
Registrado em: 02 Dez 2010, 22:29

Re: Configuração de Registro.

Mensagem por robra »

Vinny.

Obrigado pela rápida resposta mas a questão é que só a regra "Administrador" não me atende. Eu preciso ter as 2 regras, "administrador" e "usuário" operando juntas. Porque ?
No exemplo que dei, digamos que eu queira somente que os usuários utilizem contas de e-mail @hotmail.com.br em seus registros. OK ?
Bem, com a regra "Administrador" eu tenho como ver se o e-mail do novo usuário é @hotmail.com.br. Se for, eu aprovo, e se não for eu reprovo. Certo ? Beleza... mas ao aprovar o registro, eu preciso saber se a conta de e-mail @hotmail.com.br do novo usuário é real e ativa, porque ele pode colocar uma conta de e-mail @hotmail.com.br que seja falsa só para preencher o cadastro e ter a aprovação. Exemplo:
Digamos que o Marcelo das Coves quer se registrar no forum e "inventou" a conta mamamia@hotmail.com.br só para preencher o cadastro. Com a função "Administrador" eu aprovo o registro mas o link de ativação NÃO é enviado ao e-mail cadastrado porque este é um recurso da regra "usuário".
Eu fiz testes e ao aprovar com a regra "Administrador" não foi enviado nenhum e-mail nem para mim e nem para o usuário do teste.
Isso também poderia ser resolvido se na tela do registro, no campo e-mail, fosse escrito só o nome ou o nick do usuário, e fora da caixa de texto já estivesse escrito @hotmail.com.br.
Não sei se me expressei claramente, mas pode perguntar caso haja dúvidas.

Obrigado.
Avatar do usuário
_Vinny_
Administrador
Administrador
Mensagens: 5915
Registrado em: 03 Set 2009, 21:59
Contact:

Re: Configuração de Registro.

Mensagem por _Vinny_ »

Entendi sua dúvida.

Mas não creio que isso seja possivel fazer isso.
Tradução Português Brasileiro: https://www.phpbb.com/customise/db/tran ... ortuguese/

Precisa de serviços phpBB? Me mande um mensagem privada!
Avatar do usuário
robra
Membro Sênior
Membro Sênior
Mensagens: 6065
Registrado em: 02 Dez 2010, 22:29

Re: Configuração de Registro.

Mensagem por robra »

Nem deixar a caixa de texto somente para nome, ou o nick, antes do "@" e logo após a caixa de texto, o texto fixo @hotmail.com.br ?
Aí, eu usaria a regra "usuário" para enviar o link de ativação porque eu teria certeza que todos os e-mail cadastrados seriam @hotmail.com.br.
Por exemplo:
O Francisco vai se registrar no forum e o e-mail dele é chico@hotmail.com.br. certo ?
Então, no campo "e-mail", ele escreverá apenas "chico" porque o @hotmail.com.br já estará escrito, de forma fixa, logo após a caixa de texto, no formulário de registro.
Teria como programar isso ?

Grato pela atenção.
Avatar do usuário
Chico Gois
Administrador
Administrador
Mensagens: 3639
Registrado em: 03 Jul 2004, 03:53
Nome Real: Chico Gois
Localização: São Paulo - Capital
Contact:

Re: Configuração de Registro.

Mensagem por Chico Gois »

Vai dar trabalho.

Entre no ACP, aba USUARIOS E GRUPOS/Banir e-mails

Coloque todos os email que vc quer bloquear.
Avatar do usuário
robra
Membro Sênior
Membro Sênior
Mensagens: 6065
Registrado em: 02 Dez 2010, 22:29

Re: Configuração de Registro.

Mensagem por robra »

Chico.

Obrigado pela rápida resposta, mas realmente fica inviável cadastrar "todos" os domínios de e-mail que não quero, quando desejo apenar 1 domínio.
O ideal seria unir a regra "Administrador" (para ver o perfil do novo cadastrado e aprová-lo, ou não.) com a regra "usuário"(para poder enviar um um link de ativação após a aprovação do cadastro), ou então no campo e-mail, ter a caixa de texto somente para nome, ou o nick, antes do "@" e logo após a caixa de texto, o domínio de e-mail fixo, como @hotmail.com.br.
Como não entendo nada de programação php, vou dar uma boa fuçada na net.
Caso eu encontre, eu postarei aqui novamente.

Abraços e obrigado pela ajuda.
[DICA] Antes de abrir um Novo Tópico, procure saber se a sua dúvida já foi respondida. Pesquise no Google por palavras(em inglês também) relacionadas à ela, somado à palavra "phpbb".
GreenAge
Novato
Novato
Mensagens: 24
Registrado em: 16 Nov 2010, 12:49

Re: Configuração de Registro.

Mensagem por GreenAge »

Easy.
No arquivo language/pt_br/ucp.php , ache:

Código: Selecionar todos

	'DOMAIN_NO_MX_RECORD_EMAIL'	=> 'O domínio do endereço de e-mail escrito não é um registro MX válido.',
Troque por algo tipo isso (a seu gosto):

Código: Selecionar todos

	'DOMAIN_NO_MX_RECORD_EMAIL'	=> 'O domínio do endereço de e-mail escrito não é um registro MX válido. Só serão aceitos emails do domínio "hotmail.com.br"',
No arquivo includes/functions_user.php , ache:

Código: Selecionar todos

if (phpbb_checkdnsrr($domain, 'A') === false && phpbb_checkdnsrr($domain, 'MX') === false)
		{
			return 'DOMAIN_NO_MX_RECORD';
		}
Adicione logo após (não equeça de pular uma linha :roll: ):

Código: Selecionar todos

//Custom code - Checar domínio por HOTMAIL.COM.BR
		if(strcasecmp($domain, "hotmail.com.br") != 0)
		{
			return 'DOMAIN_NO_MX_RECORD';
		}
Configure no ACP, aba General > Security Settings:
Check e-mail domain for valid MX record -> Yes
(Meu ACP está em inglês, não atualizei ainda para poder usar o pt-br)

Pronto. Agora ele irá checar na hora do registro sem a necessidade de um admin.
É bom deixar os usuários avisados das restrições. Edite o arquivo styles/SEU_TEMA/template/ucp_register.html , informando da necessidade de utilização de emails HOTMAIL.COM.BR .
Avatar do usuário
robra
Membro Sênior
Membro Sênior
Mensagens: 6065
Registrado em: 02 Dez 2010, 22:29

Re: Configuração de Registro.

Mensagem por robra »

Olá, Greenage.

Não testei ainda, mas, desde já agradeço sua extrema ajuda.
Não sou programador mas dou minhas "arradas" em HTMl com o programa Dreamwaver MX. O problema é que não consigo identificar as páginas que são carregadas e nem os comandos aplicáveis para as tags(se é que são chamadas assim em PHP).
Só para ter uma idéia, depois de muuuuuuuuito procurar na pasta forum, abrindo vários arquivos php, eu incluí o termo @hotmail.com.br na tela de registro, após a caixa de texto do e-mail e da confirmação de e-mail, alterando o conteúdo do arquivo tpl_prosilver_ucp_register.html.php, na pasta forum/cache,conforme mostro na figura abaixo:
Imagem
Além disso, depois de umas 10 horas procurando na net, descobri um comando para bloquear a digitação dos caracteres especiais, como !@#$%¨&*()_+, que é onkeypress dentro da Tag input type. Como o tpl_prosilver_ucp_register.html.php já possui a Tag input type tanto para o E-mail como para A confirmação de E-mail, então, só incluí o código, ficando assim:
Código original do tpl_prosilver_ucp_register.html.php:

Código: Selecionar todos

<dt><label for="email"><?php echo ((isset($this->_rootref['L_EMAIL_ADDRESS'])) ? $this->_rootref['L_EMAIL_ADDRESS'] : ((isset($user->lang['EMAIL_ADDRESS'])) ? $user->lang['EMAIL_ADDRESS'] : '{ EMAIL_ADDRESS }')); ?>:</label></dt>
        <dd><input type="text" tabindex="2" name="email" id="email" size="25" maxlength="100" value="<?php echo (isset($this->_rootref['EMAIL'])) ? $this->_rootref['EMAIL'] : ''; ?>" class="inputbox autowidth" title="<?php echo ((isset($this->_rootref['L_EMAIL_ADDRESS'])) ? $this->_rootref['L_EMAIL_ADDRESS'] : ((isset($user->lang['EMAIL_ADDRESS'])) ? $user->lang['EMAIL_ADDRESS'] : '{ EMAIL_ADDRESS }')); ?>" /></dd>
    </dl>
    <dl>
        <dt><label for="email_confirm"><?php echo ((isset($this->_rootref['L_CONFIRM_EMAIL'])) ? $this->_rootref['L_CONFIRM_EMAIL'] : ((isset($user->lang['CONFIRM_EMAIL'])) ? $user->lang['CONFIRM_EMAIL'] : '{ CONFIRM_EMAIL }')); ?>:</label></dt>
        <dd><input type="text" tabindex="3" name="email_confirm" id="email_confirm" size="25" maxlength="100" value="<?php echo (isset($this->_rootref['EMAIL_CONFIRM'])) ? $this->_rootref['EMAIL_CONFIRM'] : ''; ?>" class="inputbox autowidth" title="<?php echo ((isset($this->_rootref['L_CONFIRM_EMAIL'])) ? $this->_rootref['L_CONFIRM_EMAIL'] : ((isset($user->lang['CONFIRM_EMAIL'])) ? $user->lang['CONFIRM_EMAIL'] : '{ CONFIRM_EMAIL }')); ?>" /></dd>
    </dl>
Alterado o tpl_prosilver_ucp_register.html.php com a inclusão do onkeypress:

Código: Selecionar todos

<dt><label for="email"><?php echo ((isset($this->_rootref['L_EMAIL_ADDRESS'])) ? $this->_rootref['L_EMAIL_ADDRESS'] : ((isset($user->lang['EMAIL_ADDRESS'])) ? $user->lang['EMAIL_ADDRESS'] : '{ EMAIL_ADDRESS }')); ?>:</label></dt>
        <dd><input type="text" tabindex="2" name="email" id="email" size="25" maxlength="100"onkeypress="if ((event.keyCode > 32 && event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 65) || (event.keyCode > 90 && event.keyCode < 97)) event.returnValue = false;"value="<?php echo (isset($this->_rootref['EMAIL'])) ? $this->_rootref['EMAIL'] : ''; ?>" class="inputbox autowidth" title="<?php echo ((isset($this->_rootref['L_EMAIL_ADDRESS'])) ? $this->_rootref['L_EMAIL_ADDRESS'] : ((isset($user->lang['EMAIL_ADDRESS'])) ? $user->lang['EMAIL_ADDRESS'] : '{ EMAIL_ADDRESS }')); ?>" /><strong>@hotmail.com.br</strong></dd>
    </dl>
    <dl>
        <dt><label for="email_confirm"><?php echo ((isset($this->_rootref['L_CONFIRM_EMAIL'])) ? $this->_rootref['L_CONFIRM_EMAIL'] : ((isset($user->lang['CONFIRM_EMAIL'])) ? $user->lang['CONFIRM_EMAIL'] : '{ CONFIRM_EMAIL }')); ?>:</label></dt>
        <dd><input type="text" tabindex="3" name="email_confirm" id="email_confirm" size="25" maxlength="100"onkeypress="if ((event.keyCode > 32 && event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 65) || (event.keyCode > 90 && event.keyCode < 97)) event.returnValue = false;"value="<?php echo (isset($this->_rootref['EMAIL_CONFIRM'])) ? $this->_rootref['EMAIL_CONFIRM'] : ''; ?>" class="inputbox autowidth" title="<?php echo ((isset($this->_rootref['L_CONFIRM_EMAIL'])) ? $this->_rootref['L_CONFIRM_EMAIL'] : ((isset($user->lang['CONFIRM_EMAIL'])) ? $user->lang['CONFIRM_EMAIL'] : '{ CONFIRM_EMAIL }')); ?>" /><strong>@hotmail.com.br</strong></dd>
    </dl>
Isso seria útil para bloquear a pessoa de digitar o @, forçando-a em digitar somente o nome, ou nick, do e-mail.
Porém, o comando só funcionava quando havia um erro nos dados do e-mail. Por exemplo:
Se eu digitasse teste@teste.com no campo e-mail e no da confirmação do e-mail, então, ele aceitava o cadastro. Mas, se digitasse apenas teste, então, ao clicar em enviar, a página retornava com a mensagem de erro dizendo que o campo e-mail estava com o texto muito pequeno, e aí, eu já não conseguia digitar os caracteres especiais incluindo o @. Parece que o comando "carregava" só depois de retornar uma mensagem de erro no campo e-mail ou no campo confirmação de e-mail.
Fiz a mesma inclusão do onkeypress no arquivo ucp_register.html, da pasta forum/styles/prosilver/template, mas também não deu certo.
Aí, também acabei esbarrando na quantidade de caracteres mínimos a serem digitados no campo e-mail e no confirmação de e-mail...
Já ia postar um pedido de ajuuuuuuuuuuuuuda, quando me deparei com a resposta do Greenage.
Vou fazeer as devidas alterações e daqui a pouco eu posto a resposta.

Brigaduuuuuuuuuuuuu.
Editado pela última vez por robra em 07 Fev 2011, 20:35, em um total de 2 vezes.
[DICA] Antes de abrir um Novo Tópico, procure saber se a sua dúvida já foi respondida. Pesquise no Google por palavras(em inglês também) relacionadas à ela, somado à palavra "phpbb".
Avatar do usuário
_Vinny_
Administrador
Administrador
Mensagens: 5915
Registrado em: 03 Set 2009, 21:59
Contact:

Re: Configuração de Registro.

Mensagem por _Vinny_ »

robra, nunca faça modificações em arquivos do diretorio cache, pois os arquivos nesta pasta são temporarios. Como menciona o GreenAge, o arquivo para editar é styles/SEU_TEMA/template/ucp_register.html. Apos a alteração nesta arquivo você precisa remover o cache do seu forum e atualizar a template do estilo.
Tradução Português Brasileiro: https://www.phpbb.com/customise/db/tran ... ortuguese/

Precisa de serviços phpBB? Me mande um mensagem privada!
Trancado