View source
<?php
function util_menu($may_cache) {
$items = array();
$items[] = array(
'path' => 'admin/settings/util',
'title' => t('Utility module settings'),
'description' => t('Utility module settings'),
'callback' => 'drupal_get_form',
'callback arguments' => array(
'util_settings',
),
'access' => user_access('administer util'),
'type' => MENU_NORMAL_ITEM,
);
if (!$may_cache) {
util_run_utilities();
}
return $items;
}
function util_run_utilities() {
global $hook_files;
$files = drupal_system_listing("\\.inc", drupal_get_path('module', 'util') . "/utilities", 'name', 1);
ksort($files);
$hook_files = array();
$hooks = array();
foreach ($files as $file) {
include $file->filename;
$hooks = array_merge(call_user_func($file->name . "_util", "hook registry"), $hooks);
$hook_files[$file->name] = call_user_func($file->name . "_util", "hook registry");
}
}
function util_settings() {
global $hook_files;
$form = array();
foreach ($hook_files as $file => $blank) {
$form = array_merge(call_user_func($file . '_util', 'settings form'), $form);
}
return system_settings_form($form);
}
function util_form_alter($form_id, &$form) {
if (isset($form['validation_modules'])) {
system_modules_util_form_alter($form_id, $form);
}
}
function util_perm() {
return array(
'administer util',
);
}
function util_check_node_type($types) {
$return = FALSE;
if (arg(0) == 'node' && is_numeric(arg(1))) {
$node = node_load(array(
'nid' => arg(1),
));
foreach ($types as $type) {
if ($node->type == $type) {
$return = TRUE;
}
}
}
return $return;
}