summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2015-08-14 19:51:23 +0200
committerThomas Müller <thomas.mueller@tmit.eu>2015-08-14 19:51:23 +0200
commit72f829eb06a5ccc8e0defed1c4aa13695b7a009f (patch)
tree89ec28b16e13a778573461c6f28c49860606a9d5
parentddc7f668e59223d95cb42e4f0281d5dab5888d79 (diff)
parentdfba425d68f350ec8b7d7aebc8746b98476fb5fc (diff)
downloadnextcloud-server-72f829eb06a5ccc8e0defed1c4aa13695b7a009f.tar.gz
nextcloud-server-72f829eb06a5ccc8e0defed1c4aa13695b7a009f.zip
Merge pull request #18316 from owncloud/event-dispatcher
Event dispatcher
-rw-r--r--apps/files/index.php3
-rw-r--r--lib/private/server.php17
-rw-r--r--lib/public/iservercontainer.php9
3 files changed, 27 insertions, 2 deletions
diff --git a/apps/files/index.php b/apps/files/index.php
index beae585cea4..a73caa50fbe 100644
--- a/apps/files/index.php
+++ b/apps/files/index.php
@@ -143,6 +143,9 @@ OCP\Util::addscript('files', 'fileactionsmenu');
OCP\Util::addscript('files', 'files');
OCP\Util::addscript('files', 'navigation');
OCP\Util::addscript('files', 'keyboardshortcuts');
+
+\OC::$server->getEventDispatcher()->dispatch('OCA\Files::loadAdditionalScripts');
+
$tmpl = new OCP\Template('files', 'index', 'user');
$tmpl->assign('usedSpacePercent', (int)$storageInfo['relative']);
$tmpl->assign('owner', $storageInfo['owner']);
diff --git a/lib/private/server.php b/lib/private/server.php
index 618431ff2d4..89001567219 100644
--- a/lib/private/server.php
+++ b/lib/private/server.php
@@ -51,7 +51,6 @@ use OC\Http\Client\ClientService;
use OC\Lock\MemcacheLockingProvider;
use OC\Lock\NoopLockingProvider;
use OC\Mail\Mailer;
-use OC\Memcache\NullCache;
use OC\Security\CertificateManager;
use OC\Security\Crypto;
use OC\Security\Hasher;
@@ -59,6 +58,8 @@ use OC\Security\SecureRandom;
use OC\Security\TrustedDomainHelper;
use OC\Tagging\TagMapper;
use OCP\IServerContainer;
+use Symfony\Component\EventDispatcher\EventDispatcher;
+use Symfony\Component\EventDispatcher\EventDispatcherInterface;
/**
* Class Server
@@ -457,7 +458,9 @@ class Server extends SimpleContainer implements IServerContainer {
});
return $manager;
});
-
+ $this->registerService('EventDispatcher', function() {
+ return new EventDispatcher();
+ });
}
/**
@@ -963,4 +966,14 @@ class Server extends SimpleContainer implements IServerContainer {
public function getCapabilitiesManager() {
return $this->query('CapabilitiesManager');
}
+
+ /**
+ * Get the EventDispatcher
+ *
+ * @return EventDispatcherInterface
+ * @since 8.2.0
+ */
+ public function getEventDispatcher() {
+ return $this->query('EventDispatcher');
+ }
}
diff --git a/lib/public/iservercontainer.php b/lib/public/iservercontainer.php
index ab1729da255..a6d83156de3 100644
--- a/lib/public/iservercontainer.php
+++ b/lib/public/iservercontainer.php
@@ -39,6 +39,7 @@
// use OCP namespace for all classes that are considered public.
// This means that they should be used by apps instead of the internal ownCloud classes
namespace OCP;
+use Symfony\Component\EventDispatcher\EventDispatcherInterface;
/**
@@ -439,4 +440,12 @@ interface IServerContainer {
*/
public function getMimeTypeDetector();
+
+ /**
+ * Get the EventDispatcher
+ *
+ * @return EventDispatcherInterface
+ * @since 8.2.0
+ */
+ public function getEventDispatcher();
}