2014-03-07 13:20:06 -04:00
|
|
|
<?php
|
2015-03-30 15:02:48 -04:00
|
|
|
register_shutdown_function(
|
|
|
|
|
create_function(
|
|
|
|
|
"",
|
|
|
|
|
"
|
|
|
|
|
if (class_exists(\"Propel\")) {
|
|
|
|
|
Propel::close();
|
|
|
|
|
}
|
|
|
|
|
"
|
|
|
|
|
)
|
|
|
|
|
);
|
|
|
|
|
|
2014-03-10 16:02:09 -04:00
|
|
|
/*
|
|
|
|
|
* ProcessMaker Web Application Bootstrap
|
|
|
|
|
*/
|
2014-06-24 12:12:59 -04:00
|
|
|
if (isset($_SERVER['UNENCODED_URL'])) {
|
|
|
|
|
$_SERVER['REQUEST_URI'] = $_SERVER['UNENCODED_URL'];
|
|
|
|
|
}
|
2014-03-10 16:02:09 -04:00
|
|
|
try {
|
|
|
|
|
$rootDir = realpath(__DIR__ . "/../../") . DIRECTORY_SEPARATOR;
|
|
|
|
|
|
2014-05-28 12:08:00 -04:00
|
|
|
require $rootDir . "framework/src/Maveriks/Util/ClassLoader.php";
|
|
|
|
|
$loader = Maveriks\Util\ClassLoader::getInstance();
|
|
|
|
|
$loader->add($rootDir . 'framework/src/', "Maveriks");
|
|
|
|
|
|
2014-03-10 16:02:09 -04:00
|
|
|
if (! is_dir($rootDir . 'vendor')) {
|
|
|
|
|
if (file_exists($rootDir . 'composer.phar')) {
|
|
|
|
|
throw new Exception(
|
|
|
|
|
"ERROR: Vendors are missing!" . PHP_EOL .
|
|
|
|
|
"Please execute the following command to install vendors:" .PHP_EOL.PHP_EOL.
|
|
|
|
|
"$>php composer.phar install"
|
|
|
|
|
);
|
|
|
|
|
} else {
|
|
|
|
|
throw new Exception(
|
|
|
|
|
"ERROR: Vendors are missing!" . PHP_EOL .
|
|
|
|
|
"Please execute the following commands to prepare/install vendors:" .PHP_EOL.PHP_EOL.
|
|
|
|
|
"$>curl -sS https://getcomposer.org/installer | php" . PHP_EOL .
|
|
|
|
|
"$>php composer.phar install"
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
}
|
2014-03-12 18:20:35 -04:00
|
|
|
$loader->add($rootDir . 'workflow/engine/src/', "ProcessMaker");
|
|
|
|
|
$loader->add($rootDir . 'workflow/engine/src/');
|
2015-03-30 15:02:48 -04:00
|
|
|
|
2014-03-17 09:48:23 -04:00
|
|
|
// add vendors to autoloader
|
2014-03-12 18:20:35 -04:00
|
|
|
$loader->add($rootDir . 'vendor/luracast/restler/vendor', "Luracast");
|
|
|
|
|
$loader->add($rootDir . 'vendor/bshaffer/oauth2-server-php/src/', "OAuth2");
|
2014-03-14 15:33:34 -04:00
|
|
|
$loader->addClass("Bootstrap", $rootDir . 'gulliver/system/class.bootstrap.php');
|
2014-03-12 18:20:35 -04:00
|
|
|
|
2014-03-14 11:57:27 -04:00
|
|
|
$loader->addModelClassPath($rootDir . "workflow/engine/classes/model/");
|
|
|
|
|
|
2014-03-12 18:20:35 -04:00
|
|
|
$app = new Maveriks\WebApplication();
|
2014-03-11 18:05:50 -04:00
|
|
|
|
2014-03-10 16:02:09 -04:00
|
|
|
$app->setRootDir($rootDir);
|
|
|
|
|
$app->setRequestUri($_SERVER['REQUEST_URI']);
|
2014-03-11 18:05:50 -04:00
|
|
|
$stat = $app->route();
|
2014-03-10 16:02:09 -04:00
|
|
|
|
2014-03-11 18:05:50 -04:00
|
|
|
switch ($stat)
|
2014-03-10 16:02:09 -04:00
|
|
|
{
|
2014-03-12 18:20:35 -04:00
|
|
|
case Maveriks\WebApplication::RUNNING_WORKFLOW:
|
2014-03-10 16:02:09 -04:00
|
|
|
include "sysGeneric.php";
|
|
|
|
|
break;
|
2014-03-12 18:20:35 -04:00
|
|
|
|
|
|
|
|
case Maveriks\WebApplication::RUNNING_API:
|
|
|
|
|
$app->run(Maveriks\WebApplication::SERVICE_API);
|
2014-03-10 16:02:09 -04:00
|
|
|
break;
|
2014-03-13 10:23:50 -04:00
|
|
|
|
2014-09-23 15:12:04 -04:00
|
|
|
case Maveriks\WebApplication::RUNNING_OAUTH2:
|
|
|
|
|
$app->run(Maveriks\WebApplication::SERVICE_OAUTH2);
|
|
|
|
|
break;
|
|
|
|
|
|
2014-03-13 10:23:50 -04:00
|
|
|
case Maveriks\WebApplication::RUNNING_INDEX:
|
|
|
|
|
$response = new Maveriks\Http\Response(file_get_contents("index.html"), 302);
|
|
|
|
|
$response->send();
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case Maveriks\WebApplication::RUNNING_DEFAULT:
|
2014-03-17 09:48:23 -04:00
|
|
|
$response = new Maveriks\Http\Response("", 302);
|
|
|
|
|
//TODO compose this def url with configuration data from env.ini
|
|
|
|
|
$response->setHeader("location", "/sys/en/neoclassic/login/login");
|
|
|
|
|
$response->send();
|
2014-03-13 10:23:50 -04:00
|
|
|
break;
|
2014-03-10 16:02:09 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} catch (Exception $e) {
|
2014-03-12 18:20:35 -04:00
|
|
|
$view = new Maveriks\Pattern\Mvc\PhtmlView($rootDir . "framework/src/templates/Exception.phtml");
|
|
|
|
|
$view->set("message", $e->getMessage());
|
|
|
|
|
$view->set("exception", $e);
|
|
|
|
|
|
|
|
|
|
$response = new Maveriks\Http\Response($view->getOutput(), 503);
|
|
|
|
|
$response->send();
|
2014-03-10 16:02:09 -04:00
|
|
|
}
|