BUG 0000 "Safe upgrade for JavaScript files" SOLVED
- New feature
- Safe upgrade for JavaScript files
- Added new feature,
- This new feature is activated when you run one of the following commands:
$ ./processmaker upgrade
$ ./processmaker build-js
$ ./processmaker browser-cache-files-upgrade
- The new feature creates an attribute in the file "processmaker/workflow/engine/config/env.ini"
Example:
browser_cache_files_uid = "xxxxxxxxxxyyyyyyyyyyzzzzzzzzzzaa"
- After running the command, the browser should automatically cache the new files
* Available from version ProcessMaker-2.5
This commit is contained in:
@@ -54,30 +54,6 @@ $docuroot = explode ( PATH_SEP , $_SERVER['DOCUMENT_ROOT'] );
|
|||||||
/*** enable ERROR_LOG_NOTICE_ERROR to log Notices messages in default apache log ***/
|
/*** enable ERROR_LOG_NOTICE_ERROR to log Notices messages in default apache log ***/
|
||||||
// define ( 'ERROR_LOG_NOTICE_ERROR', true );
|
// define ( 'ERROR_LOG_NOTICE_ERROR', true );
|
||||||
|
|
||||||
// ************* creat headPublisher singleton *****************
|
|
||||||
G::LoadSystem('headPublisher');
|
|
||||||
$oHeadPublisher =& headPublisher::getSingleton();
|
|
||||||
$oHeadPublisher->addMaborakFile( PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'maborak/core/maborak.js' );
|
|
||||||
$oHeadPublisher->addMaborakFile( PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'common/core/common.js' );
|
|
||||||
$oHeadPublisher->addMaborakFile( PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'common/core/webResource.js' );
|
|
||||||
$oHeadPublisher->addMaborakFile( PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'dveditor/core/dveditor.js' );
|
|
||||||
$oHeadPublisher->addMaborakFile( PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'common/tree/tree.js' );
|
|
||||||
$oHeadPublisher->addMaborakFile( PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'json/core/json.js' );
|
|
||||||
$oHeadPublisher->addMaborakFile( PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'form/core/form.js' );
|
|
||||||
$oHeadPublisher->addMaborakFile( PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'form/core/pagedTable.js' );
|
|
||||||
$oHeadPublisher->addMaborakFile( PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'grid/core/grid.js' );
|
|
||||||
$oHeadPublisher->addMaborakFile( PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'maborak/core/module.panel.js' , true );
|
|
||||||
$oHeadPublisher->addMaborakFile( PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'maborak/core/module.validator.js', true );
|
|
||||||
$oHeadPublisher->addMaborakFile( PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'maborak/core/module.app.js' , true );
|
|
||||||
$oHeadPublisher->addMaborakFile( PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'maborak/core/module.rpc.js' , true );
|
|
||||||
$oHeadPublisher->addMaborakFile( PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'maborak/core/module.fx.js' , true );
|
|
||||||
$oHeadPublisher->addMaborakFile( PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'maborak/core/module.drag.js' , true );
|
|
||||||
$oHeadPublisher->addMaborakFile( PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'maborak/core/module.drop.js' , true );
|
|
||||||
$oHeadPublisher->addMaborakFile( PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'maborak/core/module.dom.js' , true );
|
|
||||||
$oHeadPublisher->addMaborakFile( PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'maborak/core/module.abbr.js' , true );
|
|
||||||
$oHeadPublisher->addMaborakFile( PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'maborak/core/module.dashboard.js', true );
|
|
||||||
$oHeadPublisher->addMaborakFile( PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'widgets/jscalendar/calendar.js' );
|
|
||||||
|
|
||||||
//************ defining Virtual URLs ****************/
|
//************ defining Virtual URLs ****************/
|
||||||
$virtualURITable = array();
|
$virtualURITable = array();
|
||||||
$virtualURITable['/plugin/(*)'] = 'plugin';
|
$virtualURITable['/plugin/(*)'] = 'plugin';
|
||||||
|
|||||||
@@ -4897,6 +4897,49 @@ class G
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function browserCacheFilesSetUid()
|
||||||
|
{
|
||||||
|
$arrayData = array();
|
||||||
|
$arrayData["browser_cache_files_uid"] = G::generateUniqueID();
|
||||||
|
|
||||||
|
G::update_php_ini(PATH_CONFIG . "env.ini", $arrayData);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function browserCacheFilesGetUid()
|
||||||
|
{
|
||||||
|
$sysConf = System::getSystemConfiguration(PATH_CONFIG . "env.ini");
|
||||||
|
|
||||||
|
return (isset($sysConf["browser_cache_files_uid"]))? $sysConf["browser_cache_files_uid"] : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function browserCacheFilesSetUrl($url)
|
||||||
|
{
|
||||||
|
$browserCacheFilesUid = self::browserCacheFilesGetUid();
|
||||||
|
|
||||||
|
if ($browserCacheFilesUid != null) {
|
||||||
|
$arrayLibrary = array();
|
||||||
|
|
||||||
|
$library = json_decode(file_get_contents(PATH_HOME . "engine" . PATH_SEP . "bin" . PATH_SEP . "tasks" . PATH_SEP . "libraries.json"));
|
||||||
|
|
||||||
|
foreach ($library as $index => $value) {
|
||||||
|
$lib = $value;
|
||||||
|
|
||||||
|
if ($lib->build) {
|
||||||
|
$arrayLibrary[] = $lib->name . ".js";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$arrayAux = explode("/", $url);
|
||||||
|
$n = count($arrayAux);
|
||||||
|
|
||||||
|
if ($n > 0 && !empty($arrayAux[$n - 1]) && array_search($arrayAux[$n - 1], $arrayLibrary) !== false) {
|
||||||
|
$url = $url . ((strpos($arrayAux[$n - 1], "?") !== false)? "&c=" : "?c=") . $browserCacheFilesUid;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $url;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* class.headPublisher.php
|
* class.headPublisher.php
|
||||||
*
|
*
|
||||||
@@ -126,6 +125,8 @@ class headPublisher
|
|||||||
*/
|
*/
|
||||||
public function addScriptFile($url, $LoadType = 1)
|
public function addScriptFile($url, $LoadType = 1)
|
||||||
{
|
{
|
||||||
|
$url = G::browserCacheFilesSetUrl($url);
|
||||||
|
|
||||||
if ($LoadType == 1) {
|
if ($LoadType == 1) {
|
||||||
$this->scriptFiles[$url] = $url;
|
$this->scriptFiles[$url] = $url;
|
||||||
}
|
}
|
||||||
@@ -213,21 +214,25 @@ class headPublisher
|
|||||||
|
|
||||||
$head = '';
|
$head = '';
|
||||||
$head .= '<TITLE>' . $this->title . "</TITLE>\n";
|
$head .= '<TITLE>' . $this->title . "</TITLE>\n";
|
||||||
|
|
||||||
foreach ($this->scriptFiles as $file) {
|
foreach ($this->scriptFiles as $file) {
|
||||||
$head .= "<script type='text/javascript' src='" . $file . "'></script>\n";
|
$head .= "<script type='text/javascript' src='" . $file . "'></script>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!in_array($this->translationsFile, $this->scriptFiles)) {
|
if (!in_array($this->translationsFile, $this->scriptFiles)) {
|
||||||
$head .= "<script type='text/javascript' src='" . $this->translationsFile . "'></script>\n";
|
$head .= "<script type='text/javascript' src='" . $this->translationsFile . "'></script>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
$head .= "<script type='text/javascript'>\n";
|
$head .= "<script type='text/javascript'>\n";
|
||||||
$head .= $this->leimnudInitString;
|
$head .= $this->leimnudInitString;
|
||||||
|
|
||||||
foreach ($this->leimnudLoad as $file) {
|
foreach ($this->leimnudLoad as $file) {
|
||||||
$head .= " leimnud.Package.Load(false, {Type: 'file', Path: '" . $file . "', Absolute : true});\n";
|
$head .= " leimnud.Package.Load(false, {Type: 'file', Path: '" . $file . "', Absolute : true});\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
$head .= $this->headerScript;
|
$head .= $this->headerScript;
|
||||||
$head .= "</script>\n";
|
$head .= "</script>\n";
|
||||||
$head .= "<script type='text/javascript' src='/js/maborak/core/maborak.loader.js'></script>\n";
|
$head .= "<script type=\"text/javascript\" src=\"" . G::browserCacheFilesSetUrl("/js/maborak/core/maborak.loader.js") . "\"></script>\n";
|
||||||
return $head;
|
return $head;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -138,46 +138,6 @@ class PmBootstrap extends Bootstrap
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function loadLeimud()
|
|
||||||
{
|
|
||||||
$oHeadPublisher = headPublisher::getSingleton();
|
|
||||||
|
|
||||||
// Defining the maborak js file, this file is the concat of many js files and here we are including all of them.
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'maborak/core/maborak.js' );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'common/core/common.js' );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'common/core/effects.js' );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'common/core/webResource.js' );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'dveditor/core/dveditor.js' );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'tinymce/jscripts/tiny_mce/tiny_mce.js' );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'common/tree/tree.js' );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'json/core/json.js' );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'form/core/form.js' );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'form/core/pagedTable.js' );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'grid/core/grid.js' );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'maborak/core/module.panel.js' , true );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'maborak/core/module.validator.js', true );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'maborak/core/module.app.js' , true );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'maborak/core/module.rpc.js' , true );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'maborak/core/module.fx.js' , true );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'maborak/core/module.drag.js' , true );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'maborak/core/module.drop.js' , true );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'maborak/core/module.dom.js' , true );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'maborak/core/module.abbr.js' , true );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'maborak/core/module.dashboard.js', true );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'widgets/js-calendar/js-calendar.js' );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'widgets/suggest/bsn.AutoSuggest_2.1.3.js' );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'widgets/tooltip/pmtooltip.js' );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'thirdparty/krumo/krumo.js' );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_GULLIVER_HOME . 'js' . PATH_SEP . 'widgets/calendar/pmcalendar.js' , true );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_CORE . 'js' . PATH_SEP . 'cases/core/cases.js' , true );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_CORE . 'js' . PATH_SEP . 'cases/core/cases_Step.js', true );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_CORE . 'js' . PATH_SEP . 'processmap/core/processmap.js', true );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_CORE . 'js' . PATH_SEP . 'appFolder/core/appFolderList.js', true );
|
|
||||||
$oHeadPublisher->addMaborakFile(PATH_THIRDPARTY . 'htmlarea/editor.js', true );
|
|
||||||
|
|
||||||
//$oHeadPublisher->addMaborakFile(PATH_GULLIVER_HOME . 'js' . PATH_SEP . "widgets/jscalendar/lang/calendar-" . SYS_LANG . ".js");
|
|
||||||
}
|
|
||||||
|
|
||||||
public function dispatchResource()
|
public function dispatchResource()
|
||||||
{
|
{
|
||||||
$realPath = $this->matchRoute['path'];
|
$realPath = $this->matchRoute['path'];
|
||||||
|
|||||||
21
workflow/engine/bin/tasks/cliBrowserCacheFiles.php
Normal file
21
workflow/engine/bin/tasks/cliBrowserCacheFiles.php
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<?php
|
||||||
|
CLI::taskName("browser-cache-files-upgrade");
|
||||||
|
|
||||||
|
CLI::taskDescription(<<<EOT
|
||||||
|
Safe upgrade for files cached by the browser
|
||||||
|
|
||||||
|
This command should be run after any upgrade/modification of files cached by the browser.
|
||||||
|
EOT
|
||||||
|
);
|
||||||
|
|
||||||
|
CLI::taskRun(runBrowserCacheFiles);
|
||||||
|
|
||||||
|
function runBrowserCacheFiles($command, $args)
|
||||||
|
{
|
||||||
|
CLI::logging("Safe upgrade for files cached by the browser\n");
|
||||||
|
|
||||||
|
G::browserCacheFilesSetUid();
|
||||||
|
|
||||||
|
CLI::logging("Upgrade successful\n");
|
||||||
|
}
|
||||||
|
|
||||||
@@ -85,6 +85,13 @@ function minify_javascript($command, $args)
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Safe upgrade for JavaScript files
|
||||||
|
CLI::logging("\nSafe upgrade for files cached by the browser\n\n");
|
||||||
|
|
||||||
|
G::browserCacheFilesSetUid();
|
||||||
|
|
||||||
|
//Done
|
||||||
CLI::logging("BUILD-JS DONE\n");
|
CLI::logging("BUILD-JS DONE\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -119,12 +119,6 @@ function run_upgrade($command, $args)
|
|||||||
$errors = true;
|
$errors = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($errors) {
|
|
||||||
CLI::logging("Upgrade finished but there were errors upgrading workspaces.\n");
|
|
||||||
CLI::logging(CLI::error("Please check the log above to correct any issues.")."\n");
|
|
||||||
} else {
|
|
||||||
CLI::logging("Upgrade successful\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
// SAVE Upgrades/Patches
|
// SAVE Upgrades/Patches
|
||||||
$arrayPatch = glob(PATH_TRUNK . 'patch-*');
|
$arrayPatch = glob(PATH_TRUNK . 'patch-*');
|
||||||
@@ -151,6 +145,19 @@ function run_upgrade($command, $args)
|
|||||||
CLI::logging('ProcessMaker ' . System::getVersion(). ' installed', PATH_DATA . 'log/upgrades.log');
|
CLI::logging('ProcessMaker ' . System::getVersion(). ' installed', PATH_DATA . 'log/upgrades.log');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Safe upgrade for JavaScript files
|
||||||
|
CLI::logging("\nSafe upgrade for files cached by the browser\n\n");
|
||||||
|
|
||||||
|
G::browserCacheFilesSetUid();
|
||||||
|
|
||||||
|
//Status
|
||||||
|
if ($errors) {
|
||||||
|
CLI::logging("Upgrade finished but there were errors upgrading workspaces.\n");
|
||||||
|
CLI::logging(CLI::error("Please check the log above to correct any issues.") . "\n");
|
||||||
|
} else {
|
||||||
|
CLI::logging("Upgrade successful\n");
|
||||||
|
}
|
||||||
|
|
||||||
//setting flag to false
|
//setting flag to false
|
||||||
$flag = G::isPMUnderUpdating(0);
|
$flag = G::isPMUnderUpdating(0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -138,16 +138,19 @@ try {
|
|||||||
$oStep = new Step();
|
$oStep = new Step();
|
||||||
$sUidGrids = $oStep->lookingforUidGrids( $sPRO_UID, $sDYNAFORM );
|
$sUidGrids = $oStep->lookingforUidGrids( $sPRO_UID, $sDYNAFORM );
|
||||||
|
|
||||||
$template->assign( 'siteUrl', $http . $_SERVER['HTTP_HOST'] );
|
$browserCacheFilesUid = G::browserCacheFilesGetUid();
|
||||||
$template->assign( 'sysSys', SYS_SYS );
|
|
||||||
$template->assign( 'sysLang', SYS_LANG );
|
$template->assign("BROWSER_CACHE_FILES_UID", ($browserCacheFilesUid != null)? "?c=" . $browserCacheFilesUid : null);
|
||||||
$template->assign( 'sysSkin', SYS_SKIN );
|
$template->assign("siteUrl", $http . $_SERVER["HTTP_HOST"]);
|
||||||
$template->assign( 'processUid', $sPRO_UID );
|
$template->assign("sysSys", SYS_SYS);
|
||||||
$template->assign( 'dynaformUid', $sDYNAFORM );
|
$template->assign("sysLang", SYS_LANG);
|
||||||
$template->assign( 'taskUid', $sTASKS );
|
$template->assign("sysSkin", SYS_SKIN);
|
||||||
$template->assign( 'dynFileName', $sPRO_UID . '/' . $sDYNAFORM );
|
$template->assign("processUid", $sPRO_UID);
|
||||||
$template->assign( 'formId', $G_FORM->id );
|
$template->assign("dynaformUid", $sDYNAFORM);
|
||||||
$template->assign( 'scriptCode', $scriptCode );
|
$template->assign("taskUid", $sTASKS);
|
||||||
|
$template->assign("dynFileName", $sPRO_UID . "/" . $sDYNAFORM);
|
||||||
|
$template->assign("formId", $G_FORM->id);
|
||||||
|
$template->assign("scriptCode", $scriptCode);
|
||||||
|
|
||||||
if (sizeof( $sUidGrids ) > 0) {
|
if (sizeof( $sUidGrids ) > 0) {
|
||||||
foreach ($sUidGrids as $k => $v) {
|
foreach ($sUidGrids as $k => $v) {
|
||||||
@@ -167,4 +170,3 @@ try {
|
|||||||
G::RenderPage( 'publish', 'raw' );
|
G::RenderPage( 'publish', 'raw' );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -29,6 +29,11 @@ $oTemplatePower->newBlock('users');
|
|||||||
$oTemplatePower->assign('USR_UID', $aUser['USR_UID']);
|
$oTemplatePower->assign('USR_UID', $aUser['USR_UID']);
|
||||||
$oTemplatePower->assign('USR_FULLNAME', $aData['USR_FIRSTNAME'] . ' ' . $aData['USR_LASTNAME'] . ' (' . $aData['USR_USERNAME'] . ')');
|
$oTemplatePower->assign('USR_FULLNAME', $aData['USR_FIRSTNAME'] . ' ' . $aData['USR_LASTNAME'] . ' (' . $aData['USR_USERNAME'] . ')');
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
$browserCacheFilesUid = G::browserCacheFilesGetUid();
|
||||||
|
|
||||||
|
$oTemplatePower->assign("BROWSER_CACHE_FILES_UID", ($browserCacheFilesUid != null)? "?c=" . $browserCacheFilesUid : null);
|
||||||
|
|
||||||
$G_PUBLISH->AddContent( 'template', '', '', '', $oTemplatePower );
|
$G_PUBLISH->AddContent( 'template', '', '', '', $oTemplatePower );
|
||||||
|
|
||||||
G::RenderPage( 'publish', 'raw' );
|
G::RenderPage( 'publish', 'raw' );
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<script type="text/javascript" src="{siteUrl}/jscore/labels/{sysLang}.js"></script>
|
<script type="text/javascript" src="{siteUrl}/jscore/labels/{sysLang}.js"></script>
|
||||||
<script type="text/javascript" src="{siteUrl}/js/maborak/core/maborak.js"></script>
|
<script type="text/javascript" src="{siteUrl}/js/maborak/core/maborak.js{BROWSER_CACHE_FILES_UID}"></script>
|
||||||
<script type="text/javascript" src="{siteUrl}/js/jscalendar/lang/calendar-{sysLang}.js"></script>
|
<script type="text/javascript" src="{siteUrl}/js/jscalendar/lang/calendar-{sysLang}.js"></script>
|
||||||
<script type="text/javascript" src="{siteUrl}/jsform/gulliver/dynaforms_Options.js"></script>
|
<script type="text/javascript" src="{siteUrl}/jsform/gulliver/dynaforms_Options.js"></script>
|
||||||
|
|
||||||
@@ -14,18 +14,20 @@
|
|||||||
leimnud.make();
|
leimnud.make();
|
||||||
leimnud.Package.Load("panel,validator,app,rpc,fx,drag,drop,dom,abbr",{ Instance:leimnud,Type:"module" });
|
leimnud.Package.Load("panel,validator,app,rpc,fx,drag,drop,dom,abbr",{ Instance:leimnud,Type:"module" });
|
||||||
leimnud.exec(leimnud.fix.memoryLeak);
|
leimnud.exec(leimnud.fix.memoryLeak);
|
||||||
if(leimnud.browser.isIphone)
|
if (leimnud.browser.isIphone) {
|
||||||
{ leimnud.iphone.make(); }
|
leimnud.iphone.make();
|
||||||
|
}
|
||||||
leimnud.event.add(window,"load",function(){ loadForm_{formId}("{siteUrl}/sys{sysSys}/{sysLang}/{sysSkin}/gulliver/defaultAjaxDynaform")});
|
leimnud.event.add(window,"load",function(){ loadForm_{formId}("{siteUrl}/sys{sysSys}/{sysLang}/{sysSkin}/gulliver/defaultAjaxDynaform")});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var aux1 = window.location.href.split("?");
|
var aux1 = window.location.href.split("?");
|
||||||
if(aux1[1]){
|
if (aux1[1]) {
|
||||||
if(aux1[1]!=""){
|
if (aux1[1] != "") {
|
||||||
var aux2 = aux1[1].split("&");
|
var aux2 = aux1[1].split("&");
|
||||||
for(var i=0; i<=aux2.length; i++){
|
|
||||||
if(aux2[i]=="__flag__=1"){
|
for (var i = 0; i <= aux2.length; i++) {
|
||||||
|
if (aux2[i] == "__flag__=1") {
|
||||||
alert("Request sent!");
|
alert("Request sent!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -34,12 +36,11 @@
|
|||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
{scriptCode}
|
{scriptCode}
|
||||||
|
<input type="hidden" name="PRO_UID" value="{processUid}">
|
||||||
<input type="hidden" name="PRO_UID" value="{processUid}">
|
<input type="hidden" name="TASKS" value="{taskUid}">
|
||||||
<input type="hidden" name="TASKS" value="{taskUid}">
|
<input type="hidden" name="DYNAFORM" value="{dynaformUid}">
|
||||||
<input type="hidden" name="DYNAFORM" value="{dynaformUid}">
|
|
||||||
</form>
|
</form>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
||||||
|
|||||||
@@ -1,30 +1,33 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<script type='text/javascript' src='/js/maborak/core/maborak.js'></script>
|
<script type="text/javascript" src="/js/maborak/core/maborak.js{BROWSER_CACHE_FILES_UID}"></script>
|
||||||
<script type='text/javascript'>
|
<script type="text/javascript">
|
||||||
var leimnud = new maborak();
|
var leimnud = new maborak();
|
||||||
|
|
||||||
leimnud.make({
|
leimnud.make({
|
||||||
zip:true,
|
zip: true,
|
||||||
inGulliver:true,
|
inGulliver: true,
|
||||||
modules :"dom,abbr,rpc,drag,drop,app,panel,fx,grid,xmlform,validator,dashboard",
|
modules: "dom,abbr,rpc,drag,drop,app,panel,fx,grid,xmlform,validator,dashboard",
|
||||||
files :""
|
files: ""
|
||||||
});
|
});
|
||||||
try{
|
|
||||||
|
try {
|
||||||
leimnud.exec(leimnud.fix.memoryLeak);
|
leimnud.exec(leimnud.fix.memoryLeak);
|
||||||
if(leimnud.browser.isIphone){
|
|
||||||
|
if (leimnud.browser.isIphone) {
|
||||||
leimnud.iphone.make();
|
leimnud.iphone.make();
|
||||||
}
|
}
|
||||||
}catch(e){}
|
} catch (e) {
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
</script>
|
<style type="text/css">
|
||||||
|
body, table {
|
||||||
<style type="text/css">
|
|
||||||
body, table {
|
|
||||||
font-family: tahoma,arial,verdana,sans-serif;
|
font-family: tahoma,arial,verdana,sans-serif;
|
||||||
}
|
}
|
||||||
span.cMargLeft { padding-left: 20; }
|
span.cMargLeft { padding-left: 20; }
|
||||||
|
|
||||||
.cell2 {
|
.cell2 {
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-right: #fff 1px solid;
|
border-right: #fff 1px solid;
|
||||||
@@ -35,36 +38,34 @@ span.cMargLeft { padding-left: 20; }
|
|||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
border-bottom: #fff 1px solid;
|
border-bottom: #fff 1px solid;
|
||||||
padding-bottom: 10px;
|
padding-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
span.cNeg {
|
span.cNeg {
|
||||||
color: #002c72;
|
color: #002c72;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
span.cLow {
|
span.cLow {
|
||||||
color: #002c72;
|
color: #002c72;
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
<!--[if IE]>
|
<!--[if IE]>
|
||||||
<style>
|
<style type="text/css">
|
||||||
span.cMargLeft { padding-left: 9; }
|
span.cMargLeft { padding-left: 9; }
|
||||||
|
|
||||||
.cell2 {
|
.cell2 {
|
||||||
font-size: 12px !important;
|
font-size: 12px !important;
|
||||||
padding-top: 1px !important;
|
padding-top: 1px !important;
|
||||||
padding-bottom: 1px !important;
|
padding-bottom: 1px !important;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<table width="100%" border="0" cellspacing="0" cellpadding="0">
|
<table width="100%" border="0" cellspacing="0" cellpadding="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<a target="_blank" href="http://www.processmaker.com">
|
<a target="_blank" href="http://www.processmaker.com"><img src="/images/get_started.png" border="0" width="163" height="438"></a>
|
||||||
<img src="/images/get_started.png" border="0" width="163" height="438">
|
|
||||||
</a>
|
|
||||||
</td>
|
</td>
|
||||||
<td class="cell2" valign="top">
|
<td class="cell2" valign="top">
|
||||||
<span class="cLow"><strong>Get Started</strong></span>
|
<span class="cLow"><strong>Get Started</strong></span>
|
||||||
@@ -86,39 +87,39 @@ span.cLow {
|
|||||||
</span></p>
|
</span></p>
|
||||||
<p><span class="cLow">The ProcessMaker Team</span></p>
|
<p><span class="cLow">The ProcessMaker Team</span></p>
|
||||||
|
|
||||||
|
|
||||||
<input type="checkbox" name="getStarted" id="getStarted" onclick="saveConfig();"><span class="cLow">Don't show me again</span>
|
<input type="checkbox" name="getStarted" id="getStarted" onclick="saveConfig();"><span class="cLow">Don't show me again</span>
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
<script>
|
var saveConfig = function()
|
||||||
var saveConfig = function() {
|
{
|
||||||
if(document.getElementById("getStarted").checked==true) {
|
if (document.getElementById("getStarted").checked == true) {
|
||||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||||
url : '../login/login_Ajax',
|
url : "../login/login_Ajax",
|
||||||
async : false,
|
async : false,
|
||||||
method: 'POST',
|
method: "POST",
|
||||||
args : 'function=getStarted_save'
|
args : "function=getStarted_save"
|
||||||
});
|
});
|
||||||
|
|
||||||
oRPC.make();
|
oRPC.make();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(panel) {
|
if (panel) {
|
||||||
if(panel.remove) {
|
if (panel.remove) {
|
||||||
panel.remove();
|
panel.remove();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(window.parent) {
|
if (window.parent) {
|
||||||
if (parent.Ext) {
|
if (parent.Ext) {
|
||||||
parent.Ext.getCmp('gettingStartedWindow').close();
|
parent.Ext.getCmp("gettingStartedWindow").close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user