Commit Graph

222 Commits

Author SHA1 Message Date
Morris Jobke 3fdb1937a3 Merge pull request #12382 from owncloud/enc_reorganize_folders2
[encryption] reorganize folder structure (second try to make Jenkins happy)
2014-12-03 16:08:40 +01:00
Joas Schilling 1bd018a70c Autoload exception from files_trashbin 2014-12-02 17:26:42 +01:00
Bjoern Schiessle fd86d76f98 new folder structure for keys
all keys are now in files_encryption/key/path_to_file/filename/
share keys are named: user.shareKey
file key is named: fileKey
2014-11-26 10:57:47 +01:00
Joas Schilling 2c39aec8cb Replace deprecated constant with new class constant 2014-11-25 16:30:21 +01:00
Lukas Reschke 61641293f4 Only show undelete capability if files_trashbin is enabled
Fixes the OCS capability API at /ocs/v1.php/cloud/capabilities
2014-11-18 23:06:39 +01:00
Vincent Petry 97a51c46ed Only rescan trash folder when checking deleted versions
This fix prevents the file scanner to rescan the WHOLE storage and reset
the etags by mistake.
2014-11-04 12:29: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
Robin Appelman c71deea0d5 Fix SPACE_UNKNOWN constant 2014-10-16 12:26:26 +02:00
Jörn Friedrich Dreyer 0254a3c406 make trashbin compatible with objectstore, replace glob with search in cache, make unknown free space work like unlimited free space 2014-10-16 10:15:43 +02:00
Bjoern Schiessle 5b5e9d148e check if I can create a file at the location 2014-10-08 10:56:06 +02:00
Vincent Petry 75593f87d5 Merge pull request #11137 from owncloud/enc-pregfix
Fix share key pattern matching
2014-09-23 12:36:34 +02:00
Vincent Petry 1e631754d7 Fix share key finding algorithm in various cases
Instead of inaccurate pattern matching, use the list of users who we
know have access to the file to build the list of share keys.

This covers the following cases:

- Move/copy files into a subfolder within a share
- Unsharing from a user
- Deleting files directlry / moving share keys to trashbin
2014-09-23 12:33:07 +02:00
Vincent Petry 8aca127e52 Added extra check to avoid deleting key folders
Whenever a delete operation is called twice in a row, it could happen
that the first call already deleted the file.

The second call would return an empty $ownerPath because the file does
not exist. That empty $ownerPath would run the key deletion operation on
the wrong path.

This fix adds checks in many places to make sure we don't use $ownerPath
when it's empty or null.
2014-09-19 19:01:02 +02:00
Lukas Reschke ba5d3fb96b Merge pull request #11081 from owncloud/trash_fix_expire
also expire file if timestamp = limit, happens if trashbin_retention_obl...
2014-09-16 13:58:12 +02:00
Bjoern Schiessle f23116ce50 also expire file if timestamp = limit, happens if trashbin_retention_obligation is set to zero 2014-09-15 13:00:04 +02:00
Robin McCorkell 99d41bec5d Show original path information in trashbin and sharing views
Path will only be shown if in subdirectory, not in root.
2014-09-11 15:45:42 +01:00
Robin Appelman d0266c0bf8 Use public api for getting l10n 2014-08-31 10:08:22 +02:00
Robin Appelman 07d5725de2 Fix trashbin when deleting a file over an external share 2014-08-08 15:48:59 +02:00
Bjoern Schiessle 40fe1275de throw exception if file is to large for trash bin 2014-07-15 13:56:02 +02:00
Morris Jobke 1973fdb11d Merge pull request #9093 from owncloud/remove_unused_code
remove unused code
2014-06-19 01:17:36 +02:00
Bjoern Schiessle 05cd150fd2 add additional tests for the trash bin 2014-06-18 14:41:16 +02:00
Bjoern Schiessle e06fa200b3 make sure that we always use the right user 2014-06-18 14:41:16 +02:00
Bjoern Schiessle e20bb71a42 remove unused code 2014-06-18 13:26:42 +02:00
Bjoern Schiessle b486f48fbc fix trash bin expire operation and add unit tests 2014-06-17 22:36:30 +02:00
Thomas Müller 6fcd135d0e table files_trashsizes was still used in some locations -> removed 2014-06-05 10:44:32 +02:00
Thomas Müller a2db53b928 Merge pull request #8471 from owncloud/versioning_no_longer_track_the_size
[versioning] let the file cache track the size of the versions
2014-06-04 18:19:48 +02:00
Thomas Müller 9f3fcf036c fixing typo 2014-06-04 09:36:27 +02:00
Bjoern Schiessle 05cf34ea1f get files in trash from file cache 2014-06-03 16:45:11 +02:00
Bjoern Schiessle a7f6a051ad return size '0' if the trashbin folder doesn't exists yet 2014-06-02 18:56:04 +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
Robin McCorkell 6930ae22e4 Fix more missing or broken PHPDoc 2014-05-16 22:21:57 +01:00
Robin McCorkell c4f1de63a8 Fix PHPDoc in /apps 2014-05-16 22:21:57 +01:00
Vincent Petry 818c77684d Fixed trashbin to use correct class
It seems that \OC_Filesystemview has been removed.
Now using the correct class \OC\Files\View()
2014-05-15 15:21:27 +02:00
Thomas Müller e0dd69e4e6 remove legacy aka deprecated code: OC_FilesystemView 2014-05-12 16:30:39 +02:00
Vincent Petry 9a9665f361 Merge pull request #8041 from owncloud/files-sortcolumns
File list sorting by clicking on column headers
2014-05-12 12:50:27 +02:00
Sjors van der Pluijm 49822dfcdb refs #8376; spaces=>tabs 2014-04-29 14:59:47 +02:00
Sjors van der Pluijm 54f482ff9c refs #8376; added comment and applied patch on other files 2014-04-28 19:32:25 +02:00
Vincent Petry 688f6162da Add sorting to files list, trashbin and public files 2014-04-28 17:42:04 +02:00
Robin McCorkell 869e7a51f0 Prevent error in files_trashbin
`glob` can return FALSE when the directory is empty, instead of an empty array,
causing an error at `foreach`.

