function _ctools_process_data
Fill in default values and run hooks for data loaded for one or more plugins.
2 calls to _ctools_process_data()
- ctools_plugin_process in includes/
plugins.inc - Process a single hook implementation of a ctools plugin.
- ctools_plugin_process_info in includes/
plugins.inc - Process an info file for plugin information, rather than a hook.
File
-
includes/
plugins.inc, line 710
Code
function _ctools_process_data($result, $plugin_type_info, $module, $path, $file) {
// Fill in global defaults.
foreach ($result as $name => $plugin) {
$result[$name] += array(
'module' => $module,
'name' => $name,
'path' => $path,
'file' => $file,
'plugin module' => $plugin_type_info['module'],
'plugin type' => $plugin_type_info['type'],
);
// Fill in plugin-specific defaults, if they exist.
if (!empty($plugin_type_info['defaults'])) {
if (is_array($plugin_type_info['defaults'])) {
$result[$name] += $plugin_type_info['defaults'];
}
}
// Allow the plugin to be altered before processing.
if (!empty($plugin_type_info['alterable']) && $plugin_type_info['alterable']) {
drupal_alter('ctools_plugin_pre', $result[$name], $plugin_type_info);
}
// Allow the plugin owner to do additional processing.
if (!empty($plugin_type_info['process']) && ($function = ctools_plugin_get_function($plugin_type_info, 'process'))) {
$function($result[$name], $plugin_type_info);
}
// Allow the plugin to be altered after processing.
if (!empty($plugin_type_info['alterable']) && $plugin_type_info['alterable']) {
drupal_alter('ctools_plugin_post', $result[$name], $plugin_type_info);
}
}
return $result;
}