Commit graph

1626 commits

Author SHA1 Message Date
Christoph Wurst
e93bf80b29
throw SessionNotAvailableException if session_id returns empty string 2016-04-26 14:51:21 +02:00
Morris Jobke
6d62a74d7e Merge pull request #24199 from owncloud/ocp-repair
Introduce OCP\Migration\IRepairStep and adopt all repair steps to thi…
2016-04-26 08:47:04 +02:00
Thomas Müller
f6e1b43a38 Merge pull request #22648 from owncloud/propagate-single
do propagation in a single query
2016-04-25 23:01:45 +02:00
Robin Appelman
dbfdc6282a
do propagation in a single query 2016-04-25 16:18:59 +02:00
Joas Schilling
a18c8a7da0
Fix the syntax and methods in the sample 2016-04-25 16:03:20 +02:00
Thomas Müller
c7542c02db
Introduce OCP\Migration\IRepairStep and adopt all repair steps to this new interface - refs #24198 2016-04-25 15:01:13 +02:00
Christoph Wurst
0d53e86421
add ISession::getId() wrapper for session_id 2016-04-25 10:36:24 +02:00
Roeland Jago Douma
4eebccd81f
Fix inconsistent nameing of AppFramework 2016-04-22 16:00:00 +02:00
Thomas Müller
a061ef75ea Merge pull request #24127 from owncloud/handle-app-loading-error
Handle app loading error
2016-04-20 22:41:02 +02:00
Thomas Müller
cd01c440a0 Merge pull request #23919 from owncloud/cyclyc-share-dep-example
SharedStorage to new sharing code + cleanup
2016-04-20 20:37:27 +02:00
Thomas Müller
069af51dd0 With PHP7 Throwable is the new base interface for all Exception and Error - we should be capable to log Throwable as well 2016-04-20 17:56:08 +02:00
Thomas Müller
5b2ef92eb2 Merge pull request #24004 from owncloud/dont-transfer-files-to-not-ready-user
Introduce isReadyForUser and verify in file transfer ownership
2016-04-19 15:56:47 +02:00
Robin Appelman
2f1c62ce0b
Only construct the storage when we start using it 2016-04-19 14:04:00 +02:00
Thomas Müller
1773dcbef2 Merge pull request #23973 from owncloud/share_move_post_delete_from_group_hook
Move post_removeFromGroup to shareManager
2016-04-19 06:59:58 +02:00
Lukas Reschke
8222ad5157
Move logout to controller
Testable code. Yay.
2016-04-18 21:21:52 +02:00
Thomas Müller
50e20e531e
Introduce isReadyForUser and verify in file transfer ownership - fixes #23786 2016-04-15 15:07:40 +02:00
Roeland Jago Douma
6144ced7a0
Move post_removeFromGroup to shareManager
The last sharing hook to be moved over.

