/** * create root pager from the largest non-empty category range * @param $ranges - array of "complete" token queues (range) * (every range is an stdobject of decoded infix queue and encoded reverse polish queue) */ public static function newFromCategoryRange($ranges) { $rp = null; foreach ($ranges as &$range) { $rp = CB_RootPager::newFromInfixTokens($range->infix_tokens); $rp->getCurrentRows(); if (is_object($rp) && $rp->offset != -1) { break; } } return $rp; }