Commit Graph

5332 Commits

Author SHA1 Message Date
Joas Schilling 8754ea6c8a Make sure we don't quote column names twice 2016-02-23 08:50:52 +01:00
Thomas Müller 7bf658ab18 Before installing new shipped apps we need to load authentication apps - fixes #22508 2016-02-23 08:41:12 +01:00
Thomas Müller 4537eaac41 Add ILIKE support to querybuilder 2016-02-22 19:46:37 +01:00
Morris Jobke 8c77fdef3e Avoids scanning the root storage
This check will skip the background scan for the root storage
because there is nothing in the root storage that isn't already
in another (mostly user-) storage.

Fixes #22501
2016-02-22 16:43:47 +01:00
Joas Schilling 24c7f38a00 Make sure we can store strings as per the interface 2016-02-22 15:43:20 +01:00
Thomas Müller a70421ff2f Merge pull request #22552 from owncloud/fix-avconv-preview-parameters
Move `-an` after the input arg because it is an output option
2016-02-22 14:14:35 +01:00
Roeland Jago Douma fe08b5e9d9 We should check for exceptions when trying to get the avatar
Fixes #22550

* Updated phpdoc of avatatmanager
* Add unit test
2016-02-22 10:14:14 +01:00
Joas Schilling 2865ccfdc4 Move `-an` after the input arg because it is an output option 2016-02-22 09:40:46 +01:00
Thomas Müller f8677628d4 Merge pull request #22503 from owncloud/issue_22500
When (re-)sharing an incomming federated share set the corrent owner
2016-02-19 16:07:43 +01:00
Thomas Müller fb38625741 Merge pull request #22518 from owncloud/checkdeletebeforecopyinsteadofrename
Check delete permission before attemping copy+delete
2016-02-19 16:06:55 +01:00
Thomas Müller b5281b61ed Merge pull request #22410 from owncloud/fix_22119
Do not copy skeleton on avatar access
2016-02-19 16:06:40 +01:00
Thomas Müller 2fd0e9b768 Merge pull request #22521 from owncloud/mssql-is-not-support-since-ages
Remove old adapter - mssql is not supported
2016-02-19 13:35:32 +01:00
Thomas Müller 5820666254 Merge pull request #22218 from owncloud/occ-no-extra-messages
Add global --no-warnings option to occ…
2016-02-19 13:32:52 +01:00
Joas Schilling c20c836a46 Remove old adapter - mssql is not supported 2016-02-19 13:16:43 +01:00
Vincent Petry a9e0cfad8b Check delete permission before attemping copy+delete
Some move operations when cross-storage will be replaced by copy and
delete. Before attempting this, first check whether the source storage
has delete permissions.

This also prevents renaming system-wide external storages.
2016-02-19 12:59:10 +01:00
Roeland Jago Douma 2dcf887cce When (re-)sharing an incomming federated share set the corrent owner
Incomming federated shares are a special kind. We mount them as normal
webdav shares but we do supply owner info with the federated cloud id of
the share owner.

Since we do not yet have the new resharing behaviour on federated shares
we need to set the correct owner. Which will allow sharing and proper
mounting for other users.

fixes #22500
2016-02-19 12:43:03 +01:00
Roeland Jago Douma f837c08465 Fix even more 2016-02-19 09:43:20 +01:00
Joas Schilling 8756a22c60 Fix more things 2016-02-19 09:43:11 +01:00
Thomas Müller 8e36678873 Fix PHPDoc 2016-02-19 09:43:11 +01:00
Scrutinizer Auto-Fixer 0d0151a3e1 Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2016-02-19 09:43:11 +01:00
Victor Dubiniuk 972e0c62b3 Add global --no-warning option to occ in order not to pollute output with warnings 2016-02-19 00:33:48 +03:00
Thomas Müller 48f6ae0b2d Merge pull request #22493 from owncloud/issue_22467
getRootFolder should not setup the FS for any user
2016-02-18 16:46:00 +01:00
Thomas Müller 2a9b0aaaa1 Merge pull request #22482 from owncloud/getowner-cache
cache result for getowner
2016-02-18 16:45:40 +01:00
Thomas Müller 6c4cdddba8 Merge pull request #21610 from owncloud/quota-sharedfile
Fix quota check for single shared files
2016-02-18 14:25:32 +01:00
Roeland Jago Douma b539bb15e1 Make scrutinizer happy 2016-02-18 14:25:18 +01:00
Roeland Jago Douma 7abb8693a1 getRootFolder should not setup the FS for any user
Fixes #22467

