function _geshifilter_generate_languages_css_file in GeSHi Filter for syntax highlighting 7
Same name and namespace in other branches
- 5.2 geshifilter.admin.inc \_geshifilter_generate_languages_css_file()
- 6 geshifilter.admin.inc \_geshifilter_generate_languages_css_file()
Function for generating the external stylesheet.
Parameters
$force force the regeneration of the CSS file.:
3 calls to _geshifilter_generate_languages_css_file()
- geshifilter_admin_general_settings_submit in ./
geshifilter.admin.inc - Submit function for admin settings.
- geshifilter_admin_per_language_settings_submit in ./
geshifilter.admin.inc - Submit function for per language settings.
- _geshifilter_flush_language_definition_cache in ./
geshifilter.admin.inc - Helper function for flushing the GeSHi language definition cache.
File
- ./
geshifilter.admin.inc, line 617
Code
function _geshifilter_generate_languages_css_file($force = FALSE) {
$languages = _geshifilter_get_enabled_languages();
// Serialize the array of enabled languages as sort of hash.
$languages_hash = serialize($languages);
// Check if generation of the CSS file is needed
if ($force || $languages_hash != variable_get('geshifilter_cssfile_languages', '')) {
// Build stylesheet.
$stylesheet = _geshifilter_generate_languages_css_rules();
// Save stylesheet.
$stylesheet_filename = _geshifilter_language_css_path();
$ret = file_save_data($stylesheet, $stylesheet_filename, FILE_EXISTS_REPLACE);
if ($ret) {
drupal_set_message(t('(Re)generated external CSS style sheet %file.', array(
'%file' => $ret->uri,
)));
}
else {
drupal_set_message(t('Could not generate external CSS file. Check the settings of your <a href="!filesystem">file system</a>.', array(
'!filesystem' => url('admin/config/media/file-system'),
)), 'error');
}
// Remember for which list of languages the CSS file was generated
variable_set('geshifilter_cssfile_languages', $languages_hash);
}
}