You are here

function _geshifilter_generate_languages_css_file in GeSHi Filter for syntax highlighting 5.2

Same name and namespace in other branches
  1. 6 geshifilter.admin.inc \_geshifilter_generate_languages_css_file()
  2. 7 geshifilter.admin.inc \_geshifilter_generate_languages_css_file()

Function for generating the external stylesheet.

2 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

File

./geshifilter.admin.inc, line 505

Code

function _geshifilter_generate_languages_css_file() {
  $languages = _geshifilter_get_enabled_languages();

  // create files/geshifilter directory if not already available
  $path = file_directory_path() . '/geshifilter';
  file_check_directory($path, FILE_CREATE_DIRECTORY);

  // Make stylesheet file name (depends on enabled languages).
  $stylesheet_file = $path . '/geshifilter-languages-' . substr(md5(serialize($languages)), 0, 8) . '.css';
  if (!file_exists($stylesheet_file)) {

    // build stylesheet
    $stylesheet = _geshifilter_generate_languages_css_rules();

    // save stylesheet
    $ret = file_save_data($stylesheet, $stylesheet_file, FILE_EXISTS_REPLACE);
    if ($ret) {
      variable_set('geshifilter_languages_css', $ret);
      drupal_set_message(t('Generated external CSS file %file.', array(
        '%file' => $ret,
      )));
    }
    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/settings/file-system'),
      )), 'error');
    }
  }
}