SPEEDY first version of boostrap.php, with many changes
This commit is contained in:
@@ -1,14 +1,101 @@
|
|||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* class.util.php
|
* class.bootstrap.php
|
||||||
*
|
*
|
||||||
* @package gulliver.system
|
* @package gulliver.system
|
||||||
*
|
*
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class G
|
class Bootstrap
|
||||||
{
|
{
|
||||||
|
//below here only approved methods
|
||||||
|
|
||||||
|
/*
|
||||||
|
* this function still under revision
|
||||||
|
*/
|
||||||
|
public function getSystemConfiguration ($globalIniFile = '', $wsIniFile = '', $wsName = '')
|
||||||
|
{
|
||||||
|
$readGlobalIniFile = false;
|
||||||
|
$readWsIniFile = false;
|
||||||
|
|
||||||
|
if (empty( $globalIniFile )) {
|
||||||
|
$globalIniFile = PATH_CORE . 'config' . PATH_SEP . 'env.ini';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (empty( $wsIniFile )) {
|
||||||
|
if (defined( 'PATH_DB' )) {
|
||||||
|
// if we're on a valid workspace env.
|
||||||
|
if (empty( $wsName )) {
|
||||||
|
$uriParts = explode( '/', getenv( "REQUEST_URI" ) );
|
||||||
|
if (isset( $uriParts[1] )) {
|
||||||
|
if (substr( $uriParts[1], 0, 3 ) == 'sys') {
|
||||||
|
$wsName = substr( $uriParts[1], 3 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$wsIniFile = PATH_DB . $wsName . PATH_SEP . 'env.ini';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$readGlobalIniFile = file_exists( $globalIniFile ) ? true : false;
|
||||||
|
$readWsIniFile = file_exists( $wsIniFile ) ? true : false;
|
||||||
|
|
||||||
|
if (isset( $_SESSION['PROCESSMAKER_ENV'] )) {
|
||||||
|
$md5 = array ();
|
||||||
|
|
||||||
|
if ($readGlobalIniFile) {
|
||||||
|
$md5[] = md5_file( $globalIniFile );
|
||||||
|
}
|
||||||
|
if ($readWsIniFile) {
|
||||||
|
$md5[] = md5_file( $wsIniFile );
|
||||||
|
}
|
||||||
|
$hash = implode( '-', $md5 );
|
||||||
|
|
||||||
|
if ($_SESSION['PROCESSMAKER_ENV_HASH'] === $hash) {
|
||||||
|
$_SESSION['PROCESSMAKER_ENV']['from_cache'] = 1;
|
||||||
|
return $_SESSION['PROCESSMAKER_ENV'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// default configuration
|
||||||
|
$config = array ('debug' => 0,'debug_sql' => 0,'debug_time' => 0,'debug_calendar' => 0,'wsdl_cache' => 1,'memory_limit' => '128M','time_zone' => 'America/New_York','memcached' => 0,'memcached_server' => '','default_skin' => 'classic','default_lang' => 'en','proxy_host' => '','proxy_port' => '','proxy_user' => '','proxy_pass' => ''
|
||||||
|
);
|
||||||
|
|
||||||
|
// read the global env.ini configuration file
|
||||||
|
if ($readGlobalIniFile && ($globalConf = @parse_ini_file( $globalIniFile )) !== false) {
|
||||||
|
$config = array_merge( $config, $globalConf );
|
||||||
|
}
|
||||||
|
|
||||||
|
// Workspace environment configuration
|
||||||
|
if ($readWsIniFile && ($wsConf = @parse_ini_file( $wsIniFile )) !== false) {
|
||||||
|
$config = array_merge( $config, $wsConf );
|
||||||
|
}
|
||||||
|
|
||||||
|
// validation debug config, only binary value is valid; debug = 1, to enable
|
||||||
|
$config['debug'] = $config['debug'] == 1 ? 1 : 0;
|
||||||
|
|
||||||
|
if ($config['proxy_pass'] != '') {
|
||||||
|
$config['proxy_pass'] = G::decrypt( $config['proxy_pass'], 'proxy_pass' );
|
||||||
|
}
|
||||||
|
|
||||||
|
$md5 = array ();
|
||||||
|
if ($readGlobalIniFile) {
|
||||||
|
$md5[] = md5_file( $globalIniFile );
|
||||||
|
}
|
||||||
|
if ($readWsIniFile) {
|
||||||
|
$md5[] = md5_file( $wsIniFile );
|
||||||
|
}
|
||||||
|
$hash = implode( '-', $md5 );
|
||||||
|
|
||||||
|
$_SESSION['PROCESSMAKER_ENV'] = $config;
|
||||||
|
$_SESSION['PROCESSMAKER_ENV_HASH'] = $hash;
|
||||||
|
|
||||||
|
return $config;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//below this line, still not approved methods
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* mk_dir , copied from class.G.php
|
* mk_dir , copied from class.G.php
|
||||||
*
|
*
|
||||||
@@ -217,24 +304,25 @@ class G
|
|||||||
* @param string $downloadFileName
|
* @param string $downloadFileName
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function streamFile($file, $download = false, $downloadFileName = '') {
|
public function streamFile ($file, $download = false, $downloadFileName = '')
|
||||||
require_once (PATH_THIRDPARTY . 'jsmin/jsmin.php');
|
{
|
||||||
$folderarray = explode( '/', $file );
|
$folderarray = explode( '/', $file );
|
||||||
$typearray = explode( '.', basename( $file ) );
|
$typearray = explode( '.', basename( $file ) );
|
||||||
$typefile = $typearray[count( $typearray ) - 1];
|
$typefile = $typearray[count( $typearray ) - 1];
|
||||||
$filename = $file;
|
$filename = $file;
|
||||||
|
|
||||||
// trick to generate the translation.language.js file , merging two
|
//trick to generate the translation.language.js file , merging two files
|
||||||
// files and then minified the content.
|
|
||||||
if (strtolower( $typefile ) == 'js' && $typearray[0] == 'translation') {
|
if (strtolower( $typefile ) == 'js' && $typearray[0] == 'translation') {
|
||||||
$output = g::streamJSTranslationFile ( $filename, $typearray [1] );
|
Bootstrap::sendHeaders( $filename, 'text/javascript', $download, $downloadFileName );
|
||||||
|
$output = Bootstrap::streamJSTranslationFile( $filename, $typearray[1] );
|
||||||
print $output;
|
print $output;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
//trick to generate the big css file for ext style .
|
//trick to generate the big css file for ext style .
|
||||||
if (strtolower( $typefile ) == 'css' && $folderarray[count( $folderarray ) - 2] == 'css') {
|
if (strtolower( $typefile ) == 'css' && $folderarray[count( $folderarray ) - 2] == 'css') {
|
||||||
$output = g::streamCSSBigFile ( $typearray [0] );
|
Bootstrap::sendHeaders( $filename, 'text/css', $download, $downloadFileName );
|
||||||
|
$output = Bootstrap::streamCSSBigFile( $typearray[0] );
|
||||||
print $output;
|
print $output;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -242,63 +330,59 @@ class G
|
|||||||
if (file_exists( $filename )) {
|
if (file_exists( $filename )) {
|
||||||
switch (strtolower( $typefile )) {
|
switch (strtolower( $typefile )) {
|
||||||
case 'swf':
|
case 'swf':
|
||||||
g::sendHeaders ( $filename, 'application/x-shockwave-flash', $download, $downloadFileName );
|
Bootstrap::sendHeaders( $filename, 'application/x-shockwave-flash', $download, $downloadFileName );
|
||||||
break;
|
break;
|
||||||
case 'js':
|
case 'js':
|
||||||
g::sendHeaders ( $filename, 'text/javascript', $download, $downloadFileName );
|
Bootstrap::sendHeaders( $filename, 'text/javascript', $download, $downloadFileName );
|
||||||
break;
|
break;
|
||||||
case 'htm':
|
case 'htm':
|
||||||
case 'html':
|
case 'html':
|
||||||
g::sendHeaders ( $filename, 'text/html', $download, $downloadFileName );
|
Bootstrap::sendHeaders( $filename, 'text/html', $download, $downloadFileName );
|
||||||
break;
|
break;
|
||||||
case 'htc':
|
case 'htc':
|
||||||
g::sendHeaders ( $filename, 'text/plain', $download, $downloadFileName );
|
Bootstrap::sendHeaders( $filename, 'text/plain', $download, $downloadFileName );
|
||||||
break;
|
break;
|
||||||
case 'json':
|
case 'json':
|
||||||
g::sendHeaders ( $filename, 'text/plain', $download, $downloadFileName );
|
Bootstrap::sendHeaders( $filename, 'text/plain', $download, $downloadFileName );
|
||||||
break;
|
break;
|
||||||
case 'gif':
|
case 'gif':
|
||||||
g::sendHeaders ( $filename, 'image/gif', $download, $downloadFileName );
|
Bootstrap::sendHeaders( $filename, 'image/gif', $download, $downloadFileName );
|
||||||
break;
|
break;
|
||||||
case 'png':
|
case 'png':
|
||||||
g::sendHeaders ( $filename, 'image/png', $download, $downloadFileName );
|
Bootstrap::sendHeaders( $filename, 'image/png', $download, $downloadFileName );
|
||||||
break;
|
break;
|
||||||
case 'jpg':
|
case 'jpg':
|
||||||
g::sendHeaders ( $filename, 'image/jpg', $download, $downloadFileName );
|
Bootstrap::sendHeaders( $filename, 'image/jpg', $download, $downloadFileName );
|
||||||
break;
|
break;
|
||||||
case 'css':
|
case 'css':
|
||||||
g::sendHeaders ( $filename, 'text/css', $download, $downloadFileName );
|
Bootstrap::sendHeaders( $filename, 'text/css', $download, $downloadFileName );
|
||||||
break;
|
|
||||||
case 'css' :
|
|
||||||
g::sendHeaders ( $filename, 'text/css', $download, $downloadFileName );
|
|
||||||
break;
|
break;
|
||||||
case 'xml':
|
case 'xml':
|
||||||
g::sendHeaders ( $filename, 'text/xml', $download, $downloadFileName );
|
Bootstrap::sendHeaders( $filename, 'text/xml', $download, $downloadFileName );
|
||||||
break;
|
break;
|
||||||
case 'txt':
|
case 'txt':
|
||||||
g::sendHeaders ( $filename, 'text/html', $download, $downloadFileName );
|
Bootstrap::sendHeaders( $filename, 'text/html', $download, $downloadFileName );
|
||||||
break;
|
break;
|
||||||
case 'doc':
|
case 'doc':
|
||||||
case 'pdf':
|
case 'pdf':
|
||||||
case 'pm':
|
case 'pm':
|
||||||
case 'po':
|
case 'po':
|
||||||
g::sendHeaders ( $filename, 'application/octet-stream', $download, $downloadFileName );
|
Bootstrap::sendHeaders( $filename, 'application/octet-stream', $download, $downloadFileName );
|
||||||
break;
|
break;
|
||||||
case 'php':
|
case 'php':
|
||||||
if ($download) {
|
if ($download) {
|
||||||
g::sendHeaders ( $filename, 'text/plain', $download, $downloadFileName );
|
G::sendHeaders( $filename, 'text/plain', $download, $downloadFileName );
|
||||||
} else {
|
} else {
|
||||||
require_once ($filename);
|
require_once ($filename);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'tar':
|
case 'tar':
|
||||||
g::sendHeaders ( $filename, 'application/x-tar', $download, $downloadFileName );
|
Bootstrap::sendHeaders( $filename, 'application/x-tar', $download, $downloadFileName );
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
//throw new Exception ( "Unknown type of file '$file'. " );
|
//throw new Exception ( "Unknown type of file '$file'. " );
|
||||||
g::sendHeaders ( $filename, 'application/octet-stream', $download, $downloadFileName );
|
Bootstrap::sendHeaders( $filename, 'application/octet-stream', $download, $downloadFileName );
|
||||||
break;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -307,100 +391,13 @@ class G
|
|||||||
}
|
}
|
||||||
|
|
||||||
$_SESSION['phpFileNotFound'] = $file;
|
$_SESSION['phpFileNotFound'] = $file;
|
||||||
g::header ( "location: /errors/error404.php?l=" . $_SERVER ['REQUEST_URI'] );
|
Bootstrap::header( "location: /errors/error404.php?l=" . $_SERVER['REQUEST_URI'] );
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (strtolower ( $typefile )) {
|
if ( substr($filename,-10) == "ext-all.js" ) {
|
||||||
case "js" :
|
$filename = PATH_GULLIVER_HOME . 'js/ext/min/ext-all.js';
|
||||||
$paths = explode ( '/', $filename );
|
|
||||||
$jsName = $paths [count ( $paths ) - 1];
|
|
||||||
$output = '';
|
|
||||||
$pathJs = PATH_GULLIVER_HOME . PATH_SEP . 'js' . PATH_SEP;
|
|
||||||
switch ($jsName) {
|
|
||||||
//
|
|
||||||
case 'draw2d.js' :
|
|
||||||
$cachePath = PATH_C . 'ExtJs' . PATH_SEP;
|
|
||||||
$checksum = g::getCheckSum ( array (
|
|
||||||
$pathJs . 'ext/wz_jsgraphics.js',
|
|
||||||
$pathJs . 'ext/mootools.js',
|
|
||||||
$pathJs . 'ext/moocanvas.js'
|
|
||||||
) );
|
|
||||||
|
|
||||||
$cf = $cachePath . "ext-draw2d-cache.$checksum.js";
|
|
||||||
$cfStored = g::getCacheFileNameByPattern ( $cachePath, 'ext-draw2d-cache.*.js' );
|
|
||||||
// error_log("draw2d.js ".$checksum ."==".
|
|
||||||
// $cfStored['checksum']);
|
|
||||||
if (is_file ( $cfStored ['filename'] ) && $checksum == $cfStored ['checksum']) {
|
|
||||||
$output = file_get_contents ( $cf );
|
|
||||||
} else {
|
|
||||||
if (is_file ( $cfStored ['filename'] )) {
|
|
||||||
@unlink ( $cfStored ['filename'] );
|
|
||||||
}
|
}
|
||||||
$output .= JSMin::minify ( file_get_contents ( $pathJs . 'ext/wz_jsgraphics.js' ) );
|
|
||||||
$output .= JSMin::minify ( file_get_contents ( $pathJs . 'ext/mootools.js' ) );
|
|
||||||
$output .= JSMin::minify ( file_get_contents ( $pathJs . 'ext/moocanvas.js' ) );
|
|
||||||
$output .= file_get_contents ( $pathJs . 'ext/draw2d.js' ); // already
|
|
||||||
// minified
|
|
||||||
file_put_contents ( $cf, $output );
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 'ext-all.js' :
|
|
||||||
$cachePath = PATH_C . 'ExtJs' . PATH_SEP;
|
|
||||||
$checksum = g::getCheckSum ( array (
|
|
||||||
$pathJs . 'ext/pmos-common.js',
|
|
||||||
$pathJs . 'ext/ux/miframe.js',
|
|
||||||
$pathJs . 'ext/ux.locationbar/Ext.ux.LocationBar.js',
|
|
||||||
$pathJs . 'ext/ux.statusbar/ext-statusbar.js',
|
|
||||||
$pathJs . 'ext/ux.treefilterx/Ext.ux.tree.TreeFilterX.js'
|
|
||||||
) );
|
|
||||||
|
|
||||||
$cfStored = g::getCacheFileNameByPattern ( $cachePath, 'ext-all-cache.*.js' );
|
|
||||||
$cf = PATH_C . 'ExtJs' . PATH_SEP . "ext-all-cache.$checksum.js";
|
|
||||||
if (is_file ( $cfStored ['filename'] ) && $checksum == $cfStored ['checksum']) {
|
|
||||||
$output = file_get_contents ( $cf );
|
|
||||||
} else {
|
|
||||||
if (is_file ( $cfStored ['filename'] )) {
|
|
||||||
@unlink ( $cfStored ['filename'] );
|
|
||||||
}
|
|
||||||
|
|
||||||
$output .= file_get_contents ( $pathJs . 'ext/ext-all.js' ); // already
|
|
||||||
// minified
|
|
||||||
$output .= file_get_contents ( $pathJs . 'ext/ux/ux-all.js' ); // already
|
|
||||||
// minified
|
|
||||||
$output .= JSMin::minify ( file_get_contents ( $pathJs . 'ext/pmos-common.js' ) );
|
|
||||||
$output .= JSMin::minify ( file_get_contents ( $pathJs . 'ext/ux/miframe.js' ) );
|
|
||||||
$output .= JSMin::minify ( file_get_contents ( $pathJs . 'ext/ux.locationbar/Ext.ux.LocationBar.js' ) );
|
|
||||||
$output .= JSMin::minify ( file_get_contents ( $pathJs . 'ext/ux.statusbar/ext-statusbar.js' ) );
|
|
||||||
$output .= JSMin::minify ( file_get_contents ( $pathJs . 'ext/ux.treefilterx/Ext.ux.tree.TreeFilterX.js' ) );
|
|
||||||
|
|
||||||
file_put_contents ( $cf, $output );
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 'maborak.js' :
|
|
||||||
$oHeadPublisher = & headPublisher::getSingleton ();
|
|
||||||
foreach ( $oHeadPublisher->maborakFiles as $fileJS ) {
|
|
||||||
$output .= JSMin::minify ( file_get_contents ( $fileJS ) );
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 'maborak.loader.js' :
|
|
||||||
$oHeadPublisher = & headPublisher::getSingleton ();
|
|
||||||
foreach ( $oHeadPublisher->maborakLoaderFiles as $fileJS ) {
|
|
||||||
$output .= JSMin::minify ( file_get_contents ( $fileJS ) );
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default :
|
|
||||||
$output = JSMin::minify ( file_get_contents ( $filename ) );
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
print $output;
|
|
||||||
break;
|
|
||||||
case 'css' :
|
|
||||||
print g::trimSourceCodeFile ( $filename );
|
|
||||||
break;
|
|
||||||
default :
|
|
||||||
@readfile( $filename );
|
@readfile( $filename );
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -496,7 +493,7 @@ class G
|
|||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function LoadClass($strClass) {
|
public function LoadClass($strClass) {
|
||||||
$classfile = g::ExpandPath ( "classes" ) . 'class.' . $strClass . '.php';
|
$classfile = Bootstrap::ExpandPath ( "classes" ) . 'class.' . $strClass . '.php';
|
||||||
if (! file_exists ( $classfile )) {
|
if (! file_exists ( $classfile )) {
|
||||||
if (file_exists ( PATH_GULLIVER . 'class.' . $strClass . '.php' )) {
|
if (file_exists ( PATH_GULLIVER . 'class.' . $strClass . '.php' )) {
|
||||||
return require_once (PATH_GULLIVER . 'class.' . $strClass . '.php');
|
return require_once (PATH_GULLIVER . 'class.' . $strClass . '.php');
|
||||||
@@ -531,8 +528,7 @@ class G
|
|||||||
*
|
*
|
||||||
* @author Hugo Loza. <hugo@colosa.com>
|
* @author Hugo Loza. <hugo@colosa.com>
|
||||||
* @access public
|
* @access public
|
||||||
* @param
|
* @param string lang
|
||||||
* eter string lang
|
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function LoadTranslationObject($lang = SYS_LANG) {
|
public function LoadTranslationObject($lang = SYS_LANG) {
|
||||||
@@ -584,7 +580,7 @@ class G
|
|||||||
$G_SKIN = $strSkin;
|
$G_SKIN = $strSkin;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$file = g::ExpandPath ( 'skinEngine' ) . 'skinEngine.php';
|
$file = Bootstrap::ExpandPath ( 'skinEngine' ) . 'skinEngine.php';
|
||||||
include $file;
|
include $file;
|
||||||
$skinEngine = new SkinEngine ( $G_TEMPLATE, $G_SKIN, $G_CONTENT );
|
$skinEngine = new SkinEngine ( $G_TEMPLATE, $G_SKIN, $G_CONTENT );
|
||||||
$skinEngine->setLayout ( $layout );
|
$skinEngine->setLayout ( $layout );
|
||||||
@@ -641,7 +637,7 @@ class G
|
|||||||
case 'label' :
|
case 'label' :
|
||||||
case 'labels' :
|
case 'labels' :
|
||||||
$_SESSION ['G_MESSAGE_TYPE'] = $strType;
|
$_SESSION ['G_MESSAGE_TYPE'] = $strType;
|
||||||
$_SESSION ['G_MESSAGE'] = nl2br ( g::LoadTranslation ( $msgID ) );
|
$_SESSION ['G_MESSAGE'] = nl2br ( Bootstrap::LoadTranslation ( $msgID ) );
|
||||||
break;
|
break;
|
||||||
case 'string' :
|
case 'string' :
|
||||||
$_SESSION ['G_MESSAGE_TYPE'] = $strType;
|
$_SESSION ['G_MESSAGE_TYPE'] = $strType;
|
||||||
@@ -667,7 +663,7 @@ class G
|
|||||||
*/
|
*/
|
||||||
public function header($parameter) {
|
public function header($parameter) {
|
||||||
if (defined ( 'ENABLE_ENCRYPT' ) && (ENABLE_ENCRYPT == 'yes') && (substr ( $parameter, 0, 9 ) == 'location:')) {
|
if (defined ( 'ENABLE_ENCRYPT' ) && (ENABLE_ENCRYPT == 'yes') && (substr ( $parameter, 0, 9 ) == 'location:')) {
|
||||||
$url = g::encrypt ( substr ( $parameter, 10 ), URL_KEY );
|
$url = Bootstrap::encrypt ( substr ( $parameter, 10 ), URL_KEY );
|
||||||
header ( 'location:' . $url );
|
header ( 'location:' . $url );
|
||||||
} else {
|
} else {
|
||||||
header ( $parameter );
|
header ( $parameter );
|
||||||
@@ -742,7 +738,7 @@ class G
|
|||||||
$rest->setSupportedFormats( 'JsonFormat', 'XmlFormat' );
|
$rest->setSupportedFormats( 'JsonFormat', 'XmlFormat' );
|
||||||
// getting all services class
|
// getting all services class
|
||||||
$restClasses = array ();
|
$restClasses = array ();
|
||||||
$restClassesList = g::rglob( '*', 0, PATH_CORE . 'services/' );
|
$restClassesList = Bootstrap::rglob( '*', 0, PATH_CORE . 'services/' );
|
||||||
foreach ($restClassesList as $classFile) {
|
foreach ($restClassesList as $classFile) {
|
||||||
if (substr( $classFile, - 4 ) === '.php') {
|
if (substr( $classFile, - 4 ) === '.php') {
|
||||||
$restClasses[str_replace( '.php', '', basename( $classFile ) )] = $classFile;
|
$restClasses[str_replace( '.php', '', basename( $classFile ) )] = $classFile;
|
||||||
@@ -750,7 +746,7 @@ class G
|
|||||||
}
|
}
|
||||||
if (! empty( $apiClassesPath )) {
|
if (! empty( $apiClassesPath )) {
|
||||||
$pluginRestClasses = array ();
|
$pluginRestClasses = array ();
|
||||||
$restClassesList = g::rglob( '*', 0, $apiClassesPath . 'services/' );
|
$restClassesList = Bootstrap::rglob( '*', 0, $apiClassesPath . 'services/' );
|
||||||
foreach ($restClassesList as $classFile) {
|
foreach ($restClassesList as $classFile) {
|
||||||
if (substr( $classFile, - 4 ) === '.php') {
|
if (substr( $classFile, - 4 ) === '.php') {
|
||||||
$pluginRestClasses[str_replace( '.php', '', basename( $classFile ) )] = $classFile;
|
$pluginRestClasses[str_replace( '.php', '', basename( $classFile ) )] = $classFile;
|
||||||
@@ -864,7 +860,7 @@ class G
|
|||||||
public function streamJSTranslationFile($filename, $locale = 'en') {
|
public function streamJSTranslationFile($filename, $locale = 'en') {
|
||||||
header ( 'Content-Type: text/javascript' );
|
header ( 'Content-Type: text/javascript' );
|
||||||
|
|
||||||
if (! g::LoadTranslationObject ( $locale )) {
|
if (! Bootstrap::LoadTranslationObject ( $locale )) {
|
||||||
header ( 'Cache-Control: no-cache' );
|
header ( 'Cache-Control: no-cache' );
|
||||||
header ( 'Pragma: no-cache' );
|
header ( 'Pragma: no-cache' );
|
||||||
return;
|
return;
|
||||||
@@ -902,7 +898,7 @@ class G
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return JSMin::minify ( 'var TRANSLATIONS = ' . g::json_encode ( $translation ) . ';' );
|
return 'var TRANSLATIONS = ' . Bootstrap::json_encode ( $translation ) . ";\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -934,25 +930,15 @@ class G
|
|||||||
$skinName = "classic";
|
$skinName = "classic";
|
||||||
}
|
}
|
||||||
if ($skinName == "classic") {
|
if ($skinName == "classic") {
|
||||||
$configurationFile = g::ExpandPath( "skinEngine" ) . 'base' . PATH_SEP . 'config.xml';
|
$configurationFile = Bootstrap::ExpandPath( "skinEngine" ) . 'base' . PATH_SEP . 'config.xml';
|
||||||
} else {
|
} else {
|
||||||
$configurationFile = PATH_CUSTOM_SKINS . $skinName . PATH_SEP . 'config.xml';
|
$configurationFile = PATH_CUSTOM_SKINS . $skinName . PATH_SEP . 'config.xml';
|
||||||
|
|
||||||
if (! is_file( $configurationFile )) {
|
if (! is_file( $configurationFile )) {
|
||||||
$configurationFile = g::ExpandPath( "skinEngine" ) . $skinName . PATH_SEP . 'config.xml';
|
$configurationFile = Bootstrap::ExpandPath( "skinEngine" ) . $skinName . PATH_SEP . 'config.xml';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Read Configuration File
|
|
||||||
$xmlConfiguration = file_get_contents( $configurationFile );
|
|
||||||
$xmlConfigurationObj = g::xmlParser( $xmlConfiguration );
|
|
||||||
$baseSkinDirectory = dirname( $configurationFile );
|
|
||||||
$directorySize = g::getDirectorySize( $baseSkinDirectory );
|
|
||||||
$mtime = $directorySize['maxmtime'];
|
|
||||||
|
|
||||||
//if userAgent (BROWSER) is MSIE we need special headers to avoid MSIE behaivor.
|
|
||||||
//$userAgent = strtolower($_SERVER['HTTP_USER_AGENT']);
|
|
||||||
|
|
||||||
$gmt_mtime = gmdate( "D, d M Y H:i:s", $mtime ) . " GMT";
|
$gmt_mtime = gmdate( "D, d M Y H:i:s", $mtime ) . " GMT";
|
||||||
header( 'Pragma: cache' );
|
header( 'Pragma: cache' );
|
||||||
header( 'ETag: "' . md5( $mtime . $filename ) . '"' );
|
header( 'ETag: "' . md5( $mtime . $filename ) . '"' );
|
||||||
@@ -974,6 +960,16 @@ class G
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Read Configuration File
|
||||||
|
$xmlConfiguration = file_get_contents( $configurationFile );
|
||||||
|
$xmlConfigurationObj = Bootstrap::xmlParser( $xmlConfiguration );
|
||||||
|
$baseSkinDirectory = dirname( $configurationFile );
|
||||||
|
$directorySize = Bootstrap::getDirectorySize( $baseSkinDirectory );
|
||||||
|
$mtime = $directorySize['maxmtime'];
|
||||||
|
|
||||||
|
//if userAgent (BROWSER) is MSIE we need special headers to avoid MSIE behaivor.
|
||||||
|
//$userAgent = strtolower($_SERVER['HTTP_USER_AGENT']);
|
||||||
|
|
||||||
$outputHeader = "/* Autogenerated CSS file by gulliver framework \n";
|
$outputHeader = "/* Autogenerated CSS file by gulliver framework \n";
|
||||||
$outputHeader .= " Skin: $filename\n";
|
$outputHeader .= " Skin: $filename\n";
|
||||||
$outputHeader .= " Configuration: $configurationFile\n";
|
$outputHeader .= " Configuration: $configurationFile\n";
|
||||||
@@ -981,46 +977,11 @@ class G
|
|||||||
$gmt_mtimeNow = gmdate( "D, d M Y H:i:s", $mtimeNow ) . " GMT";
|
$gmt_mtimeNow = gmdate( "D, d M Y H:i:s", $mtimeNow ) . " GMT";
|
||||||
$outputHeader .= " Date: $gmt_mtimeNow*/\n";
|
$outputHeader .= " Date: $gmt_mtimeNow*/\n";
|
||||||
$output = "";
|
$output = "";
|
||||||
|
|
||||||
//Base files
|
//Base files
|
||||||
switch (strtolower( $skinVariant )) {
|
switch (strtolower( $skinVariant )) {
|
||||||
case "extjs":
|
case "extjs":
|
||||||
//Basepublic function getDirectorySize ($path, $maxmtime = 0)
|
//Base
|
||||||
{
|
|
||||||
$totalsize = 0;
|
|
||||||
$totalcount = 0;
|
|
||||||
$dircount = 0;
|
|
||||||
if ($handle = opendir( $path )) {
|
|
||||||
while (false !== ($file = readdir( $handle ))) {
|
|
||||||
$nextpath = $path . '/' . $file;
|
|
||||||
if ($file != '.' && $file != '..' && ! is_link( $nextpath ) && $file != '.svn') {
|
|
||||||
if (is_dir( $nextpath )) {
|
|
||||||
$dircount ++;
|
|
||||||
$result = g::getDirectorySize( $nextpath, $maxmtime );
|
|
||||||
$totalsize += $result['size'];
|
|
||||||
$totalcount += $result['count'];
|
|
||||||
$dircount += $result['dircount'];
|
|
||||||
$maxmtime = $result['maxmtime'] > $maxmtime ? $result['maxmtime'] : $maxmtime;
|
|
||||||
} elseif (is_file( $nextpath )) {
|
|
||||||
$totalsize += filesize( $nextpath );
|
|
||||||
$totalcount ++;
|
|
||||||
|
|
||||||
$mtime = filemtime( $nextpath );
|
|
||||||
if ($mtime > $maxmtime) {
|
|
||||||
$maxmtime = $mtime;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
closedir( $handle );
|
|
||||||
$total['size'] = $totalsize;
|
|
||||||
$total['count'] = $totalcount;
|
|
||||||
$total['dircount'] = $dircount;
|
|
||||||
$total['maxmtime'] = $maxmtime;
|
|
||||||
|
|
||||||
return $total;
|
|
||||||
}
|
|
||||||
|
|
||||||
$baseCSSPath = PATH_SKIN_ENGINE . "base" . PATH_SEP . "baseCss" . PATH_SEP;
|
$baseCSSPath = PATH_SKIN_ENGINE . "base" . PATH_SEP . "baseCss" . PATH_SEP;
|
||||||
$output .= file_get_contents( $baseCSSPath . 'ext-all-notheme.css' );
|
$output .= file_get_contents( $baseCSSPath . 'ext-all-notheme.css' );
|
||||||
//$output .= file_get_contents ( $publicExtPath . 'ext-all.css' );
|
//$output .= file_get_contents ( $publicExtPath . 'ext-all.css' );
|
||||||
@@ -1030,13 +991,11 @@ class G
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//Get Browser Info
|
//Get Browser Info
|
||||||
$infoBrowser = g::get_current_browser();
|
$infoBrowser = Bootstrap::get_current_browser();
|
||||||
$browserName = $infoBrowser['browser_working'];
|
$browserName = $infoBrowser['browser_working'];
|
||||||
if (isset( $infoBrowser[$browserName . '_data'] )) {
|
if (isset( $infoBrowser[$browserName . '_data'] )) {
|
||||||
if ($infoBrowser[$browserName . '_data'][0] != "") {
|
if ($infoBrowser[$browserName . '_data'][0] != "") {
|
||||||
@@ -1046,7 +1005,7 @@ class G
|
|||||||
|
|
||||||
//Read Configuration File
|
//Read Configuration File
|
||||||
$xmlConfiguration = file_get_contents ( $configurationFile );
|
$xmlConfiguration = file_get_contents ( $configurationFile );
|
||||||
$xmlConfigurationObj = g::xmlParser($xmlConfiguration);
|
$xmlConfigurationObj = Bootstrap::xmlParser($xmlConfiguration);
|
||||||
|
|
||||||
$skinFilesArray=$xmlConfigurationObj->result['skinConfiguration']['__CONTENT__']['cssFiles']['__CONTENT__'][$skinVariant]['__CONTENT__']['cssFile'] ;
|
$skinFilesArray=$xmlConfigurationObj->result['skinConfiguration']['__CONTENT__']['cssFiles']['__CONTENT__'][$skinVariant]['__CONTENT__']['cssFile'] ;
|
||||||
foreach ($skinFilesArray as $keyFile => $cssFileInfo) {
|
foreach ($skinFilesArray as $keyFile => $cssFileInfo) {
|
||||||
@@ -1055,7 +1014,7 @@ class G
|
|||||||
|
|
||||||
if (((in_array($browserName, $enabledBrowsers))||(in_array('ALL', $enabledBrowsers)))&&(!(in_array($browserName, $disabledBrowsers)))) {
|
if (((in_array($browserName, $enabledBrowsers))||(in_array('ALL', $enabledBrowsers)))&&(!(in_array($browserName, $disabledBrowsers)))) {
|
||||||
if ($cssFileInfo['__ATTRIBUTES__']['file'] == 'rtl.css') {
|
if ($cssFileInfo['__ATTRIBUTES__']['file'] == 'rtl.css') {
|
||||||
g::LoadClass('serverConfiguration');
|
Bootstrap::LoadClass('serverConfiguration');
|
||||||
$oServerConf =& serverConf::getSingleton();
|
$oServerConf =& serverConf::getSingleton();
|
||||||
if (!(defined('SYS_LANG'))) {
|
if (!(defined('SYS_LANG'))) {
|
||||||
if (isset($_SERVER['HTTP_REFERER'])) {
|
if (isset($_SERVER['HTTP_REFERER'])) {
|
||||||
@@ -1162,7 +1121,7 @@ class G
|
|||||||
*/
|
*/
|
||||||
public function getCheckSum ($files)
|
public function getCheckSum ($files)
|
||||||
{
|
{
|
||||||
g::LoadClass( 'system' );
|
Bootstrap::LoadClass( 'system' );
|
||||||
$key = System::getVersion();
|
$key = System::getVersion();
|
||||||
|
|
||||||
if (! is_array( $files )) {
|
if (! is_array( $files )) {
|
||||||
@@ -1252,7 +1211,7 @@ class G
|
|||||||
if (is_array( $vVar )) {
|
if (is_array( $vVar )) {
|
||||||
foreach ($vVar as $sKey => $vValue) {
|
foreach ($vVar as $sKey => $vValue) {
|
||||||
if (is_array( $vValue )) {
|
if (is_array( $vValue )) {
|
||||||
g::strip_slashes( $vVar[$sKey] );
|
Bootstrap::strip_slashes( $vVar[$sKey] );
|
||||||
} else {
|
} else {
|
||||||
$vVar[$sKey] = stripslashes( $vVar[$sKey] );
|
$vVar[$sKey] = stripslashes( $vVar[$sKey] );
|
||||||
}
|
}
|
||||||
@@ -1321,7 +1280,7 @@ class G
|
|||||||
$paths = glob($path.'*', GLOB_MARK|GLOB_ONLYDIR|GLOB_NOSORT);
|
$paths = glob($path.'*', GLOB_MARK|GLOB_ONLYDIR|GLOB_NOSORT);
|
||||||
$files = glob($path.$pattern, $flags);
|
$files = glob($path.$pattern, $flags);
|
||||||
foreach ($paths as $path) {
|
foreach ($paths as $path) {
|
||||||
$files = array_merge($files, g::rglob($pattern, $flags, $path));
|
$files = array_merge($files, Bootstrap::rglob($pattern, $flags, $path));
|
||||||
}
|
}
|
||||||
return $files;
|
return $files;
|
||||||
}
|
}
|
||||||
@@ -1336,7 +1295,7 @@ class G
|
|||||||
if ( function_exists('json_encode') ) {
|
if ( function_exists('json_encode') ) {
|
||||||
return json_encode($Json);
|
return json_encode($Json);
|
||||||
} else {
|
} else {
|
||||||
g::LoadThirdParty('pear/json', 'class.json');
|
Bootstrap::LoadThirdParty('pear/json', 'class.json');
|
||||||
$oJSON = new Services_JSON();
|
$oJSON = new Services_JSON();
|
||||||
return $oJSON->encode($Json);
|
return $oJSON->encode($Json);
|
||||||
}
|
}
|
||||||
@@ -1352,7 +1311,7 @@ class G
|
|||||||
if (function_exists('json_decode')) {
|
if (function_exists('json_decode')) {
|
||||||
return json_decode($Json);
|
return json_decode($Json);
|
||||||
} else {
|
} else {
|
||||||
g::LoadThirdParty('pear/json', 'class.json');
|
Bootstrap::LoadThirdParty('pear/json', 'class.json');
|
||||||
$oJSON = new Services_JSON();
|
$oJSON = new Services_JSON();
|
||||||
return $oJSON->decode($Json);
|
return $oJSON->decode($Json);
|
||||||
}
|
}
|
||||||
@@ -1453,7 +1412,7 @@ class G
|
|||||||
if ($file != '.' && $file != '..' && ! is_link( $nextpath ) && $file != '.svn') {
|
if ($file != '.' && $file != '..' && ! is_link( $nextpath ) && $file != '.svn') {
|
||||||
if (is_dir( $nextpath )) {
|
if (is_dir( $nextpath )) {
|
||||||
$dircount ++;
|
$dircount ++;
|
||||||
$result = g::getDirectorySize( $nextpath, $maxmtime );
|
$result = Bootstrap::getDirectorySize( $nextpath, $maxmtime );
|
||||||
$totalsize += $result['size'];
|
$totalsize += $result['size'];
|
||||||
$totalcount += $result['count'];
|
$totalcount += $result['count'];
|
||||||
$dircount += $result['dircount'];
|
$dircount += $result['dircount'];
|
||||||
@@ -1653,9 +1612,9 @@ class G
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$mobile_test = g::check_is_mobile( $browser_user_agent );
|
$mobile_test = Bootstrap::check_is_mobile( $browser_user_agent );
|
||||||
if ( $mobile_test ) {
|
if ( $mobile_test ) {
|
||||||
$a_mobile_data = g::get_mobile_data( $browser_user_agent );
|
$a_mobile_data = Bootstrap::get_mobile_data( $browser_user_agent );
|
||||||
$ua_type = 'mobile';
|
$ua_type = 'mobile';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1719,7 +1678,7 @@ class G
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$start_pos += g::get_set_count( 'get' );
|
$start_pos += Bootstrap::get_set_count( 'get' );
|
||||||
$string_working_number = substr( $pv_browser_user_agent, $start_pos, $substring_length );
|
$string_working_number = substr( $pv_browser_user_agent, $start_pos, $substring_length );
|
||||||
$string_working_number = substr( $string_working_number, 0, strcspn($string_working_number, ' );/') );
|
$string_working_number = substr( $string_working_number, 0, strcspn($string_working_number, ' );/') );
|
||||||
if (!is_numeric( substr( $string_working_number, 0, 1 ))) {
|
if (!is_numeric( substr( $string_working_number, 0, 1 ))) {
|
||||||
@@ -1841,7 +1800,7 @@ class G
|
|||||||
case 'mac':
|
case 'mac':
|
||||||
if (strstr($pv_browser_string, 'os x')) {
|
if (strstr($pv_browser_string, 'os x')) {
|
||||||
if (strstr($pv_browser_string, 'os x ')) {
|
if (strstr($pv_browser_string, 'os x ')) {
|
||||||
$os_working_number = str_replace( '_', '.', g::get_item_version( $pv_browser_string, 'os x' ) );
|
$os_working_number = str_replace( '_', '.', Bootstrap::get_item_version( $pv_browser_string, 'os x' ) );
|
||||||
} else {
|
} else {
|
||||||
$os_working_number = 10;
|
$os_working_number = 10;
|
||||||
}
|
}
|
||||||
@@ -1940,7 +1899,7 @@ class G
|
|||||||
for ($k = 0; $k < $k_count; $k++) {
|
for ($k = 0; $k < $k_count; $k++) {
|
||||||
if (strstr( $pv_browser_user_agent, $a_mobile_browser[$k] )) {
|
if (strstr( $pv_browser_user_agent, $a_mobile_browser[$k] )) {
|
||||||
$mobile_browser = $a_mobile_browser[$k];
|
$mobile_browser = $a_mobile_browser[$k];
|
||||||
$mobile_browser_number = g::get_item_version( $pv_browser_user_agent, $mobile_browser );
|
$mobile_browser_number = Bootstrap::get_item_version( $pv_browser_user_agent, $mobile_browser );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1949,9 +1908,9 @@ class G
|
|||||||
if (strstr( $pv_browser_user_agent, $a_mobile_device[$k] )) {
|
if (strstr( $pv_browser_user_agent, $a_mobile_device[$k] )) {
|
||||||
$mobile_device = trim ( $a_mobile_device[$k], '-_' ); // but not space trims yet
|
$mobile_device = trim ( $a_mobile_device[$k], '-_' ); // but not space trims yet
|
||||||
if ($mobile_device == 'blackberry') {
|
if ($mobile_device == 'blackberry') {
|
||||||
g::get_set_count( 'set', 0 );
|
Bootstrap::get_set_count( 'set', 0 );
|
||||||
}
|
}
|
||||||
$mobile_device_number = g::get_item_version( $pv_browser_user_agent, $mobile_device );
|
$mobile_device_number = Bootstrap::get_item_version( $pv_browser_user_agent, $mobile_device );
|
||||||
$mobile_device = trim( $mobile_device ); // some of the id search strings have white space
|
$mobile_device = trim( $mobile_device ); // some of the id search strings have white space
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -1960,7 +1919,7 @@ class G
|
|||||||
for ($k = 0; $k < $k_count; $k++) {
|
for ($k = 0; $k < $k_count; $k++) {
|
||||||
if (strstr( $pv_browser_user_agent, $a_mobile_os[$k] )) {
|
if (strstr( $pv_browser_user_agent, $a_mobile_os[$k] )) {
|
||||||
$mobile_os = $a_mobile_os[$k];
|
$mobile_os = $a_mobile_os[$k];
|
||||||
$mobile_os_number = str_replace( '_', '.', g::get_item_version( $pv_browser_user_agent, $mobile_os ) );
|
$mobile_os_number = str_replace( '_', '.', Bootstrap::get_item_version( $pv_browser_user_agent, $mobile_os ) );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1968,14 +1927,14 @@ class G
|
|||||||
for ($k = 0; $k < $k_count; $k++) {
|
for ($k = 0; $k < $k_count; $k++) {
|
||||||
if (strstr( $pv_browser_user_agent, $a_mobile_server[$k] )) {
|
if (strstr( $pv_browser_user_agent, $a_mobile_server[$k] )) {
|
||||||
$mobile_server = $a_mobile_server[$k];
|
$mobile_server = $a_mobile_server[$k];
|
||||||
$mobile_server_number = g::get_item_version( $pv_browser_user_agent, $mobile_server );
|
$mobile_server_number = Bootstrap::get_item_version( $pv_browser_user_agent, $mobile_server );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// just for cases where we know it's a mobile device already
|
// just for cases where we know it's a mobile device already
|
||||||
if (!$mobile_os && ( $mobile_browser || $mobile_device || $mobile_server ) && strstr( $pv_browser_user_agent, 'linux' ) ) {
|
if (!$mobile_os && ( $mobile_browser || $mobile_device || $mobile_server ) && strstr( $pv_browser_user_agent, 'linux' ) ) {
|
||||||
$mobile_os = 'linux';
|
$mobile_os = 'linux';
|
||||||
$mobile_os_number = g::get_item_version( $pv_browser_user_agent, 'linux' );
|
$mobile_os_number = Bootstrap::get_item_version( $pv_browser_user_agent, 'linux' );
|
||||||
}
|
}
|
||||||
|
|
||||||
$a_mobile_data = array( $mobile_device, $mobile_browser, $mobile_browser_number, $mobile_os, $mobile_os_number, $mobile_server, $mobile_server_number, $mobile_device_number );
|
$a_mobile_data = array( $mobile_device, $mobile_browser, $mobile_browser_number, $mobile_os, $mobile_os_number, $mobile_server, $mobile_server_number, $mobile_device_number );
|
||||||
@@ -2020,7 +1979,7 @@ class G
|
|||||||
$plain = '/sys' . SYS_TEMP;
|
$plain = '/sys' . SYS_TEMP;
|
||||||
|
|
||||||
for ($i = 2; $i < count( $aRequestUri ); $i ++) {
|
for ($i = 2; $i < count( $aRequestUri ); $i ++) {
|
||||||
$decoded = g::decrypt( urldecode( $aRequestUri[$i] ), URL_KEY );
|
$decoded = Bootstrap::decrypt( urldecode( $aRequestUri[$i] ), URL_KEY );
|
||||||
if ($decoded == 'sWì›') {
|
if ($decoded == 'sWì›') {
|
||||||
$decoded = $VARS[$i]; //this is for the string "../"
|
$decoded = $VARS[$i]; //this is for the string "../"
|
||||||
}
|
}
|
||||||
@@ -2169,7 +2128,7 @@ class G
|
|||||||
public function createUID ($scope, $id)
|
public function createUID ($scope, $id)
|
||||||
{
|
{
|
||||||
$e = $scope . $id;
|
$e = $scope . $id;
|
||||||
$e = g::encrypt( $e, URL_KEY );
|
$e = Bootstrap::encrypt( $e, URL_KEY );
|
||||||
$e = str_replace( array ('+','/','='
|
$e = str_replace( array ('+','/','='
|
||||||
), array ('__','_','___'
|
), array ('__','_','___'
|
||||||
), base64_encode( $e ) );
|
), base64_encode( $e ) );
|
||||||
@@ -2192,7 +2151,7 @@ class G
|
|||||||
), array ('___','__','_'
|
), array ('___','__','_'
|
||||||
), $uid );
|
), $uid );
|
||||||
$e = base64_decode( $e );
|
$e = base64_decode( $e );
|
||||||
$e = g::decrypt( $e, URL_KEY );
|
$e = Bootstrap::decrypt( $e, URL_KEY );
|
||||||
$e = substr( $e, strlen( $scope ) );
|
$e = substr( $e, strlen( $scope ) );
|
||||||
return $e;
|
return $e;
|
||||||
}
|
}
|
||||||
@@ -2210,7 +2169,7 @@ class G
|
|||||||
$arrays = & func_get_args();
|
$arrays = & func_get_args();
|
||||||
foreach ($arrays as $array_i) {
|
foreach ($arrays as $array_i) {
|
||||||
if (is_array( $array_i )) {
|
if (is_array( $array_i )) {
|
||||||
g::array_merge_2( $array, $array_i );
|
Bootstrap::array_merge_2( $array, $array_i );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $array;
|
return $array;
|
||||||
@@ -2232,7 +2191,7 @@ class G
|
|||||||
if (! isset( $array[$k] )) {
|
if (! isset( $array[$k] )) {
|
||||||
$array[$k] = array ();
|
$array[$k] = array ();
|
||||||
}
|
}
|
||||||
g::array_merge_2( $array[$k], $v );
|
Bootstrap::array_merge_2( $array[$k], $v );
|
||||||
} else {
|
} else {
|
||||||
if (isset( $array[$k] ) && is_array( $array[$k] )) {
|
if (isset( $array[$k] ) && is_array( $array[$k] )) {
|
||||||
$array[$k][0] = $v;
|
$array[$k][0] = $v;
|
||||||
@@ -2265,7 +2224,7 @@ class G
|
|||||||
if (! is_array( $result )) {
|
if (! is_array( $result )) {
|
||||||
$result = array ();
|
$result = array ();
|
||||||
}
|
}
|
||||||
$result = $result + g::getSystemConstants();
|
$result = $result + Bootstrap::getSystemConstants();
|
||||||
$__textoEval = "";
|
$__textoEval = "";
|
||||||
$u = 0;
|
$u = 0;
|
||||||
//$count=preg_match_all('/\@(?:([\@\%\#\!Qq])([a-zA-Z\_]\w*)|([a-zA-Z\_][\w\-\>\:]*)\(((?:[^\\\\\)]*(?:[\\\\][\w\W])?)*)\))/',$sqlString,$match,PREG_PATTERN_ORDER | PREG_OFFSET_CAPTURE);
|
//$count=preg_match_all('/\@(?:([\@\%\#\!Qq])([a-zA-Z\_]\w*)|([a-zA-Z\_][\w\-\>\:]*)\(((?:[^\\\\\)]*(?:[\\\\][\w\W])?)*)\))/',$sqlString,$match,PREG_PATTERN_ORDER | PREG_OFFSET_CAPTURE);
|
||||||
@@ -2280,7 +2239,7 @@ class G
|
|||||||
$u = $match[0][$r][1] + strlen( $match[0][$r][0] );
|
$u = $match[0][$r][1] + strlen( $match[0][$r][0] );
|
||||||
//Mysql quotes scape
|
//Mysql quotes scape
|
||||||
if (($match[1][$r][0] == '@') && (isset( $result[$match[2][$r][0]] ))) {
|
if (($match[1][$r][0] == '@') && (isset( $result[$match[2][$r][0]] ))) {
|
||||||
$__textoEval .= "\"" . g::sqlEscape( $result[$match[2][$r][0]], $DBEngine ) . "\"";
|
$__textoEval .= "\"" . Bootstrap::sqlEscape( $result[$match[2][$r][0]], $DBEngine ) . "\"";
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
//URL encode
|
//URL encode
|
||||||
@@ -2300,14 +2259,14 @@ class G
|
|||||||
}
|
}
|
||||||
//Substring (Sub replaceDataField)
|
//Substring (Sub replaceDataField)
|
||||||
if (($match[1][$r][0]=='!')&&(isset($result[$match[2][$r][0]]))) {
|
if (($match[1][$r][0]=='!')&&(isset($result[$match[2][$r][0]]))) {
|
||||||
$__textoEval.=g::replaceDataField($result[$match[2][$r][0]],$result);
|
$__textoEval.=Bootstrap::replaceDataField($result[$match[2][$r][0]],$result);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
//Call function
|
//Call function
|
||||||
if (($match[1][$r][0]==='')&&($match[2][$r][0]==='')&&($match[3][$r][0]!=='')) {
|
if (($match[1][$r][0]==='')&&($match[2][$r][0]==='')&&($match[3][$r][0]!=='')) {
|
||||||
eval('$strAux = ' . $match[3][$r][0] . '(\'' . addcslashes(g::replaceDataField(stripslashes($match[4][$r][0]),$result),'\\\'') . '\');');
|
eval('$strAux = ' . $match[3][$r][0] . '(\'' . addcslashes(Bootstrap::replaceDataField(stripslashes($match[4][$r][0]),$result),'\\\'') . '\');');
|
||||||
|
|
||||||
if ($match[3][$r][0] == "g::LoadTranslation") {
|
if ($match[3][$r][0] == "Bootstrap::LoadTranslation") {
|
||||||
$arraySearch = array("'");
|
$arraySearch = array("'");
|
||||||
$arrayReplace = array("\\'");
|
$arrayReplace = array("\\'");
|
||||||
$strAux = str_replace($arraySearch, $arrayReplace, $strAux);
|
$strAux = str_replace($arraySearch, $arrayReplace, $strAux);
|
||||||
@@ -2318,12 +2277,12 @@ class G
|
|||||||
}
|
}
|
||||||
//Non-quoted
|
//Non-quoted
|
||||||
if (($match[1][$r][0]=='#')&&(isset($result[$match[2][$r][0]]))) {
|
if (($match[1][$r][0]=='#')&&(isset($result[$match[2][$r][0]]))) {
|
||||||
$__textoEval.=g::replaceDataField($result[$match[2][$r][0]],$result);
|
$__textoEval.=Bootstrap::replaceDataField($result[$match[2][$r][0]],$result);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
//Non-quoted =
|
//Non-quoted =
|
||||||
if (($match[1][$r][0]=='=')&&(isset($result[$match[2][$r][0]]))) {
|
if (($match[1][$r][0]=='=')&&(isset($result[$match[2][$r][0]]))) {
|
||||||
$__textoEval.=g::replaceDataField($result[$match[2][$r][0]],$result);
|
$__textoEval.=Bootstrap::replaceDataField($result[$match[2][$r][0]],$result);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2351,7 +2310,7 @@ class G
|
|||||||
*/
|
*/
|
||||||
public function getSystemConstants($params = null)
|
public function getSystemConstants($params = null)
|
||||||
{
|
{
|
||||||
$t1 = g::microtime_float();
|
$t1 = Bootstrap::microtime_float();
|
||||||
$sysCon = array();
|
$sysCon = array();
|
||||||
|
|
||||||
if (defined("SYS_LANG")) {
|
if (defined("SYS_LANG")) {
|
||||||
@@ -2382,7 +2341,7 @@ class G
|
|||||||
switch ($params->option) {
|
switch ($params->option) {
|
||||||
case "STORED SESSION":
|
case "STORED SESSION":
|
||||||
if (isset($params->SID)) {
|
if (isset($params->SID)) {
|
||||||
g::LoadClass("sessions");
|
Bootstrap::LoadClass("sessions");
|
||||||
|
|
||||||
$oSessions = new Sessions($params->SID);
|
$oSessions = new Sessions($params->SID);
|
||||||
$sysCon = array_merge($sysCon, $oSessions->getGlobals());
|
$sysCon = array_merge($sysCon, $oSessions->getGlobals());
|
||||||
@@ -2446,7 +2405,7 @@ class G
|
|||||||
}
|
}
|
||||||
|
|
||||||
$temp = $strTemplateName . ".php";
|
$temp = $strTemplateName . ".php";
|
||||||
$file = g::ExpandPath( 'templates' ) . $temp;
|
$file = Bootstrap::ExpandPath( 'templates' ) . $temp;
|
||||||
// Check if its a user template
|
// Check if its a user template
|
||||||
if (file_exists( $file )) {
|
if (file_exists( $file )) {
|
||||||
//require_once( $file );
|
//require_once( $file );
|
||||||
@@ -2479,7 +2438,7 @@ class G
|
|||||||
} else {
|
} else {
|
||||||
if ($createPath) {
|
if ($createPath) {
|
||||||
//TODO:: Define Environment constants: Devel (0777), Production (0770), ...
|
//TODO:: Define Environment constants: Devel (0777), Production (0770), ...
|
||||||
G::mk_dir( $strPath, 0777 );
|
Bootstrap::mk_dir( $strPath, 0777 );
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -2555,18 +2514,18 @@ class G
|
|||||||
|
|
||||||
$MONTHS = Array ();
|
$MONTHS = Array ();
|
||||||
for ($i = 1; $i <= 12; $i ++) {
|
for ($i = 1; $i <= 12; $i ++) {
|
||||||
$MONTHS[$i] = g::LoadTranslation( "ID_MONTH_$i", $lang );
|
$MONTHS[$i] = Bootstrap::LoadTranslation( "ID_MONTH_$i", $lang );
|
||||||
}
|
}
|
||||||
|
|
||||||
$d = (int) $day;
|
$d = (int) $day;
|
||||||
$dd = g::complete_field( $day, 2, 1 );
|
$dd = Bootstrap::complete_field( $day, 2, 1 );
|
||||||
|
|
||||||
//missing D
|
//missing D
|
||||||
|
|
||||||
|
|
||||||
$M = $MONTHS[$month];
|
$M = $MONTHS[$month];
|
||||||
$m = (int) $month;
|
$m = (int) $month;
|
||||||
$mm = g::complete_field( $month, 2, 1 );
|
$mm = Bootstrap::complete_field( $month, 2, 1 );
|
||||||
|
|
||||||
$yy = substr( $year, strlen( $year ) - 2, 2 );
|
$yy = substr( $year, strlen( $year ) - 2, 2 );
|
||||||
$yyyy = $year;
|
$yyyy = $year;
|
||||||
@@ -2695,7 +2654,7 @@ class G
|
|||||||
public function encryptlink ($url)
|
public function encryptlink ($url)
|
||||||
{
|
{
|
||||||
if (defined( 'ENABLE_ENCRYPT' ) && ENABLE_ENCRYPT == 'yes') {
|
if (defined( 'ENABLE_ENCRYPT' ) && ENABLE_ENCRYPT == 'yes') {
|
||||||
return urlencode( G::encrypt( $url, URL_KEY ) );
|
return urlencode( Bootstrap::encrypt( $url, URL_KEY ) );
|
||||||
} else {
|
} else {
|
||||||
return $url;
|
return $url;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -214,231 +214,6 @@ class G
|
|||||||
{
|
{
|
||||||
return array_sum( explode( ' ', microtime() ) );
|
return array_sum( explode( ' ', microtime() ) );
|
||||||
}
|
}
|
||||||
/* custom error functions */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* &setFatalErrorHandler
|
|
||||||
*
|
|
||||||
* @param string $newFatalErrorHandler default value null
|
|
||||||
*
|
|
||||||
* @return boolean true
|
|
||||||
*/
|
|
||||||
public function &setFatalErrorHandler ($newFatalErrorHandler = null)
|
|
||||||
{
|
|
||||||
if (isset( $newFatalErrorHandler )) {
|
|
||||||
set_error_handler( $newFatalErrorHandler );
|
|
||||||
} else {
|
|
||||||
ob_start( array ('G','fatalErrorHandler'
|
|
||||||
) );
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* setErrorHandler
|
|
||||||
*
|
|
||||||
* @param string setErrorHandler
|
|
||||||
* @param object $newCustomErrorHandler
|
|
||||||
*
|
|
||||||
* @return boolean true
|
|
||||||
*/
|
|
||||||
/*public static*/
|
|
||||||
public function setErrorHandler ($newCustomErrorHandler = null)
|
|
||||||
{
|
|
||||||
if (isset( $newCustomErrorHandler )) {
|
|
||||||
set_error_handler( $newCustomErrorHandler );
|
|
||||||
} else {
|
|
||||||
set_error_handler( array ("G","customErrorHandler") );
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* fatalErrorHandler
|
|
||||||
*
|
|
||||||
* @param string $buffer
|
|
||||||
*
|
|
||||||
* @return string $errorBox or $buffer
|
|
||||||
*/
|
|
||||||
/*public static*/
|
|
||||||
public function fatalErrorHandler ($buffer)
|
|
||||||
{
|
|
||||||
// The ereg function has been DEPRECATED as of PHP 5.3.0.
|
|
||||||
// if (ereg("(error</b>:)(.+)(<br)", $buffer, $regs) ) {
|
|
||||||
if (preg_match( "/(error</b>:)(.+)(<br)/", $buffer, $regs )) {
|
|
||||||
$err = preg_replace( "/<.*?>/", "", $regs[2] );
|
|
||||||
G::customErrorLog( 'FATAL', $err, '', 0, '' );
|
|
||||||
$ip_addr = G::getIpAddress();
|
|
||||||
$errorBox = "<table cellpadding=1 cellspacing=0 border=0 bgcolor=#808080 width=250><tr><td >" . "<table cellpadding=2 cellspacing=0 border=0 bgcolor=white width=100%>" . "<tr bgcolor=#d04040><td colspan=2 nowrap><font color=#ffffaa><code> ERROR CAUGHT check log file</code></font></td></tr>" . "<tr ><td colspan=2 nowrap><font color=black><code>IP address: $ip_addr</code></font></td></tr> " . "</table></td></tr></table>";
|
|
||||||
return $errorBox;
|
|
||||||
}
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* customErrorHandler
|
|
||||||
*
|
|
||||||
* @param string $errno
|
|
||||||
* @param string $msg
|
|
||||||
* @param string $file
|
|
||||||
* @param string $line
|
|
||||||
* @param string $context
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
/*public static*/
|
|
||||||
public function customErrorHandler ($errno, $msg, $file, $line, $context)
|
|
||||||
{
|
|
||||||
switch ($errno) {
|
|
||||||
case E_ERROR:
|
|
||||||
case E_USER_ERROR:
|
|
||||||
$type = "FATAL";
|
|
||||||
G::customErrorLog( $type, $msg, $file, $line );
|
|
||||||
G::verboseError( $type, $errno, $msg, $file, $line, $context );
|
|
||||||
if (defined( "ERROR_SHOW_SOURCE_CODE" ) && ERROR_SHOW_SOURCE_CODE) {
|
|
||||||
G::showErrorSource( $type, $msg, $file, $line, "#c00000" );
|
|
||||||
}
|
|
||||||
die();
|
|
||||||
break;
|
|
||||||
case E_WARNING:
|
|
||||||
case E_USER_WARNING:
|
|
||||||
$type = "WARNING";
|
|
||||||
G::customErrorLog( $type, $msg, $file, $line );
|
|
||||||
break;
|
|
||||||
case E_NOTICE:
|
|
||||||
case E_USER_NOTICE:
|
|
||||||
$type = "NOTICE";
|
|
||||||
if (defined( "ERROR_LOG_NOTICE_ERROR" ) && ERROR_LOG_NOTICE_ERROR) {
|
|
||||||
G::customErrorLog( $type, $msg, $file, $line );
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case E_STRICT:
|
|
||||||
$type = "STRICT"; //dont show STRICT Errors
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
$type = "ERROR ($errno)";
|
|
||||||
G::customErrorLog( $type, $msg, $file, $line );
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (defined( "ERROR_SHOW_SOURCE_CODE" ) && ERROR_SHOW_SOURCE_CODE && $errno != E_STRICT) {
|
|
||||||
G::showErrorSource( $type, $msg, $file, $line );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* public function showErrorSource
|
|
||||||
*
|
|
||||||
* @author David S. Callizaya S. <davidsantos@colosa.com>
|
|
||||||
* @access public
|
|
||||||
* @param eter string type
|
|
||||||
* @param eter string msg
|
|
||||||
* @param eter string file
|
|
||||||
* @param eter string line
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function showErrorSource ($type, $msg, $file, $line)
|
|
||||||
{
|
|
||||||
global $__src_array;
|
|
||||||
$line_offset = 3;
|
|
||||||
|
|
||||||
if (! isset( $__src_array[$file] )) {
|
|
||||||
$__src_array[$file] = @file( $file );
|
|
||||||
}
|
|
||||||
if (! $__src_array[$file]) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if ($line - $line_offset < 1) {
|
|
||||||
$start = 1;
|
|
||||||
} else {
|
|
||||||
$start = $line - $line_offset;
|
|
||||||
}
|
|
||||||
if ($line + $line_offset > count( $__src_array[$file] )) {
|
|
||||||
$end = count( $__src_array[$file] );
|
|
||||||
} else {
|
|
||||||
$end = $line + $line_offset;
|
|
||||||
}
|
|
||||||
print "<table cellpadding=1 cellspacing=0 border=0 bgcolor=#808080 width=80%><tr><td >";
|
|
||||||
print "<table cellpadding=2 cellspacing=0 border=0 bgcolor=white width=100%>";
|
|
||||||
print "<tr bgcolor=#d04040>
|
|
||||||
<td colspan=2 nowrap><font color=#ffffaa><code> $type: $msg</code></font></td></tr>
|
|
||||||
<tr >
|
|
||||||
<td colspan=2 nowrap><font color=gray>File: $file</font></td></tr>";
|
|
||||||
for ($i = $start; $i <= $end; $i ++) {
|
|
||||||
$str = @highlight_string( "<?php" . $__src_array[$file][$i - 1] . "?>", true );
|
|
||||||
|
|
||||||
$pos1 = strpos( $str, "<?" );
|
|
||||||
$pos2 = strrpos( $str, "?>" );
|
|
||||||
|
|
||||||
$str = substr( $str, 0, $pos1 ) . substr( $str, $pos1 + 5, $pos2 - ($pos1 + 5) ) . substr( $str, $pos2 + 5 );
|
|
||||||
|
|
||||||
($i == $line) ? $bgcolor = "bgcolor=#ffccaa" : $bgcolor = "bgcolor=#ffffff";
|
|
||||||
print "<tr><td bgcolor=#d0d0d0 width=15 align=right><code>$i</code></td>
|
|
||||||
<td $bgcolor>$str</td></tr>";
|
|
||||||
}
|
|
||||||
|
|
||||||
print "</table></td></tr></table><p>";
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* customErrorLog
|
|
||||||
*
|
|
||||||
* @param string $type
|
|
||||||
* @param string $msg
|
|
||||||
* @param string $file
|
|
||||||
* @param string $line
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function customErrorLog ($type, $msg, $file, $line)
|
|
||||||
{
|
|
||||||
global $HTTP_X_FORWARDED_FOR, $REMOTE_ADDR, $HTTP_USER_AGENT, $REQUEST_URI;
|
|
||||||
|
|
||||||
$ip_addr = G::getIpAddress();
|
|
||||||
|
|
||||||
if (defined( 'APPLICATION_CODE' )) {
|
|
||||||
$name = APPLICATION_CODE;
|
|
||||||
} else {
|
|
||||||
$name = "php";
|
|
||||||
}
|
|
||||||
if ($file != '') {
|
|
||||||
$msg .= " in $file:$line ";
|
|
||||||
}
|
|
||||||
$date = date( 'Y-m-d H:i:s' );
|
|
||||||
$REQUEST_URI = getenv( 'REQUEST_URI' );
|
|
||||||
$HTTP_USER_AGENT = getenv( 'HTTP_USER_AGENT' );
|
|
||||||
error_log( "[$date] [$ip_addr] [$name] $type: $msg [$HTTP_USER_AGENT] URI: $REQUEST_URI", 0 );
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* verboseError
|
|
||||||
*
|
|
||||||
* @param string $type
|
|
||||||
* @param string $errno
|
|
||||||
* @param string $msg
|
|
||||||
* @param string $file
|
|
||||||
* @param string $line
|
|
||||||
* @param string $context
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
/*public static*/
|
|
||||||
public function verboseError ($type, $errno, $msg, $file, $line, $context)
|
|
||||||
{
|
|
||||||
global $SERVER_ADMIN;
|
|
||||||
|
|
||||||
print "<h1>Error!</h1>";
|
|
||||||
print "An error occurred while executing this script. Please
|
|
||||||
contact the <a href=mailto:$SERVER_ADMIN>$SERVER_ADMIN</a> to
|
|
||||||
report this error.";
|
|
||||||
print "<p>";
|
|
||||||
print "Here is the information provided by the script:";
|
|
||||||
print "<hr><pre>";
|
|
||||||
print "Error type: $type (code: $errno)<br>";
|
|
||||||
print "Error message: $msg<br>";
|
|
||||||
print "Script name and line number of error: $file:$line<br>";
|
|
||||||
print "Variable context when error occurred: <br>";
|
|
||||||
print_r( $context );
|
|
||||||
print "</pre><hr>";
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* * Encrypt and decrypt functions ***
|
* * Encrypt and decrypt functions ***
|
||||||
@@ -1330,129 +1105,10 @@ class G
|
|||||||
G::header( "location: /errors/error404.php?l=" . $_SERVER['REQUEST_URI'] );
|
G::header( "location: /errors/error404.php?l=" . $_SERVER['REQUEST_URI'] );
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (strtolower( $typefile )) {
|
if ( substr($filename,-10) == "ext-all.js" ) {
|
||||||
case "js":
|
|
||||||
$paths = explode( '/', $filename );
|
|
||||||
$jsName = $paths[count( $paths ) - 1];
|
|
||||||
$output = '';
|
|
||||||
$pathJs = PATH_GULLIVER_HOME . PATH_SEP . 'js' . PATH_SEP;
|
|
||||||
switch ($jsName) {
|
|
||||||
case 'draw2d.js':
|
|
||||||
$filename = PATH_GULLIVER_HOME . 'js/ext/min/draw2d.js';
|
|
||||||
@readfile( $filename );
|
|
||||||
/* this code is commented, because in run time we dont generate the file ext-all.js
|
|
||||||
the file was generate once and the committed to git. If there are changes in the included
|
|
||||||
files we need to regenerate the file manually.
|
|
||||||
$cachePath = PATH_C . 'ExtJs' . PATH_SEP;
|
|
||||||
$checksum = G::getCheckSum( array ($pathJs . 'ext/wz_jsgraphics.js',$pathJs . 'ext/mootools.js',$pathJs . 'ext/moocanvas.js'
|
|
||||||
) );
|
|
||||||
|
|
||||||
$cf = $cachePath . "ext-draw2d-cache.$checksum.js";
|
|
||||||
$cfStored = G::getCacheFileNameByPattern( $cachePath, 'ext-draw2d-cache.*.js' );
|
|
||||||
//error_log("draw2d.js ".$checksum ."==". $cfStored['checksum']);
|
|
||||||
if (is_file( $cfStored['filename'] ) && $checksum == $cfStored['checksum']) {
|
|
||||||
$output = file_get_contents( $cf );
|
|
||||||
} else {
|
|
||||||
if (is_file( $cfStored['filename'] )) {
|
|
||||||
@unlink( $cfStored['filename'] );
|
|
||||||
}
|
|
||||||
$output .= JSMin::minify( file_get_contents( $pathJs . 'ext/wz_jsgraphics.js' ) );
|
|
||||||
$output .= JSMin::minify( file_get_contents( $pathJs . 'ext/mootools.js' ) );
|
|
||||||
$output .= JSMin::minify( file_get_contents( $pathJs . 'ext/moocanvas.js' ) );
|
|
||||||
$output .= file_get_contents( $pathJs . 'ext/draw2d.js' ); //already minified
|
|
||||||
file_put_contents( $cf, $output );
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
break;
|
|
||||||
case 'ext-all.js':
|
|
||||||
$filename = PATH_GULLIVER_HOME . 'js/ext/min/ext-all.js';
|
$filename = PATH_GULLIVER_HOME . 'js/ext/min/ext-all.js';
|
||||||
|
}
|
||||||
@readfile( $filename );
|
@readfile( $filename );
|
||||||
/* this code is commented, because in run time we dont generate the file ext-all.js
|
|
||||||
the file was generate once and the committed to git. If there are changes in the included
|
|
||||||
files we need to regenerate the file manually.
|
|
||||||
$cachePath = PATH_C . 'ExtJs' . PATH_SEP;
|
|
||||||
$checksum = G::getCheckSum( array ($pathJs . 'ext/pmos-common.js',$pathJs . 'ext/ux/miframe.js',$pathJs . 'ext/ux.locationbar/Ext.ux.LocationBar.js',$pathJs . 'ext/ux.statusbar/ext-statusbar.js',$pathJs . 'ext/ux.treefilterx/Ext.ux.tree.TreeFilterX.js'
|
|
||||||
) );
|
|
||||||
|
|
||||||
$cfStored = G::getCacheFileNameByPattern( $cachePath, 'ext-all-cache.*.js' );
|
|
||||||
$cf = PATH_C . 'ExtJs' . PATH_SEP . "ext-all-cache.$checksum.js";
|
|
||||||
if (is_file( $cfStored['filename'] ) && $checksum == $cfStored['checksum']) {
|
|
||||||
$output = file_get_contents( $cf );
|
|
||||||
} else {
|
|
||||||
if (is_file( $cfStored['filename'] )) {
|
|
||||||
@unlink( $cfStored['filename'] );
|
|
||||||
}
|
|
||||||
$output .= file_get_contents( $pathJs . 'ext/ext-all.js' ); //already minified
|
|
||||||
$output .= file_get_contents( $pathJs . 'ext/ux/ux-all.js' ); //already minified
|
|
||||||
$output .= JSMin::minify( file_get_contents( $pathJs . 'ext/pmos-common.js' ) );
|
|
||||||
$output .= JSMin::minify( file_get_contents( $pathJs . 'ext/ux/miframe.js' ) );
|
|
||||||
$output .= JSMin::minify( file_get_contents( $pathJs . 'ext/ux.locationbar/Ext.ux.LocationBar.js' ) );
|
|
||||||
$output .= JSMin::minify( file_get_contents( $pathJs . 'ext/ux.statusbar/ext-statusbar.js' ) );
|
|
||||||
$output .= JSMin::minify( file_get_contents( $pathJs . 'ext/ux.treefilterx/Ext.ux.tree.TreeFilterX.js' ) );
|
|
||||||
file_put_contents( $cf, $output );
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
@readfile( $filename );
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
print $output;
|
|
||||||
break;
|
|
||||||
case 'css':
|
|
||||||
print G::trimSourceCodeFile( $filename );
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
@readfile( $filename );
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* trimSourceCodeFile
|
|
||||||
*
|
|
||||||
* @param string $filename
|
|
||||||
*
|
|
||||||
* @return string $output
|
|
||||||
*/
|
|
||||||
public function trimSourceCodeFile ($filename)
|
|
||||||
{
|
|
||||||
$handle = fopen( $filename, "r" );
|
|
||||||
$lastChar = '';
|
|
||||||
$firstChar = '';
|
|
||||||
$content = '';
|
|
||||||
$line = '';
|
|
||||||
|
|
||||||
if ($handle) {
|
|
||||||
while (! feof( $handle )) {
|
|
||||||
//$line = trim( fgets($handle, 16096) ) . "\n" ;
|
|
||||||
$line = fgets( $handle, 16096 );
|
|
||||||
$content .= $line;
|
|
||||||
}
|
|
||||||
fclose( $handle );
|
|
||||||
}
|
|
||||||
return $content;
|
|
||||||
|
|
||||||
$index = 0;
|
|
||||||
$output = '';
|
|
||||||
while ($index < strlen( $content )) {
|
|
||||||
$car = $content[$index];
|
|
||||||
$index ++;
|
|
||||||
if ($car == '/' && isset( $content[$index] ) && $content[$index] == '*') {
|
|
||||||
$endComment = false;
|
|
||||||
$index ++;
|
|
||||||
while ($endComment == false && $index < strlen( $content )) {
|
|
||||||
if ($content[$index] == '*' && isset( $content[$index + 1] ) && $content[$index + 1] == '/') {
|
|
||||||
$endComment = true;
|
|
||||||
$index ++;
|
|
||||||
}
|
|
||||||
$index ++;
|
|
||||||
}
|
|
||||||
$car = '';
|
|
||||||
}
|
|
||||||
$output .= $car;
|
|
||||||
}
|
|
||||||
return $output;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -3371,7 +3027,7 @@ class G
|
|||||||
/**
|
/**
|
||||||
* Validate and emai address in complete forms,
|
* Validate and emai address in complete forms,
|
||||||
*
|
*
|
||||||
* @author Erik A.O. <erik@gmail.com, aortiz.erik@gmail.com>
|
* @author Erik A.O. <erik@colosa.com>
|
||||||
* i.e. if the param. is 'erik a.o. <erik@colosa.com>'
|
* i.e. if the param. is 'erik a.o. <erik@colosa.com>'
|
||||||
* -> returns a object within $o->email => erik@colosa.com and $o->name => erik A.O. in other case returns false
|
* -> returns a object within $o->email => erik@colosa.com and $o->name => erik A.O. in other case returns false
|
||||||
*
|
*
|
||||||
@@ -3404,7 +3060,7 @@ class G
|
|||||||
/**
|
/**
|
||||||
* JSON encode
|
* JSON encode
|
||||||
*
|
*
|
||||||
* @author Erik A.O. <erik@gmail.com, aortiz.erik@gmail.com>
|
* @author Erik A.O. <erik@colosa.com>
|
||||||
*/
|
*/
|
||||||
public function json_encode($Json)
|
public function json_encode($Json)
|
||||||
{
|
{
|
||||||
@@ -3420,7 +3076,7 @@ class G
|
|||||||
/**
|
/**
|
||||||
* JSON decode
|
* JSON decode
|
||||||
*
|
*
|
||||||
* @author Erik A.O. <erik@gmail.com, aortiz.erik@gmail.com>
|
* @author Erik A.O. <erik@colosa.com>
|
||||||
*/
|
*/
|
||||||
public function json_decode($Json)
|
public function json_decode($Json)
|
||||||
{
|
{
|
||||||
@@ -3689,11 +3345,11 @@ class G
|
|||||||
return $infoUser;
|
return $infoUser;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getModel($model)
|
//public function getModel($model)
|
||||||
{
|
//{
|
||||||
require_once "classes/model/$model.php";
|
// require_once "classes/model/$model.php";
|
||||||
return new $model();
|
// return new $model();
|
||||||
}
|
//}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Recursive Is writeable function
|
* Recursive Is writeable function
|
||||||
|
|||||||
@@ -4922,8 +4922,9 @@ class XmlForm
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$oJSON = new Services_JSON();
|
//$oJSON = new Services_JSON();
|
||||||
$this->objectRequiredFields = str_replace( '"', "%27", str_replace( "'", "%39", $oJSON->encode( $this->requiredFields ) ) );
|
$jsonRequired = G::json_encode( $this->requiredFields );
|
||||||
|
$this->objectRequiredFields = str_replace( '"', "%27", str_replace( "'", "%39", $jsonRequired ) );
|
||||||
|
|
||||||
//Load the default values
|
//Load the default values
|
||||||
//$this->setDefaultValues();
|
//$this->setDefaultValues();
|
||||||
|
|||||||
@@ -50,8 +50,8 @@ class dashletRssReader implements DashletInterface
|
|||||||
curl_setopt( $pCurl, CURLOPT_CONNECTTIMEOUT, 10 );
|
curl_setopt( $pCurl, CURLOPT_CONNECTTIMEOUT, 10 );
|
||||||
curl_setopt( $pCurl, CURLOPT_TIMEOUT, 20 );
|
curl_setopt( $pCurl, CURLOPT_TIMEOUT, 20 );
|
||||||
|
|
||||||
curl_setopt( $pCurl, CURLOPT_NOPROGRESS, false );
|
curl_setopt( $pCurl, CURLOPT_NOPROGRESS, true );
|
||||||
curl_setopt( $pCurl, CURLOPT_VERBOSE, true );
|
curl_setopt( $pCurl, CURLOPT_VERBOSE, false );
|
||||||
|
|
||||||
//Apply proxy settings
|
//Apply proxy settings
|
||||||
$sysConf = System::getSystemConfiguration();
|
$sysConf = System::getSystemConfiguration();
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ class PMmemcached
|
|||||||
$this->version = $this->mem->getVersion();
|
$this->version = $this->mem->getVersion();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
G::Loadclass( 'fileCache' );
|
require_once ('classes/class.fileCache.php');
|
||||||
// create cache folder
|
// create cache folder
|
||||||
$cacheFolder = PATH_DATA . "sites/" . $workspace . "/cachefiles/";
|
$cacheFolder = PATH_DATA . "sites/" . $workspace . "/cachefiles/";
|
||||||
if (! file_exists( $cacheFolder )) {
|
if (! file_exists( $cacheFolder )) {
|
||||||
|
|||||||
@@ -1102,7 +1102,7 @@ class PMPluginRegistry
|
|||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$iPlugins = 0;
|
$iPlugins = 0;
|
||||||
G::LoadClass( 'serverConfiguration' );
|
require_once ( 'class.serverConfiguration.php' );
|
||||||
$oServerConf = & serverConf::getSingleton();
|
$oServerConf = & serverConf::getSingleton();
|
||||||
$oServerConf->addPlugin( SYS_SYS, $this->_aPluginDetails );
|
$oServerConf->addPlugin( SYS_SYS, $this->_aPluginDetails );
|
||||||
foreach ($this->_aPluginDetails as $namespace => $detail) {
|
foreach ($this->_aPluginDetails as $namespace => $detail) {
|
||||||
|
|||||||
@@ -120,7 +120,9 @@ if (strlen($msgType) > 0) {
|
|||||||
$_SESSION['FAILED_LOGINS'] = $sFailedLogins;
|
$_SESSION['FAILED_LOGINS'] = $sFailedLogins;
|
||||||
|
|
||||||
//translation
|
//translation
|
||||||
$Translations = G::getModel("Translation");
|
//$Translations = G::getModel("Translation");
|
||||||
|
require_once "classes/model/Translation.php";
|
||||||
|
$Translations = new Translation();
|
||||||
$translationsTable = $Translations->getTranslationEnvironments();
|
$translationsTable = $Translations->getTranslationEnvironments();
|
||||||
|
|
||||||
$availableLangArray = array ();
|
$availableLangArray = array ();
|
||||||
|
|||||||
@@ -83,10 +83,13 @@ function getWorkspacesAvailable()
|
|||||||
sort ($filesArray, SORT_STRING);
|
sort ($filesArray, SORT_STRING);
|
||||||
return $filesArray;
|
return $filesArray;
|
||||||
}
|
}
|
||||||
|
|
||||||
$availableWorkspace = getWorkspacesAvailable ();
|
$availableWorkspace = getWorkspacesAvailable ();
|
||||||
|
|
||||||
//Translations
|
//Translations
|
||||||
$Translations = G::getModel("Translation");
|
//$Translations = G::getModel("Translation"); <-- ugly way to get a class
|
||||||
|
require_once "classes/model/Translation.php";
|
||||||
|
$Translations = new Translation();
|
||||||
$translationsTable = $Translations->getTranslationEnvironments();
|
$translationsTable = $Translations->getTranslationEnvironments();
|
||||||
|
|
||||||
$availableLangArray = array ();
|
$availableLangArray = array ();
|
||||||
@@ -103,7 +106,6 @@ foreach ($translationsTable as $locale) {
|
|||||||
$availableLangArray [] = $aFields;
|
$availableLangArray [] = $aFields;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$availableWorkspaceArray = array ();
|
$availableWorkspaceArray = array ();
|
||||||
$availableWorkspaceArray [] = array ('ENV_ID' => 'char', 'ENV_NAME' => 'char');
|
$availableWorkspaceArray [] = array ('ENV_ID' => 'char', 'ENV_NAME' => 'char');
|
||||||
foreach ($availableWorkspace as $envKey => $envName) {
|
foreach ($availableWorkspace as $envKey => $envName) {
|
||||||
@@ -120,8 +122,9 @@ $_SESSION ['_DBArray'] = $_DBArray;
|
|||||||
|
|
||||||
$aField ['LOGIN_VERIFY_MSG'] = G::loadTranslation ('LOGIN_VERIFY_MSG');
|
$aField ['LOGIN_VERIFY_MSG'] = G::loadTranslation ('LOGIN_VERIFY_MSG');
|
||||||
$aField['USER_LANG'] = SYS_LANG;
|
$aField['USER_LANG'] = SYS_LANG;
|
||||||
|
|
||||||
//Get Server Configuration
|
//Get Server Configuration
|
||||||
G::LoadClass ('serverConfiguration');
|
//G::LoadClass ('serverConfiguration'); //already called
|
||||||
$oServerConf = & serverConf::getSingleton ();
|
$oServerConf = & serverConf::getSingleton ();
|
||||||
|
|
||||||
$G_PUBLISH = new Publisher ();
|
$G_PUBLISH = new Publisher ();
|
||||||
@@ -131,8 +134,8 @@ if ($oServerConf->getProperty ('LOGIN_NO_WS')) {
|
|||||||
$G_PUBLISH->AddContent ('xmlform', 'xmlform', 'login/sysLogin', '', $aField, 'sysLogin');
|
$G_PUBLISH->AddContent ('xmlform', 'xmlform', 'login/sysLogin', '', $aField, 'sysLogin');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
G::RenderPage ("publish");
|
G::RenderPage ("publish");
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var oInfoPanel;
|
var oInfoPanel;
|
||||||
|
|||||||
@@ -36,9 +36,11 @@ try {
|
|||||||
die;
|
die;
|
||||||
break;
|
break;
|
||||||
}*/
|
}*/
|
||||||
$oJSON = new Services_JSON();
|
//$oJSON = new Services_JSON();
|
||||||
|
|
||||||
if (isset( $_REQUEST['data'] )) {
|
if (isset( $_REQUEST['data'] )) {
|
||||||
$oData = $oJSON->decode( stripslashes( $_REQUEST['data'] ) );
|
$oData = G::json_decode( stripslashes( $_REQUEST['data'] ) );
|
||||||
|
//$oData = $oJSON->decode( stripslashes( $_REQUEST['data'] ) );
|
||||||
$sOutput = '';
|
$sOutput = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,8 +15,9 @@ try {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
$oJSON = new Services_JSON();
|
//$oJSON = new Services_JSON();
|
||||||
$aData = get_object_vars( $oJSON->decode( $_POST['oData'] ) );
|
$aData = get_object_vars( G::json_decode( $_POST['oData'] ));
|
||||||
|
//$aData = get_object_vars( $oJSON->decode( $_POST['oData'] ) );
|
||||||
|
|
||||||
if (isset( $_POST['function'] )) {
|
if (isset( $_POST['function'] )) {
|
||||||
$sAction = $_POST['function'];
|
$sAction = $_POST['function'];
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* sysGeneric - ProcessMaker Bootstrap
|
* bootstrap - ProcessMaker Bootstrap
|
||||||
* this file is used initialize main variables, redirect and dispatch all requests
|
* this file is used initialize main variables, redirect and dispatch all requests
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -49,6 +49,24 @@ define( 'PATH_HOME', $pathhome );
|
|||||||
define( 'PATH_TRUNK', $pathTrunk );
|
define( 'PATH_TRUNK', $pathTrunk );
|
||||||
define( 'PATH_OUTTRUNK', $pathOutTrunk );
|
define( 'PATH_OUTTRUNK', $pathOutTrunk );
|
||||||
|
|
||||||
|
//we are focusing in have this behaivour
|
||||||
|
//1. if the uri is a existing file return the file inmediately
|
||||||
|
//2. if the uri point to png, jpg, js, or css mapped in other place, return it inmediately
|
||||||
|
//3. process the uri,
|
||||||
|
|
||||||
|
//here we are putting approved CONSTANTS, I mean constants be sure we need,
|
||||||
|
define( 'PATH_HTML', PATH_HOME . 'public_html' . PATH_SEP );
|
||||||
|
|
||||||
|
//this is the first path, if the file exists...
|
||||||
|
if (file_exists(PATH_HTML . $_SERVER['REQUEST_URI'])) {
|
||||||
|
//we are missing the header part
|
||||||
|
//to do: add header mime part
|
||||||
|
readfile(PATH_HTML . $_SERVER['REQUEST_URI']);
|
||||||
|
die;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Defining RBAC Paths constants
|
// Defining RBAC Paths constants
|
||||||
define( 'PATH_RBAC_HOME', PATH_TRUNK . 'rbac' . PATH_SEP );
|
define( 'PATH_RBAC_HOME', PATH_TRUNK . 'rbac' . PATH_SEP );
|
||||||
|
|
||||||
@@ -60,7 +78,6 @@ define( 'PATH_TEMPLATE', PATH_GULLIVER_HOME . 'templates' . PATH_SEP );
|
|||||||
define( 'PATH_THIRDPARTY', PATH_GULLIVER_HOME . 'thirdparty' . PATH_SEP );
|
define( 'PATH_THIRDPARTY', PATH_GULLIVER_HOME . 'thirdparty' . PATH_SEP );
|
||||||
define( 'PATH_RBAC', PATH_RBAC_HOME . 'engine' . PATH_SEP . 'classes' . PATH_SEP ); //to enable rbac version 2
|
define( 'PATH_RBAC', PATH_RBAC_HOME . 'engine' . PATH_SEP . 'classes' . PATH_SEP ); //to enable rbac version 2
|
||||||
define( 'PATH_RBAC_CORE', PATH_RBAC_HOME . 'engine' . PATH_SEP );
|
define( 'PATH_RBAC_CORE', PATH_RBAC_HOME . 'engine' . PATH_SEP );
|
||||||
define( 'PATH_HTML', PATH_HOME . 'public_html' . PATH_SEP );
|
|
||||||
|
|
||||||
// Defining PMCore Path constants
|
// Defining PMCore Path constants
|
||||||
define( 'PATH_CORE', PATH_HOME . 'engine' . PATH_SEP );
|
define( 'PATH_CORE', PATH_HOME . 'engine' . PATH_SEP );
|
||||||
@@ -92,27 +109,20 @@ define( 'PATH_SERVICES_REST', PATH_CORE . 'services' . PATH_SEP . 'rest' . PATH_
|
|||||||
require_once (PATH_GULLIVER . PATH_SEP . 'class.bootstrap.php');
|
require_once (PATH_GULLIVER . PATH_SEP . 'class.bootstrap.php');
|
||||||
|
|
||||||
if (file_exists( FILE_PATHS_INSTALLED )) {
|
if (file_exists( FILE_PATHS_INSTALLED )) {
|
||||||
// backward compatibility; parsing old definitions in the compiled path constant
|
|
||||||
$tmp = file_get_contents( FILE_PATHS_INSTALLED );
|
|
||||||
|
|
||||||
if (strpos( $tmp, 'PATH_OUTTRUNK' ) !== false) {
|
// include the server installed configuration
|
||||||
@file_put_contents( FILE_PATHS_INSTALLED, str_replace( 'PATH_OUTTRUNK', 'PATH_DATA', $tmp ) );
|
|
||||||
}
|
|
||||||
// end backward compatibility
|
|
||||||
|
|
||||||
|
|
||||||
// include the workspace installed configuration
|
|
||||||
require_once FILE_PATHS_INSTALLED;
|
require_once FILE_PATHS_INSTALLED;
|
||||||
|
|
||||||
// defining system constant when a valid workspace environment exists
|
// defining system constant when a valid server environment exists
|
||||||
define( 'PATH_LANGUAGECONT', PATH_DATA . "META-INF" . PATH_SEP );
|
define( 'PATH_LANGUAGECONT', PATH_DATA . "META-INF" . PATH_SEP );
|
||||||
define( 'PATH_CUSTOM_SKINS', PATH_DATA . 'skins' . PATH_SEP );
|
define( 'PATH_CUSTOM_SKINS', PATH_DATA . 'skins' . PATH_SEP );
|
||||||
define( 'PATH_TEMPORAL', PATH_C . 'dynEditor/' );
|
define( 'PATH_TEMPORAL', PATH_C . 'dynEditor/' );
|
||||||
define( 'PATH_DB', PATH_DATA . 'sites' . PATH_SEP );
|
define( 'PATH_DB', PATH_DATA . 'sites' . PATH_SEP );
|
||||||
|
|
||||||
// smarty constants
|
// smarty constants
|
||||||
define( 'PATH_SMARTY_C', PATH_C . 'smarty' . PATH_SEP . 'c' );
|
define( 'PATH_SMARTY_C', PATH_C . 'smarty' . PATH_SEP . 'c' );
|
||||||
define( 'PATH_SMARTY_CACHE', PATH_C . 'smarty' . PATH_SEP . 'cache' );
|
define( 'PATH_SMARTY_CACHE', PATH_C . 'smarty' . PATH_SEP . 'cache' );
|
||||||
|
/* To do:
|
||||||
if (! is_dir( PATH_SMARTY_C )) {
|
if (! is_dir( PATH_SMARTY_C )) {
|
||||||
G::mk_dir( PATH_SMARTY_C );
|
G::mk_dir( PATH_SMARTY_C );
|
||||||
}
|
}
|
||||||
@@ -120,10 +130,16 @@ if (file_exists( FILE_PATHS_INSTALLED )) {
|
|||||||
if (! is_dir( PATH_SMARTY_CACHE )) {
|
if (! is_dir( PATH_SMARTY_CACHE )) {
|
||||||
G::mk_dir( PATH_SMARTY_CACHE );
|
G::mk_dir( PATH_SMARTY_CACHE );
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
// set include path
|
// set include path
|
||||||
set_include_path( PATH_CORE . PATH_SEPARATOR . PATH_THIRDPARTY . PATH_SEPARATOR . PATH_THIRDPARTY . 'pear' . PATH_SEPARATOR . PATH_RBAC_CORE . PATH_SEPARATOR . get_include_path() );
|
set_include_path( PATH_CORE . PATH_SEPARATOR .
|
||||||
|
PATH_THIRDPARTY . PATH_SEPARATOR .
|
||||||
|
PATH_THIRDPARTY . 'pear' . PATH_SEPARATOR .
|
||||||
|
PATH_RBAC_CORE . PATH_SEPARATOR .
|
||||||
|
get_include_path()
|
||||||
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Global definitions, before it was the defines.php file
|
* Global definitions, before it was the defines.php file
|
||||||
@@ -158,13 +174,10 @@ define( 'PML_WSDL_URL', PML_SERVER . '/syspmLibrary/en/green/services/wsdl' );
|
|||||||
define( 'PML_UPLOAD_URL', PML_SERVER . '/syspmLibrary/en/green/services/uploadProcess' );
|
define( 'PML_UPLOAD_URL', PML_SERVER . '/syspmLibrary/en/green/services/uploadProcess' );
|
||||||
define( 'PML_DOWNLOAD_URL', PML_SERVER . '/syspmLibrary/en/green/services/download' );
|
define( 'PML_DOWNLOAD_URL', PML_SERVER . '/syspmLibrary/en/green/services/download' );
|
||||||
|
|
||||||
// Including these files we get the PM paths and definitions (that should be just one file.
|
|
||||||
require_once PATH_CORE . 'classes' . PATH_SEP . 'class.system.php';
|
|
||||||
|
|
||||||
// starting session
|
// starting session
|
||||||
session_start();
|
session_start();
|
||||||
|
|
||||||
$config = System::getSystemConfiguration();
|
$config = Bootstrap::getSystemConfiguration();
|
||||||
|
|
||||||
$e_all = defined( 'E_DEPRECATED' ) ? E_ALL & ~ E_DEPRECATED : E_ALL;
|
$e_all = defined( 'E_DEPRECATED' ) ? E_ALL & ~ E_DEPRECATED : E_ALL;
|
||||||
$e_all = defined( 'E_STRICT' ) ? $e_all & ~ E_STRICT : $e_all;
|
$e_all = defined( 'E_STRICT' ) ? $e_all & ~ E_STRICT : $e_all;
|
||||||
@@ -191,15 +204,10 @@ $_SERVER['SERVER_ADDR'] = isset( $_SERVER['SERVER_ADDR'] ) ? $_SERVER['SERVER_AD
|
|||||||
|
|
||||||
//to do: make different environments. sys
|
//to do: make different environments. sys
|
||||||
|
|
||||||
|
|
||||||
define( 'ERROR_SHOW_SOURCE_CODE', true ); // enable ERROR_SHOW_SOURCE_CODE to display the source code for any WARNING OR NOTICE
|
|
||||||
//define ( 'ERROR_LOG_NOTICE_ERROR', true ); //enable ERROR_LOG_NOTICE_ERROR to log Notices messages in default apache log
|
|
||||||
|
|
||||||
|
|
||||||
//check if it is a installation instance
|
//check if it is a installation instance
|
||||||
if (! defined( 'PATH_C' )) {
|
if (! defined( 'PATH_C' )) {
|
||||||
// is a intallation instance, so we need to define PATH_C and PATH_LANGUAGECONT constants temporarily
|
// is a intallation instance, so we need to define PATH_C and PATH_LANGUAGECONT constants temporarily
|
||||||
define( 'PATH_C', (rtrim( G::sys_get_temp_dir(), PATH_SEP ) . PATH_SEP) );
|
define( 'PATH_C', (rtrim( Bootstrap::sys_get_temp_dir(), PATH_SEP ) . PATH_SEP) );
|
||||||
define( 'PATH_LANGUAGECONT', PATH_HOME . 'engine/content/languages/' );
|
define( 'PATH_LANGUAGECONT', PATH_HOME . 'engine/content/languages/' );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -216,7 +224,7 @@ if (defined( 'PATH_C' )) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$virtualURITable['/htmlarea/(*)'] = PATH_THIRDPARTY . 'htmlarea/';
|
$virtualURITable['/htmlarea/(*)'] = PATH_THIRDPARTY . 'htmlarea/';
|
||||||
$virtualURITable['/sys[a-zA-Z][a-zA-Z0-9]{0,}()/'] = 'sysNamed';
|
//$virtualURITable['/sys[a-zA-Z][a-zA-Z0-9]{0,}()/'] = 'sysNamed';
|
||||||
$virtualURITable['/(sys*)'] = FALSE;
|
$virtualURITable['/(sys*)'] = FALSE;
|
||||||
$virtualURITable['/errors/(*)'] = PATH_GULLIVER_HOME . 'methods/errors/';
|
$virtualURITable['/errors/(*)'] = PATH_GULLIVER_HOME . 'methods/errors/';
|
||||||
$virtualURITable['/gulliver/(*)'] = PATH_GULLIVER_HOME . 'methods/';
|
$virtualURITable['/gulliver/(*)'] = PATH_GULLIVER_HOME . 'methods/';
|
||||||
@@ -225,15 +233,15 @@ $virtualURITable['/html2ps_pdf/(*)'] = PATH_THIRDPARTY . 'html2ps_pdf/';
|
|||||||
$virtualURITable['/images/'] = 'errorFile';
|
$virtualURITable['/images/'] = 'errorFile';
|
||||||
$virtualURITable['/skins/'] = 'errorFile';
|
$virtualURITable['/skins/'] = 'errorFile';
|
||||||
$virtualURITable['/files/'] = 'errorFile';
|
$virtualURITable['/files/'] = 'errorFile';
|
||||||
$virtualURITable['/[a-zA-Z][a-zA-Z0-9]{0,}()'] = 'sysUnnamed';
|
//$virtualURITable['/[a-zA-Z][a-zA-Z0-9]{0,}()'] = 'sysUnnamed';
|
||||||
$virtualURITable['/rest/(*)'] = 'rest-service';
|
$virtualURITable['/rest/(*)'] = 'rest-service';
|
||||||
$virtualURITable['/update/(*)'] = PATH_GULLIVER_HOME . 'methods/update/';
|
$virtualURITable['/update/(*)'] = PATH_GULLIVER_HOME . 'methods/update/';
|
||||||
$virtualURITable['/(*)'] = PATH_HTML;
|
//$virtualURITable['/(*)'] = PATH_HTML;
|
||||||
|
$virtualURITable['/css/(*)'] = PATH_HTML . 'css/'; //ugly
|
||||||
|
|
||||||
$isRestRequest = false;
|
$isRestRequest = false;
|
||||||
|
|
||||||
// Verify if we need to redirect or stream the file, if G:VirtualURI returns true means we are going to redirect the page
|
// Verify if we need to redirect or stream the file, if G:VirtualURI returns true means we are going to redirect the page
|
||||||
if (G::virtualURI( $_SERVER['REQUEST_URI'], $virtualURITable, $realPath )) {
|
if (Bootstrap::virtualURI( $_SERVER['REQUEST_URI'], $virtualURITable, $realPath )) {
|
||||||
// review if the file requested belongs to public_html plugin
|
// review if the file requested belongs to public_html plugin
|
||||||
if (substr( $realPath, 0, 6 ) == 'plugin') {
|
if (substr( $realPath, 0, 6 ) == 'plugin') {
|
||||||
// Another way to get the path of Plugin public_html and stream the correspondent file, By JHL Jul 14, 08
|
// Another way to get the path of Plugin public_html and stream the correspondent file, By JHL Jul 14, 08
|
||||||
@@ -257,7 +265,7 @@ if (G::virtualURI( $_SERVER['REQUEST_URI'], $virtualURITable, $realPath )) {
|
|||||||
$pluginFilename = PATH_PLUGINS . $pluginFolder . PATH_SEP . 'public_html' . PATH_SEP . $filePath;
|
$pluginFilename = PATH_PLUGINS . $pluginFolder . PATH_SEP . 'public_html' . PATH_SEP . $filePath;
|
||||||
|
|
||||||
if (file_exists( $pluginFilename )) {
|
if (file_exists( $pluginFilename )) {
|
||||||
G::streamFile( $pluginFilename );
|
Bootstrap::streamFile( $pluginFilename );
|
||||||
}
|
}
|
||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
@@ -279,7 +287,7 @@ if (G::virtualURI( $_SERVER['REQUEST_URI'], $virtualURITable, $realPath )) {
|
|||||||
$fileToBeStreamed = str_replace( "/skin/", PATH_CUSTOM_SKINS, $_SERVER['REQUEST_URI'] );
|
$fileToBeStreamed = str_replace( "/skin/", PATH_CUSTOM_SKINS, $_SERVER['REQUEST_URI'] );
|
||||||
|
|
||||||
if (file_exists( $fileToBeStreamed )) {
|
if (file_exists( $fileToBeStreamed )) {
|
||||||
G::streamFile( $fileToBeStreamed );
|
Bootstrap::streamFile( $fileToBeStreamed );
|
||||||
}
|
}
|
||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
@@ -293,15 +301,15 @@ if (G::virtualURI( $_SERVER['REQUEST_URI'], $virtualURITable, $realPath )) {
|
|||||||
die();
|
die();
|
||||||
break;
|
break;
|
||||||
case 'jsMethod':
|
case 'jsMethod':
|
||||||
G::parseURI( getenv( "REQUEST_URI" ) );
|
Bootstrap::parseURI( getenv( "REQUEST_URI" ) );
|
||||||
$filename = PATH_METHODS . SYS_COLLECTION . '/' . SYS_TARGET . '.js';
|
$filename = PATH_METHODS . SYS_COLLECTION . '/' . SYS_TARGET . '.js';
|
||||||
G::streamFile( $filename );
|
Bootstrap::streamFile( $filename );
|
||||||
die();
|
die();
|
||||||
break;
|
break;
|
||||||
case 'errorFile':
|
case 'errorFile':
|
||||||
header( "location: /errors/error404.php?url=" . urlencode( $_SERVER['REQUEST_URI'] ) );
|
header( "location: /errors/error404.php?url=" . urlencode( $_SERVER['REQUEST_URI'] ) );
|
||||||
if (DEBUG_TIME_LOG)
|
if (DEBUG_TIME_LOG)
|
||||||
G::logTimeByPage(); //log this page
|
Bootstrap::logTimeByPage(); //log this page
|
||||||
die();
|
die();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -310,26 +318,25 @@ if (G::virtualURI( $_SERVER['REQUEST_URI'], $virtualURITable, $realPath )) {
|
|||||||
} else {
|
} else {
|
||||||
$realPath = explode( '?', $realPath );
|
$realPath = explode( '?', $realPath );
|
||||||
$realPath[0] .= strpos( basename( $realPath[0] ), '.' ) === false ? '.php' : '';
|
$realPath[0] .= strpos( basename( $realPath[0] ), '.' ) === false ? '.php' : '';
|
||||||
G::streamFile( $realPath[0] );
|
Bootstrap::streamFile( $realPath[0] );
|
||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} //virtual URI parser
|
} //virtual URI parser
|
||||||
|
|
||||||
|
|
||||||
// the request correspond to valid php page, now parse the URI
|
// the request correspond to valid php page, now parse the URI
|
||||||
G::parseURI( getenv( "REQUEST_URI" ), $isRestRequest );
|
Bootstrap::parseURI( getenv( "REQUEST_URI" ), $isRestRequest );
|
||||||
|
|
||||||
if (G::isPMUnderUpdating()) {
|
if (Bootstrap::isPMUnderUpdating()) {
|
||||||
header( "location: /update/updating.php" );
|
header( "location: /update/updating.php" );
|
||||||
if (DEBUG_TIME_LOG)
|
if (DEBUG_TIME_LOG)
|
||||||
G::logTimeByPage();
|
Bootstrap::logTimeByPage();
|
||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
|
|
||||||
// verify if index.html exists
|
// verify if index.html exists
|
||||||
if (! file_exists( PATH_HTML . 'index.html' )) { // if not, create it from template
|
if (! file_exists( PATH_HTML . 'index.html' )) { // if not, create it from template
|
||||||
file_put_contents( PATH_HTML . 'index.html', G::parseTemplate( PATH_TPL . 'index.html', array ('lang' => SYS_LANG,'skin' => SYS_SKIN
|
file_put_contents( PATH_HTML . 'index.html', Bootstrap::parseTemplate( PATH_TPL . 'index.html', array ('lang' => SYS_LANG,'skin' => SYS_SKIN
|
||||||
) ) );
|
) ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -338,34 +345,33 @@ define( 'SYS_URI', '/sys' . SYS_TEMP . '/' . SYS_LANG . '/' . SYS_SKIN . '/' );
|
|||||||
// defining the serverConf singleton
|
// defining the serverConf singleton
|
||||||
if (defined( 'PATH_DATA' ) && file_exists( PATH_DATA )) {
|
if (defined( 'PATH_DATA' ) && file_exists( PATH_DATA )) {
|
||||||
//Instance Server Configuration Singleton
|
//Instance Server Configuration Singleton
|
||||||
G::LoadClass( 'serverConfiguration' );
|
Bootstrap::LoadClass( 'serverConfiguration' );
|
||||||
$oServerConf = & serverConf::getSingleton();
|
$oServerConf = & serverConf::getSingleton();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Call Gulliver Classes
|
// Call Gulliver Classes
|
||||||
G::LoadThirdParty( 'pear/json', 'class.json' );
|
Bootstrap::LoadThirdParty( 'smarty/libs', 'Smarty.class' );
|
||||||
G::LoadThirdParty( 'smarty/libs', 'Smarty.class' );
|
//Bootstrap::LoadSystem( 'error' );
|
||||||
G::LoadSystem( 'error' );
|
//Bootstrap::LoadSystem( 'dbconnection' );
|
||||||
G::LoadSystem( 'dbconnection' );
|
//Bootstrap::LoadSystem( 'dbsession' );
|
||||||
G::LoadSystem( 'dbsession' );
|
//Bootstrap::LoadSystem( 'dbrecordset' );
|
||||||
G::LoadSystem( 'dbrecordset' );
|
//Bootstrap::LoadSystem( 'dbtable' );
|
||||||
G::LoadSystem( 'dbtable' );
|
|
||||||
G::LoadSystem( 'rbac' );
|
|
||||||
G::LoadSystem( 'publisher' );
|
|
||||||
G::LoadSystem( 'templatePower' );
|
|
||||||
G::LoadSystem( 'xmlDocument' );
|
|
||||||
G::LoadSystem( 'xmlform' );
|
|
||||||
G::LoadSystem( 'xmlformExtension' );
|
|
||||||
G::LoadSystem( 'form' );
|
|
||||||
G::LoadSystem( 'menu' );
|
|
||||||
G::LoadSystem( "xmlMenu" );
|
|
||||||
G::LoadSystem( 'dvEditor' );
|
|
||||||
G::LoadSystem( 'controller' );
|
|
||||||
G::LoadSystem( 'httpProxyController' );
|
|
||||||
G::LoadSystem( 'pmException' );
|
|
||||||
|
|
||||||
|
//* Bootstrap::LoadSystem( 'publisher' );
|
||||||
|
//Bootstrap::LoadSystem( 'templatePower' );
|
||||||
|
//* Bootstrap::LoadSystem( 'xmlDocument' );
|
||||||
|
//* Bootstrap::LoadSystem( 'xmlform' );
|
||||||
|
//Bootstrap::LoadSystem( 'xmlformExtension' );
|
||||||
|
//* Bootstrap::LoadSystem( 'form' );
|
||||||
|
//* Bootstrap::LoadSystem( 'menu' );
|
||||||
|
//Bootstrap::LoadSystem( "xmlMenu" );
|
||||||
|
//Bootstrap::LoadSystem( 'dvEditor' );
|
||||||
|
//Bootstrap::LoadSystem( 'controller' );
|
||||||
|
//Bootstrap::LoadSystem( 'httpProxyController' );
|
||||||
|
//Bootstrap::LoadSystem( 'pmException' );
|
||||||
|
//
|
||||||
// Create headPublisher singleton
|
// Create headPublisher singleton
|
||||||
G::LoadSystem( 'headPublisher' );
|
Bootstrap::LoadSystem( 'headPublisher' );
|
||||||
$oHeadPublisher = & headPublisher::getSingleton();
|
$oHeadPublisher = & headPublisher::getSingleton();
|
||||||
|
|
||||||
// Installer, redirect to install if we don't have a valid shared data folder
|
// Installer, redirect to install if we don't have a valid shared data folder
|
||||||
@@ -399,14 +405,14 @@ if (! defined( 'PATH_DATA' ) || ! file_exists( PATH_DATA )) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Load Language Translation
|
// Load Language Translation
|
||||||
G::LoadTranslationObject( defined( 'SYS_LANG' ) ? SYS_LANG : "en" );
|
Bootstrap::LoadTranslationObject( defined( 'SYS_LANG' ) ? SYS_LANG : "en" );
|
||||||
|
|
||||||
// look for a disabled workspace
|
// look for a disabled workspace
|
||||||
if ($oServerConf->isWSDisabled( SYS_TEMP )) {
|
if ($oServerConf->isWSDisabled( SYS_TEMP )) {
|
||||||
$aMessage['MESSAGE'] = G::LoadTranslation( 'ID_DISB_WORKSPACE' );
|
$aMessage['MESSAGE'] = Bootstrap::LoadTranslation( 'ID_DISB_WORKSPACE' );
|
||||||
$G_PUBLISH = new Publisher();
|
$G_PUBLISH = new Publisher();
|
||||||
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'login/showMessage', '', $aMessage );
|
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'login/showMessage', '', $aMessage );
|
||||||
G::RenderPage( 'publish' );
|
Bootstrap::RenderPage( 'publish' );
|
||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -423,8 +429,8 @@ if (defined( 'SYS_TEMP' ) && SYS_TEMP != '') {
|
|||||||
// including workspace shared classes -> particularlly for pmTables
|
// including workspace shared classes -> particularlly for pmTables
|
||||||
set_include_path( get_include_path() . PATH_SEPARATOR . PATH_WORKSPACE );
|
set_include_path( get_include_path() . PATH_SEPARATOR . PATH_WORKSPACE );
|
||||||
} else {
|
} else {
|
||||||
G::SendTemporalMessage( 'ID_NOT_WORKSPACE', "error" );
|
Bootstrap::SendTemporalMessage( 'ID_NOT_WORKSPACE', "error" );
|
||||||
G::header( 'location: /sys/' . SYS_LANG . '/' . SYS_SKIN . '/main/sysLogin?errno=2' );
|
Bootstrap::header( 'location: /sys/' . SYS_LANG . '/' . SYS_SKIN . '/main/sysLogin?errno=2' );
|
||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
} else { //when we are in global pages, outside any valid workspace
|
} else { //when we are in global pages, outside any valid workspace
|
||||||
@@ -449,12 +455,17 @@ if (defined( 'SYS_TEMP' ) && SYS_TEMP != '') {
|
|||||||
$controller->call( $controllerAction );
|
$controller->call( $controllerAction );
|
||||||
}
|
}
|
||||||
} else { // classic sysLogin interface
|
} else { // classic sysLogin interface
|
||||||
|
Bootstrap::LoadSystem( 'g');
|
||||||
|
Bootstrap::LoadSystem( 'publisher' );
|
||||||
|
Bootstrap::LoadSystem( 'xmlform' );
|
||||||
|
Bootstrap::LoadSystem( 'form' );
|
||||||
|
Bootstrap::LoadSystem( 'menu' );
|
||||||
require_once (PATH_METHODS . "login/sysLogin.php");
|
require_once (PATH_METHODS . "login/sysLogin.php");
|
||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (DEBUG_TIME_LOG)
|
if (DEBUG_TIME_LOG)
|
||||||
G::logTimeByPage(); //log this page
|
Bootstrap::logTimeByPage(); //log this page
|
||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -472,7 +483,7 @@ define( 'SERVER_NAME', $_SERVER['SERVER_NAME'] );
|
|||||||
define( 'SERVER_PORT', $_SERVER['SERVER_PORT'] );
|
define( 'SERVER_PORT', $_SERVER['SERVER_PORT'] );
|
||||||
|
|
||||||
// create memcached singleton
|
// create memcached singleton
|
||||||
G::LoadClass( 'memcached' );
|
Bootstrap::LoadClass( 'memcached' );
|
||||||
$memcache = & PMmemcached::getSingleton( SYS_SYS );
|
$memcache = & PMmemcached::getSingleton( SYS_SYS );
|
||||||
|
|
||||||
// verify configuration for rest service
|
// verify configuration for rest service
|
||||||
@@ -499,7 +510,7 @@ if ($isRestRequest) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// load Plugins base class
|
// load Plugins base class
|
||||||
G::LoadClass( 'plugin' );
|
Bootstrap::LoadClass( 'plugin' );
|
||||||
|
|
||||||
//here we are loading all plugins registered
|
//here we are loading all plugins registered
|
||||||
//the singleton has a list of enabled plugins
|
//the singleton has a list of enabled plugins
|
||||||
@@ -576,7 +587,7 @@ $oPluginRegistry->setupPlugins(); //get and setup enabled plugins
|
|||||||
$avoidChangedWorkspaceValidation = false;
|
$avoidChangedWorkspaceValidation = false;
|
||||||
|
|
||||||
// Load custom Classes and Model from Plugins.
|
// Load custom Classes and Model from Plugins.
|
||||||
G::LoadAllPluginModelClasses();
|
Bootstrap::LoadAllPluginModelClasses();
|
||||||
|
|
||||||
// jump to php file in methods directory
|
// jump to php file in methods directory
|
||||||
$collectionPlugin = '';
|
$collectionPlugin = '';
|
||||||
@@ -586,7 +597,7 @@ if ($oPluginRegistry->isRegisteredFolder( SYS_COLLECTION )) {
|
|||||||
$collectionPlugin = $targetPlugin[0];
|
$collectionPlugin = $targetPlugin[0];
|
||||||
$avoidChangedWorkspaceValidation = true;
|
$avoidChangedWorkspaceValidation = true;
|
||||||
} else {
|
} else {
|
||||||
$phpFile = G::ExpandPath( 'methods' ) . SYS_COLLECTION . PATH_SEP . SYS_TARGET . '.php';
|
$phpFile = Bootstrap::ExpandPath( 'methods' ) . SYS_COLLECTION . PATH_SEP . SYS_TARGET . '.php';
|
||||||
}
|
}
|
||||||
|
|
||||||
// services is a special folder,
|
// services is a special folder,
|
||||||
@@ -595,7 +606,7 @@ if (SYS_COLLECTION == 'services') {
|
|||||||
$targetPlugin = explode( '/', SYS_TARGET );
|
$targetPlugin = explode( '/', SYS_TARGET );
|
||||||
|
|
||||||
if ($targetPlugin[0] == 'webdav') {
|
if ($targetPlugin[0] == 'webdav') {
|
||||||
$phpFile = G::ExpandPath( 'methods' ) . SYS_COLLECTION . PATH_SEP . 'webdav.php';
|
$phpFile = Bootstrap::ExpandPath( 'methods' ) . SYS_COLLECTION . PATH_SEP . 'webdav.php';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -603,12 +614,6 @@ if (SYS_COLLECTION == 'login' && SYS_TARGET == 'login') {
|
|||||||
$avoidChangedWorkspaceValidation = true;
|
$avoidChangedWorkspaceValidation = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
//the index.php file, this new feature will allow automatically redirects to valid php file inside any methods folder
|
|
||||||
/* DEPRECATED
|
|
||||||
if ( SYS_TARGET == '' ) {
|
|
||||||
$phpFile = str_replace ( '.php', 'index.php', $phpFile );
|
|
||||||
$phpFile = include ( $phpFile );
|
|
||||||
}*/
|
|
||||||
$bWE = false;
|
$bWE = false;
|
||||||
$isControllerCall = false;
|
$isControllerCall = false;
|
||||||
if (substr( SYS_COLLECTION, 0, 8 ) === 'gulliver') {
|
if (substr( SYS_COLLECTION, 0, 8 ) === 'gulliver') {
|
||||||
@@ -627,7 +632,7 @@ if (substr( SYS_COLLECTION, 0, 8 ) === 'gulliver') {
|
|||||||
$phpFile = $aAux[0];
|
$phpFile = $aAux[0];
|
||||||
|
|
||||||
if ($extension != 'php') {
|
if ($extension != 'php') {
|
||||||
G::streamFile( $phpFile );
|
Bootstrap::streamFile( $phpFile );
|
||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -638,6 +643,7 @@ if (substr( SYS_COLLECTION, 0, 8 ) === 'gulliver') {
|
|||||||
|
|
||||||
//erik: verify if it is a Controller Class or httpProxyController Class
|
//erik: verify if it is a Controller Class or httpProxyController Class
|
||||||
if (is_file( PATH_CONTROLLERS . SYS_COLLECTION . '.php' )) {
|
if (is_file( PATH_CONTROLLERS . SYS_COLLECTION . '.php' )) {
|
||||||
|
Bootstrap::LoadSystem( 'controller' );
|
||||||
require_once PATH_CONTROLLERS . SYS_COLLECTION . '.php';
|
require_once PATH_CONTROLLERS . SYS_COLLECTION . '.php';
|
||||||
$controllerClass = SYS_COLLECTION;
|
$controllerClass = SYS_COLLECTION;
|
||||||
//if the method name is empty set default to index method
|
//if the method name is empty set default to index method
|
||||||
@@ -659,7 +665,7 @@ if (substr( SYS_COLLECTION, 0, 8 ) === 'gulliver') {
|
|||||||
//redirect to login, if user changed the workspace in the URL
|
//redirect to login, if user changed the workspace in the URL
|
||||||
if (! $avoidChangedWorkspaceValidation && isset( $_SESSION['WORKSPACE'] ) && $_SESSION['WORKSPACE'] != SYS_SYS) {
|
if (! $avoidChangedWorkspaceValidation && isset( $_SESSION['WORKSPACE'] ) && $_SESSION['WORKSPACE'] != SYS_SYS) {
|
||||||
$_SESSION['WORKSPACE'] = SYS_SYS;
|
$_SESSION['WORKSPACE'] = SYS_SYS;
|
||||||
G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', "error" );
|
Bootstrap::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', "error" );
|
||||||
// verify if the current skin is a 'ux' variant
|
// verify if the current skin is a 'ux' variant
|
||||||
$urlPart = substr( SYS_SKIN, 0, 2 ) == 'ux' && SYS_SKIN != 'uxs' ? '/main/login' : '/login/login';
|
$urlPart = substr( SYS_SKIN, 0, 2 ) == 'ux' && SYS_SKIN != 'uxs' ? '/main/login' : '/login/login';
|
||||||
|
|
||||||
@@ -668,9 +674,31 @@ if (! $avoidChangedWorkspaceValidation && isset( $_SESSION['WORKSPACE'] ) && $_S
|
|||||||
}
|
}
|
||||||
|
|
||||||
// enable rbac
|
// enable rbac
|
||||||
|
Bootstrap::LoadSystem( 'rbac' );
|
||||||
$RBAC = &RBAC::getSingleton( PATH_DATA, session_id() );
|
$RBAC = &RBAC::getSingleton( PATH_DATA, session_id() );
|
||||||
$RBAC->sSystem = 'PROCESSMAKER';
|
$RBAC->sSystem = 'PROCESSMAKER';
|
||||||
|
|
||||||
|
Bootstrap::LoadSystem( 'g');
|
||||||
|
Bootstrap::LoadSystem( 'publisher' );
|
||||||
|
Bootstrap::LoadSystem( 'xmlDocument' );
|
||||||
|
Bootstrap::LoadSystem( 'xmlform' );
|
||||||
|
Bootstrap::LoadSystem( 'form' );
|
||||||
|
Bootstrap::LoadSystem( 'menu' );
|
||||||
|
|
||||||
|
Bootstrap::LoadSystem( 'templatePower' );
|
||||||
|
//Bootstrap::LoadSystem( 'xmlformExtension' );
|
||||||
|
//Bootstrap::LoadSystem( "xmlMenu" );
|
||||||
|
//Bootstrap::LoadSystem( 'dvEditor' );
|
||||||
|
//Bootstrap::LoadSystem( 'httpProxyController' );
|
||||||
|
//Bootstrap::LoadSystem( 'pmException' );
|
||||||
|
|
||||||
|
//Bootstrap::LoadSystem( 'dbconnection' );
|
||||||
|
//Bootstrap::LoadSystem( 'dbsession' );
|
||||||
|
//Bootstrap::LoadSystem( 'dbrecordset' );
|
||||||
|
Bootstrap::LoadSystem( 'dbtable' );
|
||||||
|
Bootstrap::LoadClass( 'system' );
|
||||||
|
|
||||||
|
|
||||||
// define and send Headers for all pages
|
// define and send Headers for all pages
|
||||||
if (! defined( 'EXECUTE_BY_CRON' )) {
|
if (! defined( 'EXECUTE_BY_CRON' )) {
|
||||||
header( "Expires: " . gmdate( "D, d M Y H:i:s", mktime( 0, 0, 0, date( 'm' ), date( 'd' ) - 1, date( 'Y' ) ) ) . " GMT" );
|
header( "Expires: " . gmdate( "D, d M Y H:i:s", mktime( 0, 0, 0, date( 'm' ), date( 'd' ) - 1, date( 'Y' ) ) ) . " GMT" );
|
||||||
@@ -718,7 +746,7 @@ if (! defined( 'EXECUTE_BY_CRON' )) {
|
|||||||
$bRedirect = true;
|
$bRedirect = true;
|
||||||
|
|
||||||
if (isset( $_GET['sid'] )) {
|
if (isset( $_GET['sid'] )) {
|
||||||
G::LoadClass( 'sessions' );
|
Bootstrap::LoadClass( 'sessions' );
|
||||||
$oSessions = new Sessions();
|
$oSessions = new Sessions();
|
||||||
if ($aSession = $oSessions->verifySession( $_GET['sid'] )) {
|
if ($aSession = $oSessions->verifySession( $_GET['sid'] )) {
|
||||||
require_once 'classes/model/Users.php';
|
require_once 'classes/model/Users.php';
|
||||||
@@ -762,14 +790,14 @@ if (! defined( 'EXECUTE_BY_CRON' )) {
|
|||||||
/**
|
/**
|
||||||
* New feature for Gulliver framework to support Controllers & HttpProxyController classes handling
|
* New feature for Gulliver framework to support Controllers & HttpProxyController classes handling
|
||||||
*
|
*
|
||||||
* @author Erik Amaru Ortiz <erik@colosa.com, aortiz.erik@gmail.com>
|
* @author <erik@colosa.com
|
||||||
*/
|
*/
|
||||||
if ($isControllerCall) { //Instance the Controller object and call the request method
|
if ($isControllerCall) { //Instance the Controller object and call the request method
|
||||||
$controller = new $controllerClass();
|
$controller = new $controllerClass();
|
||||||
$controller->setHttpRequestData( $_REQUEST );
|
$controller->setHttpRequestData( $_REQUEST );
|
||||||
$controller->call( $controllerAction );
|
$controller->call( $controllerAction );
|
||||||
} elseif ($isRestRequest) {
|
} elseif ($isRestRequest) {
|
||||||
G::dispatchRestService( SYS_TARGET, $restConfig, $restApiClassPath );
|
Bootstrap::dispatchRestService( SYS_TARGET, $restConfig, $restApiClassPath );
|
||||||
} else {
|
} else {
|
||||||
require_once $phpFile;
|
require_once $phpFile;
|
||||||
}
|
}
|
||||||
@@ -782,6 +810,6 @@ if (! defined( 'EXECUTE_BY_CRON' )) {
|
|||||||
|
|
||||||
ob_end_flush();
|
ob_end_flush();
|
||||||
if (DEBUG_TIME_LOG) {
|
if (DEBUG_TIME_LOG) {
|
||||||
G::logTimeByPage(); //log this page
|
bootstrap::logTimeByPage(); //log this page
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -234,7 +234,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Call Gulliver Classes
|
// Call Gulliver Classes
|
||||||
G::LoadThirdParty('pear/json','class.json');
|
|
||||||
G::LoadThirdParty('smarty/libs','Smarty.class');
|
G::LoadThirdParty('smarty/libs','Smarty.class');
|
||||||
G::LoadSystem('error');
|
G::LoadSystem('error');
|
||||||
G::LoadSystem('dbconnection');
|
G::LoadSystem('dbconnection');
|
||||||
|
|||||||
Reference in New Issue
Block a user