function _instagram_feeds_post_tokens in Instagram Feeds 8
Helper function to process Instagram account tokens.
See also
1 call to _instagram_feeds_post_tokens()
- instagram_feeds_tokens in ./
instagram_feeds.tokens.inc - Implements hook_tokens().
File
- ./
instagram_feeds.tokens.inc, line 128 - Provides Token integration for Instagram Feeds.
Code
function _instagram_feeds_post_tokens(Token $token_service, $tokens, array $post, array $options, BubbleableMetadata $bubbleable_metadata) {
$replacements = [];
/** @var Drupal\Core\Datetime\DateFormatterInterface $date_formatter_service */
$date_formatter_service = \Drupal::service('date.formatter');
foreach ($tokens as $name => $original) {
switch ($name) {
case 'date':
$date_format = DateFormat::load('medium');
$bubbleable_metadata
->addCacheableDependency($date_format);
$replacements[$original] = $date_formatter_service
->format($post['timestamp'], 'medium');
break;
case 'tags':
$replacements[$original] = implode(', ', $post['tags']);
break;
default:
if (isset($post[$name])) {
$replacements[$original] = $post[$name];
}
break;
}
}
if ($date_tokens = $token_service
->findWithPrefix($tokens, 'date')) {
$replacements += $token_service
->generate('date', $date_tokens, [
'date' => $post['timestamp'],
], $options, $bubbleable_metadata);
}
return $replacements;
}