From 5af111b0decdc3e922d152dd12322064fc663eba Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thomas=20M=C3=BCller?= <thomas.mueller@tmit.eu>
Date: Thu, 12 Sep 2013 00:39:52 +0200
Subject: [PATCH] added determineIcon to \OCA\files\lib\Helper

---
 apps/files/lib/helper.php | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/apps/files/lib/helper.php b/apps/files/lib/helper.php
index 7135ef9f65..9170c6e3fc 100644
--- a/apps/files/lib/helper.php
+++ b/apps/files/lib/helper.php
@@ -17,4 +17,33 @@ class Helper
 					 'maxHumanFilesize'  => $maxHumanFilesize,
 					 'usedSpacePercent'  => (int)$storageInfo['relative']);
 	}
+
+	public static function determineIcon($file) {
+		if($file['type'] === 'dir') {
+			$dir = $file['directory'];
+			$absPath = \OC\Files\Filesystem::getView()->getAbsolutePath($dir.'/'.$file['name']);
+			$mount = \OC\Files\Filesystem::getMountManager()->find($absPath);
+			if (!is_null($mount)) {
+				$sid = $mount->getStorageId();
+				if (!is_null($sid)) {
+					$sid = explode(':', $sid);
+					if ($sid[0] === 'shared') {
+						return \OC_Helper::mimetypeIcon('dir-shared');
+					}
+					if ($sid[0] !== 'local') {
+						return \OC_Helper::mimetypeIcon('dir-external');
+					}
+				}
+			}
+			return \OC_Helper::mimetypeIcon('dir');
+		}
+
+		if($file['isPreviewAvailable']) {
+			$relativePath = substr($file['path'], 6);
+			return \OC_Helper::previewIcon($relativePath);
+		}
+		return \OC_Helper::mimetypeIcon($file['mimetype']);
+	}
+
+
 }
-- 
GitLab