Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Paroz <github@oparoz.com>2015-06-18 14:24:15 +0300
committerOlivier Paroz <github@oparoz.com>2015-06-18 14:24:15 +0300
commit8193e1d7c15485663eeaaa1af1480f1f19004c32 (patch)
tree17feecb6a5c9cf0d00e46324bc688c7b52706a32 /lib/private/preview.php
parent13617a04751b980fbb8b601829d8ff32e55274c3 (diff)
Move media type icon preview creation to its own method
Diffstat (limited to 'lib/private/preview.php')
-rw-r--r--lib/private/preview.php29
1 files changed, 25 insertions, 4 deletions
diff --git a/lib/private/preview.php b/lib/private/preview.php
index d8a9a3e1b78..3a341500e67 100644
--- a/lib/private/preview.php
+++ b/lib/private/preview.php
@@ -703,10 +703,7 @@ class Preview {
// We still don't have a preview, so we send back the mime icon
if (is_null($this->preview)) {
- $this->preview = new \OC_Image();
- $mimeIconWebPath = \OC_Helper::mimetypeIcon($this->mimeType);
- $mimeIconServerPath = str_replace(\OC::$WEBROOT, \OC::$SERVERROOT, $mimeIconWebPath);
- $this->preview->loadFromFile($mimeIconServerPath);
+ $this->getMimeIcon();
}
return $this->preview;
@@ -1095,6 +1092,30 @@ class Preview {
}
/**
+ * Creates a mime icon preview of the asked dimensions
+ *
+ * This will paste the mime icon in the middle of an empty preview of the asked dimension
+ */
+ private function getMimeIcon() {
+ $image = new \OC_Image();
+ $mimeIconWebPath = \OC_Helper::mimetypeIcon($this->mimeType);
+ if (empty(\OC::$WEBROOT)) {
+ $mimeIconServerPath = \OC::$SERVERROOT . $mimeIconWebPath;
+ } else {
+ $mimeIconServerPath = str_replace(\OC::$WEBROOT, \OC::$SERVERROOT, $mimeIconWebPath);
+ }
+ $image->loadFromFile($mimeIconServerPath);
+
+ $previewWidth = (int)$image->width();
+ $previewHeight = (int)$image->height();
+ $askedWidth = $this->getMaxX();
+ $askedHeight = $this->getMaxY();
+ $this->cropAndFill(
+ $image, $askedWidth, $askedHeight, $previewWidth, $previewHeight
+ );
+ }
+
+ /**
* Stores the max preview in the cache
*
* @param string $previewPath path to the preview