/** * Converts a BlockPluginInterface to a minimal array (id, label, weight and region/region) * * @param BlockPluginInterface $block * @return array */ public static function blockToArray(BlockPluginInterface $block) { $config = $block->getConfiguration(); $settings = isset($config['settings']) ? $config['settings'] : array(); $definition = $block->getPluginDefinition(); if (isset($config['label']) && !empty($config['label'])) { $label = $config['label']; } else { $label = isset($definition['admin_label']) ? $definition['admin_label'] : $block->getPluginId(); } return array('id' => $config['uuid'], 'label' => $label, 'weight' => isset($config['weight']) ? $config['weight'] : 0, 'region' => $config['region']); }