/** * This method returns a list of available fonts. */ public static function getAvailableFonts() { if (self::$fontList != NULL) { return self::$fontList; } // Get all pdf files with the font list: K_PATH_FONTS $fonts = file_scan_directory(K_PATH_FONTS, '/.php$/', array('nomask' => '/(\\.\\.?|CVS)$/', 'recurse' => FALSE), 1); $cache = cache_get('views_pdf_cached_fonts'); $cached_font_mapping = NULL; if (is_object($cache)) { $cached_font_mapping = $cache->data; } if (is_array($cached_font_mapping)) { $font_mapping = array_merge(self::$defaultFontList, $cached_font_mapping); } else { $font_mapping = self::$defaultFontList; } foreach ($fonts as $font) { $name = self::getFontNameByFileName($font->uri); if (isset($name)) { $font_mapping[$font->name] = $name; } } asort($font_mapping); cache_set('views_pdf_cached_fonts', $font_mapping); // Remove all fonts without name foreach ($font_mapping as $key => $font) { if (empty($font)) { unset($font_mapping[$key]); } } self::$fontList = $font_mapping; return $font_mapping; }
/** * This method returns a list of available fonts. */ public static function getAvailableFonts() { if (self::$fontList != NULL) { return self::$fontList; } // Get all pdf files with the font list: K_PATH_FONTS $fonts = file_scan_directory(K_PATH_FONTS, '.php', array('.', '..', 'CVS'), 0, FALSE, 'filename', 0, 1); $cache = cache_get('views_pdf_cached_fonts'); $cached_font_mapping = $cache->data; if (is_array($cached_font_mapping) ) { $font_mapping = array_merge(self::$defaultFontList, $cached_font_mapping); } else { $font_mapping = self::$defaultFontList; } foreach ($fonts as $font) { if (!isset($font_mapping[$font->name])) { $font_mapping[$font->name] = self::getFontNameByFileName($font->filename); } } asort($font_mapping); cache_set('views_pdf_cached_fonts', $font_mapping); // Remove all fonts without name foreach ($font_mapping as $key =>$font) { if (empty($font)) { unset($font_mapping[$key]); } } self::$fontList = $font_mapping; return $font_mapping; }