You are here

function _less_attach_settings in Less CSS Preprocessor 7.4

Same name and namespace in other branches
  1. 8 includes/less.process.inc \_less_attach_settings()

Attach LESS settings to each file as appropriate.

Parameters

array[] $item:

string $key:

1 string reference to '_less_attach_settings'
_less_pre_render in ./less.module
Pre-render function for 'style' elements.

File

includes/less.process.inc, line 15
Contains functions related to compiling .less files.

Code

function _less_attach_settings(&$item, $key) {
  $defaults = array(
    'less' => less_get_settings(),
  );

  // These items must be reset for consistent operation.
  $nullify = array(
    'less' => array(
      'output_file' => NULL,
      'build_required' => NULL,
    ),
  );

  // Merge in any info from $item.
  $item = array_replace_recursive($defaults, $item, $nullify);
  $item['less']['input_file'] = $item['data'];
  $less_settings = less_get_settings(_less_file_owner($item['less']['input_file']));

  // array_replace_recursive() works on keys, flip to not use numeric keys.
  $less_settings['paths'] = array_flip($less_settings['paths']);
  $item['less']['paths'] = array_flip($item['less']['paths']);

  // Merge defaults with any per file settings.
  $item['less'] = array_replace_recursive($less_settings, $item['less']);

  // First array_flips before merge removed duplicates, so just flip back.
  $item['less']['paths'] = array_flip($item['less']['paths']);
}