This can go wrong when an app (take the ldap app) DIs something that
needs the rootFolder. This break if we use cookie auth since then we
know the user at that point and thus try to setup the fs for that user.

However if there are then incomming shares from an ldap user they will
fails since the user manager can't find them yet.

Now getRootFolder does not setup the fs for any user.
2016-02-18 13:55:54 +01:00
Thomas Müller 73d46afc3c Merge pull request #22399 from owncloud/issue-22394-index-names-for-oracle
Add index names so Doctrine does not use a too long random string
2016-02-18 11:18:32 +01:00
Joas Schilling 6374472e2e No more static 2016-02-18 10:12:23 +01:00
Robin Appelman f309bc960d cache result for getowner 2016-02-17 19:14:46 +01:00
Thomas Müller 7af7d18cfa Merge pull request #16783 from owncloud/handle-redirects-global
Adding global error handler for ajax calls which run into redirection…
2016-02-17 14:49:04 +01:00
Vincent Petry 8f96ef147f Don't apply quota in stream wrapper for part files
When overwriting shared files as recipient, the part file is written on
the uploader's storage before overwriting the target file.

If the uploader has no quota left, they should still be able to
overwrite that file with Webdav. To make this work, they need to be able
to write the part file to their own storage first.
2016-02-17 11:52:49 +01:00
Morris Jobke de58364eb8 Handles null as return code and uses proper UserFolder in trashbin 2016-02-16 18:45:25 +01:00
Roeland Jago Douma ed6843e87b Return proper error string if sharing for this user is disabled
Fixes #22402
2016-02-16 10:22:49 +01:00
Lukas Reschke b99c6f1f67 Send 401 header for OC_JSON::checkLoggedIn() 2016-02-16 09:48:40 +01:00
Joas Schilling b14e8fa427 Make sure our index names fit in oracle 2016-02-16 09:28:29 +01:00
Roeland Jago Douma 47d28155a8 Do not copy skeleton on avatar access
Fixes #22119

Just try to get the folder of the user. If it is not there a
NotFoundException will be thrown. Which will be handled by the avatar
endpoint.
2016-02-16 09:18:38 +01:00
Thomas Müller 3ab328350a Merge pull request #22376 from owncloud/fix-return-code-getAppPath
Properly handle return code of OC_App::getAppPath
2016-02-15 16:58:37 +01:00
Lukas Reschke dfc3536d2b Catch auth coming from JS in OCS 2016-02-15 15:38:37 +01:00
Thomas Müller 7b858d7c4a Merge pull request #22381 from owncloud/remove-not-needed-variable
Remove not needed variable
2016-02-15 12:02:03 +01:00
Thomas Müller db79799eb8 Merge pull request #22380 from owncloud/make-scrutinizer-happy
Fix typo in PHPDoc
2016-02-15 07:01:41 +01:00
Morris Jobke 6cd3fa2ed7 Remove not needed variable 2016-02-14 21:44:53 +01:00
Morris Jobke da06447c3b Fix typo in PHPDoc 2016-02-14 21:34:40 +01:00
Morris Jobke 083240482a Remove unreachable code in priavte/api.php 2016-02-14 21:12:29 +01:00
Morris Jobke ef49f6ef5d Properly handle return code of OC_App::getAppPath
* fixes #20128
* getAppPath could return false, but it was not handled everywhere
2016-02-14 20:57:09 +01:00
Morris Jobke e60e0fe22c Fix BMP support
* fixes #16461
2016-02-14 09:30:27 +01:00
Thomas Müller 198d234068 Merge pull request #22345 from owncloud/make-note-if-appcodechecker-is-not-enabled
Add note if integrity check is disabled
2016-02-13 18:24:26 +01:00
Thomas Müller 0b4895bc7c Merge pull request #22343 from owncloud/check-if-admin-user
Check if admin user
2016-02-13 18:24:17 +01:00
Morris Jobke 5fe55de6d8 Always set up a config object within the user object
* the new getEmailAddress and setEmailAddress relies on this anyway
2016-02-12 16:33:37 +01:00
Lukas Reschke 29ce56ed07 Check if admin user
We should not add the JS for not admin users.
2016-02-12 14:37:50 +01:00
Lukas Reschke 4b90429178 Add note if integrity check is disabled
Our issue template states that users should post the output of `/index.php/settings/integrity/failed`, at the moment it displays that all passes have been passed if the integrity checker has been disabled.

