Commit Graph

11260 Commits

Author SHA1 Message Date
Robin McCorkell cacbae9d55 Merge pull request #18815 from owncloud/ext-update
Set default mount options for external storages
2015-09-03 16:05:19 +01:00
Vincent Petry 310d797284 Add versions tab to files sidebar
- move versions to a tab in the files sidebar
- added mechanism to auto-update the row in the FileList whenever values
  are set to the FileInfoModel given to the sidebar
- updated tags/favorite action to make use of that new mechanism
2015-09-03 16:47:24 +02:00
Robin McCorkell f1e97433f7 Set default mount options for external storages 2015-09-03 14:57:14 +01:00
Vincent Petry 1f9974894d Merge pull request #18810 from owncloud/shared-mount-delay-setup
Delay setting up the filesystem for a share owner untill the share is used
2015-09-03 15:09:57 +02:00
Morris Jobke 2b9c34d756 Merge pull request #18781 from owncloud/move-background-job-registration-to-install-update
Move background job registration to install update
2015-09-03 14:55:07 +02:00
Robin Appelman fd7b210654 Delay setting up the filesystem for a share owner untill the share is used 2015-09-03 13:46:08 +02:00
Vincent Petry 73c61941e2 Tags in FileInfo map must be an array
Fixes FileList.elementToFile to make an array for the tags instead of
keeping the original joined string
2015-09-03 13:01:14 +02:00
Vincent Petry 4ba2333507 Added unit tests for "new" file menu and small fixes
- added unit tests for NewFileMenu
- use generateUrl for FileList.createFile and FileList.createDirectory
- added unit tests for FileList.createFile and FileList.createDirectory
2015-09-03 12:17:35 +02:00
Lukas Reschke ac7d2efbe3 Collapse HTML code for federated code 2015-09-03 11:57:48 +02:00
Vincent Petry d4104ed9f7 Remove ellipsis on new file menu items 2015-09-03 10:57:34 +02:00
Robin McCorkell 442f5269ef Fix Swift legacy auth mechanism fallback 2015-09-03 09:57:29 +01:00
Robin McCorkell e33d7b34fa Fix typo in SMB_OC 2015-09-03 09:57:18 +01:00
Vincent Petry 3ea9f97c36 Fix sidebar thumbnail loading JS unit tests 2015-09-03 08:24:50 +02:00
Jan-Christoph Borchardt 69b6358df6 fix icon and layout details for new menu 2015-09-03 00:58:03 +02:00
Joas Schilling 49b98abc25 Move registration of background job to install/update 2015-09-02 19:26:22 +02:00
Robin Appelman 068ff09cfe fallback for isimage 2015-09-02 19:22:46 +02:00
Joas Schilling cea8cc73c8 Move registration of LDAP background jobs to the install and update 2015-09-02 19:21:45 +02:00
Jenkins for ownCloud 772d39f006 [tx-robot] updated from transifex 2015-09-02 07:08:44 -04:00
Lukas Reschke 36e26c6f09 Use "json_encode" and "json_decode" instead of unserialize 2015-09-02 12:26:37 +02:00
Robin Appelman e85620ab69 larger preview for images in the sidebar 2015-09-02 10:32:43 +02:00
Robin Appelman c6060f53cd allow handling thumbnail errors 2015-09-02 10:32:43 +02:00
Jenkins for ownCloud 310084cc25 [tx-robot] updated from transifex 2015-09-01 14:03:19 -04:00
Björn Schießle 39bd4ea8f2 Merge pull request #18234 from owncloud/ocs_api_for_sharees_list
Add OCS API for sharees list
2015-09-01 17:09:57 +02:00
Vincent Petry 601c61fddf Merge pull request #12088 from AdamWill/google-opendir-root
[WIP] google: drop duplicate path trim from opendir()
2015-09-01 13:36:27 +02:00
Vincent Petry 0d4562c938 Merge pull request #18631 from owncloud/more_ocs_share_data
Return permissions and expiration on create share responses
2015-09-01 12:29:02 +02:00
Robin McCorkell 23e4b6e0c2 Test legacy backend with no dependency check 2015-09-01 10:29:49 +01:00
Robin McCorkell cd506f210d Make checkDependencies a real method
Replace ->setDependencyCheck(callable) with a real method
checkDependencies(). A polyfill is available for legacy storages.
2015-09-01 10:25:33 +01:00
Robin McCorkell 82d9829c97 Fire event when BackendService is available 2015-08-31 15:11:45 +01:00
Robin McCorkell d64bdc0fef Unit test storages with an empty mount point 2015-08-31 14:01:05 +01:00
Robin McCorkell 1e2e5abe26 Allow an empty mount point 2015-08-31 13:23:23 +01:00
Jenkins for ownCloud 65784227d6 [tx-robot] updated from transifex 2015-08-31 01:54:45 -04:00
Morris Jobke 89b603a4b3 Merge pull request #18671 from owncloud/cleanup-sidebar-semantics
Removes unecessary divs and adds max width to longer names.
2015-08-31 00:38:18 +02:00
Raghu Nayyar c6053daf43 Fixes failing tests 2015-08-31 00:14:07 +02:00
Morris Jobke 5d1fb8cb11 Introduce small line for navigation sidebar 2015-08-30 20:47:22 +02:00
Roeland Jago Douma d54b497ade Return permissions and expiration on create share responses
Updated and added unit tests
2015-08-30 15:42:19 +02:00
Bjoern Schiessle 166e57cf61 return false if private key is not valid 2015-08-30 15:31:19 +02:00
Bjoern Schiessle f893de4136 use login name for password reset 2015-08-30 15:31:19 +02:00
Raghu Nayyar 468bde67ff Removes unecessary divs and adds max width to longer names. 2015-08-30 14:17:18 +02:00
Vincent Petry 045f8cc971 Merge pull request #18651 from owncloud/ocs_share_create_with_expire
Allow to directly set the expireDate on a new (link)share
2015-08-30 10:50:12 +02:00
Roeland Jago Douma 2aff11c80b Actually validate the expire date on share
* Added more intergration tests
2015-08-30 10:31:43 +02:00
Jenkins for ownCloud 114d1acd2c [tx-robot] updated from transifex 2015-08-30 01:54:51 -04:00
Roeland Jago Douma fc64ea670d Allow to directly set the expireDate on a new (link)share
Since this extends the API we now properly parse the date. We only
accept valid ISO 8601 Dates (YYYY-MM-DD).

