function google_webfont_loader_api_get_font_list in Webfont Loader 8
Same name and namespace in other branches
- 6 google_webfont_loader_api.module \google_webfont_loader_api_get_font_list()
- 7 google_webfont_loader_api.module \google_webfont_loader_api_get_font_list()
Retrieve the list of fonts available.
3 calls to google_webfont_loader_api_get_font_list()
- GoogleWebfontLoaderApiSettingsForm::buildForm in src/
Form/ GoogleWebfontLoaderApiSettingsForm.php - Implements \Drupal\Core\Form\FormInterface::buildForm().
- google_webfont_loader_api_install in ./
google_webfont_loader_api.install - Implements hook_install().
- google_webfont_loader_api_page_attachments in ./
google_webfont_loader_api.module - Implements hook_page_attachments().
File
- ./
google_webfont_loader_api.module, line 113 - Google Webfont Loader API primary file.
Code
function google_webfont_loader_api_get_font_list($reset = FALSE) {
if ($reset) {
$listings = google_webfont_loader_api_scan_fontinfo_files('modules');
$listings = array_merge($listings, google_webfont_loader_api_scan_fontinfo_files('libraries'));
$listings = array_merge($listings, google_webfont_loader_api_scan_fontinfo_files('themes'));
$parser = new Parser();
foreach ($listings as $key => $listing) {
try {
$new_key = preg_replace("/[^a-zA-Z0-9]/", "_", $key);
$listing_array = (array) $listing;
$listing_array['info'] = $parser
->parse(file_get_contents($listing_array['uri']));
$listing_array['name'] = $new_key;
unset($listings[$key]);
$listings[$new_key] = $listing_array;
} catch (ParseException $e) {
throw new InfoParserException("Unable to parse {$listing}", $e
->getMessage());
}
}
}
else {
$config = \Drupal::config('google_webfont_loader_api.settings');
$listings = $config
->get('fontinfo_listing');
}
return $listings;
}