function ConvertTokens::transform
Same name in other branches
- 9 core/modules/user/src/Plugin/migrate/process/ConvertTokens.php \Drupal\user\Plugin\migrate\process\ConvertTokens::transform()
- 8.9.x core/modules/user/src/Plugin/migrate/process/ConvertTokens.php \Drupal\user\Plugin\migrate\process\ConvertTokens::transform()
- 11.x core/modules/user/src/Plugin/migrate/process/ConvertTokens.php \Drupal\user\Plugin\migrate\process\ConvertTokens::transform()
Overrides ProcessPluginBase::transform
File
-
core/
modules/ user/ src/ Plugin/ migrate/ process/ ConvertTokens.php, line 23
Class
- ConvertTokens
- Plugin to replace !tokens with [tokens].
Namespace
Drupal\user\Plugin\migrate\processCode
public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
$tokens = [
'!site' => '[site:name]',
'!username' => '[user:name]',
'!mailto' => '[user:mail]',
'!login_uri' => '[site:login-url]',
'!uri_brief' => '[site:url-brief]',
'!edit_uri' => '[user:edit-url]',
'!login_url' => '[user:one-time-login-url]',
'!uri' => '[site:url]',
'!date' => '[date:medium]',
'!password' => '',
];
// Given that our source is a database column that could hold a NULL
// value, sometimes that filters down to here. str_replace() cannot
// handle NULLs as the subject, so we reset to an empty string.
if (is_null($value)) {
$value = '';
}
if (is_string($value)) {
return str_replace(array_keys($tokens), $tokens, $value);
}
else {
throw new MigrateException('Value must be a string.');
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.