"Note: On some systems it is impossible to distinguish between empty match and
an error."

See http://www.php.net/manual/en/function.glob.php -> Return Values
2014-04-13 14:51:33 +01:00
Robin McCorkell fa8814902e Adjust logic for deciding if trashbin empty
Any error in opening the trashbin directory returns 'true' for isEmpty.
An error is prevented by checking if the directory exists before trying to
open it.
2014-04-13 13:49:04 +01:00
Vincent Petry 0be9de5df5 Files, trashbin, public apps use ajax/JSON for the file list
Files app:

- removed file list template, now rendering list from JSON response
- FileList.addFile/addDir is now FileList.add() and takes a JS map with all required
  arguments instead of having a long number of function arguments
- added unit tests for many FileList operations
- fixed newfile.php, newfolder.php and rename.php to return the file's
  full JSON on success
- removed obsolete/unused undo code
- removed download_url / loading options, now using
  Files.getDownloadUrl() for that
- server side now uses Helper::getFileInfo() to prepare file JSON response
- previews are now client-side only

Breadcrumbs are now JS only:

- Added BreadCrumb class to handle breadcrumb rendering and events
- Added unit test for BreadCrumb class
- Moved all relevant JS functions to the BreadCrumb class

Public page now uses ajax to load the file list:

- Added Helper class in sharing app to make it easier to authenticate
  and retrieve the file's real path
- Added ajax/list.php to retrieve the file list
- Fixed FileActions and FileList to work with the ajax list

Core:

- Fixed file picker dialog to use the same list format as files app
2014-04-02 15:33:47 +02:00
icewind1991 d87001a093 Merge pull request #7768 from owncloud/trashempty-nocache
Use a more efficient way to determine that the trashbin is empty that doesn't rely on the cache
2014-03-24 13:34:30 +01:00
Robin Appelman 6b66b42f6e catch the case where files_trashbin/files doesn't exist 2014-03-24 12:33:44 +01:00
Robin Appelman 214357ca68 Improve sorting performance of large lists of files 2014-03-19 13:53:59 +01:00
Robin Appelman 38b1529c2a More robust way to check if the folder is empty 2014-03-17 17:03:32 +01:00
Robin Appelman 332c14a878 Use a more efficient way to determine that the trashbin is empty that doesn't rely on the cache 2014-03-17 16:35:08 +01:00
Georg Ehrke 0f864c38bb add preDelete hook for files_trashbin app 2014-03-11 14:10:12 +01:00
Bjoern Schiessle 5ddabd7cd0 fix mimetype detection, introduce fake etag to identify preview images 2014-03-10 15:13:28 +01:00
Bjoern Schiessle 4562909a20 get trash size from file cache 2014-03-10 15:13:28 +01:00
Bjoern Schiessle abad625cac only enable previews if the encryption is disabled 2014-03-10 15:13:28 +01:00
Bjoern Schiessle eab844e226 if file is not in db, fall back to restore file to the users root 2014-03-10 15:13:28 +01:00
Thomas Müller c6f4f85e27 Merge branch 'master' into scrutinizer_documentation_patches
Conflicts:
	lib/private/migration/content.php
