]> git.mxchange.org Git - friendica.git/commitdiff
Move mod/amcd to src/Module/AccMgmtControlDoc
authorPhilipp Holzer <admin@philipp.info>
Tue, 30 Apr 2019 22:32:33 +0000 (00:32 +0200)
committerPhilipp Holzer <admin@philipp.info>
Tue, 30 Apr 2019 22:32:33 +0000 (00:32 +0200)
mod/amcd.php [deleted file]
src/App/Router.php
src/Module/AccMgmtControlDoc.php [new file with mode: 0644]

diff --git a/mod/amcd.php b/mod/amcd.php
deleted file mode 100644 (file)
index ca5aa07..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-function amcd_content()
-{
-       echo <<< JSON
-{
-  "version":1,
-  "sessionstatus":{
-    "method":"GET",
-    "path":"/session"
-  },
-  "auth-methods": {
-    "username-password-form": {
-      "connect": {
-        "method":"POST",
-        "path":"/login",
-        "params": {
-          "username":"login-name",
-          "password":"password"
-        },
-        "onsuccess": { "action":"reload" }
-      },
-      "disconnect": {
-        "method":"GET",
-        "path":"\/logout"
-      }
-    }
-  }
-  "methods": {
-    "username-password-form": {
-      "connect": {
-        "method":"POST",
-        "path":"\/login",
-        "params": {
-          "username":"login-name",
-          "password":"password"
-        },
-        "onsuccess": { "action":"reload" }
-      },
-      "disconnect": {
-        "method":"GET",
-        "path":"\/logout"
-      }
-    }
-  }
-}
-JSON;
-       exit();
-}
index be85fcd9dc33cf49a4c3c9bc1237ca44f3a6e3f1..0785de1b980be327761e81ec1e9ba32fc03ae892 100644 (file)
@@ -1,83 +1,84 @@
-<?php\r
-\r
-namespace Friendica\App;\r
-\r
-\r
-use FastRoute\DataGenerator\GroupCountBased;\r
-use FastRoute\Dispatcher;\r
-use FastRoute\RouteCollector;\r
-use FastRoute\RouteParser\Std;\r
-use Friendica\Module;\r
-\r
-/**\r
- * Wrapper for FastRoute\Router\r
- *\r
- * This wrapper only makes use of a subset of the router features, mainly parses a route rule to return the relevant\r
- * module class.\r
- *\r
- * Actual routes are defined in App->collectRoutes.\r
- *\r
- * @package Friendica\App\r
- */\r
-class Router\r
-{\r
-       /** @var RouteCollector */\r
-       protected $routeCollector;\r
-\r
-       /**\r
-        * Static declaration of Friendica routes.\r
-        *\r
-        * Supports:\r
-        * - Route groups\r
-        * - Variable parts\r
-        * Disregards:\r
-        * - HTTP method other than GET\r
-        * - Named parameters\r
-        *\r
-        * Handler must be the name of a class extending Friendica\BaseModule.\r
-        *\r
-        * @brief Static declaration of Friendica routes.\r
-        */\r
-       public function collectRoutes()\r
-       {\r
-               $this->routeCollector->addRoute(['GET', 'POST'], '/itemsource[/{guid}]', Module\Itemsource::class);\r
-       }\r
-\r
-       public function __construct(RouteCollector $routeCollector = null)\r
-       {\r
-               if (!$routeCollector) {\r
-                       $routeCollector = new RouteCollector(new Std(), new GroupCountBased());\r
-               }\r
-\r
-               $this->routeCollector = $routeCollector;\r
-       }\r
-\r
-       public function getRouteCollector()\r
-       {\r
-               return $this->routeCollector;\r
-       }\r
-\r
-       /**\r
-        * Returns the relevant module class name for the given page URI or NULL if no route rule matched.\r
-        *\r
-        * @param string $cmd The path component of the request URL without the query string\r
-        * @return string|null A Friendica\BaseModule-extending class name if a route rule matched\r
-        */\r
-       public function getModuleClass($cmd)\r
-       {\r
-               $cmd = '/' . ltrim($cmd, '/');\r
-\r
-               $dispatcher = new \FastRoute\Dispatcher\GroupCountBased($this->routeCollector->getData());\r
-\r
-               $moduleClass = null;\r
-\r
-               // @TODO: Enable method-specific modules\r
-               $httpMethod = 'GET';\r
-               $routeInfo = $dispatcher->dispatch($httpMethod, $cmd);\r
-               if ($routeInfo[0] === Dispatcher::FOUND) {\r
-                       $moduleClass = $routeInfo[1];\r
-               }\r
-\r
-               return $moduleClass;\r
-       }\r
-}\r
+<?php
+
+namespace Friendica\App;
+
+
+use FastRoute\DataGenerator\GroupCountBased;
+use FastRoute\Dispatcher;
+use FastRoute\RouteCollector;
+use FastRoute\RouteParser\Std;
+use Friendica\Module;
+
+/**
+ * Wrapper for FastRoute\Router
+ *
+ * This wrapper only makes use of a subset of the router features, mainly parses a route rule to return the relevant
+ * module class.
+ *
+ * Actual routes are defined in App->collectRoutes.
+ *
+ * @package Friendica\App
+ */
+class Router
+{
+       /** @var RouteCollector */
+       protected $routeCollector;
+
+       /**
+        * Static declaration of Friendica routes.
+        *
+        * Supports:
+        * - Route groups
+        * - Variable parts
+        * Disregards:
+        * - HTTP method other than GET
+        * - Named parameters
+        *
+        * Handler must be the name of a class extending Friendica\BaseModule.
+        *
+        * @brief Static declaration of Friendica routes.
+        */
+       public function collectRoutes()
+       {
+               $this->routeCollector->addRoute(['GET', 'POST'], '/itemsource[/{guid}]', Module\Itemsource::class);
+               $this->routeCollector->addRoute(['GET'],         '/amcd',                Module\AccMgmtControlDoc::class);
+       }
+
+       public function __construct(RouteCollector $routeCollector = null)
+       {
+               if (!$routeCollector) {
+                       $routeCollector = new RouteCollector(new Std(), new GroupCountBased());
+               }
+
+               $this->routeCollector = $routeCollector;
+       }
+
+       public function getRouteCollector()
+       {
+               return $this->routeCollector;
+       }
+
+       /**
+        * Returns the relevant module class name for the given page URI or NULL if no route rule matched.
+        *
+        * @param string $cmd The path component of the request URL without the query string
+        * @return string|null A Friendica\BaseModule-extending class name if a route rule matched
+        */
+       public function getModuleClass($cmd)
+       {
+               $cmd = '/' . ltrim($cmd, '/');
+
+               $dispatcher = new \FastRoute\Dispatcher\GroupCountBased($this->routeCollector->getData());
+
+               $moduleClass = null;
+
+               // @TODO: Enable method-specific modules
+               $httpMethod = 'GET';
+               $routeInfo = $dispatcher->dispatch($httpMethod, $cmd);
+               if ($routeInfo[0] === Dispatcher::FOUND) {
+                       $moduleClass = $routeInfo[1];
+               }
+
+               return $moduleClass;
+       }
+}
diff --git a/src/Module/AccMgmtControlDoc.php b/src/Module/AccMgmtControlDoc.php
new file mode 100644 (file)
index 0000000..bc7c8e8
--- /dev/null
@@ -0,0 +1,67 @@
+<?php
+
+namespace Friendica\Module;
+
+use Friendica\BaseModule;
+
+/**
+ * Static definition for the Firefox Account Manager
+ *
+ * @see https://wiki.mozilla.org/Labs/Weave/Identity/Account_Manager/Spec/3#Contents_of_the_Account_Management_Control_Document
+ */
+class AccMgmtControlDoc extends BaseModule
+{
+       public static function rawContent()
+       {
+               parent::rawContent();
+
+               $output = [
+                       'version' => 1,
+                       'sessionstatus' => [
+                               'method' => 'GET',
+                               'path' => '/session',
+                       ],
+                       'auth-methods' => [
+                               'username-password-form' => [
+                                       'connect' => [
+                                               'method' => 'POST',
+                                               'path' => '/login',
+                                               'params' => [
+                                                       'username' => 'login-name',
+                                                       'password' => 'password',
+                                               ],
+                                               'onsuccess' => [
+                                                       'action' => 'reload',
+                                               ],
+                                       ],
+                                       'disconnect' => [
+                                               'method' => 'GET',
+                                               'path' => '/logout',
+                                       ],
+                               ],
+                       ],
+                       'methods' => [
+                               'username-password-form' => [
+                                       'connect' => [
+                                               'method' => 'POST',
+                                               'path' => '/login',
+                                               'params' => [
+                                                       'username' => 'login-name',
+                                                       'password' => 'password',
+                                               ],
+                                               'onsuccess' => [
+                                                       'action' => 'reload',
+                                               ],
+                                       ],
+                                       'disconnect' => [
+                                               'method' => 'GET',
+                                               'path' => '/logout',
+                                       ],
+                               ],
+                       ],
+               ];
+
+               echo json_encode($output);
+               exit();
+       }
+}