Currently this only works for link shares (it is just ignored for other
shares). Since we do not have user/group/federated expiring shares yet.

* Tests added
2015-08-29 12:39:47 +02:00
Lukas Reschke faa62d1799 Merge pull request #18393 from owncloud/objectstore-check-class
make sure we actually have an object store
2015-08-29 10:11:39 +02:00
Jenkins for ownCloud 64652b3000 [tx-robot] updated from transifex 2015-08-29 01:55:05 -04:00
Björn Schießle 6e210d960c Merge pull request #18423 from owncloud/occ_encrypt_all
occ command line tool to encrypt all files
2015-08-28 20:44:55 +02:00
Robin McCorkell 0b97a05e7b Prevent creation of deprecated backends 2015-08-28 17:43:41 +01:00
Robin McCorkell d2e3c17c00 Introduce MODIFY permission for external storages 2015-08-28 17:43:30 +01:00
Robin McCorkell f0c8cfa9a6 Validate permissions for created admin storages, auth mechanism
Backend and auth mechanism permissions are checked on storage creation,
both for personal storages and for admin storages
2015-08-28 17:28:44 +01:00
Robin McCorkell cc88c5f4b8 Implement more fine-grained external storage permissions model
VisibilityTrait -> PermissionsTrait

PermissionsTrait stores two sets of data, $permissions and
$allowedPermissions (analogous to $visibility and $allowedVisibility of
VisibilityTrait). Each set is a map of user type ('admin' or 'personal')
to permissions (mounting permission, create permission).

