From b3c272445c8cb53efc950fddccc8a3f2f6a6e428 Mon Sep 17 00:00:00 2001
From: Stein Magne Bjorklund <steinmb@smbjorklund.com>
Date: Fri, 17 Sep 2021 16:53:04 +0200
Subject: [PATCH] Match class and filename allowing autoloader to locate them

- Composer PSR-4 autoloading.
---
 .../{abstractModule.php => AbstractModule.php}        |  1 -
 classes/modules/{adminModule.php => AdminModule.php}  |  2 --
 .../modules/{exportModule.php => ExportModule.php}    |  2 --
 .../{redirectModule.php => RedirectModule.php}        |  2 --
 .../modules/{serviceModule.php => ServiceModule.php}  |  2 --
 .../modules/{sessionModule.php => SessionModule.php}  |  2 --
 ...{sparqlFilterModule.php => SparqlFilterModule.php} |  4 +---
 .../modules/{staticModule.php => StaticModule.php}    |  2 --
 classes/modules/{typeModule.php => TypeModule.php}    |  2 --
 classes/modules/{uriModule.php => UriModule.php}      |  2 --
 index.php                                             | 11 ++---------
 11 files changed, 3 insertions(+), 29 deletions(-)
 rename classes/modules/{abstractModule.php => AbstractModule.php} (99%)
 rename classes/modules/{adminModule.php => AdminModule.php} (99%)
 rename classes/modules/{exportModule.php => ExportModule.php} (99%)
 rename classes/modules/{redirectModule.php => RedirectModule.php} (95%)
 rename classes/modules/{serviceModule.php => ServiceModule.php} (99%)
 rename classes/modules/{sessionModule.php => SessionModule.php} (98%)
 rename classes/modules/{sparqlFilterModule.php => SparqlFilterModule.php} (98%)
 rename classes/modules/{staticModule.php => StaticModule.php} (99%)
 rename classes/modules/{typeModule.php => TypeModule.php} (99%)
 rename classes/modules/{uriModule.php => UriModule.php} (99%)

diff --git a/classes/modules/abstractModule.php b/classes/modules/AbstractModule.php
similarity index 99%
rename from classes/modules/abstractModule.php
rename to classes/modules/AbstractModule.php
index 9a59faca..042111ee 100644
--- a/classes/modules/abstractModule.php
+++ b/classes/modules/AbstractModule.php
@@ -5,6 +5,5 @@ namespace uib\ub\loadspeakr\modules;
 abstract class AbstractModule
 {
     abstract protected function match($uri);
-
     abstract protected function execute($params);
 }
diff --git a/classes/modules/adminModule.php b/classes/modules/AdminModule.php
similarity index 99%
rename from classes/modules/adminModule.php
rename to classes/modules/AdminModule.php
index 132520a2..981bc2ea 100644
--- a/classes/modules/adminModule.php
+++ b/classes/modules/AdminModule.php
@@ -7,8 +7,6 @@ use uib\ub\loadspeakr\Endpoint;
 use uib\ub\loadspeakr\HTTPStatus;
 use uib\ub\loadspeakr\Utils;
 
