Есть несколько способов сделать это.
Один из вариантов - использовать hook_nodeapi, как предлагает Джереми. В результате вы получите загружаемый / просматриваемый узел и т. Д. Как переменная $ node. Другой вариант - в вашем hook_init посмотреть на $ _GET и посмотреть, запрашивает ли пользователь запрашиваемый узел. Hook_nodeapi, пожалуй, самый простой способ добраться сюда.
Вы можете, как сказал Джереми, сохранить данные об объекте пользователя, однако это возможно только в том случае, если вы вошли в систему, поскольку в противном случае объект пользователя будет анонимным пользователем, который одинаков для всех не вошедших в систему пользователей. В этом случае можно использовать cookie. Вы должны позаботиться о том, чтобы создать уникальное имя файла cookie для каждого сайта. В противном случае, если этот модуль был установлен на нескольких сайтах, пользователи не будут получать опросы после посещения только одного из них.
также в вашем коде вместо того, чтобы делать:
if ($_COOKIE[$cookie_name]) {
// do nothing
} else {
setcookie($cookie_name,1,time() + (86400 * 365));
//then do the redirect an internal webform URL
}
Вы должны вместо этого использовать! (не) оператор:
if (!$_COOKIE[$cookie_name]) {
setcookie($cookie_name,1,time() + (86400 * 365));
//then do the redirect an internal webform URL
}