function social_magic_login_tokens in Open Social 8.5
Same name and namespace in other branches
- 8.9 modules/custom/social_magic_login/social_magic_login.module \social_magic_login_tokens()
- 8.6 modules/custom/social_magic_login/social_magic_login.module \social_magic_login_tokens()
- 8.7 modules/custom/social_magic_login/social_magic_login.module \social_magic_login_tokens()
- 8.8 modules/custom/social_magic_login/social_magic_login.module \social_magic_login_tokens()
- 10.3.x modules/custom/social_magic_login/social_magic_login.module \social_magic_login_tokens()
- 10.0.x modules/custom/social_magic_login/social_magic_login.module \social_magic_login_tokens()
- 10.1.x modules/custom/social_magic_login/social_magic_login.module \social_magic_login_tokens()
- 10.2.x modules/custom/social_magic_login/social_magic_login.module \social_magic_login_tokens()
Implements hook_tokens().
Throws
\Drupal\Core\Entity\EntityMalformedException
File
- modules/
custom/ social_magic_login/ social_magic_login.module, line 37 - The Social Magic Login module.
Code
function social_magic_login_tokens($type, $tokens, array $data, array $options, BubbleableMetadata $bubbleable_metadata) {
$url_options = [
'absolute' => TRUE,
];
$replacements = [];
if ($type === 'auto-login' && !empty($data['user'])) {
/** @var \Drupal\user\UserInterface $account */
$account = $data['user'];
foreach ($tokens as $token => $original) {
// This is the default variation on the chained tokens handled below.
if ('group-destination' === $token) {
/** @var \Drupal\group\Entity\GroupInterface $group */
$group =& $data['group'];
$destination = $group
->toUrl('canonical', [
'absolute' => FALSE,
])
->toString();
$url = social_magic_login_url_create($account, $destination, $url_options);
$replacements[$original] = $url
->toString();
}
}
}
return $replacements;
}