You are here

pm_timetracking.module in Drupal PM (Project Management) 4.x

File

modules/pm_timetracking/pm_timetracking.module
View source
<?php

/**
 * @file
 * Contains pm_timetracking.module.
 */
use Drupal\Core\Routing\RouteMatchInterface;

/**
 * Implements hook_help().
 */
function pm_timetracking_help($route_name, RouteMatchInterface $route_match) {
  switch ($route_name) {

    // Main module help for the pm_timetracking module.
    case 'help.page.pm_timetracking':
      $output = '';
      $output .= '<h3>' . t('About') . '</h3>';
      $output .= '<p>' . t('PM Timetracking') . '</p>';
      return $output;
    default:
  }
}

/**
 * Implements hook_theme().
 */
function pm_timetracking_theme() {
  $theme = [];
  $theme['pm_time_tracking'] = [
    'render element' => 'elements',
    'file' => 'pm_time_tracking.page.inc',
    'template' => 'pm_time_tracking',
  ];
  $theme['pm_time_tracking_content_add_list'] = [
    'render element' => 'content',
    'variables' => [
      'content' => NULL,
    ],
    'file' => 'pm_time_tracking.page.inc',
  ];
  return $theme;
}

/**
 * Implements hook_theme_suggestions_HOOK().
 */
function pm_timetracking_theme_suggestions_pm_time_tracking(array $variables) {
  $suggestions = [];
  $entity = $variables['elements']['#pm_time_tracking'];
  $sanitized_view_mode = strtr($variables['elements']['#view_mode'], '.', '_');
  $suggestions[] = 'pm_time_tracking__' . $sanitized_view_mode;
  $suggestions[] = 'pm_time_tracking__' . $entity
    ->bundle();
  $suggestions[] = 'pm_time_tracking__' . $entity
    ->bundle() . '__' . $sanitized_view_mode;
  $suggestions[] = 'pm_time_tracking__' . $entity
    ->id();
  $suggestions[] = 'pm_time_tracking__' . $entity
    ->id() . '__' . $sanitized_view_mode;
  return $suggestions;
}