The result is that a backend can now be restricted for creation, while
still allowing it to be mounted. This is useful for deprecating backends
or auth mechanisms, preventing new storages being created, while still
allowing existing storages to be mounted.
2015-08-28 17:21:58 +01:00
Vincent Petry 59273a8863 Combine upload action into the "New" menu
Refactored the new menu to be encapsulated in the NewFileMenu JS class
2015-08-28 17:27:48 +02:00
Robin Appelman d14252d9c7 make sure we actually have an object store 2015-08-28 16:13:19 +02:00
Robin McCorkell 080fafe63a AjaxController uses RSA auth mechanism 2015-08-28 12:58:47 +01:00
Robin McCorkell 1084e3adc7 Migrate SFTP_Key external storage to new API
The SFTP backend now supports public key authentication alongside
password authentication.
2015-08-28 12:58:47 +01:00
Robin McCorkell cb1ef82702 Migrate SMB_OC external storage to new API
SMB_OC has been merged with SMB, via the identifier aliases mechanism.
Legacy migration is done to the Session Credentials password mechanism
2015-08-28 12:58:47 +01:00
Robin McCorkell 19bc5a452a Migrate Swift external storage to new API
The Rackspace/OpenStack differences have been split into separate auth
mechanisms, with correct legacy migration
2015-08-28 12:58:47 +01:00
Jan-Christoph Borchardt 30d2283bed compress icons in navigation, move to monochrome again 2015-08-28 13:30:20 +02:00
Jan-Christoph Borchardt e9e8f57655 Merge pull request #18621 from owncloud/filetype-icons-elsewhere
fix filetype icons elsewhere, empty page, sidebar, apps menu
2015-08-28 12:40:57 +02:00
Morris Jobke d3fc28a6ba Merge pull request #18606 from owncloud/fix-filename-overflow-sidebar
fix right sidebar causing filename overflow, fix #18383
2015-08-28 12:16:53 +02:00
Vincent Petry 61bfa3652f Merge pull request #18614 from owncloud/fix-favorites-display
restore behavior where favorite stars only show up on hover, to not clutter the interface so much
2015-08-28 12:03:09 +02:00
Jenkins for ownCloud 933ac14b76 [tx-robot] updated from transifex 2015-08-28 01:55:25 -04:00
Jan-Christoph Borchardt f967a1df68 fix filetype icons elsewhere, empty page, sidebar, apps menu 2015-08-28 00:53:27 +02:00
Jan-Christoph Borchardt 589b066c4c restore behavior where favorite stars only show up on hover, to not clutter the interface so much 2015-08-27 23:09:32 +02:00
Jan-Christoph Borchardt 67f3dc232f fix right sidebar causing filename overflow, fix #18383 2015-08-27 14:49:40 +02:00
Jenkins for ownCloud 46978b616c [tx-robot] updated from transifex 2015-08-27 01:55:20 -04:00
Jan-Christoph Borchardt c41089bcad reduce grey tones to one for list highlight 2015-08-26 17:28:40 +02:00
Jan-Christoph Borchardt bf0c3b3d21 reduce grey tones in app navigation, bubble menu and scrollbar 2015-08-26 17:00:48 +02:00
Morris Jobke 062fd37f74 Merge pull request #18577 from owncloud/action-details
file action detail style fixes
2015-08-26 16:28:40 +02:00
Bjoern Schiessle 8c08dd0ac2 occ tool to encrypt all files 2015-08-26 14:58:22 +02:00
Thomas Müller 40203d7d1e Remove languages which are no longer maintained on transifex 2015-08-26 12:19:24 +02:00
Joas Schilling 199d1dc239 Bring the coverage back to 100% 2015-08-26 11:54:25 +02:00
Joas Schilling 2a6e676048 Adjust tests 2015-08-26 11:54:25 +02:00
Joas Schilling aa2a894eb0 Fix performance issues of the sharees api 2015-08-26 11:54:25 +02:00
Joas Schilling ac8941f6ac Manually query for the last id 2015-08-26 11:54:25 +02:00
Joas Schilling f4186d3dfc Fix wrong value for datetime field 2015-08-26 11:54:25 +02:00
Joas Schilling 937586a3f0 Rename file to match the class name 2015-08-26 11:54:25 +02:00
Joas Schilling 6b69e7b1da Add tests for "getShareesForShareIds()" 2015-08-26 11:54:25 +02:00
Joas Schilling 83b88c9a26 Do not return the current user himself 2015-08-26 11:54:25 +02:00
Joas Schilling 0227cfff08 Take a list of share IDs instead of the user and group names 2015-08-26 11:54:25 +02:00
Joas Schilling 5c4fbf5191 Inject the logger as well 2015-08-26 11:54:25 +02:00
Joas Schilling a0ab7a2578 Add all possible links next, prev, first and last 2015-08-26 11:54:25 +02:00
Joas Schilling c6ed40c9f8 Make shareType an array 2015-08-26 11:54:24 +02:00
Joas Schilling 068a81897e Add tests for "search()" 2015-08-26 11:54:24 +02:00
Joas Schilling 327c47a989 Do not use deprecated method in new code 2015-08-26 11:54:24 +02:00
Joas Schilling 3f64e9423b Split logic and global usage and add tests for "searchSharees()" 2015-08-26 11:54:24 +02:00
Joas Schilling a66aa1fe02 Filter the sharees with the existing shares 2015-08-26 11:54:24 +02:00
Joas Schilling 4b08783946 Use SearchResultSorter 2015-08-26 11:54:24 +02:00
Joas Schilling 16e5c15c28 Add tests for "getRemote()" 2015-08-26 11:54:24 +02:00
Joas Schilling ad450d4f0e Add tests for "getGroups()" 2015-08-26 11:54:24 +02:00
Joas Schilling be257bc9cc Add tests for "getUsers()" 2015-08-26 11:54:24 +02:00
Joas Schilling 9b0058d2b0 Move test file to subdir 2015-08-26 11:54:24 +02:00
Roeland Jago Douma b2fbecc39f Empty skeleton for tests 2015-08-26 11:54:24 +02:00
Roeland Jago Douma 8a5c1e6d4d Sort sharees
To ensure that pagination is working properly we need to make sure the
shares are always in the same order.

