diff --git a/gulliver/system/class.xmlform.php b/gulliver/system/class.xmlform.php index 2f5a3e6ec..93458d03b 100755 --- a/gulliver/system/class.xmlform.php +++ b/gulliver/system/class.xmlform.php @@ -3443,11 +3443,12 @@ class XmlForm_Field_Hidden extends XmlForm_Field } } } + //$html .= 'value="' . $this->htmlentities( $value, ENT_QUOTES, 'utf-8' ) . '" '; if ($this->mode === 'edit') { - return 'NSFieldType() . ' name="form[' . $this->name . ']" type=\'hidden\' value=\'' . $value . '\'/>'; + return 'NSFieldType() . ' name="form[' . $this->name . ']" type=\'hidden\' value=\'' . $this->htmlentities( $value, ENT_QUOTES, 'utf-8' ) . '\'/>'; } elseif ($this->mode === 'view') { //a button? who wants a hidden field be showed like a button?? very strange. - return 'NSFieldType() . ' name="form[' . $this->name . ']" type=\'text\' value=\'' . $value . '\' style="display:none"/>'; + return 'NSFieldType() . ' name="form[' . $this->name . ']" type=\'text\' value=\'' . $this->htmlentities( $value, ENT_QUOTES, 'utf-8' ) . '\' style="display:none"/>'; } else { return $this->htmlentities( $value, ENT_COMPAT, 'utf-8' ); } diff --git a/workflow/engine/classes/model/OutputDocument.php b/workflow/engine/classes/model/OutputDocument.php index 34bec88bd..bfd361304 100755 --- a/workflow/engine/classes/model/OutputDocument.php +++ b/workflow/engine/classes/model/OutputDocument.php @@ -784,6 +784,8 @@ class OutputDocument extends BaseOutputDocument $sContent = str_ireplace("", "", $sContent); $sContent = str_replace($nrthtml, $nrt, $sContent); + + $sContent = str_replace("margin-left", "text-indent", $sContent); // define Save file $sOutput = 2; diff --git a/workflow/engine/content/translations/english/processmaker.en.po b/workflow/engine/content/translations/english/processmaker.en.po index c69f374c9..6576a6604 100644 --- a/workflow/engine/content/translations/english/processmaker.en.po +++ b/workflow/engine/content/translations/english/processmaker.en.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: ProcessMaker 3.0\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2015-01-20 18:07:02\n" +"PO-Revision-Date: 2015-02-06 16:16:09\n" "Last-Translator: \n" "Language-Team: Colosa Developers Team \n" "MIME-Version: 1.0\n" @@ -17791,6 +17791,66 @@ msgstr "The event with {0}: {1} does not is registered." msgid "The WebEntry-Event title with {0}: \"{1}\" already exists." msgstr "The WebEntry-Event title with {0}: \"{1}\" already exists." +# TRANSLATION +# LABEL/ID_CASE_STOPPED_TRIGGER +#: LABEL/ID_CASE_STOPPED_TRIGGER +msgid "The case has not stopped due to its trigger." +msgstr "The case has not stopped due to its trigger." + +# TRANSLATION +# LABEL/ID_TRANSLATION_NOT_WRITEABLE +#: LABEL/ID_TRANSLATION_NOT_WRITEABLE +msgid "The translation file is not writable.
Please give write permission to file:" +msgstr "The translation file is not writable.
Please give write permission to file:" + +# TRANSLATION +# LABEL/ID_MAFE_TRANSLATION_NOT_WRITEABLE +#: LABEL/ID_MAFE_TRANSLATION_NOT_WRITEABLE +msgid "The mafe translation file is not writable.
Please give write permission to file:" +msgstr "The mafe translation file is not writable.
Please give write permission to file:" + +# TRANSLATION +# LABEL/ID_TRANSLATIONS_DIRECTORY +#: LABEL/ID_TRANSLATIONS_DIRECTORY +msgid "Translations Directory" +msgstr "Translations Directory" + +# TRANSLATION +# LABEL/ID_MAFE_TRANSLATION_DIRECTORY +#: LABEL/ID_MAFE_TRANSLATION_DIRECTORY +msgid "Mafe Translation Directory" +msgstr "Mafe Translation Directory" + +# TRANSLATION +# LABEL/ID_MESSAGE_TYPE_DOES_NOT_EXIST +#: LABEL/ID_MESSAGE_TYPE_DOES_NOT_EXIST +msgid "The Message Type with {0}: {1} does not exist." +msgstr "The Message Type with {0}: {1} does not exist." + +# TRANSLATION +# LABEL/ID_MESSAGE_TYPE_NAME_ALREADY_EXISTS +#: LABEL/ID_MESSAGE_TYPE_NAME_ALREADY_EXISTS +msgid "The Message Type Name with {0}: \"{1}\" already exists." +msgstr "The Message Type Name with {0}: \"{1}\" already exists." + +# TRANSLATION +# LABEL/ID_MESSAGE_TYPE_NAME_VARIABLE_EXISTS +#: LABEL/ID_MESSAGE_TYPE_NAME_VARIABLE_EXISTS +msgid "The name of the variable exists." +msgstr "The name of the variable exists." + +# TRANSLATION +# LABEL/ID_MESSAGE_TYPE_VARIABLE_DOES_NOT_EXIST +#: LABEL/ID_MESSAGE_TYPE_VARIABLE_DOES_NOT_EXIST +msgid "The Variable with {0}: {1} does not exist." +msgstr "The Variable with {0}: {1} does not exist." + +# TRANSLATION +# LABEL/ID_MESSAGE_TYPE_VARIABLE_NAME_ALREADY_EXISTS +#: LABEL/ID_MESSAGE_TYPE_VARIABLE_NAME_ALREADY_EXISTS +msgid "The Variable Name with {0}: \"{1}\" already exists." +msgstr "The Variable Name with {0}: \"{1}\" already exists." + # additionalTables/additionalTablesData.xml?ADD_TAB_NAME # additionalTables/additionalTablesData.xml #: text - ADD_TAB_NAME @@ -21706,14 +21766,14 @@ msgstr "Task" # cases/cases_Scheduler_List.xml?SCH_TIME_NEXT_RUN # cases/cases_Scheduler_List.xml #: text - SCH_TIME_NEXT_RUN -msgid "Next execution time" -msgstr "Next execution time" +msgid "Time next run" +msgstr "Time next run" # cases/cases_Scheduler_List.xml?SCH_LAST_RUN_TIME # cases/cases_Scheduler_List.xml #: text - SCH_LAST_RUN_TIME -msgid "Last execution time" -msgstr "Last execution time" +msgid "Last run time" +msgstr "Last run time" # cases/cases_Scheduler_List.xml?SCH_STATUS_LNK # cases/cases_Scheduler_List.xml @@ -22305,13 +22365,13 @@ msgstr "User" # cases/cases_TaskDetails.xml?INIT_DATE # cases/cases_TaskDetails.xml -#: text - INIT_DATE +#: date - INIT_DATE msgid "[cases/cases_TaskDetails.xml?INIT_DATE] Init Date" msgstr "Init Date" # cases/cases_TaskDetails.xml?DUE_DATE # cases/cases_TaskDetails.xml -#: text - DUE_DATE +#: date - DUE_DATE msgid "Due date" msgstr "Due date" @@ -23683,30 +23743,6 @@ msgstr "Encode" msgid "[dbConnections/dbConnections_Edit.xml?DBS_ENCODE-]" msgstr "..." -# dbConnections/dbConnections_Edit.xml?DBS_CONNECTION_TYPE -# dbConnections/dbConnections_Edit.xml -#: dropdown - DBS_CONNECTION_TYPE -msgid "Select Connection Type" -msgstr "Select Connection Type" - -# dbConnections/dbConnections_Edit.xml?DBS_CONNECTION_TYPE-NORMAL -# dbConnections/dbConnections_Edit.xml -#: dropdown - DBS_CONNECTION_TYPE - NORMAL -msgid "[dbConnections/dbConnections_Edit.xml?DBS_CONNECTION_TYPE-NORMAL]" -msgstr "Normal" - -# dbConnections/dbConnections_Edit.xml?DBS_CONNECTION_TYPE-TNS -# dbConnections/dbConnections_Edit.xml -#: dropdown - DBS_CONNECTION_TYPE - TNS -msgid "[dbConnections/dbConnections_Edit.xml?DBS_CONNECTION_TYPE-TNS]" -msgstr "TNS" - -# dbConnections/dbConnections_Edit.xml?DBS_TNS -# dbConnections/dbConnections_Edit.xml -#: text - DBS_TNS -msgid "TNS" -msgstr "TNS" - # dbConnections/dbConnections_Edit.xml?DBS_SERVER # dbConnections/dbConnections_Edit.xml #: text - DBS_SERVER @@ -23785,30 +23821,6 @@ msgstr "Encode" msgid "[dbConnections/dbConnections_New.xml?DBS_ENCODE-]" msgstr "..." -# dbConnections/dbConnections_New.xml?DBS_CONNECTION_TYPE -# dbConnections/dbConnections_New.xml -#: dropdown - DBS_CONNECTION_TYPE -msgid "[dbConnections/dbConnections_New.xml?DBS_CONNECTION_TYPE] Select Connection Type" -msgstr "Select Connection Type" - -# dbConnections/dbConnections_New.xml?DBS_CONNECTION_TYPE-NORMAL -# dbConnections/dbConnections_New.xml -#: dropdown - DBS_CONNECTION_TYPE - NORMAL -msgid "[dbConnections/dbConnections_New.xml?DBS_CONNECTION_TYPE-NORMAL]" -msgstr "Normal" - -# dbConnections/dbConnections_New.xml?DBS_CONNECTION_TYPE-TNS -# dbConnections/dbConnections_New.xml -#: dropdown - DBS_CONNECTION_TYPE - TNS -msgid "[dbConnections/dbConnections_New.xml?DBS_CONNECTION_TYPE-TNS]" -msgstr "TNS" - -# dbConnections/dbConnections_New.xml?DBS_TNS -# dbConnections/dbConnections_New.xml -#: text - DBS_TNS -msgid "[dbConnections/dbConnections_New.xml?DBS_TNS] TNS" -msgstr "TNS" - # dbConnections/dbConnections_New.xml?DBS_SERVER # dbConnections/dbConnections_New.xml #: text - DBS_SERVER @@ -28037,24 +28049,6 @@ msgstr "Copy" msgid "[outputdocs/outputdocs_Properties.xml?OUT_DOC_PDF_SECURITY_PERMISSIONS-annot-forms]" msgstr "Forms" -# outputdocs/outputdocs_Properties.xml?OUT_DOC_OPEN_TYPE -# outputdocs/outputdocs_Properties.xml -#: dropdown - OUT_DOC_OPEN_TYPE -msgid "By clicking on the generated file link" -msgstr "By clicking on the generated file link" - -# outputdocs/outputdocs_Properties.xml?OUT_DOC_OPEN_TYPE-0 -# outputdocs/outputdocs_Properties.xml -#: dropdown - OUT_DOC_OPEN_TYPE - 0 -msgid "[outputdocs/outputdocs_Properties.xml?OUT_DOC_OPEN_TYPE-0]" -msgstr "Download the file" - -# outputdocs/outputdocs_Properties.xml?OUT_DOC_OPEN_TYPE-1 -# outputdocs/outputdocs_Properties.xml -#: dropdown - OUT_DOC_OPEN_TYPE - 1 -msgid "[outputdocs/outputdocs_Properties.xml?OUT_DOC_OPEN_TYPE-1]" -msgstr "Open the file" - # outputdocs/outputdocs_Properties.xml?BTN_CANCEL # outputdocs/outputdocs_Properties.xml #: button - BTN_CANCEL @@ -28985,12 +28979,6 @@ msgstr "Cases Notes" msgid "[processes/processes_EditObjectPermission.xml?OP_OBJ_TYPE-MSGS_HISTORY]" msgstr "Messages History" -# processes/processes_EditObjectPermission.xml?OP_OBJ_TYPE-SUMMARY_FORM -# processes/processes_EditObjectPermission.xml -#: dropdown - OP_OBJ_TYPE - SUMMARY_FORM -msgid "[processes/processes_EditObjectPermission.xml?OP_OBJ_TYPE-SUMMARY_FORM]" -msgstr "Summary Form" - # processes/processes_EditObjectPermission.xml?ALL # processes/processes_EditObjectPermission.xml #: dropdown - ALL @@ -29591,12 +29579,6 @@ msgstr "Cases Notes" msgid "[processes/processes_NewObjectPermission.xml?OP_OBJ_TYPE-MSGS_HISTORY]" msgstr "Messages History" -# processes/processes_NewObjectPermission.xml?OP_OBJ_TYPE-SUMMARY_FORM -# processes/processes_NewObjectPermission.xml -#: dropdown - OP_OBJ_TYPE - SUMMARY_FORM -msgid "[processes/processes_NewObjectPermission.xml?OP_OBJ_TYPE-SUMMARY_FORM]" -msgstr "Summary Form" - # processes/processes_NewObjectPermission.xml?ALL # processes/processes_NewObjectPermission.xml #: dropdown - ALL diff --git a/workflow/engine/controllers/admin.php b/workflow/engine/controllers/admin.php index 13c752552..9f53c8a18 100644 --- a/workflow/engine/controllers/admin.php +++ b/workflow/engine/controllers/admin.php @@ -15,8 +15,8 @@ class Admin extends Controller public function system () { - global $RBAC; - $RBAC->requirePermissions( 'PM_SETUP' ); + global $RBAC; + $RBAC->requirePermissions( 'PM_SETUP' ); require_once PATH_CONTROLLERS . 'main.php'; G::loadClass( 'system' ); $skinsList = System::getSkingList(); @@ -30,7 +30,7 @@ class Admin extends Controller $timeZonesList = array_keys( $timeZonesList ); $mainController = new Main(); $languagesList = $mainController->getLanguagesList(); - $languagesList[] = array ("", G::LoadTranslation("ID_USE_LANGUAGE_URL")); + $languagesList[] = array ("", G::LoadTranslation("ID_USE_LANGUAGE_URL")); $sysConf = System::getSystemConfiguration( PATH_CONFIG . 'env.ini' ); foreach ($skinsList['skins'] as $skin) { @@ -63,8 +63,8 @@ class Admin extends Controller public function uxList () { - global $RBAC; - $RBAC->requirePermissions( 'PM_SETUP' ); + global $RBAC; + $RBAC->requirePermissions( 'PM_SETUP' ); require_once PATH_CONTROLLERS . 'adminProxy.php'; $this->includeExtJS( 'admin/uxUsersList' ); G::LoadClass( 'configuration' ); @@ -204,5 +204,157 @@ class Admin extends Controller $this->setView('admin/maintenance'); $this->render('extJs'); } + + function getSystemInfo () + { + $this->setResponseType( 'json' ); + $infoList = $this->_getSystemInfo(); + $data = array (); + + foreach ($infoList as $row) { + $data[] = array ('label' => $row[0],'value' => $row[1],'section' => $row[2] + ); + } + return $data; + } + + private function _getSystemInfo () + { + G::LoadClass( "system" ); + + if (getenv( 'HTTP_CLIENT_IP' )) { + $ip = getenv( 'HTTP_CLIENT_IP' ); + } else { + if (getenv( 'HTTP_X_FORWARDED_FOR' )) { + $ip = getenv( 'HTTP_X_FORWARDED_FOR' ); + } else { + $ip = getenv( 'REMOTE_ADDR' ); + } + } + + $redhat = ''; + if (file_exists( '/etc/redhat-release' )) { + $fnewsize = filesize( '/etc/redhat-release' ); + $fp = fopen( '/etc/redhat-release', 'r' ); + $redhat = trim( fread( $fp, $fnewsize ) ); + fclose( $fp ); + } + + $redhat .= " (" . PHP_OS . ")"; + if (defined( "DB_HOST" )) { + G::LoadClass( 'net' ); + G::LoadClass( 'dbConnections' ); + $dbNetView = new NET( DB_HOST ); + $dbNetView->loginDbServer( DB_USER, DB_PASS ); + + $dbConns = new dbConnections( '' ); + $availdb = ''; + foreach ($dbConns->getDbServicesAvailables() as $key => $val) { + if ($availdb != '') { + $availdb .= ', '; + } + $availdb .= $val['name']; + } + + try { + $sMySQLVersion = $dbNetView->getDbServerVersion( DB_ADAPTER ); + } catch (Exception $oException) { + $sMySQLVersion = '?????'; + } + } + + + if (file_exists(PATH_HTML . "lib/versions")) { + $versions = json_decode(file_get_contents(PATH_HTML . "lib/versions"), true); + $pmuiVer = $versions["pmui_ver"]; + $mafeVer = $versions["mafe_ver"]; + $pmdynaformVer = $versions["pmdynaform_ver"]; + } else { + $pmuiVer = $mafeVer = $pmdynaformVer = "(unknown)"; + } + + $sysSection = G::loadTranslation('ID_SYSTEM_INFO' ); + $pmSection = G::LoadTranslation('ID_PROCESS_INFORMATION'); + + $properties = array (); + $ee = class_exists( 'pmLicenseManager' ) ? " - Enterprise Edition" : ''; + $systemName = 'ProcessMaker'; + if (defined('SYSTEM_NAME')) { + $systemName = SYSTEM_NAME; + } + $properties[] = array ($systemName. ' Ver.', System::getVersion() . $ee, $pmSection); + $properties[] = array("PMUI JS Lib. Ver.", $pmuiVer, $pmSection); + $properties[] = array("MAFE JS Lib. Ver.", $mafeVer, $pmSection); + $properties[] = array("PM Dynaform JS Lib. Ver.", $pmdynaformVer, $pmSection); + + if (file_exists(PATH_DATA. 'log/upgrades.log')) { + $properties[] = array (G::LoadTranslation('ID_UPGRADES_PATCHES'), '' . G::LoadTranslation( 'ID_UPGRADE_VIEW_LOG') . '' ,$pmSection); + } else { + $properties[] = array (G::LoadTranslation('ID_UPGRADES_PATCHES'), G::LoadTranslation( 'ID_UPGRADE_NEVER_UPGRADE') ,$pmSection); + } + + $properties[] = array (G::LoadTranslation('ID_OPERATING_SYSTEM') ,$redhat,$sysSection + ); + $properties[] = array (G::LoadTranslation('ID_TIME_ZONE') ,(defined( 'TIME_ZONE' )) ? TIME_ZONE : "Unknown",$sysSection + ); + $properties[] = array (G::LoadTranslation('ID_WEB_SERVER') ,getenv( 'SERVER_SOFTWARE' ),$sysSection + ); + $properties[] = array (G::LoadTranslation('ID_SERVER_NAME') ,getenv( 'SERVER_NAME' ),$pmSection + ); + $properties[] = array (G::LoadTranslation('ID_SERVER_IP') ,$this->lookup( $ip ),$sysSection + ); + $properties[] = array (G::LoadTranslation('ID_PHP_VERSION') ,phpversion(),$sysSection + ); + + if (defined( "DB_HOST" )) { + $properties[] = array (G::LoadTranslation('ID_DATABASE') ,$dbNetView->dbName( DB_ADAPTER ) . ' (Version ' . $sMySQLVersion . ')',$pmSection + ); + $properties[] = array (G::LoadTranslation('ID_DATABASE_SERVER') ,DB_HOST,$pmSection + ); + $properties[] = array (G::LoadTranslation('ID_DATABASE_NAME') ,DB_NAME,$pmSection + ); + $properties[] = array (G::LoadTranslation('ID_AVAILABLE_DB') ,$availdb,$sysSection + ); + } else { + $properties[] = array (G::LoadTranslation('ID_DATABASE') ,"Not defined",$pmSection + ); + $properties[] = array (G::LoadTranslation('ID_DATABASE_SERVER') ,"Not defined",$pmSection + ); + $properties[] = array (G::LoadTranslation('ID_DATABASE_NAME') ,"Not defined",$pmSection + ); + $properties[] = array (G::LoadTranslation('ID_AVAILABLE_DB') ,"Not defined",$sysSection + ); + } + + $properties[] = array ( G::LoadTranslation('ID_WORKSPACE') ,defined( "SYS_SYS" ) ? SYS_SYS : "Not defined",$pmSection + ); + + $properties[] = array ( G::LoadTranslation('ID_SERVER_PROTOCOL') ,getenv( 'SERVER_PROTOCOL' ),$sysSection + ); + $properties[] = array ( G::LoadTranslation('ID_SERVER_PORT') ,getenv( 'SERVER_PORT' ),$sysSection + ); + //$sysSection[] = array('Remote Host', getenv ('REMOTE_HOST'), $sysSection); + $properties[] = array ( G::LoadTranslation('ID_SERVER_NAME') , getenv( 'SERVER_ADDR' ),$sysSection + ); + $properties[] = array ( G::LoadTranslation('ID_USER_BROWSER') , getenv( 'HTTP_USER_AGENT' ),$sysSection + ); + + return $properties; + } + + private function lookup ($target) + { + global $ntarget; + $msg = $target . ' => '; + //if (eregi ('[a-zA-Z]', $target)) + if (preg_match( '[a-zA-Z]', $target )) { + //Made compatible to PHP 5.3 + $ntarget = gethostbyname( $target ); + } else { + $ntarget = gethostbyaddr( $target ); + } + $msg .= $ntarget; + return ($msg); + } } diff --git a/workflow/engine/data/mssql/insert.sql b/workflow/engine/data/mssql/insert.sql index dc22d8dd9..73214968f 100755 --- a/workflow/engine/data/mssql/insert.sql +++ b/workflow/engine/data/mssql/insert.sql @@ -7356,7 +7356,7 @@ SELECT 'LABEL','ID_EMAIL_SERVER_TITLE_TESTING','en','Testing Email Server','2014 UNION ALL SELECT 'LABEL','ID_EMAIL_SERVER_RESULT_TESTING','en','Result Testing Email Server','2014-12-24' UNION ALL -SELECT 'LABEL','ID_EMAIL_SERVER_TITLE','en','Email Servers','2014-12-24' +SELECT 'LABEL','ID_EMAIL_SERVER_TITLE','en','Email Servers','2015-01-21' UNION ALL SELECT 'LABEL','ID_EMAIL_SERVER_THIS_CONFIGURATION_IS_DEFAULT','en','Set that this configuration is the default','2014-12-24' UNION ALL @@ -7389,6 +7389,26 @@ SELECT 'LABEL','ID_EVENT_NOT_IS_START_EVENT','en','The event with {0}: {1} not i SELECT 'LABEL','ID_WEB_ENTRY_EVENT_DOES_NOT_IS_REGISTERED','en','The event with {0}: {1} does not is registered.','2015-01-16' UNION ALL SELECT 'LABEL','ID_WEB_ENTRY_EVENT_TITLE_ALREADY_EXISTS','en','The WebEntry-Event title with {0}: "{1}" already exists.','2015-01-16' + UNION ALL +SELECT 'LABEL','ID_CASE_STOPPED_TRIGGER','en','The case has not stopped due to its trigger.','2015-01-29' + UNION ALL +SELECT 'LABEL','ID_TRANSLATION_NOT_WRITEABLE','en','The translation file is not writable.
Please give write permission to file:','2015-01-31' + UNION ALL +SELECT 'LABEL','ID_MAFE_TRANSLATION_NOT_WRITEABLE','en','The mafe translation file is not writable.
Please give write permission to file:','2015-01-31' + UNION ALL +SELECT 'LABEL','ID_TRANSLATIONS_DIRECTORY','en','Translations Directory','2015-01-31' + UNION ALL +SELECT 'LABEL','ID_MAFE_TRANSLATION_DIRECTORY','en','Mafe Translation Directory','2015-01-31' + UNION ALL +SELECT 'LABEL','ID_MESSAGE_TYPE_DOES_NOT_EXIST','en','The Message Type with {0}: {1} does not exist.','2015-02-05' + UNION ALL +SELECT 'LABEL','ID_MESSAGE_TYPE_NAME_ALREADY_EXISTS','en','The Message Type Name with {0}: "{1}" already exists.','2015-02-05' + UNION ALL +SELECT 'LABEL','ID_MESSAGE_TYPE_NAME_VARIABLE_EXISTS','en','The name of the variable exists.','2015-02-05' + UNION ALL +SELECT 'LABEL','ID_MESSAGE_TYPE_VARIABLE_DOES_NOT_EXIST','en','The Variable with {0}: {1} does not exist.','2015-02-05' + UNION ALL +SELECT 'LABEL','ID_MESSAGE_TYPE_VARIABLE_NAME_ALREADY_EXISTS','en','The Variable Name with {0}: "{1}" already exists.','2015-02-05' ; INSERT INTO ISO_LOCATION ([IC_UID],[IL_UID],[IL_NAME],[IL_NORMAL_NAME],[IS_UID]) diff --git a/workflow/engine/data/mysql/insert.sql b/workflow/engine/data/mysql/insert.sql index 0e4769c71..059e104d1 100755 --- a/workflow/engine/data/mysql/insert.sql +++ b/workflow/engine/data/mysql/insert.sql @@ -4409,7 +4409,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ( 'LABEL','ID_EMAIL_SERVER_EDIT','en','Edit Email Server','2014-12-24') , ( 'LABEL','ID_EMAIL_SERVER_TITLE_TESTING','en','Testing Email Server','2014-12-24') , ( 'LABEL','ID_EMAIL_SERVER_RESULT_TESTING','en','Result Testing Email Server','2014-12-24') , -( 'LABEL','ID_EMAIL_SERVER_TITLE','en','Email Servers','2014-12-24') , +( 'LABEL','ID_EMAIL_SERVER_TITLE','en','Email Servers','2015-01-21') , ( 'LABEL','ID_EMAIL_SERVER_THIS_CONFIGURATION_IS_DEFAULT','en','Set that this configuration is the default','2014-12-24') , ( 'LABEL','ID_EMAIL_SERVER_TESTING','en','Testing Email Server','2014-12-24') , ( 'LABEL','ID_EMAIL_SERVER_CONFIRM_DELETE','en','Do you want to delete the Email Server?','2014-12-24') , @@ -4426,7 +4426,17 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ( 'LABEL','ID_EVENT_NOT_IS_START_EVENT','en','The event with {0}: {1} not is "Start Event".','2015-01-13') , ( 'LABEL','ID_WEB_ENTRY_EVENT_DOES_NOT_IS_REGISTERED','en','The event with {0}: {1} does not is registered.','2015-01-16') , -( 'LABEL','ID_WEB_ENTRY_EVENT_TITLE_ALREADY_EXISTS','en','The WebEntry-Event title with {0}: "{1}" already exists.','2015-01-16') ; +( 'LABEL','ID_WEB_ENTRY_EVENT_TITLE_ALREADY_EXISTS','en','The WebEntry-Event title with {0}: "{1}" already exists.','2015-01-16') , +( 'LABEL','ID_CASE_STOPPED_TRIGGER','en','The case has not stopped due to its trigger.','2015-01-29') , +( 'LABEL','ID_TRANSLATION_NOT_WRITEABLE','en','The translation file is not writable.
Please give write permission to file:','2015-01-31') , +( 'LABEL','ID_MAFE_TRANSLATION_NOT_WRITEABLE','en','The mafe translation file is not writable.
Please give write permission to file:','2015-01-31') , +( 'LABEL','ID_TRANSLATIONS_DIRECTORY','en','Translations Directory','2015-01-31') , +( 'LABEL','ID_MAFE_TRANSLATION_DIRECTORY','en','Mafe Translation Directory','2015-01-31') , +( 'LABEL','ID_MESSAGE_TYPE_DOES_NOT_EXIST','en','The Message Type with {0}: {1} does not exist.','2015-02-05') , +( 'LABEL','ID_MESSAGE_TYPE_NAME_ALREADY_EXISTS','en','The Message Type Name with {0}: "{1}" already exists.','2015-02-05') , +( 'LABEL','ID_MESSAGE_TYPE_NAME_VARIABLE_EXISTS','en','The name of the variable exists.','2015-02-05') , +( 'LABEL','ID_MESSAGE_TYPE_VARIABLE_DOES_NOT_EXIST','en','The Variable with {0}: {1} does not exist.','2015-02-05') , +( 'LABEL','ID_MESSAGE_TYPE_VARIABLE_NAME_ALREADY_EXISTS','en','The Variable Name with {0}: "{1}" already exists.','2015-02-05') ; INSERT INTO ISO_LOCATION (IC_UID,IL_UID,IL_NAME,IL_NORMAL_NAME,IS_UID) VALUES ('AD','','',' ','') , @@ -59798,4 +59808,3 @@ INSERT INTO DASHLET_INSTANCE (DAS_INS_UID,DAS_UID,DAS_INS_OWNER_TYPE,DAS_INS_OWN INSERT INTO CONFIGURATION (CFG_UID,OBJ_UID,CFG_VALUE,PRO_UID,USR_UID,APP_UID) VALUES ('ENVIRONMENT_SETTINGS','','a:1:{s:18:"directoryStructure";i:2;}','','',''); - diff --git a/workflow/engine/methods/setup/processHeartBeatAjax.php b/workflow/engine/methods/setup/processHeartBeatAjax.php index 7241e656b..f5cf864ce 100644 --- a/workflow/engine/methods/setup/processHeartBeatAjax.php +++ b/workflow/engine/methods/setup/processHeartBeatAjax.php @@ -5,7 +5,7 @@ switch ($_GET['action']) { try { G::LoadClass( 'serverConfiguration' ); $oServerConf = & serverConf::getSingleton(); - + $response = new stdclass(); /*you can use SYS_TEMP or SYS_SYS ON HEAR_BEAT_CONF to save for each workspace*/ $oServerConf->unsetHeartbeatProperty( 'HB_BEAT_TYPE', 'HEART_BEAT_CONF' ); if (isset( $_POST['acceptHB'] )) { diff --git a/workflow/engine/methods/setup/systemInfo.php b/workflow/engine/methods/setup/systemInfo.php index 38657d8fa..20d704fa0 100644 --- a/workflow/engine/methods/setup/systemInfo.php +++ b/workflow/engine/methods/setup/systemInfo.php @@ -17,6 +17,7 @@ switch ($option) { break; case "processInfo": $oHeadPublisher = &headPublisher::getSingleton(); + $oHeadPublisher->assign('skin', $_SESSION['currentSkin']); $oHeadPublisher->addContent("setup/dbInfo"); //Adding a html file .html $oHeadPublisher->addExtJsScript("setup/dbInfo", false); //Adding a javascript file .js diff --git a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php index d599c46bb..e2bb094a0 100755 --- a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php +++ b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php @@ -238,7 +238,7 @@ class BpmnWorkflow extends Project\Bpmn $event = \BpmnEventPeer::retrieveByPK($data["FLO_ELEMENT_ORIGIN"]); // setting as start task - if ($event && $event->getEvnType() == "START") { + if (!is_null($event) && $event->getEvnType() == "START" && $event->getEvnMarker() == "EMPTY") { $this->wp->setStartTask($data["FLO_ELEMENT_DEST"]); } @@ -284,7 +284,7 @@ class BpmnWorkflow extends Project\Bpmn ) { $event = \BpmnEventPeer::retrieveByPK($flowBefore->getFloElementOrigin()); - if (!is_null($event) && $event->getEvnType() == "START") { + if (!is_null($event) && $event->getEvnType() == "START" && $event->getEvnMarker() == "EMPTY") { //Remove as start task $this->wp->setStartTask($flowBefore->getFloElementDest(), false); @@ -358,7 +358,7 @@ class BpmnWorkflow extends Project\Bpmn if (is_null($bpmnFlow)) { $event = \BpmnEventPeer::retrieveByPK($flow->getFloElementOrigin()); - if (!is_null($event) && $event->getEvnType() == "START") { + if (!is_null($event) && $event->getEvnType() == "START" && $event->getEvnMarker() == "EMPTY") { $activity = \BpmnActivityPeer::retrieveByPK($flow->getFloElementDest()); if (!is_null($activity)) { @@ -390,7 +390,7 @@ class BpmnWorkflow extends Project\Bpmn switch ($flow->getFloElementOriginType()) { case "bpmnActivity": switch ($flow->getFloElementDestType()) { - // activity->activity + //Activity1 -> Activity2 case "bpmnActivity": $this->wp->removeRouteFromTo($flow->getFloElementOrigin(), $flow->getFloElementDest()); break; @@ -411,12 +411,12 @@ class BpmnWorkflow extends Project\Bpmn $eventUid = parent::addEvent($data); $event = \BpmnEventPeer::retrieveByPK($eventUid); - // create case scheduler + //Delete case scheduler if ($event && $event->getEvnMarker() == "TIMER" && $event->getEvnType() == "START") { $this->wp->addCaseScheduler($eventUid); } - // create web entry + //Delete WebEntry-Event if ($event && $event->getEvnMarker() == "MESSAGE" && $event->getEvnType() == "START") { $this->wp->addWebEntry($eventUid); } @@ -782,11 +782,13 @@ class BpmnWorkflow extends Project\Bpmn $result = array(); $projectData['prj_uid'] = $prjUid; + $bwp = BpmnWorkflow::load($prjUid); + $projectRecord = array_change_key_case($projectData, CASE_UPPER); + $bwp->update($projectRecord); - //// /* * Diagram's Laneset Handling */ @@ -831,7 +833,6 @@ class BpmnWorkflow extends Project\Bpmn } } - //// /* * Diagram's Lane Handling */ @@ -1184,7 +1185,6 @@ class BpmnWorkflow extends Project\Bpmn } } - //// /* * Diagram's Participant Handling */ @@ -1241,7 +1241,6 @@ class BpmnWorkflow extends Project\Bpmn } } - /* * Diagram's Flows Handling */ @@ -1252,16 +1251,23 @@ class BpmnWorkflow extends Project\Bpmn // if it is a new flow record if ($forceInsert || ($generateUid && !\BpmnFlow::exists($flowData["FLO_UID"]))) { - $oldFloUid = $flowData["FLO_UID"]; + $uidOld = $flowData["FLO_UID"]; + $flowData["FLO_UID"] = Util\Common::generateUID(); - $result[] = array("object" => "flow", "new_uid" => $flowData["FLO_UID"], "old_uid" => $oldFloUid); + $result[] = array( + "object" => "flow", + "old_uid" => $uidOld, + "new_uid" => $flowData["FLO_UID"] + ); $mappedUid = self::mapUid($flowData["FLO_ELEMENT_ORIGIN"], $result); + if ($mappedUid !== false) { $flowData["FLO_ELEMENT_ORIGIN"] = $mappedUid; } $mappedUid = self::mapUid($flowData["FLO_ELEMENT_DEST"], $result); + if ($mappedUid !== false) { $flowData["FLO_ELEMENT_DEST"] = $mappedUid; } diff --git a/workflow/engine/templates/admin/calendarEdit.js b/workflow/engine/templates/admin/calendarEdit.js index 1035210d5..efb86fc74 100644 --- a/workflow/engine/templates/admin/calendarEdit.js +++ b/workflow/engine/templates/admin/calendarEdit.js @@ -751,32 +751,7 @@ Ext.onReady( function() { width : 200 , fieldLabel : _('ID_NAME') , name : 'name' , - allowBlank : false, - listeners: { - change: function(){ - Ext.getCmp('idInvalidCalendarName').hide(); - var validateMessage = ''; - var canlendarName = Ext.getCmp('dynaformCalendarName').getValue(); - Ext.Ajax.request( { - url: '../adminProxy/calendarValidate', - params: { - action : 'calendarName', - oldName : fields.OLD_NAME, - name : canlendarName, - uid : fields.CALENDAR_UID - }, - success: function(resp){ - if (resp.responseText != '[]') - message = resp.responseText; - else - message = ''; - } - }); - }, - focus: function(){ - $message = ''; - } - } + allowBlank : false }, { id : 'dynaformCalendarDescription' , @@ -955,254 +930,251 @@ Ext.onReady( function() { { text: fields['NEWCALENDAR']=='YES'?_("ID_CREATE") : _("ID_UPDATE"), handler: function() { - if(message!=''){ - Ext.getCmp('idInvalidCalendarName').show(); - Ext.getCmp('dynaformCalendarName').focus(); - return false; + Ext.getCmp('idInvalidCalendarName').hide(); + Ext.getCmp('dynaformCalendarName').setValue(Ext.getCmp('dynaformCalendarName').getValue().trim()); + var canlendarName = Ext.getCmp('dynaformCalendarName').getValue().trim(); + if(canlendarName === ""){ + return; } - var flag = 0; - gridHoliday.store.each(function(record) { - var start = record.data['startDate']; - var end = record.data['endDate']; - if ((! start) || (! end)) - flag = 1; - }); - assignedGrid = grid; - var allRows = assignedGrid.getStore(); - var columns = new Array(); - var hasSomePrimaryKey = false; - - //!fordata - var canlendarName = Ext.getCmp('dynaformCalendarName').getValue(); - var calendarDescription = Ext.getCmp('dynaformCalendarDescription').getValue(); - var calendarStatus = Ext.getCmp('dynaformCalendarStatus').getValue(); - var calendarStatusString = "INACTIVE"; - - var calendarWorkDays = Ext.getCmp('dynaformCalendarWorkDays').getValue(); - var calendarWorkDaysArray = new Array(); - - var businessDayStatus = Ext.getCmp('idWorkHour'); - var businessDayStatusCollapsed = businessDayStatus.collapsed; - var businessDayStatusString = "INACTIVE"; - var businessDay = ""; - - var holidayStatus = Ext.getCmp('idHolidays'); - var holidayStatusCollapsed = holidayStatus.collapsed; - var holidayStatusString = "INACTIVE"; - var holiday = ""; - //!fordata - - var dynaformCalendarWorkDaysArray = Ext.getCmp('dynaformCalendarWorkDays').items.items; - var dynaformCalendarWorkDaysArrayLength = dynaformCalendarWorkDaysArray.length; - var dynaformCalendarWorkDaysArrayChecked; - var dynaformCalendarWorkDaysArrayCheckedArray = new Array(); - var indexAuxiliar = 0; - var arrayDayinCheckbox = new Array(); - for(i=0;i=3){ - if(all==1){ - Ext.Ajax.request( { - url: '../adminProxy/calendarSave', - params: { - CALENDAR_UID : CALENDAR_UID, - OLD_NAME : "", - CALENDAR_NAME : canlendarName, - CALENDAR_DESCRIPTION : calendarDescription, - CALENDAR_STATUS : calendarStatus, - CALENDAR_WORK_DAYS : calendarWorkDays, - BUSINESS_DAY_STATUS : businessDayStatus, - BUSINESS_DAY : businessDay, - HOLIDAY_STATUS : holidayStatus, - HOLIDAY : holiday - }, - success: function(resp){ - if(fields['NEWCALENDAR']=='YES') { - PMExt.notify( _('ID_STATUS') , _('ID_CALENDAR_CREATED_SUCCESSFULLY') ); - } - else { - PMExt.notify( _('ID_STATUS') , _('ID_CALENDAR_UPDATED_SUCCESSFULLY') ); - } - window.location.href = '../setup/calendarList'; - } - }); - } - else { - var flagDay = 0; - var indexArray = 0; - var arrayDayinGridSize = arrayDayinGrid.length; - var arrayDayinCheckboxSize = arrayDayinCheckbox.length; - for(var a = 0 ; a=3){ + if(all==1){ + Ext.Ajax.request( { + url: '../adminProxy/calendarSave', + params: { + CALENDAR_UID : CALENDAR_UID, + OLD_NAME : "", + CALENDAR_NAME : canlendarName, + CALENDAR_DESCRIPTION : calendarDescription, + CALENDAR_STATUS : calendarStatus, + CALENDAR_WORK_DAYS : calendarWorkDays, + BUSINESS_DAY_STATUS : businessDayStatus, + BUSINESS_DAY : businessDay, + HOLIDAY_STATUS : holidayStatus, + HOLIDAY : holiday + }, + success: function(resp){ + if(fields['NEWCALENDAR']=='YES') { + PMExt.notify( _('ID_STATUS') , _('ID_CALENDAR_CREATED_SUCCESSFULLY') ); + } + else { + PMExt.notify( _('ID_STATUS') , _('ID_CALENDAR_UPDATED_SUCCESSFULLY') ); + } + window.location.href = '../setup/calendarList'; + } + }); + } + else { + var flagDay = 0; + var indexArray = 0; + var arrayDayinGridSize = arrayDayinGrid.length; + var arrayDayinCheckboxSize = arrayDayinCheckbox.length; + for(var a = 0 ; a * ' + _('ID_FIRSTNAME'), xtype : 'textfield', width : 260, allowBlank : false @@ -420,7 +420,7 @@ Ext.onReady(function () { }, { id : 'USR_USERNAME', - fieldLabel : _('ID_USER_ID'), + fieldLabel : ' * ' + _('ID_USER_ID'), xtype : 'textfield', width : 260, allowBlank : false, @@ -459,7 +459,7 @@ Ext.onReady(function () { }, { id : 'USR_EMAIL', - fieldLabel : _('ID_EMAIL'), + fieldLabel : ' * ' + _('ID_EMAIL'), vtype : 'email', xtype : 'textfield', width : 260, diff --git a/workflow/engine/xmlform/dynaforms/dynaforms_WebEntry.xml b/workflow/engine/xmlform/dynaforms/dynaforms_WebEntry.xml index 5a5433b4a..e7380087e 100755 --- a/workflow/engine/xmlform/dynaforms/dynaforms_WebEntry.xml +++ b/workflow/engine/xmlform/dynaforms/dynaforms_WebEntry.xml @@ -80,6 +80,7 @@ leimnud.event.add(getField('WE_TYPE'), 'change', function() { showRowById('subtitle2'); } else { + getField('SEARCH').disabled = false; hideRowById("TEST"); showRowById("SEARCH"); @@ -87,7 +88,6 @@ leimnud.event.add(getField('WE_TYPE'), 'change', function() { hideRowById('WS_PASS'); hideRowById('WS_ROUNDROBIN'); hideRowById('subtitle2'); - }hideRowById('WS_ROUNDROBIN'); }.extend(getField('WE_TYPE'))); @@ -121,7 +121,7 @@ var webEntry_validate = function(PRO_UID, TASKS, DYNAFORM) { }.extend(this); oRPC.make(); - }else{ + }else{ var tasksName = getField('TASKS')[getField('TASKS').selectedIndex].innerHTML; var oRPC = new leimnud.module.rpc.xmlhttp({ @@ -144,8 +144,6 @@ var tasksName = getField('TASKS')[getField('TASKS').selectedIndex].innerHTML; } }.extend(this); oRPC.make(); - - } }