public function DomStrReplace::__construct in Migrate Plus 8.5
Same name and namespace in other branches
- 8.4 src/Plugin/migrate/process/DomStrReplace.php \Drupal\migrate_plus\Plugin\migrate\process\DomStrReplace::__construct()
Constructs a \Drupal\Component\Plugin\PluginBase object.
Parameters
array $configuration: A configuration array containing information about the plugin instance.
string $plugin_id: The plugin_id for the plugin instance.
mixed $plugin_definition: The plugin implementation definition.
Overrides PluginBase::__construct
1 call to DomStrReplace::__construct()
- DomMigrationLookup::__construct in src/
Plugin/ migrate/ process/ DomMigrationLookup.php - Constructs a \Drupal\Component\Plugin\PluginBase object.
1 method overrides DomStrReplace::__construct()
- DomMigrationLookup::__construct in src/
Plugin/ migrate/ process/ DomMigrationLookup.php - Constructs a \Drupal\Component\Plugin\PluginBase object.
File
- src/
Plugin/ migrate/ process/ DomStrReplace.php, line 75
Class
- DomStrReplace
- String replacements on a source dom.
Namespace
Drupal\migrate_plus\Plugin\migrate\processCode
public function __construct(array $configuration, $plugin_id, $plugin_definition) {
parent::__construct($configuration, $plugin_id, $plugin_definition);
$this->configuration += [
'case_insensitive' => FALSE,
'regex' => FALSE,
];
$options_validation = [
'xpath' => NULL,
'mode' => [
'attribute' => [
'attribute_options' => NULL,
],
'element' => [],
],
'search' => NULL,
'replace' => NULL,
];
foreach ($options_validation as $option_name => $possible_values) {
if (empty($this->configuration[$option_name])) {
throw new InvalidPluginDefinitionException($this
->getPluginId(), "Configuration option '{$option_name}' is required.");
}
if (!empty($possible_values) && !array_key_exists($this->configuration[$option_name], $possible_values)) {
throw new InvalidPluginDefinitionException($this
->getPluginId(), sprintf('Configuration option "%s" only accepts the following values: %s.', $option_name, implode(', ', array_keys($possible_values))));
}
}
$mode = $this->configuration['mode'];
$mode_validation = $options_validation['mode'][$mode];
foreach ($mode_validation as $option_name => $possible_values) {
if (empty($this->configuration[$option_name])) {
throw new InvalidPluginDefinitionException($this
->getPluginId(), "Configuration option '{$option_name}' is required for mode '{$mode}'.");
}
if (!is_null($possible_values) && !in_array($this->configuration[$option_name], $possible_values)) {
throw new InvalidPluginDefinitionException($this
->getPluginId(), sprintf('Configuration option "%s" only accepts the following values: %s.', $option_name, implode(', ', $possible_values)));
}
}
$mode_validation = $options_validation['mode'][$this->configuration['mode']];
foreach ($mode_validation as $option_name => $possible_values) {
if (empty($this->configuration[$option_name])) {
throw new InvalidPluginDefinitionException($this
->getPluginId(), "Configuration option '{$option_name}' is required for mode '{$mode}'.");
}
if (!is_null($possible_values) && !in_array($this->configuration[$option_name], $possible_values)) {
throw new InvalidPluginDefinitionException($this
->getPluginId(), sprintf('Configuration option "%s" only accepts the following values: %s.', $option_name, implode(', ', $possible_values)));
}
}
$mode_validation = $options_validation['mode'][$this->configuration['mode']];
foreach ($mode_validation as $option_name => $possible_values) {
if (empty($this->configuration[$option_name])) {
throw new InvalidPluginDefinitionException($this
->getPluginId(), "Configuration option '{$option_name}' is required for mode '{$mode}'.");
}
if (!is_null($possible_values) && !in_array($this->configuration[$option_name], $possible_values)) {
throw new InvalidPluginDefinitionException($this
->getPluginId(), sprintf('Configuration option "%s" only accepts the following values: %s.', $option_name, implode(', ', $possible_values)));
}
}
}