HOR-3700-RG

This commit is contained in:
Roly Rudy Gutierrez Pinto
2017-08-16 10:07:09 -04:00
parent 4ae20b78dc
commit b3d0d44aa4
2 changed files with 25 additions and 20 deletions

View File

@@ -414,6 +414,8 @@ class WebApplication
public function loadEnvironment($workspace = "") public function loadEnvironment($workspace = "")
{ {
$this->defineConstantsForPlugin();
define("PATH_SEP", DIRECTORY_SEPARATOR); define("PATH_SEP", DIRECTORY_SEPARATOR);
define("PATH_TRUNK", $this->rootDir . PATH_SEP); define("PATH_TRUNK", $this->rootDir . PATH_SEP);
@@ -453,8 +455,6 @@ class WebApplication
define("PATH_CONTROLLERS", PATH_CORE . "controllers" . PATH_SEP); define("PATH_CONTROLLERS", PATH_CORE . "controllers" . PATH_SEP);
define("PATH_SERVICES_REST", PATH_CORE . "services" . PATH_SEP . "rest" . PATH_SEP); define("PATH_SERVICES_REST", PATH_CORE . "services" . PATH_SEP . "rest" . PATH_SEP);
self::defineConstantsForPlugin();
G::defineConstants(); G::defineConstants();
$arraySystemConfiguration = System::getSystemConfiguration(); $arraySystemConfiguration = System::getSystemConfiguration();
@@ -621,7 +621,7 @@ class WebApplication
* file is not done by 'require' in this version of ProcessMaker. Therefore, * file is not done by 'require' in this version of ProcessMaker. Therefore,
* these definitions have been moved to this class. * these definitions have been moved to this class.
*/ */
public static function defineConstantsForPlugin() public function defineConstantsForPlugin()
{ {
define('G_PLUGIN_CLASS', 1); define('G_PLUGIN_CLASS', 1);
define('PM_CREATE_CASE', 1001); define('PM_CREATE_CASE', 1001);
@@ -646,4 +646,3 @@ class WebApplication
define('PM_SCHEDULER_CREATE_CASE_AFTER', 1020); define('PM_SCHEDULER_CREATE_CASE_AFTER', 1020);
} }
} }

View File

@@ -1,5 +1,10 @@
<?php <?php
use Illuminate\Foundation\Http\Kernel; use Illuminate\Foundation\Http\Kernel;
use Maveriks\WebApplication;
use Maveriks\Http\Response;
use Maveriks\Pattern\Mvc\PhtmlView;
use ProcessMaker\Exception\RBACException;
// Because laravel has a __ helper function, it's important we include the class.g file to ensure our __ is used. // Because laravel has a __ helper function, it's important we include the class.g file to ensure our __ is used.
require_once __DIR__ . '/../../gulliver/system/class.g.php'; require_once __DIR__ . '/../../gulliver/system/class.g.php';
@@ -27,47 +32,48 @@ if (isset($_SERVER['UNENCODED_URL'])) {
try { try {
$rootDir = realpath(__DIR__ . "/../../") . DIRECTORY_SEPARATOR; $rootDir = realpath(__DIR__ . "/../../") . DIRECTORY_SEPARATOR;
$app = new Maveriks\WebApplication(); $app = new WebApplication();
$app->setRootDir($rootDir); $app->setRootDir($rootDir);
$app->setRequestUri($_SERVER['REQUEST_URI']); $app->setRequestUri($_SERVER['REQUEST_URI']);
$stat = $app->route(); $stat = $app->route();
switch ($stat) switch ($stat) {
{ case WebApplication::RUNNING_WORKFLOW:
case Maveriks\WebApplication::RUNNING_WORKFLOW: //TODO: This should be replaced by the 'WebApplication::loadEnvironment()' function,
//the sysGeneric file should no longer define constants.
$app->defineConstantsForPlugin();
include "sysGeneric.php"; include "sysGeneric.php";
break; break;
case Maveriks\WebApplication::RUNNING_API: case WebApplication::RUNNING_API:
$app->run(Maveriks\WebApplication::SERVICE_API); $app->run(WebApplication::SERVICE_API);
break; break;
case Maveriks\WebApplication::RUNNING_OAUTH2: case WebApplication::RUNNING_OAUTH2:
$app->run(Maveriks\WebApplication::SERVICE_OAUTH2); $app->run(WebApplication::SERVICE_OAUTH2);
break; break;
case Maveriks\WebApplication::RUNNING_INDEX: case WebApplication::RUNNING_INDEX:
$response = new Maveriks\Http\Response(file_get_contents("index.html"), 302); $response = new Response(file_get_contents("index.html"), 302);
$response->send(); $response->send();
break; break;
case Maveriks\WebApplication::RUNNING_DEFAULT: case WebApplication::RUNNING_DEFAULT:
$response = new Maveriks\Http\Response("", 302); $response = new Response("", 302);
//TODO compose this def url with configuration data from env.ini //TODO compose this def url with configuration data from env.ini
$response->setHeader("location", "/sys/en/neoclassic/login/login"); $response->setHeader("location", "/sys/en/neoclassic/login/login");
$response->send(); $response->send();
break; break;
} }
} catch (RBACException $e) {
} catch (ProcessMaker\Exception\RBACException $e) {
G::header('location: ' . $e->getPath()); G::header('location: ' . $e->getPath());
} catch (Exception $e) { } catch (Exception $e) {
$view = new Maveriks\Pattern\Mvc\PhtmlView($rootDir . "framework/src/templates/Exception.phtml"); $view = new PhtmlView($rootDir . "framework/src/templates/Exception.phtml");
$view->set("message", $e->getMessage()); $view->set("message", $e->getMessage());
$view->set("exception", $e); $view->set("exception", $e);
$response = new Maveriks\Http\Response($view->getOutput(), 503); $response = new Response($view->getOutput(), 503);
$response->send(); $response->send();
} }