2014-02-18 18:31:33 +01:00
Thomas Müller 1e84d6b14b Merge pull request #7190 from owncloud/appconfig-legacy-apps
Remove usage of legacy OC_Appconfig
2014-02-18 18:10:22 +01:00
Thomas Müller 9fac95c2ab Merge branch 'master' into scrutinizer_documentation_patches
Conflicts:
	lib/private/appconfig.php
2014-02-14 23:03:27 +01:00
Robin Appelman 181bbd4325 Remove usage of legacy OC_Appconfig 2014-02-13 16:28:49 +01:00
Jörn Friedrich Dreyer 2a6a9a8cef polish documentation based on scrutinizer patches 2014-02-06 17:02:21 +01:00
Vincent Petry d49c7ad4fb Fixed double file encoding for previews 2014-01-30 16:34:37 +01:00
Vincent Petry ca57a849ff When reading the size of "files" mountpoints need to be excluded
The versions and trashbin app are now passing "includeMountPoints=false"
to "getFileInfo()" to make sure that the calculated total size doesn't
include mount points like Shared or external storage.

This is because the default call (legacy) used to return the size of
mount points as well.

Fixes #6731
2014-01-20 17:11:33 +01:00
Bjoern Schiessle 592ae16603 remove old code 2014-01-15 14:35:17 +01:00
Bjoern Schiessle f11f65c6a5 copy files to owner trash recursively 2014-01-15 14:27:23 +01:00
Bjoern Schiessle 6b7fdda4f5 config switch to disable auto expire for the trash bin 2013-12-04 16:11:40 +01:00
Bjoern Schiessle ee66db447f make it possible to select folders 2013-12-02 16:30:03 +01:00
Bjoern Schiessle 8ce3ea3e2c fix delete files from trash bin 2013-12-02 11:50:55 +01:00
Bjoern Schiessle 5d2299eab8 only create complete share key if we know the exact path 2013-11-26 13:30:59 +01:00
Bjoern Schiessle f8fcd567a7 move files to owners trash 2013-11-25 16:51:31 +01:00
Georg Ehrke 90fac1f371 replace $path with '/files_trashbin/files/' . $file 2013-11-12 14:03:50 +01:00
Georg Ehrke feee4b865b add delete hook for trash bin app 2013-11-12 14:00:36 +01:00
Thomas Müller db39fede97 Merge branch 'master' into appframework-master
Conflicts:
	apps/files/lib/helper.php
	apps/files_trashbin/lib/helper.php
2013-09-25 09:52:12 +02:00
Jörn Friedrich Dreyer 4b3e56bcf9 remove unneccessary lib in namespace 2013-09-20 16:46:33 +02:00
Jörn Friedrich Dreyer 9e39118b52 namespaces use upcasefirst parts
when _ is left in namespace and files are named after their classes the autoloader will also find classes in the lib folder of an app
its magic!
2013-09-20 16:37:07 +02:00
Thomas Müller 9b420e8660 use \OC::$server->getPreviewManager() instead of \OCP\Preview 2013-09-17 13:33:47 +02:00
Vincent Petry 1304b511e9 Ajax calls for "files" and "files_trashbin" apps
Frontend:
- The files app list now uses ajax calls to refresh the list.
- Added support the browser back button (history API).
- Added mask + spinner while loading file list

Backend:
- Added utility function in core JS for parsing query strings.
- Moved file list + breadcrumb template data code to helper
  functions
- Fixed some file paths in trashbin app to be similar to the files app
2013-09-13 19:59:14 +02:00
Georg Ehrke b7758d0f8d Merge master into oc_preview 2013-08-29 10:50:55 +02:00
Bjoern Schiessle aed71bb420 also move empty folders to the trash bin as discussed here #4590 2013-08-28 15:46:44 +02:00
Bjoern Schiessle 316d9bfed6 the trash bin can also contain empty files. Don't use the trash bin size as indicator to decide if the trash bin is empty or not 2013-08-27 14:39:43 +02:00
Georg Ehrke f2702ff1ca Merge master into oc_preview 2013-08-19 11:24:17 +02:00
Bjoern Schiessle cabe92ef12 Merge branch 'master' into decrypt_files_again
Conflicts:
	apps/files_encryption/tests/keymanager.php
