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 ***/
|
||||
// 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 ****************/
|
||||
$virtualURITable = array();
|
||||
$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
|
||||
|
||||
/**
|
||||
* class.headPublisher.php
|
||||
*
|
||||
@@ -126,6 +125,8 @@ class headPublisher
|
||||
*/
|
||||
public function addScriptFile($url, $LoadType = 1)
|
||||
{
|
||||
$url = G::browserCacheFilesSetUrl($url);
|
||||
|
||||
if ($LoadType == 1) {
|
||||
$this->scriptFiles[$url] = $url;
|
||||
}
|
||||
@@ -213,21 +214,25 @@ class headPublisher
|
||||
|
||||
$head = '';
|
||||
$head .= '<TITLE>' . $this->title . "</TITLE>\n";
|
||||
|
||||
foreach ($this->scriptFiles as $file) {
|
||||
$head .= "<script type='text/javascript' src='" . $file . "'></script>\n";
|
||||
}
|
||||
|
||||
if (!in_array($this->translationsFile, $this->scriptFiles)) {
|
||||
$head .= "<script type='text/javascript' src='" . $this->translationsFile . "'></script>\n";
|
||||
}
|
||||
|
||||
$head .= "<script type='text/javascript'>\n";
|
||||
$head .= $this->leimnudInitString;
|
||||
|
||||
foreach ($this->leimnudLoad as $file) {
|
||||
$head .= " leimnud.Package.Load(false, {Type: 'file', Path: '" . $file . "', Absolute : true});\n";
|
||||
}
|
||||
|
||||
$head .= $this->headerScript;
|
||||
$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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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()
|
||||
{
|
||||
$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");
|
||||
}
|
||||
|
||||
|
||||
@@ -119,12 +119,6 @@ function run_upgrade($command, $args)
|
||||
$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
|
||||
$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');
|
||||
}
|
||||
|
||||
//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
|
||||
$flag = G::isPMUnderUpdating(0);
|
||||
}
|
||||
|
||||
@@ -138,16 +138,19 @@ try {
|
||||
$oStep = new Step();
|
||||
$sUidGrids = $oStep->lookingforUidGrids( $sPRO_UID, $sDYNAFORM );
|
||||
|
||||
$template->assign( 'siteUrl', $http . $_SERVER['HTTP_HOST'] );
|
||||
$template->assign( 'sysSys', SYS_SYS );
|
||||
$template->assign( 'sysLang', SYS_LANG );
|
||||
$template->assign( 'sysSkin', SYS_SKIN );
|
||||
$template->assign( 'processUid', $sPRO_UID );
|
||||
$template->assign( 'dynaformUid', $sDYNAFORM );
|
||||
$template->assign( 'taskUid', $sTASKS );
|
||||
$template->assign( 'dynFileName', $sPRO_UID . '/' . $sDYNAFORM );
|
||||
$template->assign( 'formId', $G_FORM->id );
|
||||
$template->assign( 'scriptCode', $scriptCode );
|
||||
$browserCacheFilesUid = G::browserCacheFilesGetUid();
|
||||
|
||||
$template->assign("BROWSER_CACHE_FILES_UID", ($browserCacheFilesUid != null)? "?c=" . $browserCacheFilesUid : null);
|
||||
$template->assign("siteUrl", $http . $_SERVER["HTTP_HOST"]);
|
||||
$template->assign("sysSys", SYS_SYS);
|
||||
$template->assign("sysLang", SYS_LANG);
|
||||
$template->assign("sysSkin", SYS_SKIN);
|
||||
$template->assign("processUid", $sPRO_UID);
|
||||
$template->assign("dynaformUid", $sDYNAFORM);
|
||||
$template->assign("taskUid", $sTASKS);
|
||||
$template->assign("dynFileName", $sPRO_UID . "/" . $sDYNAFORM);
|
||||
$template->assign("formId", $G_FORM->id);
|
||||
$template->assign("scriptCode", $scriptCode);
|
||||
|
||||
if (sizeof( $sUidGrids ) > 0) {
|
||||
foreach ($sUidGrids as $k => $v) {
|
||||
@@ -167,4 +170,3 @@ try {
|
||||
G::RenderPage( 'publish', 'raw' );
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -29,6 +29,11 @@ $oTemplatePower->newBlock('users');
|
||||
$oTemplatePower->assign('USR_UID', $aUser['USR_UID']);
|
||||
$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::RenderPage( 'publish', 'raw' );
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<html>
|
||||
<head>
|
||||
<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}/jsform/gulliver/dynaforms_Options.js"></script>
|
||||
|
||||
@@ -14,8 +14,9 @@
|
||||
leimnud.make();
|
||||
leimnud.Package.Load("panel,validator,app,rpc,fx,drag,drop,dom,abbr",{ Instance:leimnud,Type:"module" });
|
||||
leimnud.exec(leimnud.fix.memoryLeak);
|
||||
if(leimnud.browser.isIphone)
|
||||
{ leimnud.iphone.make(); }
|
||||
if (leimnud.browser.isIphone) {
|
||||
leimnud.iphone.make();
|
||||
}
|
||||
leimnud.event.add(window,"load",function(){ loadForm_{formId}("{siteUrl}/sys{sysSys}/{sysLang}/{sysSkin}/gulliver/defaultAjaxDynaform")});
|
||||
</script>
|
||||
|
||||
@@ -24,6 +25,7 @@
|
||||
if (aux1[1]) {
|
||||
if (aux1[1] != "") {
|
||||
var aux2 = aux1[1].split("&");
|
||||
|
||||
for (var i = 0; i <= aux2.length; i++) {
|
||||
if (aux2[i] == "__flag__=1") {
|
||||
alert("Request sent!");
|
||||
@@ -34,12 +36,11 @@
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
{scriptCode}
|
||||
|
||||
<input type="hidden" name="PRO_UID" value="{processUid}">
|
||||
<input type="hidden" name="TASKS" value="{taskUid}">
|
||||
<input type="hidden" name="DYNAFORM" value="{dynaformUid}">
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
@@ -1,21 +1,24 @@
|
||||
<html>
|
||||
<head>
|
||||
<script type='text/javascript' src='/js/maborak/core/maborak.js'></script>
|
||||
<script type='text/javascript'>
|
||||
<script type="text/javascript" src="/js/maborak/core/maborak.js{BROWSER_CACHE_FILES_UID}"></script>
|
||||
<script type="text/javascript">
|
||||
var leimnud = new maborak();
|
||||
|
||||
leimnud.make({
|
||||
zip: true,
|
||||
inGulliver: true,
|
||||
modules: "dom,abbr,rpc,drag,drop,app,panel,fx,grid,xmlform,validator,dashboard",
|
||||
files: ""
|
||||
});
|
||||
|
||||
try {
|
||||
leimnud.exec(leimnud.fix.memoryLeak);
|
||||
|
||||
if (leimnud.browser.isIphone) {
|
||||
leimnud.iphone.make();
|
||||
}
|
||||
}catch(e){}
|
||||
|
||||
} catch (e) {
|
||||
}
|
||||
</script>
|
||||
|
||||
<style type="text/css">
|
||||
@@ -47,7 +50,7 @@ span.cLow {
|
||||
|
||||
</style>
|
||||
<!--[if IE]>
|
||||
<style>
|
||||
<style type="text/css">
|
||||
span.cMargLeft { padding-left: 9; }
|
||||
|
||||
.cell2 {
|
||||
@@ -62,9 +65,7 @@ span.cLow {
|
||||
<table width="100%" border="0" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td>
|
||||
<a target="_blank" href="http://www.processmaker.com">
|
||||
<img src="/images/get_started.png" border="0" width="163" height="438">
|
||||
</a>
|
||||
<a target="_blank" href="http://www.processmaker.com"><img src="/images/get_started.png" border="0" width="163" height="438"></a>
|
||||
</td>
|
||||
<td class="cell2" valign="top">
|
||||
<span class="cLow"><strong>Get Started</strong></span>
|
||||
@@ -86,25 +87,24 @@ span.cLow {
|
||||
</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>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
<script>
|
||||
var saveConfig = function() {
|
||||
<script type="text/javascript">
|
||||
var saveConfig = function()
|
||||
{
|
||||
if (document.getElementById("getStarted").checked == true) {
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : '../login/login_Ajax',
|
||||
url : "../login/login_Ajax",
|
||||
async : false,
|
||||
method: 'POST',
|
||||
args : 'function=getStarted_save'
|
||||
method: "POST",
|
||||
args : "function=getStarted_save"
|
||||
});
|
||||
|
||||
oRPC.make();
|
||||
}
|
||||
|
||||
@@ -117,8 +117,9 @@ var saveConfig = function() {
|
||||
|
||||
if (window.parent) {
|
||||
if (parent.Ext) {
|
||||
parent.Ext.getCmp('gettingStartedWindow').close();
|
||||
}
|
||||
parent.Ext.getCmp("gettingStartedWindow").close();
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user