nextcloud/lib/private
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
..
app HHVM: Call libxml_use_internal_errors() instead of surpressing errors. 2014-12-17 17:00:10 +01:00
appframework Intelligent container 2014-12-23 09:50:42 +01:00
archive Update pear/archive_tar to 1.3.13 2014-10-30 16:10:00 +01:00
backgroundjob Dont try to execute jobs that no longer exist 2014-07-25 18:02:02 +02:00
cache Fix all PHPDoc types and variable names, in /lib 2014-05-13 19:08:14 +01:00
connector/sabre Merge pull request #12865 from owncloud/files-tags-webdav 2014-12-19 09:33:28 +01:00
contacts Replace deprecated constant with new class constant 2014-11-25 16:30:21 +01:00
db Change support message to be more explicit about the enterprise edition 2014-12-20 11:57:15 +01:00
diagnostics Allow adding events that hapend before the event logger was loaded 2014-10-20 13:38:38 +02:00
fileproxy
files add an interface for the root folder so apps have an interface to deal with storage 2014-12-21 20:52:34 +01:00
group add isAdmin and isInGroup methods for the group manager 2014-12-17 17:41:57 +01:00
hooks polish documentation based on scrutinizer patches 2014-02-06 17:02:21 +01:00
l10n Correctly fallback to english, if the plural case is not translated 2014-12-11 12:42:21 +01:00
legacy introduce preCondition for setUserValue to provide atomic check-and-update 2014-12-08 22:33:36 +01:00
log Implement a logger to log to error_log 2014-12-01 21:20:57 +01:00
memcache HHVM: In APC cache clear, only request the cache key in APCIterator. 2014-12-19 03:24:00 +01:00
ocs reduce OC_Preferences, OC_Config and \OCP\Config usage 2014-12-08 22:42:37 +01:00
preview Split bitmap providers into one per file 2014-11-28 09:28:33 +01:00
repair Explicily close the statement cursors 2014-08-20 23:49:15 +02:00
route Intelligent container 2014-12-23 09:50:42 +01:00
search mkae getRelativePath of file search results overwriteable in subclasses 2014-07-14 19:27:10 +02:00
security Next step in server-to-server sharing next generation, see #12285 2014-12-19 15:20:24 +01:00
session Refactor internal session to write directly to $_SESSION 2014-08-30 08:48:13 +00:00
setup Correctly namespace DatabaseSetupException 2014-11-26 12:30:07 +01:00
share Next step in server-to-server sharing next generation, see #12285 2014-12-19 15:20:24 +01:00
tagging PHPDoc fixes as suggested by @MorrisJobke. 2014-10-14 00:06:33 +02:00
template Deprecate Util::formatDate() 2014-12-10 11:58:56 +01:00
user Merge pull request #12969 from owncloud/clarify-docs 2014-12-22 10:01:39 +01:00
vobject
activitymanager.php Allow extensions to specify the list of special parameters 2014-12-11 14:56:46 +01:00
allconfig.php Add type of the variables to the docs 2014-12-10 15:18:06 +01:00
api.php Merge pull request #12918 from owncloud/use-uid-instead-of-login-name 2014-12-19 10:24:52 +01:00
app.php rework api of DependencyAnalyzer 2014-12-12 12:34:53 +01:00
appconfig.php port of #9500 2014-07-08 16:32:01 +02:00
apphelper.php
archive.php Previous commit was not based on master, retry. Removed broken tar cutter, double extensions are not possible in temp files. Added tar support. Fixed extension switch. 2014-08-04 14:10:09 +02:00
arrayparser.php Replace exception with standard exception 2014-11-27 11:10:05 +01:00
avatar.php Use public api for getting l10n 2014-08-31 10:08:22 +02:00
avatarmanager.php Remove all occurences of @brief and @returns from PHPDoc 2014-05-19 17:50:53 +02:00
backgroundjob.php Remove all occurences of @brief and @returns from PHPDoc 2014-05-19 17:50:53 +02:00
cache.php More PHPDoc fixes, using scrutinizer patches as hints 2014-02-28 13:53:41 +01:00
config.php drop unused isDebugMode and setDebugMode of OC_Config 2014-12-08 22:42:44 +01:00
contactsmanager.php Fix permissions 2014-12-06 13:58:10 +01:00
databaseexception.php Correctly namespace and autoload DatabaseException 2014-11-27 11:10:04 +01:00
databasesetupexception.php Correctly namespace DatabaseSetupException 2014-11-26 12:30:07 +01:00
datetimeformatter.php Correctly inject the language into the subcall 2014-12-12 11:00:07 +01:00
datetimezone.php Move timezone logic out of server.php 2014-12-16 16:16:22 +01:00
db.php Add tableExists to public db api 2014-12-09 17:26:53 +01:00
defaults.php Support HTML in logo claim 2014-11-03 21:14:27 +01:00
eventsource.php Explicitly cast id and validate type 2014-09-04 13:26:47 +02:00
filechunking.php Fix PHPdoc in lib/private 2014-04-15 22:55:20 +02:00
fileproxy.php Fix all PHPDoc types and variable names, in /lib 2014-05-13 19:08:14 +01:00
files.php Move constants from GET_TYPE to OC\Files so they can be autoloaded 2014-11-26 12:56:54 +01:00
forbiddenexception.php Cache folder is now configurable 2014-03-24 12:57:11 +01:00
geo.php Remove all occurences of @brief and @returns from PHPDoc 2014-05-19 17:50:53 +02:00
group.php Add REST route for user & group management 2014-12-08 12:11:01 +01:00
helper.php Improve the bitmap and vector mime icons 2014-12-02 21:11:56 +01:00
hintexception.php Do not show exception to the end-user 2014-09-17 13:17:52 +02:00
hook.php Dont connect hooks twice 2014-06-06 09:56:02 +02:00
httphelper.php Next step in server-to-server sharing next generation, see #12285 2014-12-19 15:20:24 +01:00
image.php Do not call filesize(null), this function expects a string. 2014-12-18 20:57:19 +01:00
installer.php Limit blacklist to php files 2014-11-27 20:26:45 +01:00
json.php Use public api for getting l10n 2014-08-31 10:08:22 +02:00
l10n.php Correctly fallback to english, if the plural case is not translated 2014-12-11 12:42:21 +01:00
largefilehelper.php Check if open_basedir is set 2014-12-11 00:09:55 +01:00
log.php Remove changes which were inadvertently pushed to master 2014-12-08 04:03:02 +01:00
mail.php Remove X-Mailer header from mails 2014-08-17 18:55:13 +02:00
mimetypes.list.php New generic class for Imagemagick conversions 2014-10-04 17:50:12 +02:00
naturalsort.php Move NaturalSort_DefaultCollator to its own file 2014-11-27 17:47:21 +01:00
naturalsort_defaultcollator.php Move NaturalSort_DefaultCollator to its own file 2014-11-27 17:47:21 +01:00
navigationmanager.php Remove all occurences of @brief and @returns from PHPDoc 2014-05-19 17:50:53 +02:00
needsupdateexception.php Throw an exception when we try to load an app that needs to be upgraded 2014-08-04 13:41:04 +02:00
notsquareexception.php
ocs.php Remove invalid PHPDoc 2014-09-30 13:46:43 +02:00
ocsclient.php Use function outside of loop 2014-10-24 12:27:53 +02:00
preferences.php introduce preCondition for setUserValue to provide atomic check-and-update 2014-12-08 22:33:36 +01:00
preview.php Allow disabling previews per mount 2014-12-17 14:03:50 +01:00
previewmanager.php Make files non executable 2014-10-24 11:14:51 +02:00
repair.php delete old previews 2014-11-25 15:42:02 +01:00
repairexception.php Added repair step for legacy storages 2014-08-20 23:14:05 +02:00
repairstep.php Added RepairStep interface and default repair step lists 2014-06-12 17:38:26 +02:00
request.php Add workaround for older instances 2014-12-03 21:13:27 +01:00
response.php Allow any outgoing XHR connections 2014-10-30 00:00:40 +01:00
search.php introduce inApps[] filter for search via ajax query, make file results show up in files app only 2014-12-10 15:51:59 +01:00
server.php Next step in server-to-server sharing next generation, see #12285 2014-12-19 15:20:24 +01:00
serviceunavailableexception.php Throw an exception when we try to load an app that needs to be upgraded 2014-08-04 13:41:04 +02:00
setup.php Trim port from domain 2014-12-03 19:59:50 +01:00
subadmin.php Remove all occurences of @brief and @returns from PHPDoc 2014-05-19 17:50:53 +02:00
systemconfig.php Extract interaction with config.php into SystemConfig 2014-12-08 22:29:42 +01:00
tagmanager.php Add user parameter to tag manager 2014-12-11 12:22:28 +01:00
tags.php Fix Undefined variable: result at tags.php#231 2014-12-19 19:44:43 +01:00
template.php Fix extra quotes in custom tags in header 2014-12-18 12:40:08 -03:00
templatelayout.php Inject config 2014-12-10 01:13:38 +03:00
tempmanager.php Add \OC\TempManager to handle creating and cleaning temporary files 2014-10-24 12:18:46 +02:00
updater.php Inject config 2014-12-10 01:13:38 +03:00
urlgenerator.php Introduce app info xml parser including basic unit test - necessary for #10777 2014-11-25 11:53:28 +01:00
user.php Merge pull request #12923 from owncloud/ultra-slim-version-of-incognito-mode 2014-12-19 14:54:11 +01:00
util.php make sure styles and scripts are only loaded once 2014-12-16 18:26:43 +01:00
vobject.php Use function outside of loop 2014-10-24 12:27:53 +02:00