diff --git a/lib/files.php b/lib/files.php
index 052d798805864474ca062eca2a38346ba1503fa3..ac999a9bd156b5d010b078e6e4d4c261c04e69e8 100644
--- a/lib/files.php
+++ b/lib/files.php
@@ -108,7 +108,24 @@ class OC_Files {
 		return $files;
 	}
 
-
+	public static function searchByMime($mimetype_filter) {
+		$files = array();
+		$dirs_to_check = array('');
+		while (!empty($dirs_to_check)) {
+			// get next subdir to check
+			$dir = array_pop($dirs_to_check);
+			$dir_content = self::getDirectoryContent($dir, $mimetype_filter);
+			foreach($dir_content as $file) {
+				if ($file['type'] == 'file') {
+					$files[] = $dir.'/'.$file['name'];
+				}
+				else {
+					$dirs_to_check[] = $dir.'/'.$file['name'];
+				}
+			}
+		}
+		return $files;
+	}
 
 	/**
 	* return the content of a file or return a zip file containning multiply files