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