Commit graph

71 commits

Author SHA1 Message Date
Olivier Paroz
71d65cb713 Fix max preview, some resizing and caching issues and force preview providers to resize their previews properly
* introduces a method in OC_Image which doesn't stretch images when trying to make them fit in a box
* adds the method to all key providers so that they can do their job, as expected by the Preview class
* improves the caching mechanism of Preview in order to reduce I/O and to avoid filling the available disk space
* fixes some long standing issues
* **contains mostly tests**
2015-06-06 16:25:04 +02:00
Olivier Paroz
74bf9806b0 Introducing the maximum size preview
The first time we're asked to generate a preview we'll generate one of the maximum dimension indicated in the configuration and all future resizing requests will be done on that preview in order to not waste time converting the same file over and over.

One of the fixes required for #12465
2015-04-07 16:45:59 +02:00
Jenkins for ownCloud
b585d87d9d Update license headers 2015-03-26 11:44:36 +01:00
Joas Schilling
8ed27d2ce0 Create an interface for OC_Image and OCP\Image for the public API 2015-03-16 12:45:15 +01:00
Joas Schilling
c1f266db88 Add an interface for the preview providers 2015-03-16 12:44:11 +01:00
Joas Schilling
0b37d5aea3 Move default provider registration to preview manager 2015-03-16 12:44:11 +01:00
Joas Schilling
cae8529359 Register preview providers on the preview manager instead of OC\Preview 2015-03-16 12:44:11 +01:00
Morris Jobke
04eef93b25 Merge pull request #13648 from oparoz/sfnt-fonts-preview
Add support for font previews
2015-03-11 15:56:32 +01:00
Joas Schilling
a12e16e985 Check whether the file id is valid, before using it to delete the previews 2015-03-09 11:25:18 +01:00
Morris Jobke
06aef4e8b1 Revert "Updating license headers"
This reverts commit 6a1a4880f0.
2015-02-26 11:37:37 +01:00
Olivier Paroz
f49805eea5 Add support for font previews 2015-02-24 22:00:54 +01:00
Jenkins for ownCloud
6a1a4880f0 Updating license headers 2015-02-23 12:13:59 +01:00
Lukas Reschke
ceaaab6295 Verify whether type is correct
`$this->info` can very well contain an empty array or possibly other values. This means that when this code path is called a PHP Fatal error might get thrown which is not what we want.
2015-01-08 18:38:17 +01:00
Robin Appelman
2eab0f2121 Allow disabling previews per mount 2014-12-17 14:03:50 +01:00
Joas Schilling
69a5a0c1a0 Stop flooding the log, when previews are disabled 2014-12-03 12:52:42 +01:00
Joas Schilling
ec7b55f5be Split bitmap providers into one per file 2014-11-28 09:28:33 +01:00
Joas Schilling
3ec42ad598 Split office providers into one class per file 2014-11-28 09:28:30 +01:00
Joas Schilling
9cb54e3809 Fix intendation and doc blocks of preview providers 2014-11-28 09:28:28 +01:00
Joas Schilling
fca9d32545 Move registration of core preview providers to preview
So the class files only have class code and don't execute code
2014-11-27 19:40:23 +01:00
Olivier Paroz
93a6cc17a5 The class name is Movie NOT Movies 2014-11-25 11:35:38 +01:00
Georg Ehrke
45d985f2d8 remove ugly hack and don't use OC\Preview\Image for tiffs and svgs 2014-11-23 19:11:03 +01:00
Vincent Petry
af7688ec17 Merge pull request #11741 from owncloud/delete_all_children_preview_2
delete all children's previews when deleting a folder
2014-11-17 16:45:54 +01:00
Georg Ehrke
33186957c8 delete all children's previews when deleting a folder
add phpdoc
2014-10-30 17:15:42 +01:00
Lukas Reschke
b3a04840b5 Add type hinting to functions
It's only reasonable to have proper type hinting here which might even help us to catch bugs.
2014-10-24 14:13:40 +02:00
Lukas Reschke
2d2a4741ce Make files non executable
There is not much sense in having these files marked executable, we should avoid that.
2014-10-24 11:14:51 +02:00
Lukas Reschke
4deb57bfae Remove insane comment 2014-10-16 12:42:00 +02:00
Lukas Reschke
9cfbf7ed1c Fix SVG icons
FIXME: Ugly hack to prevent SVG of being returned if the SVG
provider is not enabled.
This is required because the preview system is designed in a
bad way and relies on opt-in with asterisks (i.e. image/*)
which will lead to the fact that a SVG will also match the image
provider.

Conflicts:
	lib/private/preview.php
2014-10-16 12:35:51 +02:00
Lukas Reschke
bf674487aa Merge pull request #11367 from owncloud/removeIsMimeSupported
Remove uneeded slicing of element
2014-10-12 19:45:00 +02:00
Olivier Paroz
b0000800e1 New generic class for Imagemagick conversions 2014-10-04 17:50:12 +02:00
Lukas Reschke
96d9e0eb5b Remove uneeded slicing of element
The "*/*" provider has been removed. This is therefore not needed anymore and leads to unexpected bugs.

Please notice that this is only relevant for master.
2014-09-30 14:08:43 +02:00
Lukas Reschke
cb002c1f6b Clarify possible preview providers for type Office
a
2014-09-24 21:21:39 +02:00
Lukas Reschke
ca3447fcde Add a configuration switch for enabled preview mimetypes 2014-09-22 16:09:08 +02:00
Georg Ehrke
071e4bfc06 make sure preview prop is instanceof OC_Image before using it in showPreview 2014-09-21 17:30:29 +02:00
Lukas Reschke
6869d2e82a Throw error in showPreview instead the constructor
This function is also used in a way such as:

```
	$preview = new \OC\Preview(\OC_User::getUser(), 'files');
	$info = \OC\Files\Filesystem::getFileInfo($file);
	if (!$always and !$preview->isAvailable($info)) {
		\OC_Response::setStatus(404);
	} else {
		$preview->setFile($file);
		$preview->setMaxX($maxX);
		$preview->setMaxY($maxY);
		$preview->setScalingUp($scalingUp);
		$preview->setKeepAspect($keepAspect);
	}
```

Which won't work anymore since `setFile` is used instead of passing the file in the constructor. Fixes a regression in master.
2014-09-19 13:26:41 +02:00
Lukas Reschke
ef0a0f5f87 Merge pull request #9554 from owncloud/fix_preview_orientation
fix orientation in image-backend, not in preview system itself
2014-09-17 17:05:47 +02:00
tobiasKaminsky
e62d5b7e55 Route for thumbnail generation
Thumbnail generation

Removed Log

Added requested changes

Added requested changes.

- Fix code style
- Add exception if file does not exist
- Switch route styling

Replaces https://github.com/owncloud/core/pull/10805

Fix codestyle

Fix codestyle

Migrate to appframework

Fix typo
2014-09-16 15:00:58 +02:00
Georg Ehrke
cf76933b76 add phpdoc 2014-09-15 15:10:03 +02:00
Georg Ehrke
3157d307f7 add y to with-aspect naming schema 2014-09-15 15:10:03 +02:00
Olivier Paroz
1e600a0d36 Adding support for tiff files 2014-09-02 22:53:41 +02:00
Joas Schilling
303f6da76f Check return of fopen() before using it
Fix #9968
2014-08-04 17:53:06 +02:00
Thomas Müller
4eb2b4e1b0 Merge pull request #10051 from owncloud/preview-empty-text
Use svg mimeicons for empty text files
2014-07-31 11:38:29 +02:00
Robin Appelman
4a9b0d5465 Use svg mimeicons for empty text files 2014-07-30 16:31:37 +02:00
Robin Appelman
c066320208 Also keep maxY into account when scaling a preview while preserving aspect ratio 2014-07-30 13:52:40 +02:00
Georg Ehrke
380aacdf93 fix orientation in image-backend, not in preview system itself 2014-07-09 23:07:58 +02:00
Morris Jobke
dc36d30953 Remove all occurences of @brief and @returns from PHPDoc
* test case added to avoid adding them later
2014-05-19 17:50:53 +02:00
Thomas Müller
650a55e2ba object -> \OC\Preview 2014-05-13 19:09:14 +01:00
Robin McCorkell
87b548ed91 Fix all PHPDoc types and variable names, in /lib 2014-05-13 19:08:14 +01:00
Robin McCorkell
b5bc37d2e4 Fix @return array PHPDocs, in /lib 2014-05-13 19:08:14 +01:00
Robin Appelman
578eb33c20 Dont create borders around previews when scaling up is disabled 2014-05-05 14:54:34 +02:00
Thomas Müller
20893cc3b3 Images on public sharing get downscaled to increase use experience - this will speed up loading time
- adding keep aspect to core/ajax/preview.php
- remove duplicate method Preview::show()
- no more hard coded mimetype of preview
- remove .png from the preview urls
- keep old route preview.png for backwards compatibility
- aspect preserving previews are now cached
2014-05-02 17:02:57 +02:00