-require_once('abstractModule.php');
-
 class AdminModule extends abstractModule
 {
     //Service module
diff --git a/classes/modules/exportModule.php b/classes/modules/ExportModule.php
similarity index 99%
rename from classes/modules/exportModule.php
rename to classes/modules/ExportModule.php
index 74127f92..48e9269d 100644
--- a/classes/modules/exportModule.php
+++ b/classes/modules/ExportModule.php
@@ -4,8 +4,6 @@ namespace uib\ub\loadspeakr\modules;
 
 use ARC2;
 
-require_once('abstractModule.php');
-
 class ExportModule extends abstractModule
 {
     private $serialization;
diff --git a/classes/modules/redirectModule.php b/classes/modules/RedirectModule.php
similarity index 95%
rename from classes/modules/redirectModule.php
rename to classes/modules/RedirectModule.php
index c0175dbb..6a3ebbf7 100644
--- a/classes/modules/redirectModule.php
+++ b/classes/modules/RedirectModule.php
@@ -4,8 +4,6 @@ namespace uib\ub\loadspeakr\modules;
 
 use uib\ub\loadspeakr\MetaDb;
 
-require_once('abstractModule.php');
-
 class RedirectModule extends abstractModule
 {
     public function match($uri)
diff --git a/classes/modules/serviceModule.php b/classes/modules/ServiceModule.php
similarity index 99%
rename from classes/modules/serviceModule.php
rename to classes/modules/ServiceModule.php
index 11d222fc..67caf485 100644
--- a/classes/modules/serviceModule.php
+++ b/classes/modules/ServiceModule.php
@@ -8,8 +8,6 @@ use uib\ub\loadspeakr\HTTPStatus;
 use uib\ub\loadspeakr\Logging;
 use uib\ub\loadspeakr\Utils;
 
-require_once('abstractModule.php');
-
 class ServiceModule extends abstractModule
 {
     public function match($uri)
diff --git a/classes/modules/sessionModule.php b/classes/modules/SessionModule.php
similarity index 98%
rename from classes/modules/sessionModule.php
rename to classes/modules/SessionModule.php
index f2552529..c029512c 100644
--- a/classes/modules/sessionModule.php
+++ b/classes/modules/SessionModule.php
@@ -4,8 +4,6 @@ namespace uib\ub\loadspeakr\modules;
 
 use uib\ub\loadspeakr\HTTPStatus;
 
-require_once('abstractModule.php');
-
 class SessionModule extends abstractModule
 {
     //Session module
diff --git a/classes/modules/sparqlFilterModule.php b/classes/modules/SparqlFilterModule.php
similarity index 98%
rename from classes/modules/sparqlFilterModule.php
rename to classes/modules/SparqlFilterModule.php
index 281188a7..10a5ff87 100644
--- a/classes/modules/sparqlFilterModule.php
+++ b/classes/modules/SparqlFilterModule.php
@@ -10,9 +10,7 @@ use uib\ub\loadspeakr\MetaDb;
 use uib\ub\loadspeakr\Queries;
 use uib\ub\loadspeakr\Utils;
 
-require_once('abstractModule.php');
-
-class sparqlFilterModule extends abstractModule
+class SparqlFilterModule extends abstractModule
 {
     public function match($uri)
     {
diff --git a/classes/modules/staticModule.php b/classes/modules/StaticModule.php
similarity index 99%
rename from classes/modules/staticModule.php
rename to classes/modules/StaticModule.php
index afced476..92833e0d 100644
--- a/classes/modules/staticModule.php
+++ b/classes/modules/StaticModule.php
@@ -6,8 +6,6 @@ use uib\ub\loadspeakr\HTTPStatus;
 use uib\ub\loadspeakr\Logging;
 use uib\ub\loadspeakr\Utils;
 
-require_once('abstractModule.php');
-
 class StaticModule extends abstractModule
 {
     public function match($uri)
diff --git a/classes/modules/typeModule.php b/classes/modules/TypeModule.php
similarity index 99%
rename from classes/modules/typeModule.php
rename to classes/modules/TypeModule.php
index cc362a71..4b52cc33 100644
--- a/classes/modules/typeModule.php
+++ b/classes/modules/TypeModule.php
@@ -9,8 +9,6 @@ use uib\ub\loadspeakr\MetaDb;
 use uib\ub\loadspeakr\Queries;
 use uib\ub\loadspeakr\Utils;
 
-require_once('abstractModule.php');
-
 class TypeModule extends abstractModule
 {
     public function match($uri)
diff --git a/classes/modules/uriModule.php b/classes/modules/UriModule.php
similarity index 99%
rename from classes/modules/uriModule.php
rename to classes/modules/UriModule.php
index 2508d7d9..b0c778e7 100644
--- a/classes/modules/uriModule.php
+++ b/classes/modules/UriModule.php
@@ -9,8 +9,6 @@ use uib\ub\loadspeakr\MetaDb;
 use uib\ub\loadspeakr\Queries;
 use uib\ub\loadspeakr\Utils;
 
-require_once('abstractModule.php');
-
 class UriModule extends abstractModule
 {
     public function match($uri)
diff --git a/index.php b/index.php
index 99d9d9cb..7fafc57a 100644
--- a/index.php
+++ b/index.php
@@ -68,16 +68,9 @@ $uri = Utils::getMirroredUri($localUri);
 
 // Load Loadspeakr modules.
 foreach ($conf['modules']['available'] as $i) {
-    $className = $i . 'Module';
+    $className = ucfirst($i) . 'Module';
     $currentModule = $conf['modules']['directory'] . $className . '.php';
-
-    if (!is_file($currentModule)) {
-        HTTPStatus::send500('<br/>Can\'t load or error in module <pre>' . $currentModule . '</pre>');
-        exit(1);
-    }
-
-    require_once($currentModule);
-    $namespacedClassName = 'uib\ub\loadspeakr\modules\\' . ucfirst($className);
+    $namespacedClassName = 'uib\ub\loadspeakr\modules\\' . $className;
     $module = new $namespacedClassName();
     $matching = $module->match($uri);
 
-- 
GitLab