]> git.mxchange.org Git - core.git/blobdiff - inc/includes.php
Some updates:
[core.git] / inc / includes.php
diff --git a/inc/includes.php b/inc/includes.php
new file mode 100644 (file)
index 0000000..e235a9e
--- /dev/null
@@ -0,0 +1,74 @@
+<?php
+/**
+ * Loads more include files by using the generic class loader
+ *
+ * @author             Roland Haeder <webmaster@shipsimu.org>
+ * @version            0.0.0
+ * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2016 Core Developer Team
+ * @license            GNU GPL 3.0 or any newer version
+ * @link               http://www.shipsimu.org
+ * @deprecated
+ * @todo               Minimize these includes
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+// Include the class loader function
+require(FrameworkConfiguration::getSelfInstance()->getConfigEntry('base_path') . 'inc/loader/class_ClassLoader.php');
+
+/*
+ * Shall we include additional configs where you can configure some things?
+ * Then load matching config file.
+ */
+ClassLoader::getSelfInstance()->loadExtraConfigs();
+
+// Register auto-load function with the SPL
+// @TODO This makes the core depending on the SPL. But it should be installed anyway.
+spl_autoload_register('ClassLoader::autoLoad');
+
+// Does the user has an application specified?
+// @TODO Find a nicer OOP-ed way for this
+if (!empty($_GET['app'])) {
+       // Set the application from string
+       $application = (string) $_GET['app'];
+} elseif (!empty($_SERVER['argv'][1])) {
+       // Set the application from string
+       $application = (string) $_SERVER['argv'][1];
+       $app = explode('=', trim($application));
+       if ($app[0] == 'app') {
+               // Application is valid!
+               $application = trim($app[1]);
+       } else {
+               // Invalid entry found, first must be "app"!
+               $application = FrameworkConfiguration::getSelfInstance()->getConfigEntry('default_application');
+       }
+} else {
+       // Set the "application selector" application
+       $application = FrameworkConfiguration::getSelfInstance()->getConfigEntry('default_application');
+}
+
+// Secure it, by keeping out tags
+$application = htmlentities(strip_tags($application), ENT_QUOTES);
+
+// Secure it a little more with a reg.exp.
+$application = preg_replace('/([^a-z0-9_-])+/i', '', $application);
+
+// Set the application name for later usage
+FrameworkConfiguration::getSelfInstance()->setConfigEntry('app_name', $application);
+
+// Scan for all framework classes, exceptions and interfaces
+ClassLoader::scanFrameworkClasses();
+
+// [EOF]
+?>