function CreateInterval(REQUEST $req = NULL, $cache_timewindow = false) { $ivls = array(); if ($cache_timewindow) { if ($req) { $iinfo = $req->GetIntervalInfo(); } else { $iinfo = NULL; } //array(); // if (!$req) $req = new DATARequest($args = array()); foreach ($this as $cachewrap) { $cache = $cachewrap->GetCache(); $ivl = new INTERVAL($iinfo); $ivl->ApplyCache($cache); $cache->LimitInterval($ivl); array_push($ivls, $ivl); } } else { if ($req) { $iinfo = $req->GetIntervalInfo(); } else { $iinfo = NULL; } //array(); foreach ($this as $cachewrap) { $cache = $cachewrap->GetCache(); array_push($ivls, $cache->CreateInterval($iinfo)); } } $ivl = new INTERVAL($iinfo); $ivl->ApplyIntervals($ivls); return $ivl; }