diff --git a/redirect.migrate.inc b/redirect.migrate.inc index e657ad3..a2c6294 100644 --- a/redirect.migrate.inc +++ b/redirect.migrate.inc @@ -5,6 +5,9 @@ * Migrate support for Redirect module. */ +/** + * Destination handler to migrate redirects for entities. + */ class MigrateRedirectEntityHandler extends MigrateDestinationHandler { /** @@ -18,7 +21,10 @@ class MigrateRedirectEntityHandler extends MigrateDestinationHandler { * Overrides fields(). */ public function fields() { - return array('migrate_redirects' => t('Original path(s) to redirect from.')); + return array( + 'migrate_redirects' => t('Original path(s) to redirect from.'), + 'migrate_redirects_override_language' => t('Language for the path(s) to redirect from.'), + ); } /** @@ -99,7 +105,12 @@ class MigrateRedirectEntityHandler extends MigrateDestinationHandler { if (isset($entity->uid)) { $redirect_defaults['uid'] = $entity->uid; } - if (isset($entity->language)) { + + // We can force a language for the redirects. + if (isset($entity->migrate_redirects_override_language)) { + $redirect_defaults['language'] = $row->migrate_redirects_override_language; + } + elseif (isset($entity->language)) { if ($entity->language == '') { $redirect_defaults['language'] = LANGUAGE_NONE; } @@ -107,6 +118,9 @@ class MigrateRedirectEntityHandler extends MigrateDestinationHandler { $redirect_defaults['language'] = $entity->language; } } + else { + $redirect_defaults['language'] = LANGUAGE_NONE; + } $redirect = new stdClass(); redirect_object_prepare($redirect, $redirect_defaults); $redirect->redirect = $redirect_destination['path'];