public static function getInitialChar($string, $lang = null) { if (is_null($lang)) { $lang = 'universal'; } if (!array_key_exists($lang, CoreConfigDisplay::$paginationChars)) { throw new CoreException('Invalid language \'' . $lang . '\' for first character pagination!'); } if (empty($string)) { return CoreConfigDisplay::paginationDummy; } $firstChar = mb_strtoupper(CoreUtils::substr($string, 0, 1), CoreConfigDisplay::globalCharset); foreach (CoreConfigDisplay::$paginationChars[$lang] as $shownChar => $initials) { if (in_array($firstChar, $initials)) { return $shownChar; } } return CoreConfigDisplay::paginationDummy; }