Commit Graph

1600 Commits

Author SHA1 Message Date
Lukas Reschke 7b3f736300 Use proper namespace 2015-01-05 09:54:14 +01:00
Lukas Reschke 0ed00bca43 Use namespace 2015-01-05 09:54:14 +01:00
Lukas Reschke 556c9b6f46 Write unit-tests and use DI 2015-01-05 09:54:12 +01:00
Tom Needham dc85c20b18 Add provisioning_api app
enable unit tests for provisioning api

fix admin docu key
2014-12-24 22:15:20 +01:00
Thomas Müller 40330bf492 Merge pull request #12830 from owncloud/intelligent-container
Intelligent container
2014-12-23 15:36:55 +01:00
Morris Jobke 6fd1a9563e add proper prefix for migration tests 2014-12-23 11:05:53 +01:00
Bernhard Posselt f195123765 Intelligent container
* resolves dependencies by type hint or variable name
* simpler route.php
* implementation of https://github.com/owncloud/core/issues/12829

Generates and injects parameters automatically. You can now build full classes like

    $c->query('MyClassName')

without having to register it as a service. The resolved object's instance will be saved by using registerService. If a constructor parameter is not type hinted, the parameter name will be taken.

Therefore the following two implementations are identical:

    class Class1 { function __construct(MyClassName $class)
    class Class1 { function __construct($MyClassName)

This makes it possible to also inject primitive values such as strings, arrays etc.

In addition if the query could not be resolved, a `QueryException` is now thrown

Routes can now be returned as an array from `routes.php` and an `appinfo/application.php` is optional

Old commit messages:

make it possible to return the routes instead of having to intialize the application
try to get the controller by convention
add first implementation of automatic resolve
add another test just to be sure
store the resolved object
more tests
add phpdoc to public app.php method
use the same variable for the public app.php method
deprecate old methods and add services for public interfaces
deprecated getServer method
disallow private api injection for apps other than core or settings (settings should be an app goddamnit :D)
register userid because its such an often used variable
fix indention and leading slash
use test namespace
add deprecation reasons, remove private api usage checks and remove deprecation from getServer()
add additional public interfaces
add public interface for rootfolder
fix syntax error
remove deprecation from methods where no alternative is there yet
remove deprecated from method which has no alternative
add timezone public service for #12881
add another deprecation hint
move deprecation into separate branch
remove dead comment
first try to get the namespace from the info.xml, if it does not exist, just uppercase the first letter
also trim the namespace name
add an interface for timefactory
move timefactory to public and add icontrollermethodreflector
keep core interface
fix copyright date in headers
2014-12-23 09:50:42 +01:00
Andreas Fischer 4569953e5c Clean up test table in Connection Test to prevent unnecessary failures. 2014-12-23 01:01:58 +01:00
Thomas Müller fe6f4a1404 Merge pull request #11810 from owncloud/hhvm-autotest
Adding autotest-hhvm.sh [WIP]
2014-12-22 14:12:03 +01:00
Andreas Fischer 91e03f5845 Properly call parent::tearDown() in MDB2SchemaManager::tearDown().
The early return introduced by 04c982a96e
prevents parent::tearDown() being called on Oracle.
2014-12-20 15:30:35 +01:00
Bjoern Schiessle 24993280ed Next step in server-to-server sharing next generation, see #12285
Beside some small improvements and bug fixes this will probably the final state for OC8.

To test this you need to set up two ownCloud instances. Let's say:

URL: myPC/firstOwnCloud user: user1
URL: myPC/secondOwnCloud user: user2
Now user1 can share a file with user2 by entering the username and the URL to the second ownCloud to the share-drop-down, in this case "user2@myPC/secondOwnCloud".

The next time user2 login he will get a notification that he received a server-to-server share with the option to accept/decline it. If he accept it the share will be mounted. In both cases a event will be send back to user1 and add a notification to the activity stream that the share was accepted/declined.

If user1 decides to unshare the file again from user2 the share will automatically be removed from the second ownCloud server and user2 will see a notification in his activity stream that user1@myPC/firstOwnCloud has unshared the file/folder from him.
2014-12-19 15:20:24 +01:00
Thomas Müller 2d64797320 Merge pull request #12956 from owncloud/jenkins-user-backend-names
[jenkins only] introduce names for user backends - IUserBackend
2014-12-19 13:15:50 +01:00
Morris Jobke 6da33e1ea7 introduce names for user backends - IUserBackend
* LDAP with multiple servers also proved backendName
2014-12-19 10:17:17 +01:00
Thomas Müller 995f01fa2a Merge pull request #12921 from owncloud/user-mail-user-management
Mail address of users is now changable in the user management
2014-12-19 09:51:18 +01:00
Morris Jobke 39d6ddd38a Merge pull request #12865 from owncloud/files-tags-webdav
Returns tags through WebDAV
2014-12-19 09:33:28 +01:00
Andreas Fischer 48d6724a6f HHVM sets stream meta datum wrapper_type to 'File' instead of 'user-space'. 2014-12-19 00:58:37 +01:00
Morris Jobke 114a6464e8 Merge pull request #12748 from owncloud/redis_cache
Add Redis cache implementation, prefer over memcached, tests & config sample doc
2014-12-19 00:26:25 +01:00
Morris Jobke 75e8b39826 Merge pull request #12879 from owncloud/mountconfig
Add mount specific options
2014-12-18 23:38:14 +01:00
Morris Jobke 5913af8a72 Mail address of users is now changable in the user management
* introduced new route settings/users/{id}/mailAddress
* kept old responses
* better error messages
* dropped lostpassword.php from settings/ajax
* cleaned up the UserList.add() and hand in user object instead of
  each attribute as another parameter
* check for change permission of mail address
* proper response messages
2014-12-18 22:43:09 +01:00
Thomas Müller 5327b80430 Merge pull request #12870 from owncloud/send-mail-new-user
Send mail for new users
2014-12-18 22:32:37 +01:00
Thomas Müller 0132a619e7 Merge pull request #12168 from owncloud/docker-webdav
Setup a docker container that holds a webdav instance to test files_exte...
2014-12-17 22:12:01 +01:00
Morris Jobke 7c1b9aedd5 Setup a docker container that holds a webdav instance to test files_external
document docker parameter and use random host port
fix typo
copy autotest.sh to autotest-external.sh
adds ability to add start* and stop* scripts in env in external tests
run files_external WebDAV tests against ownCloud instance
introduce executor number to be able to shut down the correct docker container
fetch docker images in advance - this also fetches latest versions of the docker images
add second argument to autotest-external.sh which can specify a single test to run
print out the explicit test run
change naming schema of files_external setup scripts
2014-12-17 21:50:35 +01:00
Bernhard Posselt 6779bf113d add isAdmin and isInGroup methods for the group manager 2014-12-17 17:41:57 +01:00
Bernhard Posselt 0f535e3866 fix tests 2014-12-17 17:40:52 +01:00
Bernhard Posselt 0939c3147e use two tests instead of one 2014-12-17 17:40:52 +01:00
Bernhard Posselt 236632702c add a isLoggedIn method to the usersession and deprecate the isLoggedIn method on the api 2014-12-17 17:40:52 +01:00
Vincent Petry 0b3f0716fc Returns and update tags through WebDAV PROPFIND and PROPPATCH
Added oc:tags and oc:favorites in PROPFIND response.
It is possible to update them with PROPPATCH.
These properties are optional which means they need to be requested
explicitly
2014-12-17 16:50:35 +01:00
Robin Appelman fd85424742 Add getMountPoint to FileInfo 2014-12-17 14:03:50 +01:00
Morris Jobke 04e172c2ce add unit tests for new user create mail 2014-12-16 17:54:30 +01:00
Joas Schilling 26100a6dfb Move timezone logic out of server.php 2014-12-16 16:16:22 +01:00
Morris Jobke eb97bb5617 Merge pull request #12846 from owncloud/fix-searchbytags-test
Sort results to make sure assert work on consistent order
2014-12-15 13:23:59 +01:00
Bernhard Posselt be45366013 Merge pull request #12625 from owncloud/app-dependencies-libs-and-commands
adding dependencies for command line tools and php libraries
2014-12-15 12:34:46 +01:00
Vincent Petry 5007289422 Sort results to make sure assert work on consistent order 2014-12-15 11:32:32 +01:00
Morris Jobke efb495b09f Merge pull request #12726 from owncloud/add-filter-for-backend-to-rest-index
Add filter for backend to rest index
2014-12-13 08:50:15 +01:00
Lukas Reschke d5b26e682c Use array key instead of value 2014-12-12 16:42:25 +01:00
Vincent Petry c7ce3b84f0 Merge pull request #12806 from owncloud/display-backend-in-usermgnt
Show user backend in user management
2014-12-12 16:23:39 +01:00
Vincent Petry 4b57892c4e Merge pull request #12778 from owncloud/searchbytags2
Added searchByTags to view, storage and cache
2014-12-12 14:27:19 +01:00
Morris Jobke 04aaa72810 Show user backend in user management
* add switch to settings to show user backend
* user classes for headers and rows to unify the show/hide statement
* add user backend to response of user create request
* proper markup in settings area
2014-12-12 14:19:29 +01:00
Thomas Müller 79dfff2b4a adding unit tests for PlatformRepository::normalizeVersion() 2014-12-12 13:33:22 +01:00
Joas Schilling 4f92e4a233 Merge pull request #12808 from owncloud/add-special-parameterlist-to-manager
Add special parameterlist to manager
2014-12-12 13:03:26 +01:00
Lukas Reschke 26b0a89874 Add test for user without backend 2014-12-12 12:39:31 +01:00
Thomas Müller dcb88e395b rework api of DependencyAnalyzer 2014-12-12 12:34:53 +01:00
Vincent Petry 15ecb28d50 Make $userId mandatory for searchByTags
$userId is now a mandatory parameter for searchByTags.

Also fixed some places in the code where the argument was missing (Node
API and View)
2014-12-12 11:18:35 +01:00
Vincent Petry 25dde7e93b Added searchByTags to view, storage and cache 2014-12-11 17:38:50 +01:00
Thomas Müller f1d1714113 fix unit tests 2014-12-11 16:22:30 +01:00
Thomas Müller 6566dc83e7 single dependencies will not be represented as an array + fix unit tests 2014-12-11 15:37:45 +01:00
Joas Schilling e3dfddb48a Add test for getSpecialParameterList() 2014-12-11 15:01:45 +01:00
Morris Jobke 8fd90e04b6 Merge pull request #12781 from owncloud/jenkins-curl-open-basedir
[Jenkins only] curl open basedir
2014-12-11 14:15:24 +01:00
Joas Schilling 17d68e0638 Merge pull request #12780 from owncloud/make-datetimeformattertest-reliable
Use a fixed timestamp so we dont switch days/years with the getTimestampAgo
2014-12-11 14:11:07 +01:00
Joas Schilling affeea8c72 Use a fixed timestamp so we dont switch days/years with the getTimestampAgo 2014-12-11 13:22:05 +01:00
Joas Schilling cbad5c998b Correctly fallback to english, if the plural case is not translated 2014-12-11 12:42:21 +01:00
Vincent Petry 745d8706b9 Add user parameter to tag manager 2014-12-11 12:22:28 +01:00
Thomas Müller 5a03e0a5cf adding dependency to owncloud version - with fallback to requiremin and requiremax 2014-12-11 12:02:12 +01:00
Thomas Müller ee46548f57 adding dependencies for supported platforms 2014-12-11 12:02:12 +01:00
Thomas Müller 770f987659 adding supported libraries - including min and max version 2014-12-11 12:02:11 +01:00
Thomas Müller 08f1db4451 adding dependencies for command line tools 2014-12-11 12:02:11 +01:00
Lukas Reschke 9ea205dc3d Check if open_basedir is set
The file:// protocol does not work with curl when an open_basedir is set.

This fixes https://github.com/owncloud/core/issues/12016
2014-12-11 00:09:55 +01:00
Thomas Müller 6143232da6 Merge pull request #12746 from owncloud/skip-longpath-test-again
skip testLongPath()
2014-12-10 17:22:04 +01:00
Vincent Petry 5101bc54fa Add login/logout to TestCase base class 2014-12-10 16:11:27 +01:00
Robin Appelman 3898fbc0d2 Merge pull request #12750 from owncloud/cache-numericstorageidfix
Fix numeric storage id for cache wrapper
2014-12-10 15:03:41 +01:00
Joas Schilling fd2599cfc2 Merge pull request #12485 from owncloud/jenkins-12383
New DateTimeFormatter class for dates in other timezones and languages
2014-12-10 14:48:59 +01:00
Vincent Petry ebba54d490 Fix numeric storage id for cache wrapper 2014-12-10 13:05:31 +01:00
Jörn Friedrich Dreyer 363e9667ec Add Redis cache implementation, prefer over memcached, tests & config sample 2014-12-10 12:24:20 +01:00
Thomas Müller d648b548eb skip testLongPath() 2014-12-10 12:20:30 +01:00
Lukas Reschke 5dc6406b70 Add filter for 'backend' to user REST route
This adds a "backend" type filter to the index REST route which is a pre-requisite for https://github.com/owncloud/core/issues/12620

For example when calling `index.php/settings/users/users?offset=0&limit=10&gid=&pattern=&backend=OC_User_Database` only users within the backend `OC_User_Database` would be shown. (requires sending a CSRF token as well)

Depends upon https://github.com/owncloud/core/pull/12711
2014-12-10 12:07:34 +01:00
Joas Schilling 4d232e536e Deprecate Util::formatDate()
Make DateTimeFormatter a service and adjust tests that have been inaccurate
2014-12-10 11:58:56 +01:00
Lukas Reschke 5398bbdc00 Merge pull request #12711 from owncloud/add-backend-to-rest-index
Expose backend type via REST API
2014-12-10 11:56:45 +01:00
Thomas Müller 7028c7150d Merge pull request #12664 from owncloud/fix-12164
Use httphelper and cache response even when it is empty
2014-12-10 05:42:08 +01:00
Victor Dubiniuk adab0ca98a Remove leftover 2014-12-10 02:21:10 +03:00
Victor Dubiniuk c9fd3c9d29 Inject config 2014-12-10 01:13:38 +03:00
Morris Jobke 263e008d7b Merge pull request #12695 from owncloud/db-drop-table
Add dropTable to IDBConnection
2014-12-09 18:40:56 +01:00
Robin Appelman b66c0a1631 add unit tests for tableExists and dropTable 2014-12-09 17:26:53 +01:00
Joas Schilling 681caf882a Add sometests and copy tests from Util::formatDate to new class 2014-12-09 16:10:24 +01:00
Joas Schilling f53f25eafe Merge pull request #12409 from owncloud/tags-getTagsForObjectIds
Add getTagsForObjects in ITags
2014-12-09 13:27:38 +01:00
Lukas Reschke 7a290a3d6b Make class compatible 2014-12-09 12:25:22 +01:00
Lukas Reschke 4c13918bd8 Expose backend type via REST API
This change will expose the user backend via the REST API which is a pre-requisite for https://github.com/owncloud/core/issues/12620.

For example:
````json
[{"name":"9707A09E-CA9A-4ABE-A66A-3F632F16C409","displayname":"Document Conversion User Account","groups":[],"subadmin":[],"quota":"default","storageLocation":"\/Users\/lreschke\/Programming\/core\/data\/9707A09E-CA9A-4ABE-A66A-3F632F16C409","lastLogin":0,"backend":"OCA\\user_ldap\\USER_LDAP"},{"name":"ED86733E-745C-4E4D-90CB-278A9737DB3C","displayname":"Hacker","groups":[],"subadmin":[],"quota":"default","storageLocation":"\/Users\/lreschke\/Programming\/core\/data\/ED86733E-745C-4E4D-90CB-278A9737DB3C","lastLogin":0,"backend":"OCA\\user_ldap\\USER_LDAP"},{"name":"71CDF45B-E125-450D-983C-D9192F36EC88","displayname":"admin","groups":[],"subadmin":[],"quota":"default","storageLocation":"\/Users\/lreschke\/Programming\/core\/data\/71CDF45B-E125-450D-983C-D9192F36EC88","lastLogin":0,"backend":"OCA\\user_ldap\\USER_LDAP"},{"name":"admin","displayname":"admin","groups":["admin"],"subadmin":[],"quota":"default","storageLocation":"\/Users\/lreschke\/Programming\/core\/data\/admin","lastLogin":"1418057287","backend":"OC_User_Database"},{"name":"test","displayname":"test","groups":[],"subadmin":[],"quota":"default","storageLocation":"\/Users\/lreschke\/Programming\/core\/data\/test","lastLogin":0,"backend":"OC_User_Database"}]
```
2014-12-09 12:04:19 +01:00
Thomas Müller 5609d421cd Merge pull request #12672 from LEDfan/cm-per-unit
Fix Contactsmanager permission + unit test
2014-12-09 10:57:22 +01:00
Thomas Müller c36bac3abd Merge pull request #12406 from owncloud/drop-getApps-getUsers
Config cleanup - OC_Preferences refactoring
2014-12-09 09:36:38 +01:00
Lukas Reschke 25a87d4058 Merge pull request #12577 from owncloud/public-mount-api
Add a public api for apps to add mounts
2014-12-08 22:57:33 +01:00
Morris Jobke 9a7362dd0d drop unused isDebugMode and setDebugMode of OC_Config 2014-12-08 22:42:44 +01:00
Morris Jobke 0d4f0ab871 reduce OC_Preferences, OC_Config and \OCP\Config usage
* files_encryption
* files_versions
* files_trashbin
* tests
* status.php
* core
* server container
2014-12-08 22:42:37 +01:00
Morris Jobke 2d5fc9c1a6 Workaround to fix the too early init dilemma
* this needs to be properly fixed by a proper organisation of the base.php
* introduced fixDIInit() in AllConfig that moves the injection
  of DatabaseConnection to a later point in time
* problems mostly because of the autoconfig setup
2014-12-08 22:33:36 +01:00
Morris Jobke af91ee97c9 introduce preCondition for setUserValue to provide atomic check-and-update 2014-12-08 22:33:36 +01:00
Morris Jobke f0b10324ca Refactoring of OC_Preferences to AllConfig
* keep old static methods - mapped to new ones and deprecated
* removed deleteApp, getUsers, getApps because they are unused
* make AllConfig unit tests more robust against not cleaned up environments
2014-12-08 22:33:29 +01:00
Morris Jobke a9e411e076 migrate \OC\AllConfig to \OCP\IConfig 2014-12-08 22:29:43 +01:00
Morris Jobke 50c2a819a0 Extract interaction with config.php into SystemConfig
* introduce SystemConfig to avoid DI circle (used by database connection which is itself needed by AllConfig that itself contains the methods to access the config.php which then would need the database connection - did you get it? ;))
* use DI container and use that method in legacy code paths (for easier refactoring later)
* create and use getSystemConfig instead of query() in DI container
2014-12-08 22:29:42 +01:00
Vincent Petry cae600722e Add getTagsForObjects in ITags
Returns the list of tags that are set on the given object ids.
2014-12-08 22:02:00 +01:00
Victor Dubiniuk 81d5712419 Fix tests. Add two more test cases 2014-12-08 22:16:47 +03:00
Lukas Reschke c23957811d React on other statuscodes than 200 2014-12-08 16:35:13 +01:00
Lukas Reschke 8b3e389062 Add statuscodes 2014-12-08 15:32:59 +01:00
LEDfan 3d11e091d9 Mock interface 2014-12-08 13:18:00 +01:00
Lukas Reschke fe7d9a7ca0 Add REST route for user & group management
First step of a somewhat testable user management. - I know, the JSON returns are in an ugly format but the JS expects it that way. So let's keep it that way until we have time to fix the JS in the future.
2014-12-08 12:11:01 +01:00
LEDfan c05ff09651 Use PHPUnit mocks 2014-12-07 14:10:41 +01:00
LEDfan 88ad095cc7 Add unit test for contactsmanager 2014-12-07 08:39:15 +01:00
Victor Dubiniuk 2a3f5ccae3 Test OC\Updater::check 2014-12-06 20:17:59 +03:00
Morris Jobke 4ec1da3014 Merge pull request #12583 from owncloud/trim-port
Trim port from domain
2014-12-05 11:27:20 +01:00
Joas Schilling e81c2a49d1 Merge pull request #12622 from owncloud/disable-for-all
Disable when no sendmail is available
2014-12-05 10:10:43 +01:00
Morris Jobke b6975143ff Merge pull request #12619 from owncloud/use-also-original-hea
Merge headers
2014-12-04 16:59:42 +01:00
Robin Appelman f4701d7721 Add public api for mount configurations 2014-12-04 16:47:27 +01:00
Morris Jobke f3213571bb Merge pull request #12616 from owncloud/node-fileinfo
make \OC\Files\Node\Node implement the FileInfo interface
2014-12-04 16:34:30 +01:00