Detalhes sobre o register.PHP

  • Identifique-se para criar novos tópicos neste fórum
  • Visitantes anônimos não podem postar neste fórum
James Gustavo  Participativo   Postagens: 74

OPAAAAAA

Pessoal eu venho analisando o register.php que é o endereço para o cadastro de novos membros no sistema XOOPS e notei que ele não possui template ... ou seja não é possivel editar diretamente o visual no html.
Outro detalhe importante é que a opção de escolha de AVATARES não está ativada dentro do cpódigo ... pq? Pq se você ativar esta opção para aparecer no register.php vai notar que como ele é um arquivo raiz não está acaitando os camandos de abrir uma janela e selecionar o avatar ... oque é possivel quando clicamos em Perfil > Avatar ... outro detalhe é que os avatares estão originalmente configurados para serem gravados na pasta uploads se misturando com os smilles e com todas as outras imagens.
Bom ... eu adicionei mais campos no register para o usuário colocar como os campos que aparecem no edituser.php so precisaria de ideias de como passar o register para um template para deixar o tarabalho mais prático!

Valeuzzzzzzzz

Salomão  Membro De: Brasília - DF - Brasil  Postagens: 503

Poderia montar um artigo passando as alterações que fez comentadas, e ir atualizando ele sempre que algo novo fosse adicionado...

Fernando  Iniciante   Postagens: 3

w2portais! Seja bem-vindo ao XOOPS, a Comunidade Diferente. Esperamos que faça desta, a sua casa em XOOPS.

Pessoal eu venho analisando o register.php que é o endereço para o cadastro de novos membros no sistema XOOPS e notei que ele não possui template ... ou seja não é possivel editar diretamente o visual no html

Realmente ele não possui template, o motivo (acredito eu) pode ser:

O register.php é formado basicamente por classes do XOOPS (na realidade o formulário de cadastro está dentro do registerform.php, na pasta include) e no mesmo arquivo (register.php) temos switch com 3 situações (newuser, finish e register), ou seja, não impossibilitaria o uso de templates, mas tornaria o processo trabalhoso demais (para a necessidade).
Outro detalhe importante é que a opção de escolha de AVATARES não está ativada dentro do cpódigo ... pq?


Não sei se entendi direito mas esta pergunta refere-se ao fato de ser impossível escolher o avatar no ato do registro?
Bom, a resposta adequada seria que o formulário para escolha de avatares EXIGE que o usuário já esteja cadastrado no portal, porque ele utiliza uma outra tabela (prefixo_avatar_user_link) com relacionamento de um para um com a tabela prefixo_users.
Repare que na linha 226 do edituser.php, a primeira coisa que o arquivo faz antes de mostrar o formulário de avatares é a verificação se o usuário está logado (logo, cadastrado):
If (!is_object($xoopsUser)) {
redirect_header('index.php', 1);
}
Agora, na linha 293, ele faz a adição do avatar que o usuário escolheu (através da função addUser, que se encontra em avatar.php, na pasta kernel):

$avt_handler->addUser($avatar->getVar('avatar_id'), $xoopsUser->getVar('uid'));

Eis o motivo de que é impossível colocar a adição do avatar no formulário de registro, porque quando se adiciona um avatar, o campo user_id da tabela prefixo_avatar_user_link deve ser o mesmo do user_id da tabela prefixo_users e quando você está no formulário de registro,você ainda não é um usuário ainda, logo não tem nenhum registro na tabela prefixo_users relativo à você.
Sei que é possível fazer umas gambiarras para que o usuário escolha o avatar e o sistema primeiro registre-o na tabela prefixo_users e depois adicione o avatar, mas além de ser necessário alterar muitos arquivos para que isso ocorra, o sistema de controle de upload de avatar ou número mínimo de postagens para upload de avatar, também se tornariam mais complexas.

outro detalhe é que os avatares estão originalmente configurados para serem gravados na pasta uploads se misturando com os smilles e com todas as outras imagens ...

Não sei não, mas tenho quase certeza de que isto irá mudar.
Estava dando uma olhada no arquivo index.php da pasta install e vi, lá pela linha 1097 uns "cases" diferentes (nunca comentados antes, pelo menos que eu saiba) com variáveis assim:

$avatars = getImageFileList(XOOPS_ROOT_PATH.'/images/avatar/users/');

Ou para smilies:

//Abaixo faz uma verificação se cada um dos smilies encontrados na tabela prefixo_smiles existem na pasta /images/smilies/
While ($smiley = $xoopsDB->fetchArray($result)) {
If (file_exists('../images/smilies/'.$smiley['smile_url']) && false != $fp = fopen('../images/smilies/'.$smiley['smile_url'], 'rb')) {

Realmente meio estranho... mas creio que são coisas que estão por vir em futuras versões de XOOPS (acho que farão um esquema para você jogar os smiles na pasta images/smilies e acessar a instalação para mandar todas as imagens para o banco de dados sem ter trabalho).

Para teste:

Acesse a instalação de seu XOOPS assim:
SEU_DIRETORIO/html/install/index.php?op=updateSmilies.
E veja o que acontece.

Mais uma vez, seja bem-vindo!

  Pesquisa avançada






Entrada

Codinome:


Senha:





Perdeu a senha?  |Cadastre-se!


Quem nos visita
Há 25 visitantes neste momento... (15 na seção Fóruns)

Associados: 0
Anônimos: 25

outros...

Banner XOOPS Cube