function advagg_css_compress_css_tidy in Advanced CSS/JS Aggregation 7
Same name and namespace in other branches
- 6 advagg_css_compress/advagg_css_compress.module \advagg_css_compress_css_tidy()
 
Use the CSS Tidy library to compress the CSS.
TODO have set_cfg be fully configurable from GUI.
2 calls to advagg_css_compress_css_tidy()
- advagg_css_compress_advagg_css_alter in advagg_css_compress/
advagg_css_compress.module  - Implements hook_advagg_css_alter().
 - advagg_css_compress_advagg_css_inline_alter in advagg_css_compress/
advagg_css_compress.module  - Implements hook_advagg_css_inline_alter().
 
File
- advagg_css_compress/
advagg_css_compress.module, line 116  - Advanced aggregation css compression module.
 
Code
function advagg_css_compress_css_tidy(&$contents) {
  // Initialize CSSTidy.
  $filename = drupal_get_path('module', 'advagg_css_compress') . '/csstidy/class.csstidy.inc';
  include_once DRUPAL_ROOT . '/' . $filename;
  $css = new csstidy();
  // Try to allocate enough time to run CSSTidy.
  if (function_exists('set_time_limit')) {
    @set_time_limit(240);
  }
  // Set configuration.
  $css
    ->set_cfg('preserve_css', variable_get('advagg_css_compress_preserve_css', ADVAGG_CSS_COMPRESS_PRESERVE_CSS));
  $css
    ->set_cfg('remove_last_;', TRUE);
  $css
    ->set_cfg('merge_selectors', TRUE);
  $css
    ->set_cfg('optimise_shorthands', TRUE);
  $css
    ->set_cfg('silent', TRUE);
  $css
    ->set_cfg('compress_colors', TRUE);
  $css
    ->set_cfg('sort_selectors', FALSE);
  $css
    ->set_cfg('sort_properties', FALSE);
  $css
    ->set_cfg('discard_invalid_properties', FALSE);
  $css
    ->set_cfg('timestamp', FALSE);
  $css
    ->load_template("highest_compression");
  // Compress CSS.
  $css
    ->parse($contents);
  $contents = $css->print
    ->plain();
}