This is however a wrong approach considering that some distributions are gonna package Frankenstein releases and makes it harder for us to detect such issues. Thus if the integrity code checker is disabled (using the config switch)  it displays now: `Appcode checker has been disabled. Integrity cannot be verified.`

This is not displayed anywhere else in the UI except these URL used for us for debugging purposes.
2016-02-12 11:11:39 +01:00
Thomas Müller 207c09c511 Merge pull request #22309 from owncloud/infinite-recursion-on-expired-link
Do not getShare in deleteShare, it's already there when deleting
2016-02-12 11:11:26 +01:00
Thomas Müller e99c4d83dc Merge pull request #22317 from owncloud/fix_invisible_linkshares
Do not allow invisible link shares
2016-02-12 11:10:58 +01:00
Thomas Müller dfe267424f Merge pull request #22315 from owncloud/update-info-checker-requirements
Update info checker requirements
2016-02-11 14:31:47 +01:00
Thomas Müller 207c1a661b Merge pull request #22264 from owncloud/read-version-from-info.xml-only
No longer evaluate appinfo/version
2016-02-11 14:28:51 +01:00
Thomas Müller 27a4c9f625 Merge pull request #22308 from owncloud/shorter-ttl-find-path
Shorter TTL on  findBinaryPath caching
2016-02-11 14:02:24 +01:00
Roeland Jago Douma 4533cb9c59 Add parent for invisible link shares 2016-02-11 13:29:23 +01:00
Joas Schilling 8cfdc62eae Update info checker requirements 2016-02-11 11:54:13 +01:00
Roeland Jago Douma dd630e33ea Properly check for legacy methods
The new shares are completely without parents eventually. But for some
current legacy reasons the methods are still around. But we should
properly check for them.

