/** * Overrides Drupal\configuration\Config\Configuration::alterDependencies(). */ public static function alterDependencies(Configuration $config) { static $cache; if (!isset($cache)) { $cache = array(); } // Dependencies for Page Manager Handlers. if ($config->getComponent() == 'page_manager_handlers' && !$config->broken) { // This line seems to be inconsistent when executed from drush or browser. $config_data = $config->getData(); // This alternative works more consistent althoug it's no so pretty. if (!isset($config_data->conf['display'])) { if (!isset($cache[$config->getUniqueId()])) { @eval(ctools_export_crud_export($config->getComponent(), $config_data)); $cache[$config->getUniqueId()] = $handler; } else { $handler = $cache[$config->getUniqueId()]; } $config_data = $handler; } foreach ($config_data->conf['display']->content as $object) { $type = $object->type; switch ($type) { case 'block': list($subtype, $id, ) = explode('-', $object->subtype); switch ($subtype) { // Display block from a view. case 'views': $config_id = 'views_view.' . $id; $view = ConfigurationManagement::createConfigurationInstance($config_id); $view->build(); $config->addToDependencies($view); $config->addToDependencies($view); break; } break; // A view added directly. // A view added directly. case 'views': $config_id = 'views_view.' . $object->subtype; $view = ConfigurationManagement::createConfigurationInstance($config_id); $view->build(); $config->addToDependencies($view); break; // A view added using the Views content panes module. // A view added using the Views content panes module. case 'views_panes': list($subtype, ) = explode('-', $object->subtype); $config_id = 'views_view.' . $subtype; $view = ConfigurationManagement::createConfigurationInstance($config_id); $view->build(); $config->addToDependencies($view); break; } } } }
/** * Overrides Drupal\configuration\Config\Configuration::alterDependencies(). */ public static function alterDependencies(Configuration $config) { // Dependencies for Page Manager Pages. Each page has a handler. if ($config->getComponent() == 'page_manager_pages' && !$config->broken) { $config_data = $config->getData(); $id = 'page_manager_handlers.page_' . $config_data->name . '_panel_context'; $page_handler = ConfigurationManagement::createConfigurationInstance($id); $page_handler->build(); $config->addToDependencies($page_handler); } }
/** * Overrides Drupal\configuration\Config\Configuration::alterDependencies(). */ public static function alterDependencies(Configuration $config) { if ($config->getComponent() == 'menu_link') { $config_data = $config->getData(); if (!empty($config_data) && empty($config_data['plid'])) { $menu = new MenuConfiguration(str_replace('-', '_', $config_data['menu_name'])); $menu->build(); $config->addToDependencies($menu); } } }
/** * Overrides Drupal\configuration\Config\Configuration::alterDependencies(). */ public static function alterDependencies(Configuration $config) { if ($config->getComponent() == 'permission') { foreach (node_permissions_get_configured_types() as $type) { foreach (array_keys(node_list_permissions($type)) as $permission) { $data = $config->getData(); if ($permission == $data['permission']) { $content_type = ConfigurationManagement::createConfigurationInstance('content_type.' . $type); $config->addToDependencies($content_type); break; } } } } }
/** * Overrides Drupal\configuration\Config\Configuration::saveToActiveStore(). */ public static function alterDependencies(Configuration $config) { if ($config->getComponent() == 'permission') { $data = $config->getData(); if (!empty($data['roles'])) { $role_objects = db_select('role', 'r')->fields('r', array('machine_name', 'rid'))->condition('name', $data['roles'], 'IN')->execute(); foreach ($role_objects as $role_object) { if ($role_object->rid > 2 && !empty($role_object->machine_name)) { $role_config = ConfigurationManagement::createConfigurationInstance('role.' . $role_object->machine_name); $config->addToDependencies($role_config); } } } } }
/** * Overrides Drupal\configuration\Config\Configuration::alterDependencies(). */ public static function alterDependencies(Configuration $config) { if ($config->getComponent() == 'permission') { // Generate permissions for each text format. Warn the administrator that any // of them are potentially unsafe. foreach (filter_formats() as $format) { $permission = filter_permission_name($format); if (!empty($permission)) { $data = $config->getData(); if ($permission == $data['permission']) { $text_format = ConfigurationManagement::createConfigurationInstance('text_format.' . $format->format); $config->addToDependencies($text_format); break; } } } } }
/** * Overrides Drupal\configuration\Config\Configuration::alterDependencies(). */ public static function alterDependencies(Configuration $config) { if ($config->getComponent() == 'permission') { $panelizers = static::getAllIdentifiers('panelizer_defaults'); $permission = $config->getData(); if (strpos($permission['permission'], 'administer panelizer ') === 0) { list(, , $entity_type, $bundle) = explode(' ', $permission['permission']); $id = $entity_type . ':' . $bundle; foreach ($panelizers as $panelizer_id) { if (strpos($panelizer_id, $id) === 0) { $panelizer = ConfigurationManagement::createConfigurationInstance('panelizer_defaults.' . $panelizer_id); $panelizer->build(); $config->addToDependencies($panelizer); } } } } }