$out_array = array_merge($out_array, $tths); } if (!$nodirs) { //DIRS if ($days) { $searcher->SetFilterRange("starttime", 0, time() - $days * 24 * 60 * 60, true); //exclude too old results } $prev_instanses_count += $total_tths; $start = max(0, $min - $prev_instanses_count); $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