Sorting is first done by label (catches most instances)
If there is a user and a group with the same label we sort by shareType
If there are multiple users with the same label we sort those by
shareWith
2015-08-26 11:54:24 +02:00
Roeland Jago Douma 98301210a9 Start of OCS Share API sharees endpoint 2015-08-26 11:54:23 +02:00
Morris Jobke 27af0e82dd Merge pull request #18042 from GreenArchon/master
Properly nest groups when using memberOf to detect group membership, …
2015-08-26 11:42:47 +02:00
Morris Jobke 202af1e322 fix unit tests 2015-08-26 11:39:22 +02:00
Jan-Christoph Borchardt c11ea056d0 properly shade file actions and menu items, don't differentiate between mobile and desktop 2015-08-26 11:07:29 +02:00
Jenkins for ownCloud 90e11ee005 [tx-robot] updated from transifex 2015-08-26 04:10:42 -04:00
Jan-Christoph Borchardt 8d1fb6059f proper padding and whitespace for share and more actions 2015-08-26 09:57:32 +02:00
Jan-Christoph Borchardt 2458a09ac4 use same font-size for share action text 2015-08-26 09:46:47 +02:00
Christoph Wurst d7ceb3a162 adjust dropdown borders to button borders 2015-08-25 22:59:15 +02:00
Morris Jobke 1ca638cfbd Merge pull request #18564 from owncloud/fix-transifex-sync
Update slug
2015-08-25 22:00:52 +02:00
Morris Jobke 6946edef5c Merge pull request #18554 from owncloud/fix-gs-share-master
Simply hide sharing buttons for IE8
2015-08-25 21:59:14 +02:00
Lukas Reschke e2bd026b2e Merge pull request #18558 from owncloud/ext-objectstore
Prevent objectstore being set from client side
2015-08-25 20:56:51 +02:00
Jenkins for ownCloud 2171cc02c3 [tx-robot] updated from transifex 2015-08-25 12:39:10 -04:00
Robin McCorkell 63218ec098 Prevent objectstore being set from client side 2015-08-25 16:14:31 +01:00
Jan-Christoph Borchardt a262be5141 Merge pull request #18550 from owncloud/mobile-shared-style
fix being able to distinguish shared items on mobile
2015-08-25 17:08:34 +02:00
Thomas Müller 5cf3170e89 don't load gs-share 2015-08-25 16:49:40 +02:00
Jan-Christoph Borchardt 1efbc99365 Merge pull request #18543 from owncloud/remove-lines
Remove some lines
2015-08-25 16:08:06 +02:00
Thomas Müller fcde0234b7 Simply hide sharing buttons for IE8 - fixes #18011 2015-08-25 16:05:57 +02:00
Vincent Petry 1dc9283413 Merge pull request #18538 from owncloud/sidebar-improvements
Fix sidebar for trashbin and others
2015-08-25 14:57:41 +02:00
Jan-Christoph Borchardt cc898cf346 fix being able to distinguish shared items on mobile 2015-08-25 14:45:39 +02:00
Jan-Christoph Borchardt 3cfbf77866 reduce files table header line 2015-08-25 14:14:53 +02:00
Vincent Petry 010c03fc30 Fix row highlight in other file lists 2015-08-25 12:05:04 +02:00
Morris Jobke 494c1d7417 Merge pull request #18440 from owncloud/ext-backends.customjs
Migrate custom JS external storage backends to new registration API [part 2]
2015-08-25 11:52:56 +02:00
Vincent Petry 5e6fa3c938 Fix trashbin sidebar
Do not display size as it is not available.
Use display name instead of name to remove the ".d123456" suffix.
2015-08-25 11:29:35 +02:00
Vincent Petry a86602a157 Properly hide sidebar when switching between files app sections
Since there are multiple sidebars, one for each files app section, we
need to hide the correct ones.
2015-08-25 11:07:47 +02:00
Thomas Müller 2f86be9ced Merge pull request #18523 from owncloud/crazy-scanner
Prevent bkg scanner going crazy with unavailable storages (ajax/scan.php)
2015-08-25 09:23:42 +02:00
Morris Jobke 424759908d Merge pull request #18445 from owncloud/ext-only-setuservars-string
setUserVars() should only attempt substitution with strings
2015-08-25 08:43:01 +02:00
Robin McCorkell 88a78237b0 Migrate Google external storage to new API 2015-08-25 00:22:10 +01:00
Robin McCorkell a50ef61876 Migrate Dropbox external storage to new API 2015-08-25 00:22:10 +01:00
Robin McCorkell ced04f9ad2 Migrate AmazonS3 external storage to new API 2015-08-25 00:22:10 +01:00
Robin McCorkell f505883e45 Add on-backend and on-auth-mechanism events to JS 2015-08-25 00:22:10 +01:00
Morris Jobke b2fcdd65cd Merge pull request #18528 from owncloud/files-sidebar-mtime
Parse mtime from the data attributes
2015-08-24 19:44:46 +02:00
Morris Jobke 1797bb576f Merge pull request #18525 from owncloud/app-sidebar-style
Right sidebar style improvements
2015-08-24 19:44:31 +02:00
Vincent Petry 37939fb0e8 Parse mtime from the data attributes 2015-08-24 17:16:20 +02:00
Jan-Christoph Borchardt a659ccb89c bigger file thumbnail in app sidebar 2015-08-24 16:58:30 +02:00
Vincent Petry fe575feca8 Prevent scanner going crazy with unavailable storages 2015-08-24 16:42:53 +02:00
Morris Jobke e88b380973 Remove DEBUG constant and use config value
* introduces config.php option 'debug' that defaults to false
* migrate DEBUG constant to config value
2015-08-24 15:14:05 +02:00
blizzz 642ec8e3ba Merge pull request #18244 from owncloud/fix-issue-17677
Fix 17677 - Remove LDAP case sensitive checkbox
2015-08-24 13:45:15 +02:00
Vincent Petry 6848f25c0d Merge pull request #18477 from owncloud/fed-alwaysdetectremotechanges
Always detect remote changes for fed sharing
2015-08-24 12:17:23 +02:00
Lukas Reschke cca35f0c3e Merge pull request #18121 from owncloud/enc_improve_privkey_encryption
use password hash to encrypt private key
2015-08-24 12:03:27 +02:00
Vincent Petry fe568ab64d Merge pull request #18486 from owncloud/use-client-service-to-work-behind-proxy
Use client service to work behind proxy for checks for remote ownCloud instances
2015-08-24 11:05:14 +02:00
Morris Jobke 1f7a59b0e2 Merge pull request #18505 from owncloud/fix-personal-scrollbar
fix horizontal scrollbar in personal settings caused by federated cloud ID section
2015-08-24 11:03:37 +02:00
Vincent Petry 31d62c10bf Merge pull request #17501 from tbartenstein/patch-1
Update fileinfo.php
2015-08-24 09:57:27 +02:00
Jan-Christoph Borchardt 0f10e2c1fe fix horizontal scrollbar in personal settings caused by federated cloud ID section 2015-08-24 09:36:44 +02:00
Lukas Reschke 0a1d551090 Use IClientService to check for remote ownCloud instances
1. Allows to set a timeout (though still not perfect but way better than before)
2. Allows to have unit tests
3. I also added unit tests for the existing controller code
4. Corrected PHPDoc on IClient
2015-08-22 14:39:43 +02:00
Lennart Rosam 4b04412db3 Spaces -> tabs 2015-08-22 01:27:32 +02:00
Lennart Rosam 588fae54cb Remove if-block as the helper does return the empty prefix 2015-08-21 22:50:28 +02:00
tbartenstein 5e1c2aecc7 fix unit test for folder renaming (icon)
fix unit test to go with #17501 and check for the new icon
2015-08-21 18:54:09 +02:00
Vincent Petry d658d8dd4e Always detect remote changes for fed sharing
This is even more important now that filesystem_check_changes is 0 by
default.
2015-08-21 15:32:53 +02:00
Robin McCorkell 6379b1932f Allow domain to be specified for SMB 2015-08-21 10:30:42 +01:00
Robin McCorkell 843135e4ff Replace array_filter() with foreach for PHP <5.6
ARRAY_FILTER_USE_KEY is PHP 5.6+
2015-08-21 10:13:15 +01:00
Robin McCorkell 5ded5c6fc1 Add availability methods to files_external FailedStorage 2015-08-20 22:47:57 +01:00
Robin McCorkell 99b54e102d Prevent shares being added to oc_storages via availability 2015-08-20 22:43:46 +01:00
Vincent Petry 7c64ae4663 Add namespace in case the file is loaded individually
Some apps might load this file in JS unit tests and need the OCA.Files
namespace to exist.
2015-08-20 17:54:52 +02:00
Joas Schilling 9573d7d60d Merge pull request #18372 from owncloud/issue-18358-object-type-and-id-for-activities
Issue 18358 object type and id for activities
2015-08-20 15:53:36 +02:00
Robin McCorkell d93bf35482 Merge pull request #18408 from owncloud/ext-ocp
Use OCP classes as much as possible in files_external v2
2015-08-20 13:09:12 +01:00
Robin McCorkell 67893ca839 Merge pull request #18380 from owncloud/files-sidebar-selectbar
Fix files select bar width when app sidebar is visible
2015-08-20 12:35:33 +01:00
Robin McCorkell 643e3a5b6d Convert string booleans to real booleans
Legacy compatibility, from the days in stable8 when checkbox boolean
values were stored as the strings 'true' and 'false'.
2015-08-20 12:23:12 +01:00
Vincent Petry 28e58594ba Merge pull request #18437 from owncloud/ext-auth-trigger
Trigger storage recheck on auth mechanism change
2015-08-20 11:58:18 +02:00
Morris Jobke 2fe070ca37 Merge pull request #18447 from owncloud/ext-fix-empty-var
Don't use `empty()` with a return value, PHP 5.4
2015-08-20 11:36:12 +02:00
Robin McCorkell 62d328525a setUserVars() should only attempt substitution with strings 2015-08-20 02:19:03 +01:00
Robin McCorkell 6907a88d14 Don't use `empty()` with a return value, PHP 5.4 2015-08-20 01:03:45 +01:00
Robin McCorkell 8cd47e4f03 Fix 'Declaration of SessionStorageWrapper::__construct()...' 2015-08-19 20:14:56 +01:00
Robin McCorkell dc335ba5a9 Trigger storage recheck on auth mechanism change 2015-08-19 20:11:29 +01:00
Morris Jobke b3356b1288 Merge pull request #18432 from owncloud/ext-backends.simple
Migrate simple external storage backends to new registration API [part 1]
2015-08-19 20:04:20 +02:00
Lennart Rosam fdf1a941b7 Add database update routine and bump version to 0.6.2 2015-08-19 17:55:21 +02:00
Lennart Rosam 45fba849a9 Remove another occurance of ldap_nocase 2015-08-19 17:54:16 +02:00
Joas Schilling 4314c8fc6f Use an IEvent object instead of a huge parameter list 2015-08-19 17:44:57 +02:00
Joas Schilling e985dcc5a0 Send the file id when dealing with remote share responses 2015-08-19 17:44:57 +02:00
Robin McCorkell d577aad4ac Use OCP classes as much as possible in files_external 2015-08-19 15:26:38 +01:00
Robin Appelman 273c776eb7 add missing return statements in getSystem/getPersonalMountPoints 2015-08-19 16:26:33 +02:00
Robin McCorkell 16389270ff Migrate SFTP external storage to new API 2015-08-19 14:41:44 +01:00
Robin McCorkell a99e524898 Migrate OwnCloud external storage to new API 2015-08-19 14:41:43 +01:00
Robin McCorkell 68418bdd34 Migrate DAV external storage to new API 2015-08-19 14:41:43 +01:00
Robin McCorkell ab8c738b8d Migrate SMB external storage to new API 2015-08-19 14:41:43 +01:00
Robin McCorkell 0f1809eced Migrate FTP external storage to new API 2015-08-19 14:41:43 +01:00
Robin McCorkell 0ffb51c6cc Migrate Local external storage to new API 2015-08-19 14:41:43 +01:00
Robin McCorkell 118cb7df1a Allow builtin auth mechanism to be overridden
The builtin mechanism is used exclusively for legacy external storages,
which when upgraded to the new registration need to fallback to the
defined legacy authentication mechanism instead.
2015-08-19 14:41:43 +01:00
Robin McCorkell 3bb793b6a7 Implement password authentication mechanisms
Introduces the basic password authentication mechanism, along with a
mechanism based on ownCloud credentials stored in the user session.

