From 993fea2f05ae300fd1036d2a82ba02413f2649d4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thomas=20M=C3=BCller?= <thomas.mueller@tmit.eu>
Date: Mon, 25 Nov 2013 11:36:33 +0100
Subject: [PATCH] fix appframework routing

---
 lib/private/appframework/app.php                      |  5 ++++-
 .../appframework/routing/routeactionhandler.php       |  2 +-
 lib/public/appframework/app.php                       | 11 +++++++++++
 3 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/lib/private/appframework/app.php b/lib/private/appframework/app.php
index 6d3effbf1f..7d32403a55 100644
--- a/lib/private/appframework/app.php
+++ b/lib/private/appframework/app.php
@@ -44,7 +44,10 @@ class App {
 	 * @param string $methodName the method that you want to call
 	 * @param DIContainer $container an instance of a pimple container.
 	 */
-	public static function main($controllerName, $methodName, IAppContainer $container) {
+	public static function main($controllerName, $methodName, DIContainer $container, array $urlParams = null) {
+		if (!is_null($urlParams)) {
+			$container['urlParams'] = $urlParams;
+		}
 		$controller = $container[$controllerName];
 
 		// initialize the dispatcher and run all the middleware before the controller
diff --git a/lib/private/appframework/routing/routeactionhandler.php b/lib/private/appframework/routing/routeactionhandler.php
index 7fb56f14ea..2b9dc38dc4 100644
--- a/lib/private/appframework/routing/routeactionhandler.php
+++ b/lib/private/appframework/routing/routeactionhandler.php
@@ -37,6 +37,6 @@ class RouteActionHandler {
 	}
 
 	public function __invoke($params) {
-		App::main($this->controllerName, $this->actionName, $params, $this->container);
+		App::main($this->controllerName, $this->actionName, $this->container, $params);
 	}
 }
diff --git a/lib/public/appframework/app.php b/lib/public/appframework/app.php
index 6ac48bf102..1f82f8da88 100644
--- a/lib/public/appframework/app.php
+++ b/lib/public/appframework/app.php
@@ -21,6 +21,7 @@
  */
 
 namespace OCP\AppFramework;
+use OC\AppFramework\routing\RouteConfig;
 
 
 /**
@@ -47,6 +48,16 @@ class App {
 		return $this->container;
 	}
 
+	/**
+	 * This function is to be called
+	 * @param \OC_Router $router
+	 * @param array $routes
+	 */
+	public function registerRoutes($router, $routes) {
+		$routeConfig = new RouteConfig($this->container, $router, $routes);
+		$routeConfig->register();
+	}
+
 	/**
 	 * This function is called by the routing component to fire up the frameworks dispatch mechanism.
 	 *
-- 
GitLab