ConfigController::diff

public ConfigController::diff($source_name, $target_name = NULL, $collection = NULL)

Shows diff of specified configuration file.

Parameters

string $source_name: The name of the configuration file.

string $target_name: (optional) The name of the target configuration file if different from the $source_name.

string $collection: (optional) The configuration collection name. Defaults to the default collection.

Return value

string Table showing a two-way diff between the active and staged configuration.

File

core/modules/config/src/Controller/ConfigController.php, line 125

Class

ConfigController
Returns responses for config module routes.

Namespace

Drupal\config\Controller

Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
public function diff($source_name, $target_name = NULL, $collection = NULL) {
  if (!isset($collection)) {
    $collection = StorageInterface::DEFAULT_COLLECTION;
  }
  $diff = $this->configManager->diff($this->targetStorage, $this->sourceStorage, $source_name, $target_name, $collection);
  $this->diffFormatter->show_header = FALSE;
 
  $build = array();
 
  $build['#title'] = t('View changes of @config_file', array('@config_file' => $source_name));
  // Add the CSS for the inline diff.
  $build['#attached']['library'][] = 'system/diff';
 
  $build['diff'] = array(
    '#type' => 'table',
    '#attributes' => array(
      'class' => array('diff'),
    ),
    '#header' => array(
      array('data' => t('Active'), 'colspan' => '2'),
      array('data' => t('Staged'), 'colspan' => '2'),
    ),
    '#rows' => $this->diffFormatter->format($diff),
  );
 
  $build['back'] = array(
    '#type' => 'link',
    '#attributes' => array(
      'class' => array(
        'dialog-cancel',
      ),
    ),
    '#title' => "Back to 'Synchronize configuration' page.",
    '#url' => Url::fromRoute('config.sync'),
  );
 
  return $build;
}
doc_Drupal
2025-01-10 15:47:30
Comments
Leave a Comment

Please login to continue.