NunoDinis Posted May 25, 2012 at 11:16 AM Report #458068 Posted May 25, 2012 at 11:16 AM Boas, Alguém sabe como ir buscar os dados de login do joomla para um ficheiro php ? Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro. ndsotware.org
KiNgPiTo Posted May 25, 2012 at 11:27 AM Report #458070 Posted May 25, 2012 at 11:27 AM Como assim os dados de login? De um utilizador que está com login efectuado?
NunoDinis Posted May 25, 2012 at 12:37 PM Author Report #458076 Posted May 25, 2012 at 12:37 PM Sim. Vejamos: Tenho um site em joomla, e dentro desse site quero pôr uma aplicação em PHP. Até aqui tudo bem, já consegui! Agora quero que ao fazer login no site joomla recolha os dados e os valide na minha BD da aplicação em PHP, para efetuar permissões. Fiz-me entender ? Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro. ndsotware.org
KiNgPiTo Posted May 25, 2012 at 02:10 PM Report #458093 Posted May 25, 2012 at 02:10 PM (edited) O Joomla tem uma class JFactory que permite lidar com todos estes pormenores desde users, a módulos, etc... Por exemplo, para receberes um utilizador que esteja ligado fazes: $user = & JFactory::getUser(); depois é só acederes aos campos que precisas deste user, por exemplo: // Se nao estiver com login efectuado if($user->guest){ echo 'Faz login...'; }else{ echo 'o meu username é'. $user->name; } Isto dentro do código do teu módulo ou componente, etc... EDIT: Mais pormenores aqui: http://docs.joomla.org/Accessing_the_current_user_object Edited May 25, 2012 at 02:11 PM by KiNgPiTo
NunoDinis Posted May 25, 2012 at 02:50 PM Author Report #458113 Posted May 25, 2012 at 02:50 PM Obrigado. Mais um passo que consegui. Com o código abaixo vou buscar o nome do utilizador que fez logon. Utilizo a component jumi para tal: echo "Utilizador: ". $user->username; Agora a minha questão é a seguinte: Nos meus ficheiros PHP como valido, com o código acima, quem pode ou não entrar na aplicação ? p.s: Tudo isto porque é realmente chato estar sempre a fazer logins. Com isto, só preciso de fazer login uma vez, e automáticamente valida nas outras aplicações do site. Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro. ndsotware.org
KiNgPiTo Posted May 25, 2012 at 03:03 PM Report #458116 Posted May 25, 2012 at 03:03 PM Talvez o melhor então nesse caso seja guardares em sessão o utilizador que tem o Login efectuado. Podes juntar à sessão do Joomla: Onde fazes login: $session = JFactory::getSession(); $session->set('usrlog', $user); //guardas os dados do utilizador em sessão... Nas tuas aplicações: $session = JFactory::getSession(); if(isset(($user = $session->get('usrlog')))){ //permites acesso e até ficas com os dados em $user }else{ // nao permites... } No teu logout: $session = JFactory::getSession(); $session->clear('usrlog'); //limpa a var de sessão onde guardas o user...
NunoDinis Posted May 25, 2012 at 03:06 PM Author Report #458120 Posted May 25, 2012 at 03:06 PM Muito obrigado, vou seguir estas linhas de código. Onde coloco esse código no joomla Podes-me dizer ? Não estou muito dentro do joomla.. Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro. ndsotware.org
KiNgPiTo Posted May 25, 2012 at 03:11 PM Report #458122 Posted May 25, 2012 at 03:11 PM Depende, de onde estiveres a fazer o que precisas... O Login/Logout normalmente está num modulo que adicionas e tens na pasta modules onde estão os ficheiros dele (não posso ver agora onde concretamente, não tenho um joomla à mão).
taviroquai Posted May 25, 2012 at 03:22 PM Report #458129 Posted May 25, 2012 at 03:22 PM Viva, Se estás a usar Jumi, coloca isso no ficheiro que o Jumi carrega. Quando o Jumi carrega esse ficheiro ficas no Ambiente Joomla com toda a API á tua disposição.
NunoDinis Posted May 25, 2012 at 03:48 PM Author Report #458133 Posted May 25, 2012 at 03:48 PM (edited) Estás-te a referir ao "PathNome" ? Eu coloco o caminho da aplicação e ele carrega, porém dá-me uns erros de includes. Abaixo: Warning: include(../BD.php) [function.include]: failed to open stream: No such file or directory in H:\SGP\Login\index.php on line 135 Warning: include() [function.include]: Failed opening '../BD.php' for inclusion (include_path='.;\xampp\php\pear\') in H:\SGP\Login\index.php on line 135 Obrigado pela ajuda CRL. No entanto, se conseguir fazer o include da aplicação não preciso de todo esse código. Tens alguma solução acerca dos erros a cima ? Edited May 25, 2012 at 03:48 PM by NunoDinis Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro. ndsotware.org
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now