sports_league-8.x-1.x-dev/modules/sl_stats/sl_stats.module
modules/sl_stats/sl_stats.module
<?php
/**
* @file
* The SL stats module.
*/
/**
* Implements hook_entity_update().
*/
function sl_stats_entity_update($entity) {
if ($entity->getEntityTypeId() == 'node' && $entity->bundle() == 'sl_person') {
if (!isset($entity->sl_stats_already_computed)) {
$queue_factory = \Drupal::service('queue');
$queue = $queue_factory->get('sl_stats_worker');
$item = new \stdClass();
$item->nid = $entity->id();
$queue_items = \Drupal::service('database')->select('queue')
->fields('queue', [
'item_id',
])
->condition('name', 'sl_stats_worker')
->condition('data', serialize($item))->execute()->fetchAll();
if (!count($queue_items)) {
$queue->createItem($item);
}
}
}
}
/**
* Implements hook_entity_extra_field_info().
*/
function sl_stats_entity_extra_field_info() {
$extra = [];
// Adds extra field to sl_person display.
$extra['node']['sl_person']['display']['sl_stats_person'] = [
'label' => t('Person stats'),
'description' => t('Person stats'),
'weight' => 100,
'visible' => TRUE,
];
return $extra;
}
