protected function multiplyMedia($env, $childQueries = null)
{
if (is_null($env) || !empty($env->block->type) && $env->block->type != "media") {
return $childQueries;
}
// plain old block, skip
if (empty($env->block->type)) {
return $this->multiplyMedia($env->parent, $childQueries);
}
$parentQueries = $env->block->queryList;
if ($childQueries == null) {
$childQueries = $parentQueries;
} else {
$originalQueries = $childQueries;
$childQueries = array();
foreach ($parentQueries as $parentQuery) {
foreach ($originalQueries as $childQuery) {
$childQueries[] = array_merge($parentQuery, $childQuery);
}
}
}
return $this->multiplyMedia($env->parent, $childQueries);
}