Merge pull request #1646 from victorsl/BUG-0000
BUG 0000 "Safe upgrade for JavaScript files" SOLVED
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';
|
||||
@@ -172,7 +148,7 @@ $docuroot = explode ( PATH_SEP , $_SERVER['DOCUMENT_ROOT'] );
|
||||
G::LoadSystem('tree');
|
||||
|
||||
$oHeadPublisher =& headPublisher::getSingleton();
|
||||
|
||||
|
||||
//***************** database and workspace definition ************************
|
||||
//if SYS_TEMP exists, the URL has a workspace, now we need to verify if exists their db.php file
|
||||
if ( defined('SYS_TEMP') && SYS_TEMP != '')
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
var maborak=function(forceCssLoad){this.info={version:"0.3",name:"maborak",file:"maborak.js"},this.forceCssLoad=forceCssLoad?true:false;this.make=function(options)
|
||||
var maborak=function(forceCssLoad){this.info={version:"0.3",name:"maborak",file:"maborak"+((BROWSER_CACHE_FILES_UID!="")?"."+BROWSER_CACHE_FILES_UID:"")+".js"},this.forceCssLoad=forceCssLoad?true:false;this.make=function(options)
|
||||
{this.protoCore();this.module={debug:function(flag){this.flag=flag||false;this.log=function(v)
|
||||
{if(typeof console!='undefined'&&this.flag===true)
|
||||
{console.log(v||'');}};return this;}}.expand(this);this.options={thisIsNotPM:false}.concat(options||{});this.report=new this.bitacora();this.loadMethods([this.checkBrowser],this);this.event=this.factory(this.mantis,true);this.tools=this.factory(this.extended.tools,true);this.file=this.factory(this.fileCore,true);this.dom=this.factory(this.extended.D0M,true);this.iphone=this.factory(this.iphoneBrowser,true);this.cookie=this.factory(this.extended.cookie,true);this.Package=new this.PackageCore(this,this.file.db);this.report.add("Class loaded.");this.info.base=this.tools.baseJS(this.info.file);this.info.images=this.info.base+"images/";this.path_root=this.tools.path_root(this.info.base)+"/";if(this.options.modules){this.Package.Load(this.options.modules,{Instance:this,Type:"module"});}
|
||||
@@ -183,11 +183,10 @@ return rf;};};this.PackageCore=function(parent,db)
|
||||
{this.options={zip:false}.concat(options||{});if(arguments.length<2||!this.check()){return false;}
|
||||
this.toLoad=((this.options.Absolute===true)?this.options.Path:file).split(",");if(this.type==='module'&&(this.options.zip===true||this.parent.options.zip===true))
|
||||
{var tl=[];for(var i=this.toLoad.length;i>0;i--)
|
||||
{this.name=this.toLoad[this.toLoad.length-i];if(!this.isset()){tl.push(this.name);this.write(false);}}
|
||||
if(tl.length>0){var script=$dce("script");this.parent.dom.capture("tag.head 0").appendChild(script);script.src=(this.parent.options.inGulliver===true)?this.path+'maborak.loader.js':this.path+'server/maborak.loader.php?load='+tl.join(',');script.type="text/javascript";script.charset=this.parent.charset;if(this.type=="module"){this.write(script);}}}
|
||||
{this.name=this.toLoad[this.toLoad.length-i];if(!this.isset()){tl.push(this.name);this.write(false);}}}
|
||||
else
|
||||
{for(var i=this.toLoad.length;i>0;i--)
|
||||
{this.name=this.toLoad[this.toLoad.length-i];if(!this.isset()){this.src=this.source();var script=$dce("script");this.parent.dom.capture("tag.head 0").appendChild(script);script.src=this.src;script.type="text/javascript";script.charset=this.parent.charset;if(this.type=="module"){this.write(script);}}}}
|
||||
{this.name=this.toLoad[this.toLoad.length-i];if(!this.isset()){this.src=stringReplace("maborak\\.loader\\.js","maborak.loader"+((BROWSER_CACHE_FILES_UID!="")?"."+BROWSER_CACHE_FILES_UID:"")+".js",this.source());var script=$dce("script");this.parent.dom.capture("tag.head 0").appendChild(script);script.src=this.src;script.type="text/javascript";script.charset=this.parent.charset;if(this.type=="module"){this.write(script);}}}}
|
||||
delete this.Class;delete this.file;delete this.info;delete this.path;delete this.toLoad;delete this.type;delete this.src;return true;};this.source=function()
|
||||
{if(this.type=="module")
|
||||
{return this.path+"module."+this.name+".js";}
|
||||
|
||||
@@ -16,9 +16,9 @@
|
||||
***************************************************************************/
|
||||
var maborak = function(forceCssLoad){
|
||||
this.info={
|
||||
version :"0.3",
|
||||
name :"maborak",
|
||||
file :"maborak.js"
|
||||
version: "0.3",
|
||||
name: "maborak",
|
||||
file: "maborak" + ((BROWSER_CACHE_FILES_UID != "")? "." + BROWSER_CACHE_FILES_UID : "") + ".js"
|
||||
},
|
||||
|
||||
this.forceCssLoad = forceCssLoad ? true : false;
|
||||
@@ -743,7 +743,7 @@ var maborak = function(forceCssLoad){
|
||||
{
|
||||
return this.replace(new RegExp(tagScript, 'img'), '');
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Return first letters as uppercase, rest lower.
|
||||
*/
|
||||
@@ -753,7 +753,7 @@ var maborak = function(forceCssLoad){
|
||||
return $1.toUpperCase();
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* XMLSerializer Crossbrowser
|
||||
*/
|
||||
@@ -1140,6 +1140,7 @@ var maborak = function(forceCssLoad){
|
||||
}
|
||||
}
|
||||
//alert(this.parent.options.thisIsNotPM);
|
||||
/*
|
||||
if (tl.length > 0) {
|
||||
var script = $dce("script");
|
||||
this.parent.dom.capture("tag.head 0").appendChild(script);
|
||||
@@ -1152,6 +1153,7 @@ var maborak = function(forceCssLoad){
|
||||
this.write(script);
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1161,7 +1163,7 @@ var maborak = function(forceCssLoad){
|
||||
if (!this.isset()) {
|
||||
//if (this.options.noWrite === false && this.type!='module')
|
||||
//{
|
||||
this.src = this.source();
|
||||
this.src = stringReplace("maborak\\.loader\\.js", "maborak.loader" + ((BROWSER_CACHE_FILES_UID != "")? "." + BROWSER_CACHE_FILES_UID : "") + ".js", this.source());
|
||||
var script = $dce("script");
|
||||
this.parent.dom.capture("tag.head 0").appendChild(script);
|
||||
//script.src = this.src+"?d="+Math.random();
|
||||
|
||||
@@ -579,8 +579,13 @@ class Bootstrap
|
||||
//trick to generate the translation.language.js file , merging two files
|
||||
if (strtolower($typefile) == 'js' && $typearray[0] == 'translation') {
|
||||
Bootstrap::sendHeaders($filename, 'text/javascript', $download, $downloadFileName);
|
||||
$output = Bootstrap::streamJSTranslationFile($filename, $typearray[count($typearray)-2]);
|
||||
|
||||
$filename = str_replace(implode(".", $typearray), $typearray[0] . "." . $typearray[1] . "." . $typearray[count($typearray) - 1], $filename);
|
||||
|
||||
$output = Bootstrap::streamJSTranslationFile($filename, $typearray[1]);
|
||||
|
||||
echo $output;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -855,11 +860,11 @@ class Bootstrap
|
||||
foreach ($listPluginsActive['_aPluginDetails'] as $key => $value) {
|
||||
$namePlugin = trim($key);
|
||||
$translation = array();
|
||||
|
||||
|
||||
if (!file_exists(PATH_LANGUAGECONT . $namePlugin . '.en')) {
|
||||
Translation::generateFileTranslationPlugin($namePlugin, 'en');
|
||||
}
|
||||
|
||||
|
||||
if ( ($lang != 'en') && (!file_exists(PATH_LANGUAGECONT . $namePlugin . '.' . $lang)) ) {
|
||||
Translation::generateFileTranslationPlugin($namePlugin, $lang);
|
||||
}
|
||||
@@ -3004,4 +3009,4 @@ class Bootstrap
|
||||
return strtoupper(PHP_OS) == "LINUX";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -4894,6 +4894,128 @@ class G
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static function browserCacheFilesGetLibraryJs()
|
||||
{
|
||||
$arrayLibrary = array();
|
||||
|
||||
//Translations /js/ext/translation.en.js
|
||||
$arrayLibrary["translation"] = ""; //Not use null
|
||||
|
||||
//Translation environment /jscore/labels/en.js
|
||||
$translationEnvFilePath = PATH_DATA . "META-INF" . PATH_SEP . "translations.env";
|
||||
|
||||
if (file_exists($translationEnvFilePath)) {
|
||||
$arrayData = unserialize(file_get_contents($translationEnvFilePath));
|
||||
$path = PATH_CORE . "js" . PATH_SEP . "labels" . PATH_SEP;
|
||||
|
||||
foreach ($arrayData as $index1 => $value1) {
|
||||
foreach ($value1 as $index2 => $value2) {
|
||||
$record = $value2;
|
||||
|
||||
if (file_exists($path . $record["LOCALE"] . ".js")) {
|
||||
$arrayLibrary[$record["LOCALE"]] = $path;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Libraries
|
||||
$library = G::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) {
|
||||
if (substr($lib->build_js_to, -1) != "/") {
|
||||
$lib->build_js_to = $lib->build_js_to . "/";
|
||||
}
|
||||
|
||||
$arrayLibrary[$lib->name] = PATH_TRUNK . $lib->build_js_to;
|
||||
}
|
||||
}
|
||||
|
||||
return $arrayLibrary;
|
||||
}
|
||||
|
||||
public static function browserCacheFilesSetUid()
|
||||
{
|
||||
//Set UID
|
||||
$uid = G::generateUniqueID();
|
||||
|
||||
$arrayData = array();
|
||||
$arrayData["browser_cache_files_uid"] = $uid;
|
||||
|
||||
G::update_php_ini(PATH_CONFIG . "env.ini", $arrayData);
|
||||
|
||||
//Set file JavaScript
|
||||
$arrayLibrary = G::browserCacheFilesGetLibraryJs();
|
||||
|
||||
foreach ($arrayLibrary as $index => $value) {
|
||||
$name = $index;
|
||||
$path = $value;
|
||||
|
||||
if (!empty($path)) {
|
||||
foreach (glob($path . $name . "*") as $file) {
|
||||
if (preg_match("/^\.\w{32}\.js$/i", str_replace($path . $name, null, $file))) {
|
||||
@unlink($file); //Delete old file
|
||||
}
|
||||
}
|
||||
|
||||
if (file_exists($path . $name . ".js")) {
|
||||
@copy($path . $name . ".js", $path . $name . "." . $uid . ".js"); //Create new file
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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 browserCacheFilesUrl($url)
|
||||
{
|
||||
$browserCacheFilesUid = self::browserCacheFilesGetUid();
|
||||
|
||||
if ($browserCacheFilesUid != null) {
|
||||
$arrayAux = explode("/", $url);
|
||||
$n = count($arrayAux);
|
||||
|
||||
if ($n > 0 && !empty($arrayAux[$n - 1])) {
|
||||
$arrayAux = explode("?", $arrayAux[$n - 1]);
|
||||
$name = $arrayAux[0];
|
||||
|
||||
if (preg_match("/^(.*)\.js$/i", $name, $arrayMatch)) {
|
||||
$index = $arrayMatch[1];
|
||||
$index = (preg_match("/^translation\..*$/", $index))? "translation" : $index;
|
||||
|
||||
$arrayLibrary = G::browserCacheFilesGetLibraryJs();
|
||||
|
||||
if (isset($arrayLibrary[$index])) {
|
||||
$path = $arrayLibrary[$index];
|
||||
$sw = 0;
|
||||
|
||||
if (!empty($path)) {
|
||||
if (file_exists($path . $arrayMatch[1] . "." . $browserCacheFilesUid . ".js")) {
|
||||
$sw = 1;
|
||||
}
|
||||
} else {
|
||||
$sw = 1;
|
||||
}
|
||||
|
||||
if ($sw == 1) {
|
||||
$url = str_replace($name, $arrayMatch[1] . "." . $browserCacheFilesUid . ".js", $url);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $url;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* class.headPublisher.php
|
||||
*
|
||||
@@ -213,21 +212,33 @@ class headPublisher
|
||||
|
||||
$head = '';
|
||||
$head .= '<TITLE>' . $this->title . "</TITLE>\n";
|
||||
|
||||
$browserCacheFilesUid = G::browserCacheFilesGetUid();
|
||||
|
||||
$head = $head . "
|
||||
<script type=\"text/javascript\">
|
||||
var BROWSER_CACHE_FILES_UID = \"" . (($browserCacheFilesUid != null && file_exists(PATH_TRUNK . "gulliver" . PATH_SEP . "js" . PATH_SEP . "maborak" . PATH_SEP . "core" . PATH_SEP . "maborak.$browserCacheFilesUid.js"))? $browserCacheFilesUid : null) . "\";
|
||||
</script>
|
||||
";
|
||||
|
||||
foreach ($this->scriptFiles as $file) {
|
||||
$head .= "<script type='text/javascript' src='" . $file . "'></script>\n";
|
||||
$head = $head . "<script type=\"text/javascript\" src=\"" . G::browserCacheFilesUrl($file) . "\"></script>\n";
|
||||
}
|
||||
|
||||
if (!in_array($this->translationsFile, $this->scriptFiles)) {
|
||||
$head .= "<script type='text/javascript' src='" . $this->translationsFile . "'></script>\n";
|
||||
$head = $head . "<script type=\"text/javascript\" src=\"" . G::browserCacheFilesUrl($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::browserCacheFilesUrl("/js/maborak/core/maborak.loader.js") . "\"></script>\n";
|
||||
return $head;
|
||||
}
|
||||
|
||||
@@ -255,7 +266,7 @@ class headPublisher
|
||||
//$head .= "<script language='javascript'>\n";
|
||||
foreach ($this->scriptFiles as $file) {
|
||||
if (($file != "/js/maborak/core/maborak.js") && ($file != $jslabel)) {
|
||||
$head .= " eval(ajax_function('" . $file . "','',''));\n";
|
||||
$head = $head . " eval(ajax_function(\"" . G::browserCacheFilesUrl($file) . "\", \"\", \"\"));\n";
|
||||
}
|
||||
}
|
||||
foreach ($this->leimnudLoad as $file) {
|
||||
@@ -310,7 +321,7 @@ class headPublisher
|
||||
$head .= $this->getExtJsLibraries();
|
||||
|
||||
// $head .= " <script type='text/javascript' src='/js/ext/draw2d.js'></script>\n";
|
||||
// $head .= " <script type='text/javascript' src='/js/ext/translation." . SYS_LANG . ".js'></script>\n";
|
||||
// $head .= " <script type=\"text/javascript\" src=\"" . G::browserCacheFilesUrl("/js/ext/translation." . SYS_LANG . ".js") . "\"></script>\n";
|
||||
|
||||
if (!isset($this->extJsSkin) || $this->extJsSkin == '') {
|
||||
$this->extJsSkin = 'xtheme-gray';
|
||||
@@ -330,7 +341,7 @@ class headPublisher
|
||||
public function getExtJsStylesheets($skinName)
|
||||
{
|
||||
$script = " <link rel='stylesheet' type='text/css' href='/css/$skinName.css' />\n";
|
||||
//$script .= " <script type='text/javascript' src='/js/ext/translation." . SYS_LANG . ".js'></script>\n";
|
||||
//$script .= " <script type=\"text/javascript\" src=\"" . G::browserCacheFilesUrl("/js/ext/translation." . SYS_LANG . ".js") . "\"></script>\n";
|
||||
/*
|
||||
$script .= " <link rel='stylesheet' type='text/css' href='/skins/ext/ext-all-notheme.css' />\n";
|
||||
$script .= " <link rel='stylesheet' type='text/css' href='/skins/ext/" . $this->extJsSkin.".css' />\n";
|
||||
@@ -402,7 +413,7 @@ class headPublisher
|
||||
}
|
||||
}
|
||||
if (!in_array($this->translationsFile, $this->extJsLibrary)) {
|
||||
$script .= " <script type='text/javascript' src='" . $this->translationsFile . "'></script>\n";
|
||||
$script = $script . " <script type=\"text/javascript\" src=\"" . G::browserCacheFilesUrl($this->translationsFile) . "\"></script>\n";
|
||||
}
|
||||
return $script;
|
||||
}
|
||||
@@ -689,4 +700,4 @@ class headPublisher
|
||||
$this->disableHeaderScripts = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -367,7 +367,7 @@ class Installer extends Controller
|
||||
{
|
||||
$pathSharedPartner = trim( $_REQUEST['pathShared'] );
|
||||
if (file_exists($pathSharedPartner.'partner.info')) {
|
||||
$_REQUEST['PARTNER_FLAG'] = true;
|
||||
$_REQUEST["PARTNER_FLAG"] = true;
|
||||
}
|
||||
$this->setResponseType( 'json' );
|
||||
if ($_REQUEST['db_engine'] == 'mysql') {
|
||||
@@ -382,13 +382,13 @@ class Installer extends Controller
|
||||
public function forceTogenerateTranslationsFiles ($url)
|
||||
{
|
||||
$ch = curl_init();
|
||||
curl_setopt( $ch, CURLOPT_URL, (isset( $_SERVER['HTTPS'] ) ? ($_SERVER['HTTPS'] != '' ? 'https://' : 'http://') : 'http://') . $_SERVER['HTTP_HOST'] . '/js/ext/translation.en.js?r=' . rand( 1, 10000 ) );
|
||||
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
|
||||
curl_setopt( $ch, CURLOPT_FRESH_CONNECT, 1 );
|
||||
curl_setopt( $ch, CURLOPT_TIMEOUT, 60 );
|
||||
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 20 );
|
||||
curl_exec( $ch );
|
||||
curl_close( $ch );
|
||||
curl_setopt($ch, CURLOPT_URL, G::browserCacheFilesUrl((isset($_SERVER["HTTPS"])? (($_SERVER["HTTPS"] != "")? "https://" : "http://") : "http://") . $_SERVER["HTTP_HOST"] . "/js/ext/translation.en.js?r=" . rand(1, 10000)));
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
||||
curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1);
|
||||
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
|
||||
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20);
|
||||
curl_exec($ch);
|
||||
curl_close($ch);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1407,7 +1407,7 @@ EOL;
|
||||
$output = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
|
||||
/**
|
||||
/**
|
||||
* Upload translation .po file
|
||||
*/
|
||||
|
||||
@@ -1430,7 +1430,7 @@ EOL;
|
||||
$output = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
|
||||
/**
|
||||
/**
|
||||
* Upload skin file
|
||||
*/
|
||||
|
||||
|
||||
@@ -277,10 +277,11 @@ class Main extends Controller
|
||||
$this->setVar( 'advise_text', $adviseText );
|
||||
$loginScript = $this->getHeadPublisher()->getExtJsLibraries();
|
||||
$loginScript .= $this->getHeadPublisher()->getExtJsScripts();
|
||||
$this->setVar( 'login_script', $loginScript );
|
||||
$this->setVar( 'login_vars', $this->getHeadPublisher()->getExtJsVariablesScript() );
|
||||
$this->setVar("login_script", $loginScript);
|
||||
$this->setVar("login_vars", $this->getHeadPublisher()->getExtJsVariablesScript());
|
||||
$this->setVar("URL_TRANSLATION_JS", G::browserCacheFilesUrl("/js/ext/translation.en.js"));
|
||||
|
||||
$this->setLayout( 'pm-modern-login' );
|
||||
$this->setLayout("pm-modern-login");
|
||||
|
||||
$this->render();
|
||||
}
|
||||
@@ -342,10 +343,11 @@ class Main extends Controller
|
||||
|
||||
$loginScript = $this->getHeadPublisher()->getExtJsLibraries();
|
||||
$loginScript .= $this->getHeadPublisher()->getExtJsScripts();
|
||||
$this->setVar( 'login_script', $loginScript );
|
||||
$this->setVar( 'login_vars', $this->getHeadPublisher()->getExtJsVariablesScript() );
|
||||
$this->setVar("login_script", $loginScript);
|
||||
$this->setVar("login_vars", $this->getHeadPublisher()->getExtJsVariablesScript());
|
||||
$this->setVar("URL_TRANSLATION_JS", G::browserCacheFilesUrl("/js/ext/translation.en.js"));
|
||||
|
||||
$this->setLayout( 'pm-modern-login' );
|
||||
$this->setLayout("pm-modern-login");
|
||||
|
||||
$this->render();
|
||||
}
|
||||
|
||||
@@ -138,16 +138,20 @@ 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("URL_MABORAK_JS", G::browserCacheFilesUrl("/js/maborak/core/maborak.js"));
|
||||
$template->assign("URL_TRANSLATION_ENV_JS", G::browserCacheFilesUrl("/jscore/labels/" . SYS_LANG . ".js"));
|
||||
$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 +171,3 @@ try {
|
||||
G::RenderPage( 'publish', 'raw' );
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -41,6 +41,9 @@ $oTemplatePower->newBlock('users');
|
||||
$oTemplatePower->assign('USR_UID', $aUser['USR_UID']);
|
||||
$oTemplatePower->assign('USR_FULLNAME', $aData['USR_FIRSTNAME'] . ' ' . $aData['USR_LASTNAME'] . ' (' . $aData['USR_USERNAME'] . ')');
|
||||
*/
|
||||
|
||||
$oTemplatePower->assign("URL_MABORAK_JS", G::browserCacheFilesUrl("/js/maborak/core/maborak.js"));
|
||||
|
||||
$G_PUBLISH->AddContent( 'template', '', '', '', $oTemplatePower );
|
||||
|
||||
G::RenderPage( 'publish', 'raw' );
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<link rel="shortcut icon" href="/images/favicon.ico" type="image/x-icon"/>
|
||||
<link rel='stylesheet' type='text/css' href='/css/{$_skin}-extJs.css' />
|
||||
</head>
|
||||
|
||||
|
||||
<body class="x-pm-login-body">
|
||||
|
||||
<br/> <br/>
|
||||
@@ -13,9 +13,9 @@
|
||||
<tr>
|
||||
<td>
|
||||
<div class="companyLogo"><img src="{$logo_company}"/></div>
|
||||
|
||||
|
||||
<div id="loading-mask"> </div>
|
||||
|
||||
|
||||
<div id="loading">
|
||||
<table width="100%" height="25" border="0" cellspacing="0" cellpadding="0" class="headerLeftSection">
|
||||
<tr>
|
||||
@@ -48,13 +48,13 @@
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<script type="text/javascript">document.getElementById('loading-message').innerHTML = 'Loading Core API...';</script>
|
||||
<script type='text/javascript' src='/js/ext/ext-base.js'></script>
|
||||
<script type="text/javascript">document.getElementById('loading-message').innerHTML = 'Loading Components...';</script>
|
||||
<script type='text/javascript' src='/js/ext/ext-all.js'></script>
|
||||
<script type="text/javascript">document.getElementById('loading-message').innerHTML = 'Initializing...';</script>
|
||||
<script type='text/javascript' src='/js/ext/translation.en.js'></script>
|
||||
<script type="text/javascript" src="{$URL_TRANSLATION_JS}"></script>
|
||||
{$login_script}
|
||||
{$login_vars}
|
||||
</body>
|
||||
|
||||
@@ -1,45 +1,46 @@
|
||||
<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/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/{dynFileName}.js"></script>
|
||||
<!-- START BLOCK : grid_uids -->
|
||||
<script type="text/javascript" src="{siteUrl}/jsform/{gridFileName}.js"></script>
|
||||
<!-- END BLOCK : grid_uids -->
|
||||
<script type="text/javascript">
|
||||
var leimnud = new maborak();
|
||||
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(); }
|
||||
leimnud.event.add(window,"load",function(){ loadForm_{formId}("{siteUrl}/sys{sysSys}/{sysLang}/{sysSkin}/gulliver/defaultAjaxDynaform")});
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
var aux1 = window.location.href.split("?");
|
||||
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!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</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>
|
||||
<html>
|
||||
<head>
|
||||
<script type="text/javascript" src="{siteUrl}{URL_TRANSLATION_ENV_JS}"></script>
|
||||
<script type="text/javascript" src="{siteUrl}{URL_MABORAK_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/{dynFileName}.js"></script>
|
||||
<!-- START BLOCK : grid_uids -->
|
||||
<script type="text/javascript" src="{siteUrl}/jsform/{gridFileName}.js"></script>
|
||||
<!-- END BLOCK : grid_uids -->
|
||||
<script type="text/javascript">
|
||||
var leimnud = new maborak();
|
||||
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();
|
||||
}
|
||||
leimnud.event.add(window,"load",function(){ loadForm_{formId}("{siteUrl}/sys{sysSys}/{sysLang}/{sysSkin}/gulliver/defaultAjaxDynaform")});
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
var aux1 = window.location.href.split("?");
|
||||
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!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</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,124 +1,125 @@
|
||||
<html>
|
||||
<head>
|
||||
<script type='text/javascript' src='/js/maborak/core/maborak.js'></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){}
|
||||
|
||||
</script>
|
||||
|
||||
<style type="text/css">
|
||||
body, table {
|
||||
font-family: tahoma,arial,verdana,sans-serif;
|
||||
}
|
||||
span.cMargLeft { padding-left: 20; }
|
||||
|
||||
.cell2 {
|
||||
font-size: 13px;
|
||||
background: #fff;
|
||||
border-right: #fff 1px solid;
|
||||
padding-right: 10px;
|
||||
border-top: #fff 1px solid;
|
||||
padding-top: 10px;
|
||||
border-left: #fff 1px solid;
|
||||
padding-left: 10px;
|
||||
border-bottom: #fff 1px solid;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
span.cNeg {
|
||||
color: #002c72;
|
||||
font-weight: bold;
|
||||
}
|
||||
span.cLow {
|
||||
color: #002c72;
|
||||
}
|
||||
|
||||
</style>
|
||||
<!--[if IE]>
|
||||
<style>
|
||||
span.cMargLeft { padding-left: 9; }
|
||||
|
||||
.cell2 {
|
||||
font-size: 12px !important;
|
||||
padding-top: 1px !important;
|
||||
padding-bottom: 1px !important;
|
||||
}
|
||||
</style>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body>
|
||||
<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>
|
||||
</td>
|
||||
<td class="cell2" valign="top">
|
||||
<span class="cLow"><strong>Get Started</strong></span>
|
||||
<p><span class="cLow">Welcome to ProcessMaker!</span></p>
|
||||
<p><span class="cLow">To get started, log in using the following credentials. You can change them later:</span></p>
|
||||
<span class="cNeg">Username:</span><span class="cLow"> admin</span><br>
|
||||
<span class="cNeg">Password:</span><span class="cLow"> admin</span>
|
||||
<p><span class="cLow">We suggest you follow our 7 easy videos to automate your workflow. You can see a demo of each step at <a target="_blank" href="http://www.processmaker.com/demos/">http://www.processmaker.com/demos/</a> </span></p>
|
||||
|
||||
<span class="cLow">Other Resources:</span><br/><br/>
|
||||
|
||||
<span class="cLow"><a target="_blank" href="http://library.processmaker.com">PM Library </a>- Import Templates</span><br/>
|
||||
|
||||
<span class="cLow"><a target="_blank" href="http://wiki.processmaker.com">PM Wiki </a>- Manuals</span><br/>
|
||||
|
||||
<span class="cLow"><a target="_blank" href="http://forum.processmaker.com">PM Forum </a>- Ask Questions</span><br/>
|
||||
|
||||
<p><span class="cLow">We hope you enjoy using ProcessMaker. For more information about our enterprise support and consulting services <a target="_blank" href="http://www.processmaker.com/contact-us">contact us.</a>
|
||||
</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() {
|
||||
if(document.getElementById("getStarted").checked==true) {
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : '../login/login_Ajax',
|
||||
async : false,
|
||||
method: 'POST',
|
||||
args : 'function=getStarted_save'
|
||||
});
|
||||
oRPC.make();
|
||||
}
|
||||
|
||||
if(panel) {
|
||||
if(panel.remove) {
|
||||
panel.remove();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if(window.parent) {
|
||||
if (parent.Ext) {
|
||||
parent.Ext.getCmp('gettingStartedWindow').close();
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<html>
|
||||
<head>
|
||||
<script type="text/javascript" src="{URL_MABORAK_JS}"></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) {
|
||||
}
|
||||
</script>
|
||||
|
||||
<style type="text/css">
|
||||
body, table {
|
||||
font-family: tahoma,arial,verdana,sans-serif;
|
||||
}
|
||||
span.cMargLeft { padding-left: 20; }
|
||||
|
||||
.cell2 {
|
||||
font-size: 13px;
|
||||
background: #fff;
|
||||
border-right: #fff 1px solid;
|
||||
padding-right: 10px;
|
||||
border-top: #fff 1px solid;
|
||||
padding-top: 10px;
|
||||
border-left: #fff 1px solid;
|
||||
padding-left: 10px;
|
||||
border-bottom: #fff 1px solid;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
span.cNeg {
|
||||
color: #002c72;
|
||||
font-weight: bold;
|
||||
}
|
||||
span.cLow {
|
||||
color: #002c72;
|
||||
}
|
||||
|
||||
</style>
|
||||
<!--[if IE]>
|
||||
<style type="text/css">
|
||||
span.cMargLeft { padding-left: 9; }
|
||||
|
||||
.cell2 {
|
||||
font-size: 12px !important;
|
||||
padding-top: 1px !important;
|
||||
padding-bottom: 1px !important;
|
||||
}
|
||||
</style>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body>
|
||||
<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>
|
||||
</td>
|
||||
<td class="cell2" valign="top">
|
||||
<span class="cLow"><strong>Get Started</strong></span>
|
||||
<p><span class="cLow">Welcome to ProcessMaker!</span></p>
|
||||
<p><span class="cLow">To get started, log in using the following credentials. You can change them later:</span></p>
|
||||
<span class="cNeg">Username:</span><span class="cLow"> admin</span><br>
|
||||
<span class="cNeg">Password:</span><span class="cLow"> admin</span>
|
||||
<p><span class="cLow">We suggest you follow our 7 easy videos to automate your workflow. You can see a demo of each step at <a target="_blank" href="http://www.processmaker.com/demos/">http://www.processmaker.com/demos/</a> </span></p>
|
||||
|
||||
<span class="cLow">Other Resources:</span><br/><br/>
|
||||
|
||||
<span class="cLow"><a target="_blank" href="http://library.processmaker.com">PM Library </a>- Import Templates</span><br/>
|
||||
|
||||
<span class="cLow"><a target="_blank" href="http://wiki.processmaker.com">PM Wiki </a>- Manuals</span><br/>
|
||||
|
||||
<span class="cLow"><a target="_blank" href="http://forum.processmaker.com">PM Forum </a>- Ask Questions</span><br/>
|
||||
|
||||
<p><span class="cLow">We hope you enjoy using ProcessMaker. For more information about our enterprise support and consulting services <a target="_blank" href="http://www.processmaker.com/contact-us">contact us.</a>
|
||||
</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 type="text/javascript">
|
||||
var saveConfig = function()
|
||||
{
|
||||
if (document.getElementById("getStarted").checked == true) {
|
||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||
url : "../login/login_Ajax",
|
||||
async : false,
|
||||
method: "POST",
|
||||
args : "function=getStarted_save"
|
||||
});
|
||||
|
||||
oRPC.make();
|
||||
}
|
||||
|
||||
if (panel) {
|
||||
if (panel.remove) {
|
||||
panel.remove();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (window.parent) {
|
||||
if (parent.Ext) {
|
||||
parent.Ext.getCmp("gettingStartedWindow").close();
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user