Fixes #22309
2016-02-11 11:30:52 +01:00
Joas Schilling ee080a9bc3 Do not getShare in deleteShare, it's already there when deleting 2016-02-11 11:21:06 +01:00
Thomas Müller 2efb97ba09 Fixes #13658 2016-02-11 10:53:18 +01:00
Thomas Müller 3184115c3c Merge pull request #22285 from owncloud/fix_22275
Only show link shares for the current user
2016-02-10 20:01:41 +01:00
Thomas Müller 6ffb83ae19 Merge pull request #22269 from owncloud/issue-22243-avoid-deadlock-with-lots-of-entries-to-cleanup
Chunk the cleanup queries to make sure they don't time out
2016-02-10 17:26:11 +01:00
Thomas Müller 39e6a1897b Merge pull request #22271 from owncloud/remember-login-state
Remember previous state of remember login checkbox
2016-02-10 17:25:34 +01:00
Thomas Müller 8b165c5ed5 No longer evaluate appinfo/version 2016-02-10 17:24:14 +01:00
Roeland Jago Douma 9651defe3f Also filter the old share info endpoint
Make sure we do not show an icon if we can't display a share
2016-02-10 17:05:57 +01:00
Vincent Chan 06b2f11e57 refactoring code 2016-02-10 15:28:14 +01:00
Thomas Müller 5c89cf9565 Merge pull request #22267 from owncloud/fix_encryption2
calculate and update the version of the encryption signature correctly
2016-02-10 15:14:52 +01:00
Bjoern Schiessle 9dc759b4dc remember signature version and only set it on update to make sure that other
apps like files_versions still get the old signature version
2016-02-10 13:27:32 +01:00
Joas Schilling 0ebb205010 Chunk the queries to make sure they don't time out 2016-02-10 13:04:37 +01:00
Thomas Müller a8d9eb5320 Merge pull request #22256 from owncloud/hide-updater-secret
Hide updater.secret from occ output by default
2016-02-10 08:58:46 +01:00
Vincent Petry 3736f13826 Check if partial cache entry or not in encryption wrapper 2016-02-09 23:43:27 +01:00
Lukas Reschke 5ccb9dfa7e Use database for keeping track of the version 2016-02-09 23:43:27 +01:00
Lukas Reschke 3badf5caf5 Use number of chunk for HMAC as well
Prevents switching single blocks within the encrypted file.
2016-02-09 23:43:26 +01:00
Björn Schießle 9bb97c714b fixing unit tests 2016-02-09 23:43:26 +01:00
Björn Schießle cf3a8f274f make it backward compatible to work with signed and un-signed files 2016-02-09 23:43:25 +01:00
Thomas Müller 29f6f451a9 Merge pull request #22192 from owncloud/fix_19685
Only set the default expiration date on share creation
2016-02-09 23:38:00 +01:00
C. Montero Luque 962d0c3290 Merge pull request #22252 from owncloud/consolidate-user-set-quota
Consolidate getQuota and setQuota methods in User instance
2016-02-09 22:00:24 +01:00
Lukas Reschke 40d798e668 Hide updater.secret from occ output by default
We should not have people post that value to us.
2016-02-09 20:41:55 +01:00
Arthur Schiwon 03d0fb4e3f revolutionar: change updates might even sent the new value (optional) 2016-02-09 18:37:41 +01:00
Lukas Reschke abc675d87e Move update notification code into app
Moves the update notification code in a single app. This is required since we want to use SSO for the new updater and for this have some code running in ownCloud as well (and we don't want that in core neccessarily). This app can provide that in the future, right now it's only the update notification itself. Will continue working on the SSO right away but wanted to keep the PR small.

Furthermore also makes some more code unit-testable...
2016-02-09 18:05:51 +01:00
Arthur Schiwon 096115870c Avatar should also claim its change 2016-02-09 17:44:49 +01:00
Arthur Schiwon 82a37d41d0 Doc improvements 2016-02-09 17:41:04 +01:00
Arthur Schiwon 3a796d1e15 Consolidate getQuota and setQuota methods in User instance 2016-02-09 17:16:43 +01:00
Thomas Müller 2982017682 Merge pull request #22228 from owncloud/comments-limit-message
Limit comment message to 1k chars
2016-02-09 16:35:23 +01:00
Thomas Müller 6474866aff Merge pull request #22225 from owncloud/sharing-moar-hooks
More sharing hooks for extended auditing
2016-02-09 13:30:22 +01:00
Thomas Müller 1a2d72b0ac Merge pull request #22212 from owncloud/scrutinizer-patch-1
Scrutinizer Auto-Fixes
2016-02-09 13:30:06 +01:00
Thomas Müller d11179a0f5 Merge pull request #22227 from owncloud/appmanager-hooks
Send events when enabling and disabling of apps
2016-02-09 11:23:19 +01:00
Roeland Jago Douma 49726470ab Catch exception 2016-02-09 11:05:34 +01:00
Roeland Jago Douma 426a12baaa Throw exception 2016-02-09 11:05:29 +01:00
Roeland Jago Douma ee65cd0bd8 Only set the default expiration date on share creation
Fixes #19685

The default expiration date should only be set when we create a new
share. So if a share is created and the expiration date is unset. And
after that the password is updated the expiration date should remain
unset.
2016-02-09 11:05:14 +01:00
Joas Schilling 349f3bf54a More fixes 2016-02-09 10:40:00 +01:00
Roeland Jago Douma 12afd7b005 Move password update hook after update 2016-02-09 10:38:12 +01:00
Roeland Jago Douma 623a0e4637 Example hook check 2016-02-09 10:36:44 +01:00
Vincent Petry 19980be116 Fix part file partial cache logic in encryption code
The encryption code uses partial cache entries for the part file (which
are not stored in the database) but are useful for other parts of the
code to retrieve the file size again.

This means that in the fixed code $info was empty, so getData() could
not be called.

The fix makes sure to support both cases when the cache entry exists and
doesn't.
2016-02-09 09:47:34 +01:00
Arthur Schiwon 347ad3e223 Limit comment message to 1k chars 2016-02-09 03:14:30 +01:00
Arthur Schiwon cd00751de5 Send events when enabling and disabling of apps 2016-02-09 02:51:12 +01:00
Arthur Schiwon 4dfd56ee81 add post hook on link-share password change 2016-02-08 23:27:37 +01:00
Thomas Müller a03279a3a8 Merge pull request #22207 from owncloud/mountcache-exists-check
better exists check for insert mount cache
2016-02-08 17:57:59 +01:00
Scrutinizer Auto-Fixer 08f0dc9067 Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2016-02-08 15:43:39 +00:00
Thomas Müller ec399e6bbc Merge pull request #22200 from owncloud/node-checksum-resolvefileinfo
Make sure fileinfo exists when calling getCheckSum in node API
2016-02-08 16:10:31 +01:00
Robin Appelman 26a8fb157d better exists check for insert mount cache 2016-02-08 15:18:42 +01:00
Vincent Petry 41ba9280f7 Make sure fileinfo exists when calling getCheckSum in node API 2016-02-08 12:24:18 +01:00
Roeland Jago Douma a506f9ca3f Respect not allowing outgoing shares 2016-02-08 11:30:48 +01:00
Roeland Jago Douma ba0bab294e Add federated share provider to core 2016-02-08 11:30:48 +01:00
Roeland Jago Douma 46faf6d3ca Fix exception on delete 2016-02-06 13:31:54 +01:00
Roeland Jago Douma 8486d61764 getSharesBy should also expire link shares 2016-02-06 13:31:54 +01:00
Roeland Jago Douma 3028ec5440 Delete expired share when fetched by id 2016-02-06 13:31:54 +01:00
Roeland Jago Douma 5ed56d9edb Delete a link share if it is expired on access
If we access a link share we should check if it has expired already.
If so we should remove it and throw a ShareNotFound exception
2016-02-06 13:31:54 +01:00
Thomas Müller 5832178f59 Merge pull request #22139 from owncloud/comments-files-cleanup
cleanup jobs for comments and comment read marks
2016-02-06 13:26:00 +01:00
Thomas Müller a9015d61a7 Merge pull request #22166 from owncloud/remove-local-folder
remove unused Storage->getLocalFolder
2016-02-06 13:21:59 +01:00
Joas Schilling 065141f6f4 Move casting to IExpressionBuilder 2016-02-05 21:26:30 +01:00
Robin Appelman fb76d7de69 remove unused Storage->getLocalFolder 2016-02-05 16:48:08 +01:00
Joas Schilling 550f3af285 Remove old background job 2016-02-05 15:51:08 +01:00
Thomas Müller e15a120f83 Merge pull request #22152 from owncloud/activities-for-comments
Activities for comments
2016-02-05 13:50:38 +01:00
Thomas Müller f7e37984be Merge pull request #22153 from owncloud/event-for-console-commands
Dispatch an event when a console command is run
2016-02-05 13:30:35 +01:00
Joas Schilling 4056cca427 Only dispatch the delete event, when the deletion was successful 2016-02-05 12:39:07 +01:00
Joas Schilling 97b907335a Dispatch an event when a console command is run 2016-02-05 12:24:54 +01:00
Thomas Müller e6bab280a6 Merge pull request #22143 from owncloud/fix_12385
When a user is removed we should remove the right shares
2016-02-05 11:53:28 +01:00
Joas Schilling 070ff71a2d Add activities for comments 2016-02-05 11:30:53 +01:00
Joas Schilling e86dcdacc8 Dispatch events when adding, updating and deleting comments 2016-02-05 11:30:53 +01:00
Scrutinizer Auto-Fixer 466a085253 Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2016-02-05 09:38:43 +00:00
Roeland Jago Douma 5f521067d8 When a user is removed we should remove the right shares
* This means all the shares directly shared with them
* Or all group shares having a special share with them

This patch fixes the operator precedece (AND before OR).
So before this patch:

(share_with = <deleted user> AND share_type = 0) OR share_type=2

So it deleted all user specific shares

Now:
share_with = <deleted user> AND (share_type = 0 OR (share_type=2)
2016-02-05 10:05:22 +01:00
Roeland Jago Douma 169874957a Path should be relative 2016-02-04 19:19:10 +01:00
Roeland Jago Douma b57aac0a89 [Share 2.0] Add missing post_update_permissions hook 2016-02-04 19:18:25 +01:00
Thomas Müller d8faeab421 Merge pull request #21766 from farukuzun/master
Add some mimetypes
2016-02-04 16:49:31 +01:00
Thomas Müller 1619968a03 Merge pull request #22111 from owncloud/use-intermediate-certificate
Use intermediate root authority + sign other release channels
2016-02-04 16:17:47 +01:00
Roeland Jago Douma 0f22a8db1d Also add type (file/folder) to IShare object
We need this for the hooks :(
2016-02-04 14:28:09 +01:00
Roeland Jago Douma fc215d0980 Make the share object lazy
Share providers can now just pass in a fileId. And the node will only be
created once needed.
2016-02-04 12:51:23 +01:00
Faruk Uzun 6ffd8f3e0d Introduce some mimetypes for richdocuments
* application/vnd.lotus-wordpro
* application/vnd.visio
* application/vnd.wordperfect
* application/msonenote
2016-02-04 13:48:21 +02:00
Thomas Müller b594aa18ee Merge pull request #22110 from owncloud/comment-types-always-plural
types shall always be plural
2016-02-04 10:55:49 +01:00
Thomas Müller 2c41a266c0 Merge pull request #22072 from vincchan/trim-newusername-whitespace
Do not allow username to have whitespace at the beginning or at the end
2016-02-04 10:33:30 +01:00
Lukas Reschke eee6d1f41b Also check daily and testing channel 2016-02-03 20:08:40 +01:00
Lukas Reschke 5f300ac275 Allow specifing the signing path 2016-02-03 20:08:40 +01:00
Arthur Schiwon 9370491822 types shall always be plural 2016-02-03 19:28:15 +01:00
Roeland Jago Douma 96662c4d0d [Share 2.0] Fix shareManager 2016-02-03 19:25:29 +01:00
Roeland Jago Douma eb904c7aa9 [Share 2.0] Fix defaultshare provider 2016-02-03 19:25:29 +01:00
Roeland Jago Douma 78be766cf5 [Share 2.0] Use strings for ids
* sharedWith
* sharedBy
* shareOwner

Now all set/get strings with the id. (userId, groupId,
federatedsharerId).

This to avoid a huge amount of if statements
2016-02-03 19:25:29 +01:00
Thomas Müller ab1c79827e Merge pull request #22071 from owncloud/cache-split-insert
split cache->insert from cache->put
2016-02-03 14:32:28 +01:00
Vincent Chan cc17ac9ff9 move whitspace check to user manager 2016-02-03 14:09:15 +01:00
Thomas Müller aaf7299d28 Merge pull request #22070 from owncloud/share2_exceptions
Add sharing exceptions to OCP
2016-02-03 13:36:14 +01:00
Robin Appelman f2bba59b79 split cache->insert from cache->put 2016-02-03 12:55:36 +01:00
Thomas Müller 621f54da51 Merge pull request #21997 from owncloud/checksums
Checksums
2016-02-03 11:36:22 +01:00
Thomas Müller 459a12c8b3 Merge pull request #22081 from owncloud/mount-cache-invalid-storage
filter invalid storages from the mount cache early
2016-02-03 11:36:04 +01:00
Roeland Jago Douma 2035a179bc Add store/retrieve checksums
* Add extra db column to filecache
* Bump version
* Update filecache code to actually handle checksum
* Webdav code to store/retrieve checksums
2016-02-03 09:03:51 +01:00
Thomas Müller 77942ad38a Merge pull request #22059 from owncloud/comments-readmark-dav
Comments DAV methods for read mark manipulation (mark comments of a file as read) + return isUnread status
2016-02-03 09:00:32 +01:00
Robin Appelman 8a30058f52 filter invalid storages from the mount cache early 2016-02-02 18:10:13 +01:00
Arthur Schiwon 064b96ec1c update routine was lacking where statements 🙈 2016-02-02 14:30:35 +01:00
Roeland Jago Douma dc32f49c6e [Share 2.0] Use GenericShareException 2016-02-02 14:23:45 +01:00
Roeland Jago Douma 4d7130ad31 [Share 2.0] Add exceptions to OCP 2016-02-02 14:07:11 +01:00
Thomas Müller ce053b9808 Merge pull request #22013 from owncloud/share2_moveshare
[Share 2.0] Allow moving of shares
2016-02-02 13:34:50 +01:00