/** * Remove duplicates from a source, keeping the most recent one (or the one that has highest pos in * the archive if the files have same date or no date specified) * * @param File_Archive_Reader a reader that may contain duplicates */ function removeDuplicatesFromSource(&$toConvert, $URL = null) { $source =& File_Archive::_convertToReader($toConvert); if (PEAR::isError($source)) { return $source; } if ($URL !== null && substr($URL, -1) != '/') { $URL .= '/'; } if ($source === null) { $source = File_Archive::read($URL); } require_once dirname(__FILE__) . "/Archive/Predicate/Duplicate.php"; $pred = new File_Archive_Predicate_Duplicate($source); $source->close(); return File_Archive::removeFromSource($pred, $source, null); }