diff --git a/gulliver/system/class.bootstrap.php b/gulliver/system/class.bootstrap.php
index a9fe4f872..65d6ba029 100644
--- a/gulliver/system/class.bootstrap.php
+++ b/gulliver/system/class.bootstrap.php
@@ -1149,8 +1149,14 @@ class Bootstrap
//Read Configuration File
$xmlConfiguration = file_get_contents($configurationFile);
$xmlConfigurationObj = Bootstrap::xmlParser($xmlConfiguration);
-
+
+ if (!isset($xmlConfigurationObj->result['skinConfiguration']['__CONTENT__']['cssFiles']['__CONTENT__'][$skinVariant]['__CONTENT__'])) {
+ $xmlConfigurationObj->result['skinConfiguration']['__CONTENT__']['cssFiles']['__CONTENT__'][$skinVariant]['__CONTENT__'] = array('cssFile' => array());
+ }
$skinFilesArray = $xmlConfigurationObj->result['skinConfiguration']['__CONTENT__']['cssFiles']['__CONTENT__'][$skinVariant]['__CONTENT__']['cssFile'];
+ if (isset($skinFilesArray['__ATTRIBUTES__'])) {
+ $skinFilesArray = array($skinFilesArray);
+ }
foreach ($skinFilesArray as $keyFile => $cssFileInfo) {
$enabledBrowsers = explode(",", $cssFileInfo['__ATTRIBUTES__']['enabledBrowsers']);
$disabledBrowsers = explode(",", $cssFileInfo['__ATTRIBUTES__']['disabledBrowsers']);
diff --git a/workflow/engine/classes/class.pmDynaform.php b/workflow/engine/classes/class.pmDynaform.php
index 77caa227a..82525d979 100644
--- a/workflow/engine/classes/class.pmDynaform.php
+++ b/workflow/engine/classes/class.pmDynaform.php
@@ -139,35 +139,13 @@ class pmDynaform
}
}
}
- //query & options
- if ($key === "type" && ($value === "text" || $value === "textarea" || $value === "dropdown" || $value === "suggest" || $value === "checkbox" || $value === "checkgroup" || $value === "radio" || $value === "datetime" || $value === "hidden")) {
- if (!isset($json->data)) {
- $json->data = array(
- "value" => "",
- "label" => ""
- );
- }
+ //options & query
+ if ($key === "type" && ($value === "text" || $value === "textarea" || $value === "hidden" || $value === "dropdown" || $value === "checkgroup" || $value === "radio" || $value === "suggest" )) {
if (!isset($json->dbConnection))
$json->dbConnection = "none";
if (!isset($json->sql))
$json->sql = "";
- if (!isset($json->options))
- $json->options = array();
- if (!isset($json->optionsSql))
- $json->optionsSql = array();
- else {
- //convert stdClass to array
- if (is_array($json->options)) {
- $option = array();
- foreach ($json->options as $valueOptions) {
- array_push($option, array(
- "value" => $valueOptions->value,
- "label" => isset($valueOptions->label) ? $valueOptions->label : ""
- ));
- }
- $json->options = $option;
- }
- }
+ $json->optionsSql = array();
if ($json->dbConnection !== "" && $json->dbConnection !== "none" && $json->sql !== "") {
$cnn = Propel::getConnection($json->dbConnection);
$stmt = $cnn->createStatement();
@@ -175,68 +153,151 @@ class pmDynaform
$rs = $stmt->executeQuery(G::replaceDataField($json->sql, array()), \ResultSet::FETCHMODE_NUM);
while ($rs->next()) {
$row = $rs->getRow();
- $option = array(
- "label" => isset($row[1]) ? $row[1] : $row[0],
- "value" => $row[0]
- );
+ $option = new stdClass();
+ $option->value = $row[0];
+ $option->label = isset($row[1]) ? $row[1] : $row[0];
array_push($json->optionsSql, $option);
}
} catch (Exception $e) {
-
- }
- }
- if (isset($json->options[0])) {
- $json->data = $json->options[0];
- $no = count($json->options);
- for ($io = 0; $io < $no; $io++) {
- if ((is_array($json->options[$io]) ? $json->options[$io]["value"] : $json->options[$io]->value) === $json->defaultValue) {
- $json->data = $json->options[$io];
- }
+
}
}
}
//data
- if ($key === "type" && ($value === "text" || $value === "textarea" || $value === "suggest" || $value === "dropdown" || $value === "radio" || $value === "datetime" || $value === "hidden")) {
- $json->data = array(
- "value" => isset($this->fields["APP_DATA"][$json->name]) ? $this->fields["APP_DATA"][$json->name] : (is_array($json->data) ? $json->data["value"] : $json->data->value),
- "label" => isset($this->fields["APP_DATA"][$json->name . "_label"]) ? $this->fields["APP_DATA"][$json->name . "_label"] : (is_array($json->data) ? $json->data["label"] : $json->data->label)
- );
- if ($json->data["label"] === "") {
- $json->data["label"] = $json->data["value"];
+ if ($key === "type" && ($value === "text" || $value === "textarea" || $value === "hidden")) {
+ $json->data = new stdClass();
+ $json->data->value = "";
+ $json->data->label = "";
+ if (isset($json->optionsSql[0])) {
+ $json->data->value = $json->optionsSql[0]->value;
+ $json->data->label = $json->optionsSql[0]->value;
}
- //synchronize var_label
- if (isset($this->fields["APP_DATA"]["__VAR_CHANGED__"]) &&
- in_array($json->name, explode(",", $this->fields["APP_DATA"]["__VAR_CHANGED__"]))) {
- $json->data["label"] = $json->data["value"];
- foreach ($json->options as $io) {
- if ($json->data["value"] === $io->value) {
- $json->data["label"] = $io->label;
- }
- }
- foreach ($json->optionsSql as $io) {
- if ($json->data["value"] === $io["value"]) {
- $json->data["label"] = $io["label"];
- }
- }
- $_SESSION["TRIGGER_DEBUG"]["DATA"][] = Array(
- "key" => $json->name . "_label",
- "value" => $json->data["label"]
- );
+ if ($json->defaultValue !== "") {
+ $json->data->value = $json->defaultValue;
+ $json->data->label = $json->defaultValue;
+ }
+ if (isset($this->fields["APP_DATA"][$json->name])) {
+ $json->data->value = $this->fields["APP_DATA"][$json->name];
+ $json->data->label = $this->fields["APP_DATA"][$json->name];
}
}
- if ($key === "type" && ($value === "checkbox" || $value === "checkgroup")) {
- $json->data = array(
- "value" => isset($this->fields["APP_DATA"][$json->name]) ? $this->fields["APP_DATA"][$json->name] : array(),
- "label" => isset($this->fields["APP_DATA"][$json->name . "_label"]) ? $this->fields["APP_DATA"][$json->name . "_label"] : "[]"
- );
- //synchronize var_label
- if (isset($this->fields["APP_DATA"]["__VAR_CHANGED__"]) &&
- in_array($json->name, explode(",", $this->fields["APP_DATA"]["__VAR_CHANGED__"]))) {
- $json->data["label"] = G::json_encode($json->data["value"]);
- $_SESSION["TRIGGER_DEBUG"]["DATA"][] = Array(
- "key" => $json->name . "_label",
- "value" => $json->data["label"]
- );
+ if ($key === "type" && ($value === "dropdown")) {
+ $json->data = new stdClass();
+ $json->data->value = "";
+ $json->data->label = "";
+ if ($json->defaultValue !== "") {
+ foreach ($json->optionsSql as $os) {
+ if ($os->value === $json->defaultValue) {
+ $json->data->value = $os->value;
+ $json->data->label = $os->label;
+ }
+ }
+ foreach ($json->options as $os) {
+ if ($os->value === $json->defaultValue) {
+ $json->data->value = $os->value;
+ $json->data->label = $os->label;
+ }
+ }
+ }
+ if (isset($this->fields["APP_DATA"][$json->name])) {
+ $json->data->value = $this->fields["APP_DATA"][$json->name];
+ $json->data->label = $this->fields["APP_DATA"][$json->name . "_label"];
+ }
+ }
+ if ($key === "type" && ($value === "suggest")) {
+ $json->data = new stdClass();
+ $json->data->value = "";
+ $json->data->label = "";
+ if ($json->defaultValue !== "") {
+ $json->data->value = $json->defaultValue;
+ $json->data->label = $json->defaultValue;
+ foreach ($json->optionsSql as $os) {
+ if ($os->value === $json->defaultValue) {
+ $json->data->value = $os->value;
+ $json->data->label = $os->label;
+ }
+ }
+ foreach ($json->options as $os) {
+ if ($os->value === $json->defaultValue) {
+ $json->data->value = $os->value;
+ $json->data->label = $os->label;
+ }
+ }
+ }
+ if (isset($this->fields["APP_DATA"][$json->name])) {
+ $json->data->value = $this->fields["APP_DATA"][$json->name];
+ $json->data->label = $this->fields["APP_DATA"][$json->name . "_label"];
+ }
+ }
+ if ($key === "type" && ($value === "radio")) {
+ $json->data = new stdClass();
+ $json->data->value = "";
+ $json->data->label = "";
+ if ($json->defaultValue !== "") {
+ foreach ($json->optionsSql as $os) {
+ if ($os->value === $json->defaultValue) {
+ $json->data->value = $os->value;
+ $json->data->label = $os->label;
+ }
+ }
+ foreach ($json->options as $os) {
+ if ($os->value === $json->defaultValue) {
+ $json->data->value = $os->value;
+ $json->data->label = $os->label;
+ }
+ }
+ }
+ if (isset($this->fields["APP_DATA"][$json->name])) {
+ $json->data->value = $this->fields["APP_DATA"][$json->name];
+ $json->data->label = $this->fields["APP_DATA"][$json->name . "_label"];
+ }
+ }
+ if ($key === "type" && ($value === "checkbox")) {
+ $json->data = new stdClass();
+ $json->data->value = "";
+ $json->data->label = "";
+ if (isset($this->fields["APP_DATA"][$json->name])) {
+ $json->data->value = $this->fields["APP_DATA"][$json->name];
+ $json->data->label = $this->fields["APP_DATA"][$json->name];
+ }
+ }
+ if ($key === "type" && ($value === "checkgroup")) {
+ $json->data = new stdClass();
+ $json->data->value = "";
+ $json->data->label = "[]";
+ if ($json->defaultValue !== "") {
+ $dataValue = array();
+ $dataLabel = array();
+ $dv = explode("|", $json->defaultValue);
+ foreach ($dv as $idv) {
+ foreach ($json->optionsSql as $os) {
+ if ($os->value === trim($idv)) {
+ array_push($dataValue, $os->value);
+ array_push($dataLabel, $os->label);
+ }
+ }
+ foreach ($json->options as $os) {
+ if ($os->value === trim($idv)) {
+ array_push($dataValue, $os->value);
+ array_push($dataLabel, $os->label);
+ }
+ }
+ }
+ $json->data->value = $dataValue;
+ $json->data->label = G::json_encode($dataLabel);
+ }
+ if (isset($this->fields["APP_DATA"][$json->name])) {
+ $json->data->value = $this->fields["APP_DATA"][$json->name];
+ $json->data->label = $this->fields["APP_DATA"][$json->name . "_label"];
+ }
+ }
+ if ($key === "type" && ($value === "datetime")) {
+ $json->data = new stdClass();
+ $json->data->value = "";
+ $json->data->label = "";
+ if (isset($this->fields["APP_DATA"][$json->name])) {
+ $json->data->value = $this->fields["APP_DATA"][$json->name];
+ $json->data->label = $this->fields["APP_DATA"][$json->name . "_label"];
}
}
if ($key === "type" && ($value === "file") && isset($this->fields["APP_DATA"]["APPLICATION"])) {
@@ -252,10 +313,55 @@ class pmDynaform
$row = $rs->getRow();
array_push($links, "../cases/cases_ShowDocument?a=" . $row["APP_DOC_UID"] . "&v=" . $row["DOC_VERSION"]);
}
- $json->data = array(
- "value" => $links,
- "label" => isset($this->fields["APP_DATA"][$json->name . "_label"]) ? $this->fields["APP_DATA"][$json->name . "_label"] : "[]"
- );
+ $json->data = new stdClass();
+ $json->data->value = $links;
+ $json->data->label = isset($this->fields["APP_DATA"][$json->name . "_label"]) ? $this->fields["APP_DATA"][$json->name . "_label"] : "[]";
+ }
+ //synchronize var_label
+ if ($key === "type" && ($value === "dropdown" || $value === "suggest")) {
+ if (isset($this->fields["APP_DATA"]["__VAR_CHANGED__"]) && in_array($json->name, explode(",", $this->fields["APP_DATA"]["__VAR_CHANGED__"]))) {
+ foreach ($json->optionsSql as $io) {
+ if ($json->data->value === $io->value) {
+ $json->data->label = $io->label;
+ }
+ }
+ foreach ($json->options as $io) {
+ if ($json->data->value === $io->value) {
+ $json->data->label = $io->label;
+ }
+ }
+ $_SESSION["TRIGGER_DEBUG"]["DATA"][] = Array("key" => $json->name . "_label", "value" => $json->data->label);
+ }
+ }
+ if ($key === "type" && ($value === "checkgroup")) {
+ if (isset($this->fields["APP_DATA"]["__VAR_CHANGED__"]) && in_array($json->name, explode(",", $this->fields["APP_DATA"]["__VAR_CHANGED__"]))) {
+ $dataValue = array();
+ $dataLabel = array();
+ $dv = $this->fields["APP_DATA"][$json->name];
+ foreach ($dv as $idv) {
+ foreach ($json->optionsSql as $os) {
+ if ($os->value === $idv) {
+ array_push($dataValue, $os->value);
+ array_push($dataLabel, $os->label);
+ }
+ }
+ foreach ($json->options as $os) {
+ if ($os->value === $idv) {
+ array_push($dataValue, $os->value);
+ array_push($dataLabel, $os->label);
+ }
+ }
+ }
+ $json->data->value = $dataValue;
+ $json->data->label = G::json_encode($dataLabel);
+ $_SESSION["TRIGGER_DEBUG"]["DATA"][] = Array("key" => $json->name . "_label", "value" => $json->data->label);
+ }
+ }
+ if ($key === "type" && ($value === "datetime")) {
+ if (isset($this->fields["APP_DATA"]["__VAR_CHANGED__"]) && in_array($json->name, explode(",", $this->fields["APP_DATA"]["__VAR_CHANGED__"]))) {
+ $json->data->label = $json->data->value;
+ $_SESSION["TRIGGER_DEBUG"]["DATA"][] = Array("key" => $json->name . "_label", "value" => $json->data->label);
+ }
}
//grid
if ($key === "type" && ($value === "grid")) {
@@ -378,7 +484,7 @@ class pmDynaform
$file = file_get_contents(PATH_HOME . "public_html" . PATH_SEP . "lib" . PATH_SEP . "pmdynaform" . PATH_SEP . "build" . PATH_SEP . "pmdynaform.html");
$file = str_replace("{javascript}", $javascript, $file);
-
+ $file = str_replace("{sys_skin}", SYS_SKIN, $file);
echo $file;
exit(0);
}
@@ -424,6 +530,7 @@ class pmDynaform
$file = file_get_contents(PATH_HOME . 'public_html/lib/pmdynaform/build/pmdynaform.html');
$file = str_replace("{javascript}", $javascrip, $file);
+ $file = str_replace("{sys_skin}", SYS_SKIN, $file);
echo $file;
exit();
}
@@ -471,6 +578,7 @@ class pmDynaform
"";
$file = file_get_contents(PATH_HOME . 'public_html/lib/pmdynaform/build/pmdynaform.html');
$file = str_replace("{javascript}", $javascrip, $file);
+ $file = str_replace("{sys_skin}", SYS_SKIN, $file);
echo $file;
exit();
}
@@ -502,7 +610,7 @@ class pmDynaform
var step_mode = null;
var workspace = \"" . SYS_SYS . "\";
var credentials = " . G::json_encode($this->credentials) . ";
- var filePost = \"cases_SaveDataSupervisor?UID=" . $this->fields["CURRENT_DYNAFORM"] . "\";
+ var filePost = \"cases_SaveDataSupervisor?UID=" . $this->fields["CURRENT_DYNAFORM"] . "\";
var fieldsRequired = null;
var triggerDebug = null;
@@ -519,7 +627,7 @@ class pmDynaform
$file = file_get_contents(PATH_HOME . "public_html" . PATH_SEP . "lib" . PATH_SEP . "pmdynaform" . PATH_SEP . "build" . PATH_SEP . "pmdynaform.html");
$file = str_replace("{javascript}", $javascrip, $file);
-
+ $file = str_replace("{sys_skin}", SYS_SKIN, $file);
echo $file;
exit(0);
}
@@ -554,6 +662,7 @@ class pmDynaform
$file = file_get_contents(PATH_HOME . 'public_html/lib/pmdynaform/build/pmdynaform.html');
$file = str_replace("{javascript}", $javascrip, $file);
+ $file = str_replace("{sys_skin}", SYS_SKIN, $file);
echo $file;
exit();
}
@@ -587,6 +696,7 @@ class pmDynaform
$file = file_get_contents(PATH_HOME . 'public_html/lib/pmdynaform/build/pmdynaform.html');
$file = str_replace("{javascript}", $javascrip, $file);
+ $file = str_replace("{sys_skin}", SYS_SKIN, $file);
echo $file;
exit();
}
@@ -603,7 +713,7 @@ class pmDynaform
$file = file_get_contents(PATH_HOME . 'public_html/lib/pmdynaform/build/pmdynaform.html');
$file = str_replace("{javascript}", $javascrip, $file);
-
+ $file = str_replace("{sys_skin}", SYS_SKIN, $file);
echo $file;
exit();
}
@@ -633,6 +743,7 @@ class pmDynaform
"";
$file = file_get_contents(PATH_HOME . 'public_html/lib/pmdynaform/build/pmdynaform.html');
$file = str_replace("{javascript}", $javascrip, $file);
+ $file = str_replace("{sys_skin}", SYS_SKIN, $file);
return $file;
}
@@ -1016,4 +1127,3 @@ class pmDynaform
}
}
-
diff --git a/workflow/engine/controllers/designer.php b/workflow/engine/controllers/designer.php
index d5e76e1bd..73cafd8bc 100644
--- a/workflow/engine/controllers/designer.php
+++ b/workflow/engine/controllers/designer.php
@@ -125,6 +125,8 @@ class Designer extends Controller
$translation = new Translation();
$translation->generateFileTranslationMafe();
}
+
+ $this->setVar('sys_skin', SYS_SKIN);
$this->setView('designer/index');
$this->render();
diff --git a/workflow/engine/methods/login/authentication.php b/workflow/engine/methods/login/authentication.php
index 5385ca548..f8cb12d3e 100755
--- a/workflow/engine/methods/login/authentication.php
+++ b/workflow/engine/methods/login/authentication.php
@@ -319,7 +319,9 @@ try {
}
$aFields['DESCRIPTION'] .= '
' . G::LoadTranslation('ID_PLEASE_CHANGE_PASSWORD_POLICY') . '
';
$G_PUBLISH = new Publisher;
- if(SYS_SKIN == 'neoclassic'){
+ $version = explode('.', trim(file_get_contents(PATH_GULLIVER . 'VERSION')));
+ $version = isset($version[0]) ? intval($version[0]) : 0;
+ if ($version >= 3) {
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/changePasswordpm3', '', $aFields, 'changePassword');
}else{
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/changePassword', '', $aFields, 'changePassword');
diff --git a/workflow/engine/methods/login/forgotPassword.php b/workflow/engine/methods/login/forgotPassword.php
index 52340ab35..416bf7e5e 100755
--- a/workflow/engine/methods/login/forgotPassword.php
+++ b/workflow/engine/methods/login/forgotPassword.php
@@ -23,7 +23,9 @@
*
*/
$G_PUBLISH = new Publisher ();
-if(SYS_SKIN == 'neoclassic'){
+$version = explode('.', trim(file_get_contents(PATH_GULLIVER . 'VERSION')));
+$version = isset($version[0]) ? intval($version[0]) : 0;
+if ($version >= 3) {
$G_PUBLISH->AddContent ( 'xmlform', 'xmlform', 'login/forgotPasswordpm3', '', array(), 'retrivePassword.php');
}else{
$G_PUBLISH->AddContent ( 'xmlform', 'xmlform', 'login/forgotPassword', '', array(), 'retrivePassword.php');
diff --git a/workflow/engine/methods/login/login.php b/workflow/engine/methods/login/login.php
index f2ccca411..b250eb693 100755
--- a/workflow/engine/methods/login/login.php
+++ b/workflow/engine/methods/login/login.php
@@ -171,7 +171,9 @@ if (!class_exists('pmLicenseManager')) {
$licenseManager =& pmLicenseManager::getSingleton();
if (in_array(G::encryptOld($licenseManager->result), array('38afd7ae34bd5e3e6fc170d8b09178a3', 'ba2b45bdc11e2a4a6e86aab2ac693cbb'))) {
$G_PUBLISH = new Publisher();
- if(SYS_SKIN == 'neoclassic'){
+ $version = explode('.', trim(file_get_contents(PATH_GULLIVER . 'VERSION')));
+ $version = isset($version[0]) ? intval($version[0]) : 0;
+ if ($version >= 3) {
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/licenseExpiredpm3', '', array(), 'licenseUpdate');
}else{
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/licenseExpired', '', array(), 'licenseUpdate');
@@ -219,7 +221,9 @@ if (isset($oConf->aConfig["login_defaultLanguage"]) && $oConf->aConfig["login_de
}
$G_PUBLISH = new Publisher();
-if(SYS_SKIN == 'neoclassic'){
+$version = explode('.', trim(file_get_contents(PATH_GULLIVER . 'VERSION')));
+$version = isset($version[0]) ? intval($version[0]) : 0;
+if ($version >= 3) {
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/loginpm3', '', $aFields, SYS_URI . 'login/authentication.php');
}else{
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/login', '', $aFields, SYS_URI . 'login/authentication.php');
diff --git a/workflow/engine/methods/login/sysLogin.php b/workflow/engine/methods/login/sysLogin.php
index b4b744ddf..4a2f6158c 100755
--- a/workflow/engine/methods/login/sysLogin.php
+++ b/workflow/engine/methods/login/sysLogin.php
@@ -155,26 +155,20 @@ if (!defined('WS_IN_LOGIN')) {
define('WS_IN_LOGIN', 'serverconf');
}
$fileLogin = 'login/sysLogin';
+$version = explode('.', trim(file_get_contents(PATH_GULLIVER . 'VERSION')));
+$version = isset($version[0]) ? intval($version[0]) : 0;
switch (WS_IN_LOGIN) {
case 'serverconf':
//Get Server Configuration
$oServerConf = & serverConf::getSingleton ();
if ($oServerConf->getProperty ('LOGIN_NO_WS')) {
- if(SYS_SKIN == 'neoclassic'){
- $fileLogin = 'login/sysLoginNoWSpm3';
- }else{
- $fileLogin = 'login/sysLoginNoWS';
- }
+ $fileLogin = $version >= 3 ? 'login/sysLoginNoWSpm3' : 'login/sysLoginNoWS';
} else {
$fileLogin = 'login/sysLogin';
}
break;
case 'no':
- if(SYS_SKIN == 'neoclassic'){
- $fileLogin = 'login/sysLoginNoWSpm3';
- }else{
- $fileLogin = 'login/sysLoginNoWS';
- }
+ $fileLogin = $version >= 3 ? 'login/sysLoginNoWSpm3' : 'login/sysLoginNoWS';
break;
case 'yes':
$fileLogin = 'login/sysLogin';
@@ -183,6 +177,6 @@ switch (WS_IN_LOGIN) {
$fileLogin = 'login/sysLogin';
break;
}
-
+error_log($fileLogin);
$G_PUBLISH->AddContent ('xmlform', 'xmlform', $fileLogin, '', $aField, 'sysLogin');
G::RenderPage ("publish");
diff --git a/workflow/engine/methods/tracker/login.php b/workflow/engine/methods/tracker/login.php
index 4687b61be..d53e17cce 100755
--- a/workflow/engine/methods/tracker/login.php
+++ b/workflow/engine/methods/tracker/login.php
@@ -31,7 +31,9 @@
$G_PUBLISH = new Publisher();
//echo G::generateUniqueNumber();
-if(SYS_SKIN == 'neoclassic'){
+$version = explode('.', trim(file_get_contents(PATH_GULLIVER . 'VERSION')));
+$version = isset($version[0]) ? intval($version[0]) : 0;
+if ($version >= 3) {
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'tracker/loginpm3', '', '', SYS_URI . 'tracker/authentication.php' );
}else{
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'tracker/login', '', '', SYS_URI . 'tracker/authentication.php' );
diff --git a/workflow/engine/templates/cases/pmdynaform.html b/workflow/engine/templates/cases/pmdynaform.html
index ec9f57787..8b4e3b233 100644
--- a/workflow/engine/templates/cases/pmdynaform.html
+++ b/workflow/engine/templates/cases/pmdynaform.html
@@ -9,6 +9,7 @@
+
diff --git a/workflow/engine/templates/designer/index.html b/workflow/engine/templates/designer/index.html
index d2562584c..c8b15ad30 100644
--- a/workflow/engine/templates/designer/index.html
+++ b/workflow/engine/templates/designer/index.html
@@ -66,6 +66,7 @@
{else}
+