function markdown_tokens in Markdown 8.2
Implements hook_tokens(). @noinspection PhpUnused @noinspection PhpDocSignatureInspection
File
- ./
markdown.module, line 281 - Markdown module.
Code
function markdown_tokens($type, $tokens, array $data, array $options, BubbleableMetadata $bubbleable_metadata) {
$replacements = [];
// Supply the various "current-request" based tokens.
// @todo Remove once provided by core.
// @see https://www.drupal.org/project/drupal/issues/3136361
if ($type === 'current-request') {
$request = \Drupal::request();
foreach ($tokens as $name => $original) {
switch ($name) {
case 'base-path':
$replacements[$original] = $request
->getBasePath();
break;
case 'fragment':
$replacements[$original] = parse_url($request
->getRequestUri(), PHP_URL_FRAGMENT);
break;
case 'host':
$replacements[$original] = $request
->getHost();
break;
case 'password':
$replacements[$original] = $request
->getPassword();
break;
case 'path':
$replacements[$original] = $request
->getPathInfo();
break;
case 'port':
$replacements[$original] = $request
->getPort();
break;
case 'query':
$replacements[$original] = $request
->getQueryString();
break;
case 'scheme':
$replacements[$original] = $request
->getScheme();
break;
case 'user':
$replacements[$original] = $request
->getUser();
break;
case 'uri':
$replacements[$original] = $request
->getRequestUri();
break;
}
}
}
return $replacements;
}