private function AssetWriter::getCombinations

1 call to AssetWriter::getCombinations()
AssetWriter::writeAsset in drupal/core/vendor/kriswallsmith/assetic/src/Assetic/AssetWriter.php

File

drupal/core/vendor/kriswallsmith/assetic/src/Assetic/AssetWriter.php, line 66

Class

AssetWriter
Writes assets to the filesystem.

Namespace

Assetic

Code

private function getCombinations(array $vars) {
  if (!$vars) {
    return array(
      array(),
    );
  }
  $combinations = array();
  $nbValues = array();
  foreach ($this->varValues as $var => $values) {
    if (!in_array($var, $vars, true)) {
      continue;
    }
    $nbValues[$var] = count($values);
  }
  for ($i = array_product($nbValues), $c = $i * 2; $i < $c; $i++) {
    $k = $i;
    $combination = array();
    foreach ($vars as $var) {
      $combination[$var] = $this->varValues[$var][$k % $nbValues[$var]];
      $k = intval($k / $nbValues[$var]);
    }
    $combinations[] = $combination;
  }
  return $combinations;
}