Change to lib/private is an extension of PermissionsMask, as
isSharable() override was missing.

Session credentials auth mechanism now disables sharing on applied
storages, as credentials will not be available.
2015-08-19 14:20:09 +01:00
Vincent Petry 5fd36d017e Merge pull request #18378 from owncloud/files-delete-spinner
Fix spinner when deleting all files in a folder
2015-08-19 14:31:23 +02:00
Vincent Petry bd6beaaae2 Merge pull request #18354 from owncloud/files-fixdnd
Fix file drag and drop JS error
2015-08-19 14:30:21 +02:00
Robin McCorkell eb0e5ce12c Restrict Local backend to admin-only 2015-08-19 10:08:24 +01:00
Robin McCorkell df8f5425dc Load custom JS for all backends/auth mechanisms
Loading custom JS on a per-backend basis added needless complexity and
made dealing with async required. Now all backends/auth mechanisms load
custom JS in PHP
2015-08-19 10:08:23 +01:00
Robin McCorkell b6eb952ac6 Propagate auth mechanism/backend failures to filesystem layer
Failure to prepare the storage during backend or auth mechanism
manipulation will throw an InsufficientDataForMeaningfulAnswerException,
which is propagated to StorageNotAvailableException in the filesystem
layer via the FailedStorage helper class.

