trait DomainConfigUITrait in Domain Access 8
Contains helper classes for the user interface.
Some methods are called from a form and an Ajax callback, so we have those shared methods in this trait.
Hierarchy
- trait \Drupal\domain_config_ui\DomainConfigUITrait
3 files declare their use of DomainConfigUITrait
- DomainConfigUIController.php in domain_config_ui/
src/ Controller/ DomainConfigUIController.php - DomainConfigUISettingsTest.php in domain_config_ui/
tests/ src/ FunctionalJavascript/ DomainConfigUISettingsTest.php - SettingsForm.php in domain_config_ui/
src/ Form/ SettingsForm.php
File
- domain_config_ui/
src/ DomainConfigUITrait.php, line 11
Namespace
Drupal\domain_config_uiView source
trait DomainConfigUITrait {
/**
* Adds a path to the registry.
*
* @param string $new_path
* The path to add.
*
* @return string
* The normalized path that was added.
*/
public function addPath($new_path) {
$config = \Drupal::configFactory()
->getEditable('domain_config_ui.settings');
$path_string = $config
->get('path_pages');
$path_array = $this
->explodePathSettings($path_string);
$path_array[] = $new_path;
$path_string = $this
->implodePathSettings($path_array);
$config
->set('path_pages', $path_string)
->save();
return $path_string;
}
/**
* Removes a path from the registry.
*
* @param string $old_path
* The path to remove.
*
* @return string
* The normalized path that was removed.
*/
public function removePath($old_path) {
$config = \Drupal::configFactory()
->getEditable('domain_config_ui.settings');
$path_string = $config
->get('path_pages');
$path_array = $this
->explodePathSettings($path_string);
$list = array_flip($path_array);
if (isset($list[$old_path])) {
unset($list[$old_path]);
}
$path_array = array_flip($list);
$path_string = $this
->implodePathSettings($path_array);
$config
->set('path_pages', $path_string)
->save();
return $path_string;
}
/**
* Turns an array of paths into a linebreak separated string.
*
* @param array $path_array
* An array of registered paths.
*
* @return string
* A normalized string of paths.
*/
public function implodePathSettings(array $path_array) {
return implode("\r\n", $path_array);
}
/**
* Turns the path string into an array.
*
* @param string $path_string
* An string of registered paths.
*
* @return array
* A normalized array of paths.
*/
public function explodePathSettings($path_string) {
// Replace newlines with a logical 'or'.
$find = '/(\\r\\n?|\\n)/';
$replace = '|';
$list = preg_replace($find, $replace, $path_string);
return explode("|", $list);
}
/**
* Normalizes the path string using \r\n for linebreaks.
*
* @param string $path_string
* The string of paths.
*
* @return string
* A normalized path string.
*/
public function standardizePaths($path_string) {
return $this
->implodePathSettings($this
->explodePathSettings($path_string));
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DomainConfigUITrait:: |
public | function | Adds a path to the registry. | |
DomainConfigUITrait:: |
public | function | Turns the path string into an array. | |
DomainConfigUITrait:: |
public | function | Turns an array of paths into a linebreak separated string. | |
DomainConfigUITrait:: |
public | function | Removes a path from the registry. | |
DomainConfigUITrait:: |
public | function | Normalizes the path string using \r\n for linebreaks. |