function configuration_check_menu_custom in Configuration Management 7
1 call to configuration_check_menu_custom()
- configuration_menu_update in observers/observer.menu.inc
- Implements hook_menu_update().
File
- includes/configuration.menu.inc, line 358
Code
function configuration_check_menu_custom($identifier, $from_activestore = FALSE) {
$from_activestore =& drupal_static('configuration_from_activestore');
$component = 'menu_custom';
if (file_exists("config://configuration.menu_custom.inc")) {
include_once drupal_realpath("config://configuration.menu_custom.inc");
module_load_include('inc', 'configuration', 'configuration.export');
$code = menu_custom_configuration_export_render('configuration', array(
$identifier,
));
eval(array_pop($code));
$menus_code = configuration_menu_default_menu_custom();
if (empty($menus)) {
configuration_set_status($component, $identifier, CONFIGURATION_TRACKED_DATASTORE_ONLY);
}
$config = configuration_get_configuration();
$return = '';
$component = 'menu_custom';
$status = $config[$component][$identifier]['status'];
$md5_datastore = is_array($menus_code) && array_key_exists($identifier, $menus_code) ? md5(serialize($menus_code[$identifier])) : '';
$md5_activestore = is_array($menus_code) && array_key_exists($identifier, $menus_code) ? md5(serialize($menus[$identifier])) : '';
if ($from_activestore == TRUE && $md5_datastore != $md5_activestore) {
$status = $status | CONFIGURATION_ACTIVESTORE_OVERRIDDEN;
configuration_set_status($component, $identifier, $status);
}
if ($md5_activestore == $md5_datastore) {
$status = CONFIGURATION_IN_SYNC;
configuration_set_status($component, $identifier, $status);
configuration_set_hash($component, $identifier, $md5_activestore);
}
if ($md5_activestore != $md5_datastore) {
$status = $status | CONFIGURATION_DATASTORE_OVERRIDDEN;
configuration_set_status($component, $identifier, $status);
}
if ($md5_datastore == $config[$component][$identifier]['hash']) {
$status = $status & ~CONFIGURATION_DATASTORE_OVERRIDDEN;
configuration_set_status($component, $identifier, $status);
}
if ($status != CONFIGURATION_IN_SYNC) {
$configuration[$component][$identifier]['activestore'] = is_array($menus_code) && array_key_exists($identifier, $menus_code) ? $menus[$identifier] : '';
$configuration[$component][$identifier]['datastore'] = is_array($menus_code) && array_key_exists($identifier, $menus_code) ? $menus_code[$identifier] : '';
cache_set("{$component}:{$identifier}", $configuration, 'cache_configuration');
}
}
}