You are here

public function TocFormatter::convertNumberToListTypeValue in TOC API 8

Convert a number to a selected type (alpha or roman).

References:

Parameters

int $number: A number.

string $type: The HTML5 list-style-type.

Return value

string The number converted to a selected type numeral.

Overrides TocFormatterInterface::convertNumberToListTypeValue

1 call to TocFormatter::convertNumberToListTypeValue()
TocFormatter::convertHeaderKeysToValues in src/TocFormatter.php
Convert headers keyed by number to list type values.

File

src/TocFormatter.php, line 42

Class

TocFormatter
Defines a service for formatting a table of content's headers, numbering, and ids..

Namespace

Drupal\toc_api

Code

public function convertNumberToListTypeValue($number, $type) {
  $case_func = NULL;

  // Check if type should upper or lower cased.
  if (preg_match('/^(upper|lower)-(.+)$/', $type, $match)) {
    $type = $match[2];
    $case_func = 'strto' . $match[1];
  }
  if ($number === 0) {
    return '0';
  }
  switch ($type) {
    case 'roman':
      $value = self::convertNumberToRomanNumeral($number);
      break;
    case 'alpha':
      $value = self::convertNumberToLetter($number);
      break;
    default:
      $value = (string) $number;
      break;
  }
  return $case_func ? $case_func($value) : $value;
}