Loading core/modules/link/src/Plugin/migrate/process/FieldLink.php +7 −0 Original line number Diff line number Diff line Loading @@ -59,6 +59,13 @@ public function __construct(array $configuration, $plugin_id, $plugin_definition * @see \Drupal\link\Plugin\Field\FieldWidget\LinkWidget::getUserEnteredStringAsUri() */ protected function canonicalizeUri($uri) { // If the path starts with 2 slashes then it is always considered an // external URL without an explicit protocol part. // @todo Remove this when https://www.drupal.org/node/2744729 lands. if (strpos($uri, '//') === 0) { return $this->configuration['uri_scheme'] . ltrim($uri, '/'); } // If we already have a scheme, we're fine. if (parse_url($uri, PHP_URL_SCHEME)) { return $uri; Loading core/modules/link/tests/src/Unit/Plugin/migrate/process/FieldLinkTest.php +4 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,10 @@ public function canonicalizeUriDataProvider() { 'https://yahoo.com', ['uri_scheme' => 'https://'], ], 'Absolute URL without explicit protocol (protocol-relative)' => [ '//example.com', 'http://example.com', ], 'Absolute URL with non-standard characters' => [ 'http://www.ßÀÑÐ¥ƒå¢ë.com', 'http://www.ßÀÑÐ¥ƒå¢ë.com', Loading Loading
core/modules/link/src/Plugin/migrate/process/FieldLink.php +7 −0 Original line number Diff line number Diff line Loading @@ -59,6 +59,13 @@ public function __construct(array $configuration, $plugin_id, $plugin_definition * @see \Drupal\link\Plugin\Field\FieldWidget\LinkWidget::getUserEnteredStringAsUri() */ protected function canonicalizeUri($uri) { // If the path starts with 2 slashes then it is always considered an // external URL without an explicit protocol part. // @todo Remove this when https://www.drupal.org/node/2744729 lands. if (strpos($uri, '//') === 0) { return $this->configuration['uri_scheme'] . ltrim($uri, '/'); } // If we already have a scheme, we're fine. if (parse_url($uri, PHP_URL_SCHEME)) { return $uri; Loading
core/modules/link/tests/src/Unit/Plugin/migrate/process/FieldLinkTest.php +4 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,10 @@ public function canonicalizeUriDataProvider() { 'https://yahoo.com', ['uri_scheme' => 'https://'], ], 'Absolute URL without explicit protocol (protocol-relative)' => [ '//example.com', 'http://example.com', ], 'Absolute URL with non-standard characters' => [ 'http://www.ßÀÑÐ¥ƒå¢ë.com', 'http://www.ßÀÑÐ¥ƒå¢ë.com', Loading