function apigee_edge_teams_tokens in Apigee Edge 8
Implements hook_tokens().
File
- modules/
apigee_edge_teams/ apigee_edge_teams.tokens.inc, line 65 - Implements tokens for apigee_edge_teams module.
Code
function apigee_edge_teams_tokens($type, $tokens, array $data, array $options, BubbleableMetadata $bubbleable_metadata) {
if (!isset($data['team_invitation'])) {
return [];
}
/** @var \Drupal\apigee_edge_teams\Entity\TeamInvitationInterface $team_invitation */
$team_invitation = $data['team_invitation'];
$team = $team_invitation
->getTeam();
$replacements = [];
foreach ($tokens as $field_name => $original) {
switch ($field_name) {
case "team_name":
$replacements[$original] = $team
->label();
break;
case "url_accept":
$query = [
'destination' => $team_invitation
->toUrl('accept-form')
->setRouteParameter('team', $team
->id())
->toString(),
];
$replacements[$original] = Url::fromRoute('user.login', [], [
'query' => $query,
'absolute' => TRUE,
])
->toString();
break;
case "url_decline":
$query = [
'destination' => $team_invitation
->toUrl('decline-form')
->setRouteParameter('team', $team
->id())
->toString(),
];
$replacements[$original] = Url::fromRoute('user.login', [], [
'query' => $query,
'absolute' => TRUE,
])
->toString();
break;
case "url_register":
$query = [
'destination' => $team_invitation
->toUrl('accept-form')
->setRouteParameter('team', $team
->id())
->toString(),
];
$replacements[$original] = Url::fromRoute('user.register', [], [
'query' => $query,
'absolute' => TRUE,
])
->toString();
break;
case "expiry_days":
$replacements[$original] = Drupal::config('apigee_edge_teams.team_settings')
->get('team_invitation_expiry_days');
break;
}
}
return $replacements;
}