2013-08-17 13:15:22 +02:00
Georg Ehrke af983b843d fix merge conflicts 2013-08-05 14:27:38 +02:00
Jörn Friedrich Dreyer 895d9ba1b9 Merge pull request #3006 from owncloud/===_and_!==_in_files_trashbin-app
Use !== and === in files_trashbin app
2013-08-02 03:14:24 -07:00
Thomas Müller 7425efade7 Merge branch 'master' into oc_preview
Conflicts:
	3rdparty
	lib/template.php
2013-07-30 00:34:36 +02:00
Georg Ehrke 2ea8ee6139 add class='preview-icon' in trashbin app as well 2013-07-29 16:27:40 +02:00
Björn Schießle 2c8e5ec84f user interface to allow user to decrypt all his files once the encryption app was disabled
Conflicts:
	settings/templates/personal.php
2013-07-29 13:36:06 +02:00
Björn Schießle 0a9bb8ba73 reduce time for auto expire to 30 days by default 2013-07-26 15:15:47 +02:00
Björn Schießle a5d9b985c3 make 'restored' extension translatable 2013-07-26 12:01:45 +02:00
Björn Schießle 0182a503a6 expire trash bin if trash bin exceeds max size after a new file was added to ownCloud 2013-07-26 11:45:38 +02:00
Björn Schießle a00cff7c05 disable "deleted files" button if trash bin is empty 2013-07-26 11:14:29 +02:00
Björn Schießle 96e175ffbf don't move empty folders to the trash bin 2013-07-25 16:27:40 +02:00
Björn Schießle bf668eb14f nicer format of unique names, use 'file (restored).txt' instead of 'files.txt.restored' 2013-07-25 16:20:06 +02:00
Georg Ehrke a357e5b284 merge conflicts ... 2013-07-10 12:41:53 +02:00
Georg Ehrke cf449d42e8 properly encode path 2013-07-10 12:30:20 +02:00
kondou 2f11f56d32 Use !== and === in files_trashbin-app 2013-07-10 02:34:00 +02:00
Georg Ehrke 04292ff16c implement use of preview icons in thrashbin app 2013-07-08 10:53:53 +02:00
Björn Schießle ae30eb48f2 make trash bin aware of system wide mounts with respect to encryption keys 2013-07-05 16:00:25 +02:00
Björn Schießle 99c62dfd76 Merge branch 'master' into fix_glob_escaping
Conflicts:
	apps/files_trashbin/lib/trash.php
