. * */ namespace OCA\Office; \OCP\JSON::checkLoggedIn(); \OCP\JSON::checkAppEnabled('office'); session_write_close(); // TODO: short-circuit or fix the http 500 that happens on ajax/thumbnail.php // or just wait unit preview is merged to core ;) $file = $_GET['filepath']; if (method_exists('\OCP\Preview', 'show')){ \OCP\Preview::show($file, 120, 120); } else { $mimetype = \OCP\Files::getMimeType($file); // Replace slash and backslash with a minus $icon = \str_replace(array('/', '\\') , '-', $mimetype); $iconFile = ''; // Is it a dir? if ($mimetype === 'dir'){ $iconFile = \OC::$SERVERROOT . '/core/img/filetypes/folder.png'; } // Icon exists? if (!$iconFile && file_exists(\OC::$SERVERROOT . '/core/img/filetypes/' . $icon . '.png')){ $iconFile = \OC::$SERVERROOT . '/core/img/filetypes/' . $icon . '.png'; } // Try only the first part of the filetype $mimePart = substr($icon, 0, strpos($icon, '-')); if (!$iconFile && file_exists(\OC::$SERVERROOT . '/core/img/filetypes/' . $mimePart . '.png')){ $iconFile = \OC::$SERVERROOT . '/core/img/filetypes/' . $mimePart . '.png'; } if (!$iconFile){ $iconFile = \OC::$SERVERROOT . '/core/img/filetypes/file.png'; } $iconData = base64_encode(file_get_contents($iconFile)); $image = new \OC_Image($iconData); \OC_Util::obEnd(); echo $image->show(); }