When a storage is unavailable not due to failure, but due to
insufficient data being available, a special 'indeterminate' status is
returned to the configuration UI.
2015-08-19 10:08:23 +01:00
Robin McCorkell c592e24c87 Make Application a singleton
The same Application must be used in the settings templates and in
routes, so that any registered backends are correctly seen
2015-08-19 10:08:23 +01:00
Robin McCorkell 97dbc79c16 Compatibility shims for OC_Mount_Config
The following functions have been removed:
 - addMountPoint()
 - removeMountPoint()
 - movePersonalMountPoint()

registerBackend() has been rewritten as a shim around BackendService,
allowing legacy code to interact with the new API seamlessly

addMountPoint() was already disconnected from all production code, so
this commit completes the job and removes the function itself, along
with disconnecting and removing related functions. Unit tests have
likewise been removed.

getAbsoluteMountPoints(), getSystemMountPoints() and
getPersonalMountPoints() have been rewritten to use the StoragesServices
2015-08-19 10:08:14 +01:00
Robin McCorkell c572631087 Unit tests for new backend API 2015-08-19 10:05:12 +01:00
Robin McCorkell 1eeca031f8 Split backend identifiers from the class name
Prior to this, the storage class name was stored in mount.json under the
"class" parameter, and the auth mechanism class name under the
"authMechanism" parameter. This decouples the class name from the
identifier used to retrieve the backend or auth mechanism.

