function coder_upgrade_module_list in Coder 7
Same name and namespace in other branches
- 7.2 coder_upgrade/includes/conversion.inc \coder_upgrade_module_list()
Returns list of contributed modules.
Parameters
null $core: Indicates whether to return core modules regardless of settings variable.
integer $status: Indicates status of modules to return.
Return value
array Array of contributed modules.
3 calls to coder_upgrade_module_list()
- coder_upgrade_conversions_prepare in coder_upgrade/
includes/ conversion.inc - Returns the parameters to submit for module conversion.
- coder_upgrade_modules_build in coder_upgrade/
includes/ conversion.inc - Returns form content for modules tab.
- coder_upgrade_theme_build_registry in coder_upgrade/
conversions/ begin.inc - Builds theme registry for disabled core modules.
File
- coder_upgrade/
includes/ conversion.inc, line 559
Code
function coder_upgrade_module_list($core = NULL, $status = -1) {
$test = is_null($core) ? variable_get('coder_upgrade_upgrade_core', FALSE) : $core;
$like = $test ? 'LIKE' : 'NOT LIKE';
$where = $status == -1 ? '' : 'AND status = :status';
// Faster to query DB than to rescan files using _system_get_module_data().
$sql = "SELECT name, filename, type, status, info,\n REPLACE(filename, CONCAT('/', name, '.', type), '') AS directory\n FROM {system}\n WHERE type = 'module'\n AND filename {$like} 'modules/%'\n {$where}\n ORDER BY directory, name";
$default_value = 0;
$results = db_query($sql, array(
':status' => $status,
));
$rows = array();
foreach ($results as $module) {
$info = unserialize($module->info);
$row = array();
$row['name'] = $info['name'];
$row['path'] = dirname($module->filename);
// $module->filename;
$row['dir'] = $module->directory;
// dirname($module->filename);
// $row['filename'] = $module->filename; // Add this for later calls to module_list().
// $row['status'] = $module->status;
// TODO Pull files from this table???
// Would need to change the conversion code to not read the filesystem.
$rows[$module->name] = $row;
}
return $rows;
}