/**
  * 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);
         }
     }
 }
Example #3
0
 /**
  * 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);
             }
         }
     }
 }
Example #4
0
 /**
  * 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);
             }
         }
     }
 }