Merge "Less wild whitespace"
[lhc/web/wiklou.git] / includes / filerepo / RepoGroup.php
index 6b31b7e..f9e5759 100644 (file)
@@ -263,6 +263,28 @@ class RepoGroup {
                return $result;
        }
 
+       /**
+        * Find all instances of files with this keys
+        *
+        * @param $hashes Array base 36 SHA-1 hashes
+        * @return Array of array of File objects
+        */
+       function findBySha1s( array $hashes ) {
+               if ( !$this->reposInitialised ) {
+                       $this->initialiseRepos();
+               }
+
+               $result = $this->localRepo->findBySha1s( $hashes );
+               foreach ( $this->foreignRepos as $repo ) {
+                       $result = array_merge_recursive( $result, $repo->findBySha1s( $hashes ) );
+               }
+               //sort the merged (and presorted) sublist of each hash
+               foreach( $result as $hash => $files ) {
+                       usort( $result[$hash], 'File::compare' );
+               }
+               return $result;
+       }
+
        /**
         * Get the repo instance with a given key.
         * @param $index string|int