From c46d51473340e1a6fa1b6d1ee7a24422595a0c32 Mon Sep 17 00:00:00 2001
From: Andrew Brown <andrew@casabrown.com>
Date: Fri, 6 Sep 2013 17:42:21 -0400
Subject: [PATCH] Add audio and image result types

---
 lib/private/search/provider/file.php | 10 +++++++-
 lib/search/result/audio.php          | 36 ++++++++++++++++++++++++++++
 lib/search/result/image.php          | 36 ++++++++++++++++++++++++++++
 3 files changed, 81 insertions(+), 1 deletion(-)
 create mode 100644 lib/search/result/audio.php
 create mode 100644 lib/search/result/image.php

diff --git a/lib/private/search/provider/file.php b/lib/private/search/provider/file.php
index a9082763002..d5f167b730c 100644
--- a/lib/private/search/provider/file.php
+++ b/lib/private/search/provider/file.php
@@ -43,7 +43,15 @@ class File extends \OC\Search\Provider {
 				continue;
 			}
 			// create folder result
-			if($fileData['mimetype'] === 'httpd/unix-directory'){
+			if($fileData['mimepart'] === 'audio'){
+				$result = new \OC\Search\Result\Audio($fileData);
+			}
+			// create image result
+			elseif($fileData['mimepart'] === 'image'){
+				$result = new \OC\Search\Result\Image($fileData);
+			}
+			// create audio result
+			elseif($fileData['mimetype'] === 'httpd/unix-directory'){
 				$result = new \OC\Search\Result\Folder($fileData);
 			}
 			// or create file result
diff --git a/lib/search/result/audio.php b/lib/search/result/audio.php
new file mode 100644
index 00000000000..46f7396ec9f
--- /dev/null
+++ b/lib/search/result/audio.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * ownCloud
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OC\Search\Result;
+
+/**
+ * A found audio file
+ */
+class Audio extends \OC\Search\Result\File {
+
+	/**
+	 * Type name; translated in templates
+	 * @var string 
+	 */
+	public $type = 'audio';
+	
+	/**
+	 * @TODO add ID3 information
+	 */
+}
diff --git a/lib/search/result/image.php b/lib/search/result/image.php
new file mode 100644
index 00000000000..ecc706fffe6
--- /dev/null
+++ b/lib/search/result/image.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * ownCloud
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OC\Search\Result;
+
+/**
+ * A found image file
+ */
+class Image extends \OC\Search\Result\File {
+
+	/**
+	 * Type name; translated in templates
+	 * @var string 
+	 */
+	public $type = 'image';
+	
+	/**
+	 * @TODO add EXIF information
+	 */
+}
-- 
GitLab