function CreateGroup(array &$ginfo = NULL, $flags = 0) { if ($this->reader_access) { $rdr = $this->req->CreateReader(); $grp = $rdr->CreateGroup($ginfo, $flags); unset($rdr); return $grp; } return parent::CreateGroup($ginfo, $flags); }
function CreateGroup(array &$ginfo = NULL, $flags = 0) { $grp = parent::CreateGroup($ginfo, $flags); if ($grp->gid < 0) { $grp->MarkComplex(); } return $grp; }
function PrepareData(READER $reader, MASK $mask = NULL, INTERVAL &$iv = NULL, $need_items = false) { $axes = $this->reader->CreateAxes(); $group = $reader->CreateGroup(); $caches = $reader->CreateCacheSet($group, $mask); $iv = $this->PrepareInterval($reader, $group, $caches, $iv); $cfg = $this->GetAgregatingProperties($caches, $iv); $flags = ($this->interpolate_gaps ? 0 : CACHE::REPORT_EMPTY) | ($this->show_gaps == DRAW::SHOW_GAPS ? CACHE::MISSING_INFO : 0); $data = array(); foreach ($caches as $key => $cache) { $info = $this->PrepareGroupData($cache, $iv, $axes, $cfg, $flags, $need_items); if (!$this->CheckGroupData($info)) { continue; } $data[] = $info; } $spec = $this->CreateGraphSpec($this->reader, $axes, $iv, $data, $cfg); $this->CheckData($reader, $group, $iv, $caches, $data, $spec); return array($axes, &$data, &$spec); }