¿Cómo obtener la función del usuario registrado actualmente en Drupal 7? ¿Conoces una forma simple de lograr esto? ¿Hay algunas funciones básicas de Drupal para esto?¿Cómo obtener el rol del usuario actualmente conectado en Drupal 7?
Respuesta
Puede acceder a las funciones de usuario con sólo usar este PHP fragmento:
<?php $GLOBALS['user']->roles; ?>
he encontrado una solución interesante para comprobar si hay múltiples roles de un usuario:
global $user;
$check = array_intersect(array('moderator', 'administrator'), array_values($user->roles));
if (empty($check) ? FALSE : TRUE) {
// is admin
} else {
// is not admin
}
$ usuario- > roles es una matriz de los roles que pertenecen al usuario codificado por el ID del rol, value es el rol del rol. Así que si quería comprobar si el usuario tenía papel 'autenticado el usuario' el fragmento de código sería algo como esto (no necesariamente el enfoque más optimizado, in_array es una función bastante rendimiento caro):
global $user;
if (in_array('authenticated user', $user->roles)) {
//do stuff here
}
Tenga en cuenta que in_array también puede aceptar una matriz como la "aguja" (argumento n. ° 1) para que pueda verificar contra varias opciones de rol:
in_array(array('authenticated user', 'anonymous user'), $user->roles);
// Cargue el usuario que está actualmente conectado.
global $user;
print_r($user->roles);//this gives you current user roles
// para comprobar si es administrador, puede hacerlo mediante
if (in_array('administrator', $user->roles)) {
// do some stuff
$form['field_end_date']['#disabled'] = FALSE;
}
- 1. ¿Cómo obtener el rol del usuario actualmente conectado en wordpress?
- 2. Moodle cómo averiguar el rol del usuario conectado
- 3. Rails Idea: obtener objeto del usuario actualmente conectado?
- 4. ¿Cómo obtener el ID de usuario del usuario actualmente conectado en Django?
- 5. obtener el rol del usuario actual
- 6. Python, obtenga ventanas carpetas especiales para el usuario actualmente conectado
- 7. En Django, ¿cómo sé el usuario que está conectado actualmente?
- 8. Cómo obtener el correo electrónico del usuario conectado en powershell
- 9. Averigüe el usuario que está conectado actualmente en Django
- 10. Encontrar el usuario actualmente conectado desde una extensión de Firefox
- 11. ¿Cómo puedo obtener el usuario de Windows actualmente conectado en Access VBA?
- 12. Cómo obtener la identificación del usuario actualmente registrado en pyrocms?
- 13. Obtener el nombre de usuario conectado en C#
- 14. Renderizar el componente JSF en función del rol de usuario
- 15. Rieles Agregar Rol rol a través del formulario de usuario
- 16. ¿Cómo obtener la identificación del usuario actual conectado a Grails?
- 17. Drupal 6 contraseña de usuario importada a Drupal 7
- 18. cómo obtener los datos de usuario actualmente registrados zend framework
- 19. No se puede quitar un usuario que está conectado actualmente
- 20. ¿Cómo cerrar un usuario programáticamente en Drupal 7?
- 21. Magento - ¿Cómo consultar el nombre del rol de administrador?
- 22. MVC3 + Cómo obtener el nombre de usuario del usuario registrado actualmente
- 23. ¿Detecta si un usuario web está actualmente conectado a Google?
- 24. Compruebe si ningún usuario está actualmente conectado a Windows
- 25. Drupal 7 Visitas 3 usuario: ¿falta el filtro actual?
- 26. ¿Cómo consigo la visualización de anuncios Nombre del usuario actualmente conectado
- 27. Drupal 7: cómo restringir el acceso de archivos a roles de usuario específicos
- 28. ¿Cómo comprobar que el usuario está "conectado"?
- 29. Obteniendo el nombre de usuario/contraseña del usuario conectado en Windows
- 30. Drupal 7 cómo representar el campo personalizado
gracias a su respuesta fue útil para mí. gracias. – zhilevan
En el segundo snippit de aguja "en forma de conjunto", [según los documentos] (http://php.net/manual/en/function.in-array.php) y un fragmento de código de prueba rápido, está preguntando 'in_array' para verificar si '$ user-> roles' contiene una matriz de' array ('usuario autenticado', 'usuario anónimo') ', no los elementos individuales' 'usuario autenticado' o '' usuario anónimo ' . [array_intersect()] (http://php.net/manual/en/function.array-intersect.php) haría el truco para eso. –