diff --git a/link.info b/link.info index 1f59fca4ebc1756bbda9a853350cb9fb37d81fa6..b07a2ae8cd68eea54f86cd88de248364f47503d9 100644 --- a/link.info +++ b/link.info @@ -3,4 +3,5 @@ description = Defines simple link field types. dependencies[] = content package = CCK core = 6.x +files[] = link.migrate.inc diff --git a/link.migrate.inc b/link.migrate.inc new file mode 100644 index 0000000000000000000000000000000000000000..5f4ccb7847ebe4fcc599419aee116fa440475466 --- /dev/null +++ b/link.migrate.inc @@ -0,0 +1,51 @@ +registerTypes(array('link')); + } + + static function arguments($title = NULL, $attributes = NULL, $language = NULL) { + $arguments = array(); + if (!is_null($title)) { + $arguments['title'] = $title; + } + if (!is_null($attributes)) { + $arguments['attributes'] = $attributes; + } + if (!is_null($language)) { + $arguments['language'] = $language; + } + return $arguments; + } + + public function prepare($entity, array $instance, array $values) { + if (isset($values['arguments'])) { + $arguments = $values['arguments']; + unset($values['arguments']); + } + else { + $arguments = array(); + } + + $delta = 0; + foreach($values as $value) { + $item = array(); + if (isset($arguments['title'])) { + $item['title'] = $arguments['title']; + } + if (isset($arguments['attributes'])) { + $item['attributes'] = $arguments['attributes']; + } + $item['url'] = $value; + $return[$delta] = $item; + $delta++; + } + + return isset($return) ? $return : NULL; + } +} diff --git a/link.module b/link.module index 4098ae022a0c02093b7b95fbf3f7425341f57b80..2bea79a492f4bb32fbab94f2dbc8bb1d132b7474 100644 --- a/link.module +++ b/link.module @@ -449,3 +449,10 @@ function link_views_api() { 'path' => drupal_get_path('module', 'link') .'/views', ); } +/** + * Implements hook_migrate_api(). + */ +function link_migrate_api() { + return array('api' => 2); +} +