Переадресовываем пользователей на страницу в зависимости от роли.

Допустим есть задача: переадресовать на страницу "В разработке" пользователей c определёнными ролями (У меня все пользователи, не умеющие роли 'content-manager' и 'administrator"). При этом переадресовывать будет только с некоторых страниц.
Список страниц с которых мы будем переадресовывать хранится через запятую в textarea в настройках темы поле (variable_get('site_pages_build', '')). Как это реализовать - объяснять не буду :)

Дальше пишем функции:

// проверка роли у пользователя
function my_user_has_role($roles) {
  global $user;
  return !!count(array_intersect(is_array($roles)? $roles : array($roles), array_values($user->roles)));
};
 
// Проверка страницы на которой находится пользователь
function is_build_page(){
  $pages = variable_get('site_pages_build', '');
  $pages = explode(",", $pages);
  foreach($pages as $url) {
    $url_replaced = str_replace(' ', '', $url);
    if($url_replaced == current_path()) {
      return true;
    }
  }
  return false;
}

Ну и вызвать это дело можно таким образом:

function hook_preprocess_html(&$vars) {
  if (!my_user_has_role(array('content-manager', 'administrator')) && is_build_page()) {
    drupal_goto("node/516"); // Страница "В разработке", созданная заранее.
  }
}

И да, это можно было сделать и через рулс. Но как-то проще написать 10 строк кода, чем подключать кучу хлама :)