* Added unit tests
* Removed old tests that relied on old behaviour
* Removed old hooks.php
2016-04-13 15:00:12 +02:00
Roeland Douma
495a964ca2 Migrate post_groupDelete hook to share manager (#23841)
The hook now calls the share manager that will call the responsible
shareProvider to do the proper cleanup.

* Unit tests added

Again nothing should change it is just to cleanup old code
2016-04-12 09:46:25 +02:00
Stefan Weil
b1a856d7b7 lib: Fix typos (found by codespell)
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-04-07 19:51:27 +02:00
Joas Schilling
0de15a86f0 Merge pull request #23773 from owncloud/share_move_delete_user_hook
Migrate post_userDelete hook to share manager
2016-04-07 13:01:10 +02:00
Thomas Müller
64d400b5df Prevent null to be passed into the closure of callForAllUsers 2016-04-05 10:26:04 +02:00
Roeland Jago Douma
e0cee43cf0 Migrate post_userDelete hook to share manager
This makes the post_userDelete hook call the sharemanager. This will
cleanup to and from this user.

* All shares owned by this user
* All shares with this user (user)
* All custom group shares
* All link share initiated by this user (to avoid invisible link shares)

Unit tests are added for the defaultshare provider as well as the
federated share provider
2016-04-04 14:15:38 +02:00
Bernhard Posselt
4887f0f9b5 Add better messages for sometimes obscure exceptions
* add better messages for sometimes obscure exceptions

* fix formatting
2016-04-04 10:55:46 +02:00
Morris Jobke
902abe33f5 Merge pull request #23676 from owncloud/handle-null-return-getAppInfo
Properly handle return values of OC_App::getAppInfo()
2016-03-31 22:21:50 +02:00
Morris Jobke
f5beeec833 Properly handle return values of OC_App::getAppInfo()
* fixes #23668
2016-03-30 23:29:26 +02:00
Roeland Jago Douma
d883b877d1 Move OCP\Share over to PSR-4
Touching the code so moving it over to PSR-4
2016-03-30 22:55:03 +02:00
Roeland Jago Douma
2f4294e781 Add setId and setProviderID to the public interface
Fixes #23337

We only allow the id to be set once!
2016-03-30 22:55:03 +02:00
Joas Schilling
c0858f42aa Allow the activity app to set the current user when sending emails 2016-03-24 09:36:44 +01:00
Thomas Müller
640e6351f1 Merge pull request #23485 from owncloud/composer_allow_ocp
Allow OCP classes to be PSR-4 as well
2016-03-22 21:28:45 +01:00
Roeland Jago Douma
195efc12eb Add config to sharemanager 2016-03-22 17:13:34 +01:00
Roeland Jago Douma
5b78c604b5 Move IServerContainter to PSR-4 2016-03-22 16:39:19 +01:00
Morris Jobke
0864851001 Replace unneded OC::needUpgrade with OCP method 2016-03-14 10:10:29 +01:00
Roeland Jago Douma
b8ce9c5554 Use more generic node instead of File/Folder
The phpdoc for the sharing functions was very restrictive. As a
consequence passing node object (for example from the OCS Share API
where we don't really care if it is a file or folder), would actually
be invalid.

With this loser restriction the interfaces become more generic.
2016-03-11 08:51:07 +01:00
Roeland Jago Douma
e6712c47a6 Fix some scrutinizer warning in the sharing code
* Better phpdoc
* Promper use statements
* Unused parameter
2016-03-10 21:35:22 +01:00
Robin Appelman
02635c6f2f Add locking to the node api 2016-03-03 13:47:00 +01:00
Lukas Reschke
c353d51810 Remove Scrutinizer Auto Fixer 2016-03-01 17:48:23 +01:00
Lukas Reschke
c430f5ba53 Map Maci 2016-03-01 17:45:05 +01:00
Lukas Reschke
933f60e314 Update author information
Probably nice for the people that contributed to 9.0 to see themselves in the AUTHORS file :)
2016-03-01 17:25:15 +01:00
Thomas Müller
3adb6ae0f5 Merge pull request #22707 from owncloud/use-our-public-api
Use IQueryBuilder::PARAM_* instead of \PDO::PARAM_*
2016-03-01 07:24:57 +01:00
Joas Schilling
a1c02a0567 Fix since version 2016-02-29 11:02:10 +01:00
Joas Schilling
2a0cda74d4 Use IQueryBuilder::PARAM_* instead of \PDO::PARAM_* 2016-02-29 09:44:40 +01:00
Thomas Müller
9a0950f10b Merge pull request #22569 from owncloud/issue-22566-too-much-mapping-entries
Allow defining a limit and offset for getObjectIdsForTags
2016-02-23 15:02:08 +01:00
Thomas Müller
fae6643e6d Merge pull request #22582 from owncloud/case-insensitive-contact-search
Case insensitive contact search
2016-02-23 10:48:38 +01:00
Joas Schilling
fb8b34bdd0 Allow defining a limit and offset for getObjectIdsForTags 2016-02-23 09:04:15 +01:00
Thomas Müller
83d5080e78 Merge pull request #22581 from owncloud/fix_interface
since 9.0 we have a additional parameter $position used for integrity…
2016-02-22 20:20:33 +01:00
Thomas Müller
4537eaac41 Add ILIKE support to querybuilder 2016-02-22 19:46:37 +01:00
Bjoern Schiessle
33ec70d57e since 9.0 we have a additional parameter $position used for integrity checks 2016-02-22 18:25:01 +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
8756a22c60 Fix more things 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
v1r0x
534071f4b2 set correct http status code
Was intended to respond with a 303 (See other) status code instead of 307 (Temporary Redirect).
2016-02-18 11:56:09 +01:00
Roeland Jago Douma
6bd0d51b2a More characters are allowed on POSIX systems 2016-02-12 07:49:31 +01:00
Thomas Müller
8b165c5ed5 No longer evaluate appinfo/version 2016-02-10 17:24:14 +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
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
Arthur Schiwon
bbc86e0756 on DAV throw Bad Request if provided message is too long 2016-02-09 13:59:13 +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
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
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
Thomas Müller
acc7d63a69 Merge pull request #22164 from owncloud/files_external-verify
Add occ command to verify storage configurations
2016-02-08 15:21:07 +01:00
Roeland Jago Douma
1e8e00c541 Add proper throw tags to File 2016-02-08 14:44:26 +01:00
Robin Appelman
b95e388526 Add occ command to verify storage configurations 2016-02-08 14:07:58 +01:00
Roeland Jago Douma
a506f9ca3f Respect not allowing outgoing shares 2016-02-08 11:30:48 +01:00
Roeland Jago Douma
8486d61764 getSharesBy should also expire link shares 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
Thomas Müller
6ccd5ecb07 Merge pull request #22169 from owncloud/cache-interface-fixes
Cache interface cleanup/phpdoc
2016-02-05 18:09:19 +01:00
Robin Appelman
282c1cb24f remove unused Storage->search 2016-02-05 17:52:37 +01:00
Robin Appelman
559189cf47 additional phpdoc for search 2016-02-05 17:52:19 +01:00
Robin Appelman
615f0f5499 add deprecation notice to search methods 2016-02-05 17:46:43 +01:00
Robin Appelman
fb76d7de69 remove unused Storage->getLocalFolder 2016-02-05 16:48: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
Joas Schilling
97b907335a Dispatch an event when a console command is run 2016-02-05 12:24:54 +01:00
Joas Schilling
e86dcdacc8 Dispatch events when adding, updating and deleting comments 2016-02-05 11:30:53 +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
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
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
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
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
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
Thomas Müller
2d1d89ee29 Merge pull request #22049 from owncloud/issue-22041-activities-for-systemtags
Issue 22041 activities for systemtags
2016-02-02 13:08:01 +01:00
Roeland Jago Douma
2316cb1f8b [Share 2.0] Allow moving of shares
* Only recipient can move a share
* Unit tests
2016-02-02 11:34:52 +01:00
Roeland Jago Douma
403547f0ea [Share 2.0] Allow recipient to be passed in to getShareById
* This allows us to retrieve usergroup shares for a given id.
  If the user deleted a share or moved it this will be a different share
2016-02-02 10:41:57 +01:00
Joas Schilling
d5126b1ad4 Dispatch events when tags are added/updated/deleted 2016-02-02 09:57:42 +01:00
Joas Schilling
591613fce2 Dispatch some events when tags are un-/assigned 2016-02-02 09:57:42 +01:00
Thomas Müller
b4853f3fce Merge pull request #21967 from owncloud/comments-webdav
Comments WebDAV adjustements
2016-02-01 16:17:45 +01:00
Thomas Müller
32067ac49b Merge pull request #21989 from owncloud/make-csp-modifiable
Add public API to give developers the possibility to adjust the global CSP defaults
2016-02-01 10:10:40 +01:00
Thomas Müller
a025b2865f Merge pull request #22022 from owncloud/share_ocs_filter_path_sharedwithme
Add path filter to OCS Share API shared_with_me=true
2016-02-01 09:00:31 +01:00
Thomas Müller
5f4b204a49 Merge pull request #22012 from owncloud/storagenotavailableexception-code
Default to STATUS_ERROR in StorageNotAvailableException
2016-02-01 09:00:14 +01:00
Thomas Müller
67bf225fbe Merge pull request #21956 from owncloud/cross-cache-move
Add fallback moveFromCache implementation
2016-01-29 17:03:16 +01:00
Roeland Jago Douma
a24e7f6558 Add path filter to OCS Share API ?shared_with_me=true
This allows all clients to quickly get the share info for a given path.
Instead of returning everything and filtering it then manually on the
client side.
2016-01-29 15:36:23 +01:00
Arthur Schiwon
01cdc70f9c introduce comments read marke tables, comes with user cleanup after deletion 2016-01-29 13:08:02 +01:00
Arthur Schiwon
d2882b9021 Comments WebDAV adjustements 2016-01-29 13:08:02 +01:00
Robin Appelman
ec3f6549f6 Add fallback moveFromCache implementation 2016-01-29 13:06:59 +01:00
Robin McCorkell
2abb173599 Default to STATUS_ERROR in StorageNotAvailableException 2016-01-29 11:57:25 +00:00
Joas Schilling
c83b3d6a26 Remove other broken usages in deprecated methods 2016-01-29 08:50:29 +01:00
Lukas Reschke
809ff5ac95 Add public API to give developers the possibility to adjust the global CSP defaults
Allows to inject something into the default content policy. This is for
example useful when you're injecting Javascript code into a view belonging
to another controller and cannot modify its Content-Security-Policy itself.
Note that the adjustment is only applied to applications that use AppFramework
controllers.

To use this from your `app.php` use `\OC::$server->getContentSecurityPolicyManager()->addDefaultPolicy($policy)`,
$policy has to be of type `\OCP\AppFramework\Http\ContentSecurityPolicy`.

To test this add something like the following into an `app.php` of any enabled app:
```
$manager = \OC::$server->getContentSecurityPolicyManager();
$policy = new \OCP\AppFramework\Http\ContentSecurityPolicy(false);
$policy->addAllowedFrameDomain('asdf');
$policy->addAllowedScriptDomain('yolo.com');

$policy->allowInlineScript(false);
$manager->addDefaultPolicy($policy);
$policy = new \OCP\AppFramework\Http\ContentSecurityPolicy(false);
$policy->addAllowedFontDomain('yolo.com');
$manager->addDefaultPolicy($policy);

$policy = new \OCP\AppFramework\Http\ContentSecurityPolicy(false);
$policy->addAllowedFrameDomain('banana.com');
$manager->addDefaultPolicy($policy);
```

If you now open the files app the policy should be:

```
Content-Security-Policy:default-src 'none';script-src yolo.com 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self' data: blob:;font-src yolo.com 'self';connect-src 'self';media-src 'self';frame-src asdf banana.com 'self'
```
2016-01-28 18:36:46 +01:00
Joas Schilling
ef73aedd7e Deprecate the method and warn against using it 2016-01-28 15:40:23 +01:00
Thomas Müller
b7710ab6d7 Merge pull request #21858 from owncloud/getMountsForFileId
add IUserMountCache->getMountsForFileId
2016-01-28 11:20:42 +01:00
Roeland Jago Douma
8d44e537ac [Share 2.0] Remove setId and setProviderId from the interface
Those should only ever be set by the providers
2016-01-28 07:54:16 +01:00
Roeland Jago Douma
34e912ab6b [Share 2.0] Fix interfaces and comments
* Made comments more clear
* Removed unneeded methods
* IShares shareTime is now a proper DateTime object
* IShares getPath -> getNode & setPath -> setNode
* Fix unit tests
2016-01-28 07:54:09 +01:00
Roeland Jago Douma
f2e70441e4 [Share 2.0] Add getShareManager to OCP\IServerContainer 2016-01-27 22:04:37 +01:00
Roeland Jago Douma
357b271cb4 [Share 2.0] Create IManger interface for share manager 2016-01-27 22:04:37 +01:00
Roeland Jago Douma
185b9c6edd [Share 2.0] Move IShare to OCP 2016-01-27 22:04:37 +01:00
Robin Appelman
6682f31074 clean cache interface 2016-01-27 15:51:39 +01:00
Robin Appelman
644a8ab797 add IUserMountCache->getMountsForFileId 2016-01-27 12:53:44 +01:00
Thomas Müller
1594371c8c Merge pull request #21741 from owncloud/l10n-improvements
Move methods to the factory that are not related to translating, but to guessing/finding the language
2016-01-27 09:37:00 +01:00
Joas Schilling
7514695399 Fix Oracle comparisons 2016-01-26 14:56:07 +01:00
Joas Schilling
90ce876378 Adjust comments to the new constants 2016-01-26 14:56:07 +01:00
Joas Schilling
6652a0fb6c Move finding the language files and creating the function out of the object 2016-01-26 14:02:31 +01:00
Joas Schilling
043625ee52 Move findLanguage() and setLanguageFromRequest() to factory 2016-01-26 14:02:31 +01:00
Joas Schilling
29a9306429 Move languageExists() to the factory 2016-01-26 14:02:31 +01:00
Joas Schilling
6aec550d6e Move findAvailableLanguages() to the factory 2016-01-26 14:02:30 +01:00
Thomas Müller
2bafb1c649 Merge pull request #21894 from owncloud/refactor-csrf
Add new CSRF manager for unit testing purposes
2016-01-26 11:36:56 +01:00
Thomas Müller
4c9e328211 Merge pull request #21892 from owncloud/issue-21890-parameters
Add parameters types to IQueryBuilder
2016-01-25 21:13:41 +01:00
Lukas Reschke
a977465af5 Add new CSRF manager for unit testing purposes
This adds a new CSRF manager for unit testing purposes, it's interface is based upon https://github.com/symfony/security-csrf. Due to some of our required custom changes it is however not possible to use the Symfony component directly.
2016-01-25 20:03:40 +01:00
Joas Schilling
c5046fb2a9 Add parameters to public interface 2016-01-25 17:17:20 +01:00
Thomas Müller
728caf13f8 Adding support of -1 as size to be passed into get and getFile 2016-01-25 16:54:40 +01:00
Morris Jobke
75e6734ef4 Remove OC_Helper::imagePath and use the proper public interface 2016-01-24 18:04:20 +01:00
Thomas Müller
7731b29136 Merge pull request #21719 from owncloud/move-notification-api-to-ocp
Move the notification API to public namespace
2016-01-22 16:20:26 +01:00
Thomas Müller
9b4c9a0357 Merge pull request #18531 from owncloud/ext-user-credentials
External storage 'Login credentials' auth mechanism
2016-01-22 13:14:14 +01:00
Joas Schilling
31c5848e51 Allow automatic injection of the Manager 2016-01-22 11:02:40 +01:00
Thomas Müller
1410120758 Merge pull request #20768 from owncloud/mount-cache
cache mountpoints in the db
2016-01-22 11:01:54 +01:00
Joas Schilling
9ea7ae6f87 Adjust the since on the interface 2016-01-22 10:51:36 +01:00
Joas Schilling
ee02165005 Move the notification API to public namespace 2016-01-22 10:32:42 +01:00
Morris Jobke
75ee5a9e9a Fix PHPDoc - @changed is no official tag -> use @since 2016-01-22 08:43:05 +01:00
Thomas Müller
7c7467fe42 Merge pull request #21792 from owncloud/systemtags-managerfactory
Allow custom implementation of system tag managers
2016-01-21 12:13:01 +01:00
Vincent Petry
899f9bd113 Allow custom implementation of system tag managers
Added config.php option to replace the default implementation of system
tag manager and system tag object mapper.

Also adjusted the comments manager factory to inject the server container
2016-01-20 16:36:10 +01:00
Robin Appelman
483c6b68e2 clear mount cache when removing applicables 2016-01-20 16:32:56 +01:00
Robin Appelman
be380accb9 clear mount cache when deleting user 2016-01-20 16:32:56 +01:00
Robin Appelman
99415a9f7f multiple minor fies 2016-01-20 16:32:52 +01:00
Robin Appelman
cf6ee1c866 cache mountpoints in the db 2016-01-20 16:30:22 +01:00
Thomas Müller
aeb89947a2 Introduce IUser::setEMailAddress and add hook mechanism 2016-01-20 14:57:20 +01:00
Robin Appelman
58afddfaa5 allow comparing clob using expressionbuilder->eq if you explicitly say you're comparing strings 2016-01-18 16:03:41 +01:00
Robin McCorkell
da4127d23b Introduce CredentialsManager for storage of credentials in DB
CredentialsManager performs a simple role, of storing and retrieving
encrypted credentials from the database. Credentials are stored by user
ID (which may be null) and credentials identifier. Credentials
themselves may be of any type that can be JSON encoded.

The rationale behind this is to avoid further (mis)use of
oc_preferences, which was being used for all manner of data not related
to user preferences.
2016-01-18 11:10:41 +01:00
Robin McCorkell
88cd615214 Introduce IDBConnection::setValues()
setValues() attempts to insert a new row, or failing that, update an
existing row. The ability to set preconditions is also available.
2016-01-18 11:10:41 +01:00