<?php

/**
 * @file
 * Contains oc_case.page.inc.
 *
 * Page callback for Case entities.
 */

use Drupal\Core\Render\Element;

/**
 * Prepares variables for Case templates.
 *
 * Default template: oc_case.html.twig.
 *
 * @param array $variables
 *   An associative array containing:
 *   - elements: An associative array containing the user information and any
 *   - attributes: HTML attributes for the containing element.
 */
function template_preprocess_oc_case(array &$variables) {
  // Separate the fields into two sections to be displayed in two columns.
  // Remove the name (title) field as this is displayed anyway.
  $variables['id'] = $variables['elements']['#oc_case']->get('id')[0]->get('value')->getValue();
  $variables['base_fields'] = array();
  $variables['other_fields'] = array();
  foreach (Element::children($variables['elements']) as $key) {
    $variables['content'][$key] = $variables['elements'][$key];
    if (in_array($key, ['created', 'changed', 'files', 'actors_involved', 'status', 'user_id'])) {
      $variables['base_fields'][$key] = $variables['elements'][$key];
    } else {
      $variables['other_fields'][$key] = $variables['elements'][$key];
      unset($variables['other_fields']['name']);
    }
  }
}