dvf-2.x-dev/src/Plugin/migrate/process/CkanConvertUrl.php
src/Plugin/migrate/process/CkanConvertUrl.php
<?php
namespace Drupal\dvf\Plugin\migrate\process;
use Drupal\migrate\MigrateExecutableInterface;
use Drupal\migrate\Row;
use Drupal\migrate\ProcessPluginBase;
/**
* Converts a D7 ckan url. This is a single purpose plugin.
*
* @MigrateProcessPlugin(
* id = "ckan_convert_url"
* )
*
* @code
* process:
* field_d7_ckan_visualisation/0/uri:
* -
* plugin: ckan_convert_url
* source: ckan_visualisation_d7_uri
* @endcode
*/
class CkanConvertUrl extends ProcessPluginBase {
/**
* {@inheritdoc}
*/
public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
$ckan_url = 'https://data.gov.au/dataset/{ID_1}/resource/{ID_2}';
$url_parts = explode('/', $value);
if (!empty($url_parts[3]) && !empty($url_parts[4])) {
$ckan_url = str_replace('{ID_1}', $url_parts[3], $ckan_url);
$ckan_url = str_replace('{ID_2}', $url_parts[4], $ckan_url);
}
else {
$ckan_url = '';
}
return $ckan_url;
}
}
