t('example perm for module_test module'), ); } /** * Implements hook_system_info_alter(). * * Manipulate module dependencies to test dependency chains. */ function module_test_system_info_alter(&$info, $file, $type) { if (variable_get('dependency_test', FALSE) == 'missing dependency') { if ($file->name == 'forum') { // Make forum module depend on poll. $info['dependencies'][] = 'poll'; } elseif ($file->name == 'poll') { // Make poll depend on a made-up module. $info['dependencies'][] = 'foo'; } } elseif (variable_get('dependency_test', FALSE) == 'dependency') { if ($file->name == 'forum') { // Make the forum module depend on poll. $info['dependencies'][] = 'poll'; } elseif ($file->name == 'poll') { // Make poll depend on php module. $info['dependencies'][] = 'php'; } } } /** * Implements hook_hook_info(). */ function module_test_hook_info() { $hooks['test_hook'] = array( 'group' => 'file', ); return $hooks; }