Skip to content
Snippets Groups Projects
Commit 7618cf30 authored by Thomas Müller's avatar Thomas Müller
Browse files

adding public interface for preview

parent 835f477d
No related branches found
No related tags found
No related merge requests found
......@@ -42,6 +42,9 @@ class Preview {
private $scalingup;
//preview images object
/**
* @var \OC_Image
*/
private $preview;
//preview providers
......
<?php
/**
* Copyright (c) 2013 Thomas Müller thomas.mueller@tmit.eu
* This file is licensed under the Affero General Public License version 3 or
* later.
* See the COPYING-README file.
*
*/
namespace OC;
use OCP\image;
use OCP\IPreview;
class PreviewManager implements IPreview {
/**
* @brief return a preview of a file
* @param string $file The path to the file where you want a thumbnail from
* @param int $maxX The maximum X size of the thumbnail. It can be smaller depending on the shape of the image
* @param int $maxY The maximum Y size of the thumbnail. It can be smaller depending on the shape of the image
* @param boolean $scaleUp Scale smaller images up to the thumbnail size or not. Might look ugly
* @return \OCP\Image
*/
function createPreview($file, $maxX = 100, $maxY = 75, $scaleUp = false)
{
$preview = new \OC\Preview('', '/', $file, $maxX, $maxY, $scaleUp);
return $preview->getPreview();
}
/**
* @brief returns true if the passed mime type is supported
* @param string $mimeType
* @return boolean
*/
function isMimeSupported($mimeType = '*')
{
return \OC\Preview::isMimeSupported($mimeType);
}
}
......@@ -11,24 +11,25 @@ namespace OCP;
/**
* This class provides functions to render and show thumbnails and previews of files
*/
class Preview {
interface IPreview
{
/**
* @brief return a preview of a file
* @param $file The path to the file where you want a thumbnail from
* @param $maxX The maximum X size of the thumbnail. It can be smaller depending on the shape of the image
* @param $maxY The maximum Y size of the thumbnail. It can be smaller depending on the shape of the image
* @param $scaleup Scale smaller images up to the thumbnail size or not. Might look ugly
* @return image
* @param string $file The path to the file where you want a thumbnail from
* @param int $maxX The maximum X size of the thumbnail. It can be smaller depending on the shape of the image
* @param int $maxY The maximum Y size of the thumbnail. It can be smaller depending on the shape of the image
* @param boolean $scaleUp Scale smaller images up to the thumbnail size or not. Might look ugly
* @return \OCP\Image
*/
public static function show($file,$maxX=100,$maxY=75,$scaleup=false) {
return(\OC\Preview::show($file,$maxX,$maxY,$scaleup));
}
function createPreview($file, $maxX = 100, $maxY = 75, $scaleUp = false);
public static function isMimeSupported($mimetype='*') {
return \OC\Preview::isMimeSupported($mimetype);
}
/**
* @brief returns true if the passed mime type is supported
* @param string $mimeType
* @return boolean
*/
function isMimeSupported($mimeType = '*');
}
......@@ -48,4 +48,10 @@ interface IServerContainer {
*/
function getRequest();
/**
* Returns the preview manager which can create preview images for a given file
*
* @return \OCP\IPreview
*/
function getPreviewManager();
}
......@@ -2,6 +2,7 @@
namespace OC;
use OC\AppFramework\Http\Request;
use OC\AppFramework\Utility\SimpleContainer;
use OCP\IServerContainer;
......@@ -17,6 +18,35 @@ class Server extends SimpleContainer implements IServerContainer {
$this->registerService('ContactsManager', function($c){
return new ContactsManager();
});
$this->registerService('Request', function($c){
$params = array();
// we json decode the body only in case of content type json
if (isset($_SERVER['CONTENT_TYPE']) && stripos($_SERVER['CONTENT_TYPE'],'json') === true ) {
$params = json_decode(file_get_contents('php://input'), true);
$params = is_array($params) ? $params: array();
}
return new Request(
array(
'get' => $_GET,
'post' => $_POST,
'files' => $_FILES,
'server' => $_SERVER,
'env' => $_ENV,
'session' => $_SESSION,
'cookies' => $_COOKIE,
'method' => (isset($_SERVER) && isset($_SERVER['REQUEST_METHOD']))
? $_SERVER['REQUEST_METHOD']
: null,
'params' => $params,
'urlParams' => $c['urlParams']
)
);
});
$this->registerService('PreviewManager', function($c){
return new PreviewManager();
});
}
/**
......@@ -37,4 +67,14 @@ class Server extends SimpleContainer implements IServerContainer {
{
return $this->query('Request');
}
/**
* Returns the preview manager which can create preview images for a given file
*
* @return \OCP\IPreview
*/
function getPreviewManager()
{
return $this->query('PreviewManager');
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment