Commit graph

11249 commits

Author SHA1 Message Date
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
Morris Jobke
51c3a3ddaf update jquery-visibility in files app
* ref #12877
2015-08-17 09:39:21 +02:00
Morris Jobke
5b7143885d Merge pull request #18318 from owncloud/files-sidebar-fixtabs
Improve right sidebar tabs behavior
2015-08-16 12:53:50 +02:00
Thomas Müller
184b4e7d19 Merge pull request #18320 from owncloud/public_upload_capability
Add public upload to capability
2015-08-14 21:01:41 +02:00
Roeland Jago Douma
dce5d9b5d1 Add public upload to capability 2015-08-14 20:03:32 +02:00
Thomas Müller
dfba425d68 Integration in files app to load scripts and styles on request 2015-08-14 18:04:17 +02:00
Vincent Petry
e2549fa660 Improve right sidebar tabs behavior
Tab heads are not rendered if only one tab.

The tab contents is updated on-demand. This means that if a tab is not
visible it is not rendered at first. If the tab was already rendered
through switching, its model will not get updated until the next time it
becomes visible. This will prevent needless rerendering of invisible tab
contents, especially considering that some tabs might need extra ajax
requests.
2015-08-14 16:51:04 +02:00
Hasso Tepper
69c550ce51 Fix the string counting a selected files/dirs
The old one contains untranslatable ' & ' if both files and dirs are
selected. The new code is especially designed to reuse strings from file
listing summary view (apps/files/js/filesummary.js), so no translation
is broken.
2015-08-14 14:50:25 +03:00
Thomas Müller
ddc7f668e5 Merge pull request #18271 from owncloud/issue-18261-sharing-capabilities-use-wrong-default
Fix default values of sharing capabilities
2015-08-14 12:23:06 +02:00
Robin Appelman
e76fc1cf38 remove travis files 2015-08-14 12:21:21 +02:00
Jan-Christoph Borchardt
4e53b5922d Merge pull request #18178 from owncloud/files-sidebar-actions
Sidebar file actions
2015-08-13 17:17:10 +02:00
Robin Appelman
00deffdd47 update icewind/smb to 1.0.3 2015-08-13 16:28:44 +02:00