You are here

function advagg_advagg_build_aggregate_plans_alter in Advanced CSS/JS Aggregation 7.2

Implements hook_advagg_build_aggregate_plans_alter().

Used to alter the plan so it has the same grouping as cores.

Related topics

File

./advagg.advagg.inc, line 118
Advanced CSS/JS aggregation module.

Code

function advagg_advagg_build_aggregate_plans_alter(array &$files, &$modified, $type) {

  // * @param array $files
  // *   List of files in the aggregate as well as the aggregate name.
  // * @param bool $modified
  // *   Change this to TRUE if $files has been changed.
  // * @param string $type
  // *   String containing css or js.
  //
  // Do nothing if core grouping is disabled.
  if (!variable_get('advagg_core_groups', ADVAGG_CORE_GROUPS)) {
    return;
  }
  $temp_new_files = array();
  $counter = 0;
  foreach ($files as $data) {
    $group = NULL;
    $every_page = NULL;
    foreach ($data['files'] as $fileinfo) {

      // Grouped by group and every_page variables.
      if (is_null($group)) {
        $group = $fileinfo['group'];
      }
      if (is_null($every_page)) {
        $every_page = $fileinfo['every_page'];
      }

      // Bump Counter if group/every_page has changed from the last one.
      if ($group != $fileinfo['group'] || $every_page != $fileinfo['every_page']) {
        ++$counter;
        $group = $fileinfo['group'];
        $every_page = $fileinfo['every_page'];
        $modified = TRUE;
      }
      $temp_new_files[$counter][] = $fileinfo;
    }
    ++$counter;
  }

  // Replace $files array with new aggregate filenames.
  $files = advagg_generate_filenames(array(
    $temp_new_files,
  ), $type);
}