| Code Coverage | ||||||||||
| Classes and Traits | Functions and Methods | Lines | ||||||||
| Total |  | 0.00% | 0 / 1 |  | 0.00% | 0 / 1 | CRAP |  | 83.33% | 5 / 6 | 
| ConvertTokens |  | 0.00% | 0 / 1 |  | 0.00% | 0 / 1 | 3.04 |  | 83.33% | 5 / 6 | 
| transform |  | 0.00% | 0 / 1 | 3.04 |  | 83.33% | 5 / 6 | |||
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\user\Plugin\migrate\process\ConvertTokens. | |
| */ | |
| namespace Drupal\user\Plugin\migrate\process; | |
| use Drupal\migrate\MigrateException; | |
| use Drupal\migrate\MigrateExecutableInterface; | |
| use Drupal\migrate\ProcessPluginBase; | |
| use Drupal\migrate\Row; | |
| /** | |
| * Plugin to replace !tokens with [tokens]. | |
| * | |
| * @MigrateProcessPlugin( | |
| * id = "convert_tokens", | |
| * handle_multiples = TRUE | |
| * ) | |
| */ | |
| class ConvertTokens extends ProcessPluginBase { | |
| /** | |
| * {@inheritdoc} | |
| * | |
| */ | |
| public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) { | |
| $tokens = array( | |
| '!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.'); | |
| } | |
| } | |
| } |