function views_system_rebuild_module_data in Views System 7.4
Same name and namespace in other branches
- 8 views_system.module \views_system_rebuild_module_data()
Helper function to rebuild module's data.
6 calls to views_system_rebuild_module_data()
- views_system_enable in ./
views_system.install - Implements hook_enable().
- views_system_flush_caches in ./
views_system.module - Implements hook_flush_caches().
- views_system_form_system_modules_alter in ./
views_system.module - Implements hook_form_FORM_ID_alter(); update data on modules page.
- views_system_modules_disabled in ./
views_system.module - Implements hook_modules_disabled().
- views_system_modules_enabled in ./
views_system.module - Implements hook_modules_enabled().
File
- ./
views_system.module, line 88 - Extends the Views module and provides fields, filter criteria, and sort criteria for Modules/Themes/Theme engines.
Code
function views_system_rebuild_module_data() {
db_query("DELETE FROM {views_system} WHERE type = 'module' OR type = 'profile'");
$profile = drupal_get_profile();
$query = db_insert('views_system')
->fields(array(
'configure',
'core',
'datestamp',
'dependencies',
'description',
'filename',
'files',
'label',
'mtime',
'operations',
'origin',
'package',
'pathname',
'php',
'project',
'project_status_url',
'required',
'required_by',
'requires',
'scripts',
'stylesheets',
'type',
'version',
'visible',
));
$modules = system_rebuild_module_data();
foreach ($modules as $module) {
$core = preg_match('/^(modules\\/|profiles\\/minimal\\/minimal|profiles\\/standard\\/standard|profiles\\/testing\\/testing)/i', $module->filename);
$contributed = !$core && isset($module->info['project']);
$data = array();
$data['configure'] = !empty($module->info['configure']) ? $module->info['configure'] : '';
$data['core'] = !empty($module->info['core']) ? $module->info['core'] : '';
$data['datestamp'] = !empty($module->info['datestamp']) ? (int) $module->info['datestamp'] : NULL;
$dependencies = array();
if (isset($module->info['dependencies'])) {
foreach ($module->info['dependencies'] as $name) {
$dependency = drupal_parse_dependency($name);
$dependencies[$name] = array(
'name' => $dependency['name'],
'label' => isset($modules[$dependency['name']]->info['name']) ? $modules[$dependency['name']]->info['name'] : $dependency['name'],
'version' => isset($dependency['original_version']) ? trim($dependency['original_version']) : '',
);
}
}
$data['dependencies'] = !empty($dependencies) ? serialize($dependencies) : '';
$data['description'] = !empty($module->info['description']) ? $module->info['description'] : '';
$data['filename'] = basename($module->filename);
$data['files'] = !empty($module->info['files']) ? serialize($module->info['files']) : '';
$data['label'] = $module->info['name'];
$data['mtime'] = (int) $module->info['mtime'];
$data['operations'] = $module->status && !empty($module->info['configure']) ? $module->info['configure'] : '';
$data['origin'] = $core ? 'core' : ($contributed ? 'contributed' : 'custom');
$data['package'] = !empty($module->info['package']) ? $module->info['package'] : '';
$data['pathname'] = $module->filename;
$data['php'] = !empty($module->info['php']) ? $module->info['php'] : '';
$data['project'] = !empty($module->info['project']) ? $module->info['project'] : '';
$data['project_status_url'] = !empty($module->info['project_status_url']) ? $module->info['project_status_url'] : '';
$data['required'] = !empty($module->info['required']) ? (int) $module->info['required'] : 0;
$required_by = array();
foreach ($module->required_by as $name => $value) {
$required_by[$name] = isset($modules[$name]->info['name']) ? $modules[$name]->info['name'] : $name;
}
$data['required_by'] = !empty($required_by) ? serialize($required_by) : '';
$requires = array();
foreach ($module->requires as $name => $value) {
$requires[$name] = isset($modules[$name]->info['name']) ? $modules[$name]->info['name'] : $name;
}
$data['requires'] = !empty($requires) ? serialize($requires) : '';
$data['scripts'] = !empty($module->info['scripts']) ? serialize($module->info['scripts']) : '';
$data['stylesheets'] = !empty($module->info['stylesheets']) ? serialize($module->info['stylesheets']) : '';
$data['type'] = $module->name != $profile ? $module->type : 'profile';
$data['version'] = !empty($module->info['version']) ? $module->info['version'] : '';
$data['visible'] = !empty($module->info['hidden']) ? (int) (!$module->info['hidden']) : 1;
$query
->values($data);
}
$query
->execute();
}