* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+
+// Get config instance
+$cfg = FrameworkConfiguration::getInstance();
+
// Include the class loader function
-require(sprintf("%sinc/loader/class_ClassLoader%s", PATH, FrameworkConfiguration::getInstance()->readConfig('php_extension')));
+require(sprintf("%sinc/loader/class_ClassLoader%s", PATH, $cfg->readConfig('php_extension')));
+
+// Does the user has an application specified?
+if (!empty($_GET[$cfg->readConfig('app_selector_get')])) {
+ // Set the application from string
+ $application = (string) $_GET[$cfg->readConfig('app_selector_get')];
+} elseif (!empty($_SERVER['argv'][1])) {
+ // Set the application from string
+ $application = (string) $_SERVER['argv'][1];
+ $app = explode('=', trim($application));
+ if ($app[0] == $cfg->readConfig('app_selector_get')) {
+ // Application is valid!
+ $application = trim($app[1]);
+ } else {
+ // Invalid entry found, first must be "app"!
+ $application = $cfg->readConfig('default_application');
+ }
+} else {
+ // Set the "application selector" application
+ $application = $cfg->readConfig('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-z_-])+/i', "", $application);
+
+// Set the application name for later usage
+$cfg->setConfigEntry('app_name', $application);
/**
* Autoload-function