Opa, tudo bom ?
Muitas pessoas tem dificuldade de usar módulos de redirecionamento no drupal, entao mostrar como seria para você desenvolver o seu próprio módulo utilizando a HOOK_USER, que irá redirecionar o usuário para uma página que iremos definir dependendo do papel atribuido a ele.
Primeiro vamos ao nosso arquivo projeto_redirecionador.info, que identifica o nosso módulo na listagem:
; $Id$
name = Redirecionador de login
description = "modulo que ira redirecionar o usuario depois de logar"
core = 6.x
package = Lithic
Beleza, com isso o nosso módulo já irá aparecer na listagem de módulos, agora precisamos criar o módulo em si. Para isso vamos ao nosso arquivo projeto_redirecionador.module:
<?php
//Utilizaremos o hook_user para captarmos o momento em que o usuário está se logando no site.
function projeto_redirecionador_user($op, &$edit, &$user, $category = NULL){
if($op == 'login') {
global $user;
//pegando a url base para o redirecionamento.
global $base_path;
$var = $_GET['q'];
// Estamos pegando a URL para saber se este acesso não se trata de um reset de password, pois o reset de password deverá ser enviado para a página de edição do usuario.
$url = preg_match("/user\/reset/",$var);
//se não for um reset de password.
if(!($url)){
//se for um login normal.
foreach ($user as $key => $value) {
$usuario[$key] = $value;
}
//se o usuário estiver no papel de cliente.
if (in_array('cliente', $usuario['roles'])) {
//setando o endereço que o usuário será redirecionado.
$endereco = $base_path . "cliente";
//redirecionando o usuário para a página.
header("Location:$endereco");
exit();
}
//fazendo o mesmo, porem se o usuário for administrador.
if (in_array('administrador', $usuario['roles']) ) {
$endereco = $base_path . "administrardor";
header("Location:$endereco");
exit();
}
}
}
}
?>
Bom galera, com isso o seu módulo já estará prontinho para funcionar.
Qualquer coisa é só falar.