$len = min(RPP, max(1, $max - $prev_instanses_count)); $searcher->setLimits($start, $len); $dirs_result = $searcher->query($query, "dc_dirs dc_dirs_delta"); $total_dirs = $dirs_result['total']; if ($total_dirs && is_array($dirs_result['matches']) && count($out_array) < RPP) { $dirs = Searcher::getDirs(array_keys($dirs_result['matches'])); $out_array = array_merge($out_array, $dirs); } } $searcher->ResetFilters(); if ($days) { $searcher->SetFilterRange("starttime", 0, time() - $days * 24 * 60 * 60, true); //exclude too old results } if ($category) { $searcher->SetFilter("extension_crc32", Searcher::getExtsCrc32($category)); } $minsize_calc = Searcher::getSizeFromHuman($minsize); if ($minsize_calc) { $searcher->SetFilter("size", 0, $minsize_calc, true); //exclude too little results } //FILES $prev_instanses_count += $total_dirs; $start = max(0, $min - $prev_instanses_count); $len = min(RPP, max(1, $max - $prev_instanses_count)); $searcher->setLimits($start, $len); $files_result = $searcher->query($query, "dc_files dc_files_delta"); $total_files = $files_result['total']; if ($total_files && is_array($files_result['matches']) && count($out_array) < RPP) { $files = Searcher::getFiles(array_keys($files_result['matches']));