A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Informática Numaboa - Tutoriais e Programação

O objeto JUser

Dom

17

Fev

2008


09:26

(6 votos, média 4.33 de 5) 


Image Qualquer requisição feita ao Joomla sempre parte de um usuário. Para identificar, avaliar ou autorizar o usuário, o framework do Joomla 1.5 oferece um objeto especial: o JUser.

Para obter o objeto usuário lançamos mão do JFactory, o todo-poderoso multi-tarefa smile

$usuario =& JFactory::getUser();

Observe que pegamos o objeto por referência usando =& (e não apenas = ). Isto evita que dezenas (ou até centenas) de objetos usuários sejam criados inutilmente sobrecarregando a memória e aumentando o tempo de processamento - é melhor trabalhar com uma cópia do que com um objeto novinho em folha!

A maioria das informações sobre o usuário estão disponíveis através de variáveis públicas do objeto usuário. As mais importantes são:

  • id - a identificação numérica, única para cada usuário. Use-a quando referenciar o registro do usuário em outras tabelas de dados.
  • name - o nome do usuário (por exemplo, Thiago Leite)
  • username - nome de usuário (por exemplo, exterminator2008)
  • email - endereço de email do usuário (por exemplo, O endereço de e-mail address está sendo protegido de spambots. Você precisa ativar o JavaScript enabled para vê-lo. )
  • password - a senha do usuário, na forma encriptada.
  • password_clear - existe apenas quando a senha do usuário está sendo alterada. Se não for este o caso, está em branco.
  • usertype - tipo de usuário (por exemplo, Super Administrator, Editor, etc)
  • gid - a identificação do grupo ao qual o usuário pertence e que corresponde ao tipo de usuário.
  • block - se o usuário está bloqueado (1) ou não (0).
  • registerDate - a data do registro do usuário.
  • lastvisitDate - data da última visita do usuário ao site.
  • guest - indica se o usuário está logado (0) ou não (1). Guest significa visitante, convidado: se um usuário registrado não está logado é apenas um visitante (1), se estiver logado então não é apenas visitante (0)

Além destas variáveis (que são armazenadas em campos na base de dados) existem parâmetros que contém as preferências do usuário. Para se obter estes parâmetros é preciso usar a função getParam( ) do objeto usuário. Por exemplo:

$usuario =& JFactory::getUser(); $idioma = $user->getParam('language', 'the default'); echo "

Seu idioma foi indicado como sendo $language.

";

Tá bão, mas qual poderia ser a aplicação prática de tudo isto? Aqui estão alguns exemplos. Digamos que você queira criar um componente que mostre algumas informações de usuários. Neste caso, as linhas de código seriam:

$user =& JFactory::getUser(); echo "

Seu nome é $user->name, seu email é $user->email e seu nome de usuário é $user->username

"; echo "

Seu tipo de usuário é $user->usertype, o qual tem a identificação de grupo $user->gid.

";

Nem todos usuários logados possuem os mesmos privilégios. Por exemplo, o Super Administrator pode editar qualquer conteúdo, já o Publisher pode editar apenas seus próprios artigos. Para determinar os direitos do usuário de acordo com o grupo ao qual ele pertence, pode-se usar a função authorize( ) do objeto usuário. O primeiro parâmetro desta função indica o componente ou a função que deve ser autenticada, o segundo representa a tarefa. O terceiro e quarto parâmetros são opcionais e servem para refinar a determinação dos privilégios.

No Joomla 1.5, os direitos de todos os componentes do sistema estão em libraries/joomla/user/authorization.php. Se o componente que você estiver criando não precisar de autorizações adicionais, então este trecho de código servirá aos seus propósitos:

$usuario =& JFactory::getUser(); if ($usuario->authorize('com_content', 'edit', 'content', 'all')) { echo "

Você pode editar todos os artigos.

"; } else { echo "

Você não pode editar todos os artigos.

"; } if ($usuario->authorize('com_content', 'publish', 'content', 'own')) { echo "

Você pode publicar seus próprios artigos.

"; } else { echo "

Você não pode publicar seus próprios artigos.

"; }

Caso as permissões para as funções do sistema não atendam suas necessidades, então será preciso criar suas próprias permissões. Neste caso, coloque o código onde possa ser executado (geralmente no início do código do seu componente ou plugin). Primeiro é preciso criar um objeto autorização com a função getACL( ) do JFactory, depois use a função addACL( ) deste objeto para adicionar uma permissão. Passe o nome do seu componente ou função, o nome da tarefa, a string 'users' e o tipo de usuário (tudo em letra minúscula!).

$autoriza =& JFactory::getACL(); $autoriza->addACL('com_seucomponente', 'convencer', 'users', 'super administrator'); $autoriza->addACL('com_seucomponente', 'convencer', 'users', 'administrator'); $autoriza->addACL('com_seucomponente', 'convencer', 'users', 'manager'); $usuario =& JFactory::getUser(); if ($usuario->authorize('com_seucomponente', 'convencer')) { echo "

Você pode convencer o sistema para fazer o que quiser.

"; } else { echo "

Você não é muito convincente.

"; }
Fonte

JUser tutorial for Joomla! 1.5

mfx brokerкастрюлюлобановский александр фотовозрождение дцновинки телефонаслужба в армии новостиникоса сайт

Informações adicionais