Now, backends/auth mechanisms have a unique identifier, which is saved in
the "backend" or "authMechanism" parameter in mount.json respectively.
An identifier is considered unique for the object it references, but the
underlying class may change (e.g. files_external gets pulled into core
and namespaces are modified).
2015-08-19 10:05:11 +01:00
Robin McCorkell 272a46ebe1 Authentication mechanisms for external storage backends
A backend can now specify generic authentication schemes that it
supports, instead of specifying the parameters for its authentication
method directly. This allows multiple authentication mechanisms to be
implemented for a single scheme, providing altered functionality.

This commit introduces the backend framework for this feature, and so at
this point the UI will be broken as the frontend does not specify the
required information.

Terminology:
 - authentication scheme
    Parameter interface for the authentication method. A backend
    supporting the 'password' scheme accepts two parameters, 'user' and
    'password'.
 - authentication mechanism
    Specific mechanism implementing a scheme. Basic mechanisms may
    forward configuration options directly to the backend, more advanced
    ones may lookup parameters or retrieve them from the session

New dropdown selector for external storage configurations to select the
authentication mechanism to be used.

Authentication mechanisms can have visibilities, just like backends.
The API was extended too to make it easier to add/remove visibilities.
In addition, the concept of 'allowed visibility' has been introduced, so
a backend/auth mechanism can force a maximum visibility level (e.g.
Local storage type) that cannot be overridden by configuration in the
web UI.

An authentication mechanism is a fully instantiated implementation. This
allows an implementation to have dependencies injected into it, e.g. an
\OCP\IDB for database operations.

