/** * Overrides Drupal\configuration\Config\Configuration::alterDependencies(). */ public static function alterDependencies(Configuration $config) { if ($config->getComponent() == 'content_type') { $variables = array('field_bundle_settings_node_', 'language_content_type', 'node_options', 'node_preview', 'node_submitted'); if (module_exists('comment')) { $variables += array('comment', 'comment_anonymous', 'comment_controls', 'comment_default_mode', 'comment_default_order', 'comment_default_per_page', 'comment_form_location', 'comment_preview', 'comment_subject_field'); } if (module_exists('menu')) { $variables += array('menu_options', 'menu_parent'); } $entity_type = $config->getEntityType(); $fields = field_info_instances($entity_type, $config->getIdentifier()); foreach ($variables as $variable) { $identifier = $variable . '_' . $config->getIdentifier(); $in_db = db_query("SELECT 1 FROM {variable} WHERE name = :name", array(':name' => $identifier))->fetchField(); // Some variables are not in the database and their values are // provided by the second paramenter of variable_get. // Only inform about configurations that are indeed in the database. if ($in_db) { $var_config = new VariableConfiguration($identifier); $var_config->build(); $config->addToDependencies($var_config); } } } }
/** * Overrides Drupal\configuration\Config\Configuration::alterDependencies(). */ public static function alterDependencies(Configuration $config) { if ($config->getComponent() == 'content_type') { $permissions = node_list_permissions($config->getIdentifier()); foreach (array_keys($permissions) as $permission) { $identifier = str_replace(' ', '_', $permission); $perm = new PermissionConfiguration($identifier); $perm->build(); // Add the content type as a dependency of the permission. $perm->addToDependencies($config); // Add the permission as a child configuration of the content type // The permission is not required to load the content type but is // a nice to have. $config->addToOptionalConfigurations($perm); } } elseif ($config->getComponent() == 'text_format') { $format = $config->getData(); $permission = filter_permission_name($format); if (!empty($permission)) { $identifier = str_replace(' ', '_', $permission); $perm = new PermissionConfiguration($identifier); $perm->build(); // Add the text format as a dependency of the permission. $perm->addToDependencies($config); // Add the permission as a child configuration of the filter // The permission is not required to load the filter format but is // a nice to have. $config->addToOptionalConfigurations($perm); } } }
/** * Overrides Drupal\configuration\Config\Configuration::alterDependencies(). */ public static function alterDependencies(Configuration $config) { if ($config->getComponent() == 'text_format') { $formats = filter_formats(); foreach (array_keys(wysiwyg_profile_load_all()) as $format) { // Text format may vanish without deleting the wysiwyg profile. if (isset($formats[$format]) && $format == $config->getIdentifier()) { $identifier = $format; $wysiwig_profile = new WysiwygConfiguration($identifier); $wysiwig_profile->build(); $config->addToOptionalConfigurations($wysiwig_profile); $wysiwig_profile->addToDependencies($config); } } } }
/** * Overrides Drupal\configuration\Config\Configuration::alterDependencies(). */ public static function alterDependencies(Configuration $config) { if ($config->configForEntity()) { $entity_type = $config->getEntityType(); if (empty($entity_type)) { return; } $fields = field_info_instances($entity_type, $config->getIdentifier()); foreach ($fields as $name => $field) { $identifier = $entity_type . "." . $field['field_name'] . "." . $field['bundle']; // Avoid include multiple times the same dependency. if (empty($stack['field.' . $identifier])) { $field = new FieldConfiguration($identifier); $field->build(); $field->addToDependencies($config); $config->addToOptionalConfigurations($field); $stack['field.' . $identifier] = TRUE; } } } }
/** * Overrides Drupal\configuration\Config\Configuration::alterDependencies(). */ public static function alterDependencies(Configuration $config) { if ($config->getComponent() == 'menu_link') { $mlid = static::getMenuLinkByIdenfifier($config->getIdentifier()); $menulink = menu_link_load($mlid); if (!empty($menulink['plid'])) { $parent_menulink = menu_link_load($menulink['plid']); if ($parent_menulink) { $identifier = sha1(str_replace('-', '_', $parent_menulink['menu_name']) . ':' . $parent_menulink['link_path']); $menulink_config = new MenuLinkConfiguration($identifier); $menulink_config->build(); $config->addToDependencies($menulink_config); } } } }