getExtraValues($allowed)) { $this->error(tr('Unexpected values: %0', implode(', ', $extra))); } $searchlib = TikiLib::lib('unifiedsearch'); $query = new Search_Query(); // These are absolute counts, so exclude jail and permission checks $searchlib->initQueryBase($query, false); $builder = new Search_Query_WikiBuilder($query); foreach ($element as $topLevel) { $arguments = $this->readMap($topLevel); $builder->addQueryArgument($topLevel->getType(), $arguments); } $query->setRange(0, 1); $result = $query->search($searchlib->getIndex()); return count($result); } private function readMap($element) { $out = []; foreach ($element as $sub) { $out[$sub->getType()] = $this->evaluateChild($sub[0]); } return $out; } }