function social_event_type_preprocess_node in Open Social 8.5
Same name and namespace in other branches
- 8.9 modules/social_features/social_event/modules/social_event_type/social_event_type.module \social_event_type_preprocess_node()
- 8 modules/social_features/social_event/modules/social_event_type/social_event_type.module \social_event_type_preprocess_node()
- 8.2 modules/social_features/social_event/modules/social_event_type/social_event_type.module \social_event_type_preprocess_node()
- 8.3 modules/social_features/social_event/modules/social_event_type/social_event_type.module \social_event_type_preprocess_node()
- 8.4 modules/social_features/social_event/modules/social_event_type/social_event_type.module \social_event_type_preprocess_node()
- 8.6 modules/social_features/social_event/modules/social_event_type/social_event_type.module \social_event_type_preprocess_node()
- 8.7 modules/social_features/social_event/modules/social_event_type/social_event_type.module \social_event_type_preprocess_node()
- 8.8 modules/social_features/social_event/modules/social_event_type/social_event_type.module \social_event_type_preprocess_node()
- 10.3.x modules/social_features/social_event/modules/social_event_type/social_event_type.module \social_event_type_preprocess_node()
- 10.0.x modules/social_features/social_event/modules/social_event_type/social_event_type.module \social_event_type_preprocess_node()
- 10.1.x modules/social_features/social_event/modules/social_event_type/social_event_type.module \social_event_type_preprocess_node()
- 10.2.x modules/social_features/social_event/modules/social_event_type/social_event_type.module \social_event_type_preprocess_node()
Preprocess event node.
Parameters
array $variables: Array with variables of a node.
File
- modules/
social_features/ social_event/ modules/ social_event_type/ social_event_type.module, line 61 - The Social event type module.
Code
function social_event_type_preprocess_node(array &$variables) {
/* @var \Drupal\node\NodeInterface $node */
$node = $variables['node'];
if ($node
->getType() === 'event') {
$event_type = $node
->get('field_event_type');
$event_type_entities = $event_type
->referencedEntities();
if (count($event_type_entities) === 1) {
/** @var \Drupal\node\Entity\Node $event */
foreach ($event_type_entities as $event) {
$variables['metadata'] = t('in @event', [
'@event' => $event
->link(),
]);
// Set event type link.
$now = strtotime("now");
$end = strtotime($node
->get('field_event_date_end')
->getString());
// 1 are upcoming events.
// 2 are ones that have started or are finished.
$datetype = $now > $end ? 2 : 1;
$event_type_url = Url::fromRoute('view.upcoming_events.page_community_events', [
'field_event_date_value' => $datetype,
'event_type_id' => $event
->id(),
]);
$event_type_link = Link::fromTextAndUrl($event
->label(), $event_type_url)
->toString();
$variables['event_type'] = $event_type_link;
}
}
else {
$variables['metadata'] = NULL;
$variables['event_type'] = NULL;
}
}
}