Пытаюсь передать значение глобальное переменною в функцию add_users_uninstall, но мне пишет ошибку что такая переменная не определена, вот код
<?php
function add_users_install() {
global $students_role;
db_insert('role')
->fields(array( 'name' => 'Студенты', 'weight' =>3))
->execute();
$students_role=db_select('role', 'r')
->fields('r', array('rid'))
->condition('name','Студенты')
->execute()
->fetchField();
}
function add_users_uninstall() {
db_delete('role')
->condition('rid', $students_role)
->execute();
}
?>
Комментарии
register_globals наверняка отключена. Иначе Друпал ругался бы.
а как её включить? или может как то по другому можно составить запрос?
add_users_uninstall($students_role)
А почему она там должна быть определена? Hook_install() в одном запросе вызывается, hook_uninstall() - в другом. Если вам нужно сохранить название роли, используйте функции variable_set(), variable_get() и variable_del().
Hook_uninstall() не принимает параметры.
global $students_role;
db_delete('role')
->condition('rid', $students_role)
->execute();
}