You are here

function _less_pre_render in Less CSS Preprocessor 7.3

Same name and namespace in other branches
  1. 8 less.module \_less_pre_render()
  2. 7.4 less.module \_less_pre_render()
  3. 7.2 less.module \_less_pre_render()

Pre-render function for 'style' elements.

Key place where .less files are detected and processed.

Parameters

array $styles: All 'style' elements that are to display on the page.

Return value

array Modified style elements pointing to compiled LESS output.

2 calls to _less_pre_render()
less_wysiwyg_editor_settings_alter in ./less.wysiwyg.inc
Implements hook_wysiwyg_editor_settings_alter(). Check the css_content WYSIWYG setting for LESS files and replace with generated CSS files where necessary.
_less_watch in ./less.watch.inc
Page callback for 'ajax/less/watch'.
1 string reference to '_less_pre_render'
less_element_info_alter in ./less.module
Implements hook_element_info_alter().

File

./less.module, line 113
Handles compiling of .less files.

Code

function _less_pre_render($styles) {
  $less_devel = variable_get('less_devel', FALSE);
  $less_dir = _less_get_dir();
  if ($less_devel) {
    if (variable_get('less_watch', TRUE)) {
      drupal_add_js(drupal_get_path('module', 'less') . '/less.watch.js');
    }

    // Warn users once every hour that less is checking for file modifications.
    if (user_access(LESS_PERMISSION) && flood_is_allowed('less_devel_warning', 1)) {
      flood_register_event('less_devel_warning');
      $message_vars = array(
        "@url" => url('admin/config/development/less'),
      );
      drupal_set_message(t('LESS files are being checked for modifications on every request. Remember to <a href="@url">turn off</a> this feature on production websites.', $message_vars), 'status');
    }
  }
  $less_path = 'public://less/' . $less_dir;
  foreach (_less_children($styles['#items']) as $less_filepath) {
    require_once dirname(__FILE__) . '/less.process.inc';
    _less_process_file($styles['#items'][$less_filepath]);
  }
  return $styles;
}