2013-06-17 14:51:08 +02:00
Morris Jobke c99e7e97a3 Merge pull request #3301 from bastho/fix_filestrashbin_missing-sub-folder
Fix inexisting trashbin's sub-folders
2013-06-15 01:31:32 -07:00
Björn Schießle c3371812a0 fix indention 2013-06-14 15:14:23 +02:00
Björn Schießle f91b02e9b6 only escape glob pattern 2013-06-14 15:07:06 +02:00
Florin Peter 842d0608f1 added static function registerHooks() for better unit tests handling 2013-05-22 23:50:45 +02:00
Florin Peter 01f1153b08 Merge branch 'files_encryption' of https://github.com/owncloud/core into files_encryption
Conflicts:
	apps/files/l10n/ar.php
	apps/files/l10n/bn_BD.php
	apps/files/l10n/de.php
	apps/files/l10n/de_DE.php
	apps/files/l10n/el.php
	apps/files/l10n/es.php
	apps/files/l10n/fa.php
	apps/files/l10n/fr.php
	apps/files/l10n/gl.php
	apps/files/l10n/id.php
	apps/files/l10n/ko.php
	apps/files/l10n/nl.php
	apps/files/l10n/nn_NO.php
	apps/files/l10n/pl.php
	apps/files/l10n/pt_BR.php
	apps/files/l10n/pt_PT.php
	apps/files/l10n/ro.php
	apps/files/l10n/ru.php
	apps/files/l10n/sl.php
	apps/files/l10n/uk.php
	apps/files/l10n/vi.php
	apps/files_encryption/l10n/ca.php
	apps/files_sharing/lib/cache.php
	apps/files_sharing/lib/sharedstorage.php
	apps/user_ldap/l10n/tr.php
	core/l10n/cs_CZ.php
	core/l10n/de.php
	core/l10n/de_DE.php
	core/l10n/ru.php
	core/l10n/sk_SK.php
	core/l10n/tr.php
	core/l10n/vi.php
	core/l10n/zh_CN.php
	l10n/af_ZA/files.po
	l10n/ar/files.po
	l10n/be/files.po
	l10n/bg_BG/files.po
	l10n/bn_BD/files.po
	l10n/ca/files.po
	l10n/ca/files_encryption.po
	l10n/cs_CZ/core.po
	l10n/cs_CZ/files.po
	l10n/da/files.po
	l10n/da/settings.po
	l10n/de/core.po
	l10n/de/files.po
	l10n/de/files_encryption.po
	l10n/de/files_external.po
	l10n/de/files_sharing.po
	l10n/de/files_trashbin.po
	l10n/de/files_versions.po
	l10n/de/lib.po
	l10n/de/settings.po
	l10n/de/user_ldap.po
	l10n/de_DE/files.po
	l10n/de_DE/files_encryption.po
	l10n/de_DE/files_external.po
	l10n/de_DE/files_sharing.po
	l10n/de_DE/files_trashbin.po
	l10n/de_DE/lib.po
	l10n/de_DE/settings.po
	l10n/de_DE/user_ldap.po
	l10n/el/files.po
	l10n/eo/files.po
	l10n/es/files.po
	l10n/es/lib.po
	l10n/es/settings.po
	l10n/es_AR/files.po
	l10n/eu/files.po
	l10n/fa/files.po
	l10n/fi/files.po
	l10n/fi_FI/files.po
	l10n/fr/core.po
	l10n/fr/files.po
	l10n/gl/files.po
	l10n/gl/settings.po
	l10n/he/core.po
	l10n/he/files.po
	l10n/he/user_ldap.po
	l10n/hi/files.po
	l10n/hr/files.po
	l10n/hu_HU/core.po
	l10n/hu_HU/files.po
	l10n/hu_HU/files_external.po
	l10n/hu_HU/settings.po
	l10n/hy/files.po
	l10n/ia/core.po
	l10n/ia/files.po
	l10n/ia/files_trashbin.po
	l10n/ia/settings.po
	l10n/id/files.po
	l10n/is/files.po
	l10n/it/files.po
	l10n/ja_JP/files.po
	l10n/ja_JP/user_ldap.po
	l10n/ka/files.po
	l10n/ka_GE/files.po
	l10n/kn/files.po
	l10n/ko/files.po
	l10n/ko/files_trashbin.po
	l10n/ko/settings.po
	l10n/ku_IQ/files.po
	l10n/lb/files.po
	l10n/lt_LT/core.po
	l10n/lt_LT/files.po
	l10n/lv/files.po
	l10n/mk/files.po
	l10n/ms_MY/files.po
	l10n/my_MM/files.po
	l10n/nb_NO/files.po
	l10n/ne/files.po
	l10n/nl/core.po
	l10n/nl/files.po
	l10n/nn_NO/files.po
	l10n/oc/files.po
	l10n/pl/files.po
	l10n/pl_PL/files.po
	l10n/pt_BR/files.po
	l10n/pt_PT/core.po
	l10n/pt_PT/files.po
	l10n/pt_PT/files_external.po
	l10n/pt_PT/settings.po
	l10n/ro/files.po
	l10n/ru/core.po
	l10n/ru/files.po
	l10n/si_LK/files.po
	l10n/sk/files.po
	l10n/sk_SK/core.po
	l10n/sk_SK/files.po
	l10n/sl/core.po
	l10n/sl/files.po
	l10n/sq/files.po
	l10n/sr/files.po
	l10n/sr@latin/files.po
	l10n/sv/files.po
	l10n/sw_KE/files.po
	l10n/ta_LK/files.po
	l10n/te/files.po
	l10n/th_TH/files.po
	l10n/tr/core.po
	l10n/tr/files.po
	l10n/tr/lib.po
	l10n/tr/settings.po
	l10n/tr/user_ldap.po
	l10n/uk/files.po
	l10n/ur_PK/files.po
	l10n/vi/core.po
	l10n/vi/files.po
	l10n/vi/files_external.po
	l10n/zh_CN.GB2312/files.po
	l10n/zh_CN/core.po
	l10n/zh_CN/files.po
	l10n/zh_CN/settings.po
	l10n/zh_HK/files.po
	l10n/zh_TW/core.po
	l10n/zh_TW/files.po
	l10n/zh_TW/files_versions.po
	l10n/zh_TW/settings.po
	l10n/zh_TW/user_ldap.po
	lib/base.php
	lib/files/filesystem.php
	lib/files/view.php
	lib/public/share.php
	settings/l10n/es.php
	settings/l10n/pt_PT.php
	settings/l10n/tr.php
	settings/l10n/zh_CN.php
	settings/personal.php
2013-05-15 10:18:25 +02:00
Björn Schießle cc433d47cb touch() needs to be performed relative to user/files otherwise ownCloud doesn't execute the hooks which means that etags aren't updated properly 2013-05-10 12:05:11 +02:00