When a StorageConfig is being prepared for mounting, the authentication
mechanism implementation has manipulateStorage() called,
which inserts the relevant authentication method options into the
storage ready for mounting.
2015-08-19 10:05:11 +01:00
Robin McCorkell a6a69ef1df Introduce UserGlobalStoragesService
UserGlobalStoragesService reads the global storage configuration,
cherry-picking storages applicable to a user. Writing storages through
this service is forbidden, on punishment of throwing an exception.
Storage IDs may also be config hashes when retrieved from this service,
as it is unable to update the storages with real IDs.

As UserGlobalStoragesService and UserStoragesService share a bit of code
relating to users, that has been split into UserTrait. UserTrait also
allows for the user set to be overridden, rather than using the user
from IUserSession.

Config\ConfigAdapter has been reworked to use UserStoragesService and
UserGlobalStoragesService instead of
OC_Mount_Config::getAbsoluteMountPoints(), further reducing dependance
on that horrible static class.
2015-08-19 10:05:11 +01:00
Robin McCorkell 37beb58c6f Introduce BackendService for managing external storage backends
Backends are registered to the BackendService through new data
structures:

Backends are concrete classes, deriving from
\OCA\Files_External\Lib\Backend\Backend. During construction, the
various configuration parameters of the Backend can be set, in a design
similar to Symfony Console.

DefinitionParameter stores a parameter configuration for an external
storage: name of parameter, human-readable name, type of parameter
(text, password, hidden, checkbox), flags (optional or not).

Storages in the StoragesController now get their parameters validated
server-side (fixes a TODO).
2015-08-19 10:05:11 +01:00
Thomas Müller 0b37004808 Merge pull request #18076 from owncloud/fix-thumbnail-api-master
No need to url decode the file
2015-08-19 09:59:14 +02:00
Thomas Müller 9f6c33abe9 Merge pull request #18339 from owncloud/update-jquery-visibility
update jquery-visibility in files app
2015-08-19 09:54:05 +02:00
Thomas Müller d9172a1907 Merge pull request #14401 from owncloud/ux-s2s-ldap
allow login names to be used for s2s with LDAP users
2015-08-19 08:31:27 +02:00
Thomas Müller 99815c17d9 Merge pull request #18287 from owncloud/smb-1.0.3
update icewind/smb to 1.0.4
2015-08-18 16:35:20 +02:00
Morris Jobke 08aaa334cc Merge pull request #18389 from owncloud/fix-17770
Fix extracting basename from path in sharing
2015-08-18 16:22:02 +02:00
Robin McCorkell 6e47661afd Fix extracting basename from path in sharing 2015-08-18 13:41:47 +01:00
Morris Jobke 7b0f43efb6 Merge pull request #18381 from owncloud/public-share-fixdepsloading
Fix file actions menu in public page
2015-08-18 13:58:03 +02:00
Vincent Petry 37a842a18e Only show delete action in menu when delete permission exists
This reverts an older decision where we said the delete action must
always appear but be grayed out when the permission is missing.
The actions menu obsoletes that.
2015-08-18 11:35:40 +02:00
Vincent Petry 22b63ecd12 Load missing JS dep in public link page 2015-08-18 11:35:21 +02:00
Vincent Petry 170259e840 Fix files select bar width when app sidebar is visible 2015-08-18 11:30:00 +02:00
Vincent Petry 730f1d199a Fix spinner when deleting all files in a folder 2015-08-18 11:14:41 +02:00
Vincent Petry ffff156965 Merge pull request #18310 from hasso/selection-string-fix
Fix the string counting a selected files/dirs
2015-08-18 10:43:17 +02:00
Hasso Tepper bbff530b65 Move decaration to the beginning of the block 2015-08-18 10:34:30 +03:00
Robin Appelman 5514a133de update icewind/smb to 1.0.4 2015-08-17 16:31:29 +02:00
Vincent Petry 009c008ed8 Fix file drag and drop JS error 2015-08-17 16:09:29 +02:00
Hasso Tepper 97bc73ad49 Update unit test to reflect the string change 2015-08-17 15:31:44 +03:00
Hasso Tepper 72799ffba2 Move selectionVars into if statement 2015-08-17 15:28:55 +03:00
Robin McCorkell 675d852c7d Merge pull request #17182 from owncloud/user_ini_upload_size
Update .user.ini when setting upload size limit
2015-08-17 13:27:47 +01:00