diff --git a/workflow/engine/classes/class.processMap.php b/workflow/engine/classes/ProcessMap.php similarity index 99% rename from workflow/engine/classes/class.processMap.php rename to workflow/engine/classes/ProcessMap.php index e6596987a..d93ae3d10 100644 --- a/workflow/engine/classes/class.processMap.php +++ b/workflow/engine/classes/ProcessMap.php @@ -35,7 +35,7 @@ * @author Julio Cesar Laura Avendano * @copyright 2007 COLOSA */ -class processMap +class ProcessMap { /* * Load the process map data @@ -2567,7 +2567,7 @@ class processMap //Getting Gateway UID after saving gateway //if($sType != 'SEQUENTIAL' && $sGatewayUID == '' && $sDelete == '1') if ($sType != 'SEQUENTIAL') { - $oProcessMap = new processMap(); + $oProcessMap = new ProcessMap(); $sGatewayUID = $oProcessMap->saveNewGateway($sProcessUID, $sTaskUID, $sNextTask); } diff --git a/workflow/engine/classes/class.tasks.php b/workflow/engine/classes/class.tasks.php index e5427cd43..b4f7220e5 100644 --- a/workflow/engine/classes/class.tasks.php +++ b/workflow/engine/classes/class.tasks.php @@ -206,7 +206,7 @@ class Tasks foreach ($aRoutes as $key => $row) { $sRouteType = $row['ROU_TYPE']; $oRoute = new Route(); - $oProcessMap = new processMap(); + $oProcessMap = new ProcessMap(); $oTask = new Task(); $oEvent = new Event(); //unset ($row['ROU_UID']); diff --git a/workflow/engine/classes/class.toolBar.php b/workflow/engine/classes/class.toolBar.php index 842473840..e8d66faba 100644 --- a/workflow/engine/classes/class.toolBar.php +++ b/workflow/engine/classes/class.toolBar.php @@ -165,7 +165,7 @@ class XmlForm_Field_toolButton extends XmlForm_Field $html = ''; if (isset($this->owner->values['PRO_UID'])) { - $criteria = processMap::getDynaformsCriteria($this->owner->values['PRO_UID']); + $criteria = ProcessMap::getDynaformsCriteria($this->owner->values['PRO_UID']); $dataset = DynaformPeer::doSelectRS($criteria); if ($dataset->getRecordCount() > 0) { $html .= '' . G::LoadTranslation('ID_DYNAFORM'); diff --git a/workflow/engine/classes/class.webdav.php b/workflow/engine/classes/class.webdav.php index a6983f278..6ba087c81 100644 --- a/workflow/engine/classes/class.webdav.php +++ b/workflow/engine/classes/class.webdav.php @@ -124,7 +124,7 @@ class ProcessMakerWebDav extends HTTP_WebDAV_Server if (count($paths) == 1 && $paths[0] == 'processes' && is_dir($pathProcesses)) { // try to get the process directory list - $oProcessMap = new processMap(); + $oProcessMap = new ProcessMap(); $oProcess = new Process(); $c = $oProcessMap->getConditionProcessList(); $oDataset = ProcessPeer::doSelectRS($c); diff --git a/workflow/engine/classes/class.wsBase.php b/workflow/engine/classes/class.wsBase.php index bdb1f9cae..6b93e4f56 100644 --- a/workflow/engine/classes/class.wsBase.php +++ b/workflow/engine/classes/class.wsBase.php @@ -674,7 +674,7 @@ class wsBase $_DBArray = (isset( $_SESSION['_DBArray'] ) ? $_SESSION['_DBArray'] : ''); - $oMap = new processMap(); + $oMap = new ProcessMap(); $oCriteria = $oMap->getInputDocumentsCriteria( $sProcessUID ); $oDataset = InputDocumentPeer::doSelectRS( $oCriteria ); $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); diff --git a/workflow/engine/controllers/caseSchedulerProxy.php b/workflow/engine/controllers/caseSchedulerProxy.php index 71a848568..b9593024b 100644 --- a/workflow/engine/controllers/caseSchedulerProxy.php +++ b/workflow/engine/controllers/caseSchedulerProxy.php @@ -14,7 +14,7 @@ class caseSchedulerProxy extends HttpProxyController $sch_uid = $oData['EVN_ACTION']; if ($sch_uid != '') { - $oProcessMap = new processMap( new DBConnection() ); + $oProcessMap = new ProcessMap( new DBConnection() ); $rows = $oProcessMap->caseNewSchedulerList( $sch_uid ); if ($rows['SCH_OPTION'] == '3') { $sch_start_day = explode( '|', $rows['SCH_START_DAY'] ); diff --git a/workflow/engine/controllers/pmTablesProxy.php b/workflow/engine/controllers/pmTablesProxy.php index bd60e06c9..88e1da2b3 100644 --- a/workflow/engine/controllers/pmTablesProxy.php +++ b/workflow/engine/controllers/pmTablesProxy.php @@ -26,7 +26,7 @@ class pmTablesProxy extends HttpProxyController public function getList ($httpData) { $configurations = new Configurations(); - $processMap = new processMap(); + $processMap = new ProcessMap(); // setting parameters $config = $configurations->getConfiguration( 'additionalTablesList', 'pageSize', '', $_SESSION['USER_LOGGED'] ); diff --git a/workflow/engine/controllers/processOptionsProxy.php b/workflow/engine/controllers/processOptionsProxy.php index 4e400431c..046855fa5 100644 --- a/workflow/engine/controllers/processOptionsProxy.php +++ b/workflow/engine/controllers/processOptionsProxy.php @@ -5,7 +5,7 @@ class processOptionsProxy extends HttpProxyController public function loadInputDocuments ($params) { - $oProcessMap = new processMap( new DBConnection() ); + $oProcessMap = new ProcessMap( new DBConnection() ); $pro_uid = $params->PRO_UID; $start = isset( $params->start ) ? $params->start : 0; @@ -24,7 +24,7 @@ class processOptionsProxy extends HttpProxyController public function canDeleteInputDoc ($params) { - $oProcessMap = new processMap( new DBConnection() ); + $oProcessMap = new ProcessMap( new DBConnection() ); $aRows = $oProcessMap->getAllInputDocsByTask( $params->PRO_UID ); $response = isset( $aRows[$params->IDOC_UID] ) ? false : true; $this->success = $response; @@ -54,7 +54,7 @@ class processOptionsProxy extends HttpProxyController $oOP->removeByObject( 'INPUT', $params->IDOC_UID ); //refresh dbarray with the last change in inputDocument - $oMap = new processMap(); + $oMap = new ProcessMap(); $oCriteria = $oMap->getInputDocumentsCriteria( $params->PRO_UID ); $this->success = true; @@ -90,7 +90,7 @@ class processOptionsProxy extends HttpProxyController } //refresh dbarray with the last change in inputDocument - $oMap = new processMap(); + $oMap = new ProcessMap(); $oCriteria = $oMap->getInputDocumentsCriteria( $aData['PRO_UID'] ); $this->success = true; } diff --git a/workflow/engine/controllers/processProxy.php b/workflow/engine/controllers/processProxy.php index f39b4871b..49d85ddab 100644 --- a/workflow/engine/controllers/processProxy.php +++ b/workflow/engine/controllers/processProxy.php @@ -263,7 +263,7 @@ class ProcessProxy extends HttpProxyController switch ($httpData->type) { case 'process': - $oProcessMap = new processMap( new DBConnection() ); + $oProcessMap = new ProcessMap( new DBConnection() ); $process = $oProcessMap->editProcessNew( $httpData->UID ); $category = ProcessCategoryPeer::retrieveByPk( $process['PRO_CATEGORY'] ); $categoryName = is_object( $category ) ? $category->getCategoryName() : ''; @@ -388,7 +388,7 @@ class ProcessProxy extends HttpProxyController */ public function getPMVariables ($param) { - $oProcessMap = new processMap( new DBConnection() ); + $oProcessMap = new ProcessMap( new DBConnection() ); $rows = getDynaformsVars( $param->PRO_UID ); foreach ($rows as $i => $var) { $rows[$i]['sName'] = "@@{$var['sName']}"; diff --git a/workflow/engine/controllers/webEntryProxy.php b/workflow/engine/controllers/webEntryProxy.php index d40f7d29f..4ac277da0 100644 --- a/workflow/engine/controllers/webEntryProxy.php +++ b/workflow/engine/controllers/webEntryProxy.php @@ -228,7 +228,7 @@ class webEntryProxy extends HttpProxyController public function load ($params) { - $oProcessMap = new processMap( new DBConnection() ); + $oProcessMap = new ProcessMap( new DBConnection() ); $PRO_UID = $params->PRO_UID; $EVN_UID = $params->EVN_UID; $sOutput = $oProcessMap->listNewWebEntry( $PRO_UID, $EVN_UID ); diff --git a/workflow/engine/methods/cases/ajaxListener.php b/workflow/engine/methods/cases/ajaxListener.php index 0f8614924..45624dc14 100644 --- a/workflow/engine/methods/cases/ajaxListener.php +++ b/workflow/engine/methods/cases/ajaxListener.php @@ -273,7 +273,7 @@ class Ajax //$oHeadPublisher->addScriptfile('/jscore/processmap/core/processmap.js'); $oHeadPublisher->addScriptCode(' - var maximunX = ' . processMap::getMaximunTaskX($_SESSION['PROCESS']) . '; + var maximunX = ' . ProcessMap::getMaximunTaskX($_SESSION['PROCESS']) . '; window.onload = function(){ var pb=leimnud.dom.capture("tag.body 0"); Pm=new processmap(); diff --git a/workflow/engine/methods/cases/cases_Ajax.php b/workflow/engine/methods/cases/cases_Ajax.php index 53aa3e7e6..c0e0f6d14 100644 --- a/workflow/engine/methods/cases/cases_Ajax.php +++ b/workflow/engine/methods/cases/cases_Ajax.php @@ -97,7 +97,7 @@ switch (($_POST['action']) ? $_POST['action'] : $_REQUEST['action']) { $G_PUBLISH->AddContent( 'template', '', '', '', $oTemplatePower ); $oHeadPublisher = & headPublisher::getSingleton(); $oHeadPublisher->addScriptCode( ' - var maximunX = ' . processMap::getMaximunTaskX( $_SESSION['PROCESS'] ) . '; + var maximunX = ' . ProcessMap::getMaximunTaskX( $_SESSION['PROCESS'] ) . '; var pb=leimnud.dom.capture("tag.body 0"); Pm=new processmap(); diff --git a/workflow/engine/methods/dbConnections/dbConnections.php b/workflow/engine/methods/dbConnections/dbConnections.php index da5e86206..5456529b6 100644 --- a/workflow/engine/methods/dbConnections/dbConnections.php +++ b/workflow/engine/methods/dbConnections/dbConnections.php @@ -46,7 +46,7 @@ $G_ID_SUB_MENU_SELECTED = 'DB_CONNECTIONS'; $G_PUBLISH = new Publisher(); -$oProcess = new processMap(); +$oProcess = new ProcessMap(); $oCriteria = $oProcess->getConditionProcessList(); if (ProcessPeer::doCount( $oCriteria ) > 0) { $aProcesses = array (); diff --git a/workflow/engine/methods/dbConnections/dbConnectionsAjax.php b/workflow/engine/methods/dbConnections/dbConnectionsAjax.php index cedca6c23..41e23c236 100644 --- a/workflow/engine/methods/dbConnections/dbConnectionsAjax.php +++ b/workflow/engine/methods/dbConnections/dbConnectionsAjax.php @@ -56,7 +56,7 @@ switch ($action) { return print ($oStep->loadInfoAssigConnecctionDB( $_POST['PRO_UID'], $_POST['DBS_UID'] )) ; break; case 'showDbConnectionsList': - $oProcess = new processMap(); + $oProcess = new ProcessMap(); $oCriteria = $oProcess->getConditionProcessList(); if (ProcessPeer::doCount( $oCriteria ) > 0) { $aProcesses = array (); diff --git a/workflow/engine/methods/dynaforms/dynaforms_Save_as.php b/workflow/engine/methods/dynaforms/dynaforms_Save_as.php index f076538a1..e480b420b 100644 --- a/workflow/engine/methods/dynaforms/dynaforms_Save_as.php +++ b/workflow/engine/methods/dynaforms/dynaforms_Save_as.php @@ -99,7 +99,7 @@ try { fclose( $templateHd1 ); } - $criteria = processMap::getDynaformsCriteria($PRO_UID); + $criteria = ProcessMap::getDynaformsCriteria($PRO_UID); //FROM //WHERE //QUERY diff --git a/workflow/engine/methods/events/eventsEdit.php b/workflow/engine/methods/events/eventsEdit.php index 1c516b873..4e575911f 100644 --- a/workflow/engine/methods/events/eventsEdit.php +++ b/workflow/engine/methods/events/eventsEdit.php @@ -54,7 +54,7 @@ foreach ($aAux1 as $aAux2) { } } -$oProcessMap = new processMap( new DBConnection() ); +$oProcessMap = new ProcessMap( new DBConnection() ); $aTriggersList = $oProcessMap->getTriggers( $_SESSION['PROCESS'] ); $aTriggersFileds = array (); $aTriggersFileds[] = array ('TRI_UID' => 'char','TRI_TITLE' => 'char'); diff --git a/workflow/engine/methods/events/eventsNew.php b/workflow/engine/methods/events/eventsNew.php index 3ec955ee4..c2a8affd9 100644 --- a/workflow/engine/methods/events/eventsNew.php +++ b/workflow/engine/methods/events/eventsNew.php @@ -43,7 +43,7 @@ foreach ($aAux1 as $aAux2) { } } -$oProcessMap = new processMap( new DBConnection() ); +$oProcessMap = new ProcessMap( new DBConnection() ); $aTriggersList = $oProcessMap->getTriggers( $_GET['PRO_UID'] ); $aTriggersFileds = array(); diff --git a/workflow/engine/methods/inputdocs/inputdocs_Delete.php b/workflow/engine/methods/inputdocs/inputdocs_Delete.php index 2d9777594..5d234d2e7 100644 --- a/workflow/engine/methods/inputdocs/inputdocs_Delete.php +++ b/workflow/engine/methods/inputdocs/inputdocs_Delete.php @@ -84,7 +84,7 @@ try { $oOP->removeByObject( 'INPUT', $_POST['INP_DOC_UID'] ); //refresh dbarray with the last change in inputDocument - $oMap = new processMap(); + $oMap = new ProcessMap(); $oCriteria = $oMap->getInputDocumentsCriteria( $fields['PRO_UID'] ); $result->success = true; diff --git a/workflow/engine/methods/inputdocs/inputdocs_Save.php b/workflow/engine/methods/inputdocs/inputdocs_Save.php index 7a34d5e77..4511380f0 100644 --- a/workflow/engine/methods/inputdocs/inputdocs_Save.php +++ b/workflow/engine/methods/inputdocs/inputdocs_Save.php @@ -94,7 +94,7 @@ try { } //refresh dbarray with the last change in inputDocument - $oMap = new processMap(); + $oMap = new ProcessMap(); $oCriteria = $oMap->getInputDocumentsCriteria( $aData['PRO_UID'] ); break; } diff --git a/workflow/engine/methods/outputdocs/outputdocs_Delete.php b/workflow/engine/methods/outputdocs/outputdocs_Delete.php index c26bc7c72..d46283f8b 100644 --- a/workflow/engine/methods/outputdocs/outputdocs_Delete.php +++ b/workflow/engine/methods/outputdocs/outputdocs_Delete.php @@ -1,60 +1,60 @@ -. - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - */ -try { - global $RBAC; - switch ($RBAC->userCanAccess( 'PM_FACTORY' )) { - case - 2: - G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' ); - G::header( 'location: ../login/login' ); - die(); - break; - case - 1: - G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); - G::header( 'location: ../login/login' ); - die(); - break; - } - - $oOutputDocument = new OutputDocument(); - $fields = $oOutputDocument->load( $_POST['OUT_DOC_UID'] ); - $oOutputDocument->remove( $_POST['OUT_DOC_UID'] ); - $oStep = new Step(); - $oStep->removeStep( 'OUTPUT_DOCUMENT', $_POST['OUT_DOC_UID'] ); - $oOP = new ObjectPermission(); - $oOP->removeByObject( 'OUTPUT', $_POST['OUT_DOC_UID'] ); - //refresh dbarray with the last change in outputDocument - $oMap = new processMap(); - $oCriteria = $oMap->getOutputDocumentsCriteria( $fields['PRO_UID'] ); - - $result = new stdClass(); - $result->success = true; - $result->msg = G::LoadTranslation( 'ID_OUTPUTDOCUMENT_REMOVED' ); -} catch (Exception $e) { - $result = new stdClass(); - $result->success = false; - $result->msg = $e->getMessage(); -} - -print G::json_encode( $result ); - +. + * + * For more information, contact Colosa Inc, 2566 Le Jeune Rd., + * Coral Gables, FL, 33134, USA, or email info@colosa.com. + */ +try { + global $RBAC; + switch ($RBAC->userCanAccess( 'PM_FACTORY' )) { + case - 2: + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); + break; + case - 1: + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); + break; + } + + $oOutputDocument = new OutputDocument(); + $fields = $oOutputDocument->load( $_POST['OUT_DOC_UID'] ); + $oOutputDocument->remove( $_POST['OUT_DOC_UID'] ); + $oStep = new Step(); + $oStep->removeStep( 'OUTPUT_DOCUMENT', $_POST['OUT_DOC_UID'] ); + $oOP = new ObjectPermission(); + $oOP->removeByObject( 'OUTPUT', $_POST['OUT_DOC_UID'] ); + //refresh dbarray with the last change in outputDocument + $oMap = new ProcessMap(); + $oCriteria = $oMap->getOutputDocumentsCriteria( $fields['PRO_UID'] ); + + $result = new stdClass(); + $result->success = true; + $result->msg = G::LoadTranslation( 'ID_OUTPUTDOCUMENT_REMOVED' ); +} catch (Exception $e) { + $result = new stdClass(); + $result->success = false; + $result->msg = $e->getMessage(); +} + +print G::json_encode( $result ); + diff --git a/workflow/engine/methods/outputdocs/outputdocs_Save.php b/workflow/engine/methods/outputdocs/outputdocs_Save.php index 06a535037..6264163a8 100644 --- a/workflow/engine/methods/outputdocs/outputdocs_Save.php +++ b/workflow/engine/methods/outputdocs/outputdocs_Save.php @@ -1,90 +1,90 @@ -. - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - */ -try { - global $RBAC; - switch ($RBAC->userCanAccess( 'PM_FACTORY' )) { - case - 2: - G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' ); - G::header( 'location: ../login/login' ); - die(); - break; - case - 1: - G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); - G::header( 'location: ../login/login' ); - die(); - break; - } - - //default: - - $oOutputDocument = new OutputDocument(); - - if (isset( $_POST['form'] )) - $aData = $_POST['form']; //For old process map form - else - $aData = $_POST; //For Extjs (Since we are not using form in ExtJS) - - - if (isset( $aData['OUT_DOC_TITLE'] ) && $aData['OUT_DOC_TITLE'] != '') { - $oForm = new Form( 'outputdocs/outputdocs_Properties', PATH_XMLFORM ); - $aData = $oForm->validatePost(); - if (isset( $aData['OUT_DOC_PDF_SECURITY_ENABLED'] ) && $aData['OUT_DOC_PDF_SECURITY_ENABLED'] == "0") { - $aData['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'] = ""; - $aData['OUT_DOC_PDF_SECURITY_OWNER_PASSWORD'] = ""; - $aData['OUT_DOC_PDF_SECURITY_PERMISSIONS'] = ""; - } - if (isset( $aData['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'] ) && $aData['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'] != "") { - $aData['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'] = G::encrypt( $aData['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'], $aData['OUT_DOC_UID'] ); - $aData['OUT_DOC_PDF_SECURITY_OWNER_PASSWORD'] = G::encrypt( $aData['OUT_DOC_PDF_SECURITY_OWNER_PASSWORD'], $aData['OUT_DOC_UID'] ); - } - } - if ($aData['OUT_DOC_UID'] == '') { - - if ((isset( $aData['OUT_DOC_TYPE'] )) && ($aData['OUT_DOC_TYPE'] == 'JRXML')) { - $dynaformUid = $aData['DYN_UID']; - $outDocUid = $oOutputDocument->create( $aData ); - - $jbpm = new JavaBridgePM(); - print $jbpm->generateJrxmlFromDynaform( $outDocUid, $dynaformUid, 'classic' ); - } else { - $outDocUid = $oOutputDocument->create( $aData ); - } - } else { - $oOutputDocument->update( $aData ); - } - - if (isset( $aData['PRO_UID'] )) { - //refresh dbarray with the last change in outputDocument - $oMap = new processMap(); - $oCriteria = $oMap->getOutputDocumentsCriteria( $aData['PRO_UID'] ); - } - -} catch (Exception $oException) { - $token = strtotime("now"); - PMException::registerErrorLog($oException, $token); - G::outRes( G::LoadTranslation("ID_EXCEPTION_LOG_INTERFAZ", array($token)) ); - die; -} - +. + * + * For more information, contact Colosa Inc, 2566 Le Jeune Rd., + * Coral Gables, FL, 33134, USA, or email info@colosa.com. + */ +try { + global $RBAC; + switch ($RBAC->userCanAccess( 'PM_FACTORY' )) { + case - 2: + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); + break; + case - 1: + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); + break; + } + + //default: + + $oOutputDocument = new OutputDocument(); + + if (isset( $_POST['form'] )) + $aData = $_POST['form']; //For old process map form + else + $aData = $_POST; //For Extjs (Since we are not using form in ExtJS) + + + if (isset( $aData['OUT_DOC_TITLE'] ) && $aData['OUT_DOC_TITLE'] != '') { + $oForm = new Form( 'outputdocs/outputdocs_Properties', PATH_XMLFORM ); + $aData = $oForm->validatePost(); + if (isset( $aData['OUT_DOC_PDF_SECURITY_ENABLED'] ) && $aData['OUT_DOC_PDF_SECURITY_ENABLED'] == "0") { + $aData['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'] = ""; + $aData['OUT_DOC_PDF_SECURITY_OWNER_PASSWORD'] = ""; + $aData['OUT_DOC_PDF_SECURITY_PERMISSIONS'] = ""; + } + if (isset( $aData['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'] ) && $aData['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'] != "") { + $aData['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'] = G::encrypt( $aData['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'], $aData['OUT_DOC_UID'] ); + $aData['OUT_DOC_PDF_SECURITY_OWNER_PASSWORD'] = G::encrypt( $aData['OUT_DOC_PDF_SECURITY_OWNER_PASSWORD'], $aData['OUT_DOC_UID'] ); + } + } + if ($aData['OUT_DOC_UID'] == '') { + + if ((isset( $aData['OUT_DOC_TYPE'] )) && ($aData['OUT_DOC_TYPE'] == 'JRXML')) { + $dynaformUid = $aData['DYN_UID']; + $outDocUid = $oOutputDocument->create( $aData ); + + $jbpm = new JavaBridgePM(); + print $jbpm->generateJrxmlFromDynaform( $outDocUid, $dynaformUid, 'classic' ); + } else { + $outDocUid = $oOutputDocument->create( $aData ); + } + } else { + $oOutputDocument->update( $aData ); + } + + if (isset( $aData['PRO_UID'] )) { + //refresh dbarray with the last change in outputDocument + $oMap = new ProcessMap(); + $oCriteria = $oMap->getOutputDocumentsCriteria( $aData['PRO_UID'] ); + } + +} catch (Exception $oException) { + $token = strtotime("now"); + PMException::registerErrorLog($oException, $token); + G::outRes( G::LoadTranslation("ID_EXCEPTION_LOG_INTERFAZ", array($token)) ); + die; +} + diff --git a/workflow/engine/methods/processes/ajaxListener.php b/workflow/engine/methods/processes/ajaxListener.php index 3ffccbf64..1fba57773 100644 --- a/workflow/engine/methods/processes/ajaxListener.php +++ b/workflow/engine/methods/processes/ajaxListener.php @@ -308,7 +308,7 @@ class Ajax { switch ($param['type']) { case 'process': - $oProcessMap = new processMap(new DBConnection()); + $oProcessMap = new ProcessMap(new DBConnection()); $process = $oProcessMap->editProcessNew($param['UID']); $category = ProcessCategoryPeer::retrieveByPk($process['PRO_CATEGORY']); $categoryName = is_object($category) ? $category->getCategoryName() : ''; @@ -444,7 +444,7 @@ class Ajax public function getPMVariables($param) { - $oProcessMap = new processMap(new DBConnection()); + $oProcessMap = new ProcessMap(new DBConnection()); $response->rows = getDynaformsVars($param['PRO_UID']); foreach ($response->rows as $i => $var) { $response->rows[$i]['sName'] = "@@{$var['sName']}"; diff --git a/workflow/engine/methods/processes/processes_Ajax.php b/workflow/engine/methods/processes/processes_Ajax.php index f17d0946f..d0774867f 100644 --- a/workflow/engine/methods/processes/processes_Ajax.php +++ b/workflow/engine/methods/processes/processes_Ajax.php @@ -136,7 +136,7 @@ try { $resultProcess = $infoProcess->getProcessRow($proUid); } - $oProcessMap = new processMap(new DBConnection()); + $oProcessMap = new ProcessMap(new DBConnection()); switch ($_REQUEST['action']) { case 'load': diff --git a/workflow/engine/methods/processes/processes_List.php b/workflow/engine/methods/processes/processes_List.php index f2ed29ddb..db475c34f 100644 --- a/workflow/engine/methods/processes/processes_List.php +++ b/workflow/engine/methods/processes/processes_List.php @@ -55,7 +55,7 @@ $aLabels['ACTIVE'] = G::LoadTranslation( 'ID_ACTIVE' ); $aLabels['INACTIVE'] = G::LoadTranslation( 'ID_INACTIVE' ); $aLabels['CONFIRM'] = G::LoadTranslation( 'ID_MSG_CONFIRM_DELETE_PROCESS' ); -$oProcess = new processMap(); +$oProcess = new ProcessMap(); $c = $oProcess->getConditionProcessList(); function activeFalse ($value) diff --git a/workflow/engine/methods/processes/processes_Map.php b/workflow/engine/methods/processes/processes_Map.php index fed16067f..096747fda 100644 --- a/workflow/engine/methods/processes/processes_Map.php +++ b/workflow/engine/methods/processes/processes_Map.php @@ -88,7 +88,7 @@ if ($licensedFeatures->verifyfeature('7TTeDBQeWRoZTZKYjh4eFpYUlRDUUEyVERPU3Fxell $oHeadPublisher = & headPublisher::getSingleton(); $oHeadPublisher->addScriptFile( '/jscore/dbConnections/main.js' ); $oHeadPublisher->addScriptCode( ' - var maximunX = ' . processMap::getMaximunTaskX( $processUID ) . '; + var maximunX = ' . ProcessMap::getMaximunTaskX( $processUID ) . '; var leimnud = new maborak(); leimnud.make(); leimnud.Package.Load("rpc,drag,drop,panel,app,validator,fx,dom,abbr",{Instance:leimnud,Type:"module"}); diff --git a/workflow/engine/methods/reportTables/reportTables_Ajax.php b/workflow/engine/methods/reportTables/reportTables_Ajax.php index b8adc0444..49fd8abcd 100644 --- a/workflow/engine/methods/reportTables/reportTables_Ajax.php +++ b/workflow/engine/methods/reportTables/reportTables_Ajax.php @@ -288,7 +288,7 @@ switch ($action) { case 'list': $configigurations = new Configurations(); - $oProcessMap = new processMap(); + $oProcessMap = new ProcessMap(); $config = $configigurations->getConfiguration( 'additionalTablesList', 'pageSize', '', $_SESSION['USER_LOGGED'] ); $env = $configigurations->getConfiguration( 'ENVIRONMENT_SETTINGS', '' ); diff --git a/workflow/engine/methods/tracker/tracker_Ajax.php b/workflow/engine/methods/tracker/tracker_Ajax.php index f0d5c9f83..e9942a14e 100644 --- a/workflow/engine/methods/tracker/tracker_Ajax.php +++ b/workflow/engine/methods/tracker/tracker_Ajax.php @@ -1,462 +1,462 @@ -. - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - */ -try { - - $filter = new InputFilter(); - $_POST = $filter->xssFilterHard($_POST); - - if (isset( $_POST['form']['action'] )) { - $_POST['action'] = $_POST['form']['action']; - } - - switch ($_POST['action']) { - case 'availableCaseTrackerObjects': - $oProcessMap = new ProcessMap(); - $oProcessMap->availableCaseTrackerObjects( $_POST['PRO_UID'] ); - break; - case 'assignCaseTrackerObject': - $oProcessMap = new ProcessMap(); - $cto_UID = $oProcessMap->assignCaseTrackerObject( $_POST['PRO_UID'], $_POST['OBJECT_TYPE'], $_POST['OBJECT_UID'] ); - $oProcessMap->getCaseTrackerObjectsCriteria( $_POST['PRO_UID'] ); - $infoProcess = new Process(); - $resultProcess = $infoProcess->load($_POST['PRO_UID']); - G::auditLog('CaseTrackers','Assign Case Tracker Object ('.$cto_UID.' - '.$_POST['OBJECT_TYPE'].') in Process "'.$resultProcess['PRO_TITLE'].'"'); - echo $cto_UID; - break; - case 'removeCaseTrackerObject': - $oProcessMap = new ProcessMap(); - $oProcessMap->removeCaseTrackerObject( $_POST['CTO_UID'], $_POST['PRO_UID'], $_POST['STEP_POSITION'] ); - $oProcessMap->getCaseTrackerObjectsCriteria( $_POST['PRO_UID'] ); - $infoProcess = new Process(); - $resultProcess = $infoProcess->load($_POST['PRO_UID']); - G::auditLog('CaseTrackers','Remove Case Tracker Object ('.$_POST['CTO_UID'].') in Process "'.$resultProcess['PRO_TITLE'].'"'); - break; - case 'upCaseTrackerObject': - $oProcessMap = new ProcessMap(); - $oProcessMap->upCaseTrackerObject( $_POST['CTO_UID'], $_POST['PRO_UID'], $_POST['STEP_POSITION'] ); - $oProcessMap->getCaseTrackerObjectsCriteria( $_POST['PRO_UID'] ); - $infoProcess = new Process(); - $resultProcess = $infoProcess->load($_POST['PRO_UID']); - G::auditLog('CaseTrackers','Move Up Case Tracker Object ('.$_POST['CTO_UID'].') in Process "'.$resultProcess['PRO_TITLE'].'"'); - break; - case 'downCaseTrackerObject': - $oProcessMap = new ProcessMap(); - $oProcessMap->downCaseTrackerObject( $_POST['CTO_UID'], $_POST['PRO_UID'], $_POST['STEP_POSITION'] ); - $oProcessMap->getCaseTrackerObjectsCriteria( $_POST['PRO_UID'] ); - $infoProcess = new Process(); - $resultProcess = $infoProcess->load($_POST['PRO_UID']); - G::auditLog('CaseTrackers','Move Down Case Tracker Object ('.$_POST['CTO_UID'].') in Process "'.$resultProcess['PRO_TITLE'].'"'); - break; - case 'editStagesMap': - $oTemplatePower = new TemplatePower( PATH_TPL . 'tracker/stages_Map.html' ); - $oTemplatePower->prepare(); - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent( 'template', '', '', '', $oTemplatePower ); - $oHeadPublisher = & headPublisher::getSingleton(); - $oHeadPublisher->addScriptCode( ' - var pb=leimnud.dom.capture("tag.body 0"); - Sm=new stagesmap(); - Sm.options = { - target : "sm_target", - dataServer: "../tracker/tracker_Ajax", - uid : "' . $_POST['PRO_UID'] . '", - lang : "' . SYS_LANG . '", - theme : "processmaker", - size : {w:"780",h:"540"}, - images_dir: "/jscore/processmap/core/images/", - rw : true, - hideMenu : false - }; - Sm.make();' ); - G::RenderPage( 'publish', 'raw' ); - break; - case 'showUploadedDocumentTracker': - require_once 'classes/model/AppDocument.php'; - require_once 'classes/model/AppDelegation.php'; - require_once 'classes/model/InputDocument.php'; - require_once 'classes/model/Users.php'; - $oAppDocument = new AppDocument(); - $oAppDocument->Fields = $oAppDocument->load( $_POST['APP_DOC_UID'] ); - - $oInputDocument = new InputDocument(); - if ($oAppDocument->Fields['DOC_UID'] != - 1) { - $Fields = $oInputDocument->load( $oAppDocument->Fields['DOC_UID'] ); - } else { - $Fields = array ('INP_DOC_FORM_NEEDED' => '','FILENAME' => $oAppDocument->Fields['APP_DOC_FILENAME']); - } - $oCriteria = new Criteria( 'workflow' ); - $oCriteria->add( AppDelegationPeer::DEL_INDEX, $oAppDocument->Fields['DEL_INDEX'] ); - $oDataset = AppDelegationPeer::doSelectRS( $oCriteria ); - $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); - $oDataset->next(); - $aRow = $oDataset->getRow(); - $oTask = new Task(); - $aTask = $oTask->load( $aRow['TAS_UID'] ); - $Fields['ORIGIN'] = $aTask['TAS_TITLE']; - $oUser = new Users(); - $aUser = $oUser->load( $oAppDocument->Fields['USR_UID'] ); - $Fields['CREATOR'] = $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME']; - switch ($Fields['INP_DOC_FORM_NEEDED']) { - case 'REAL': - $sXmlForm = 'tracker/tracker_ViewAnyInputDocument2'; - break; - case 'VIRTUAL': - $sXmlForm = 'tracker/tracker_ViewAnyInputDocument1'; - break; - case 'VREAL': - $sXmlForm = 'tracker/tracker_ViewAnyInputDocument3'; - break; - default: - $sXmlForm = 'tracker/tracker_ViewAnyInputDocument'; - break; - } - $oAppDocument->Fields['VIEW'] = G::LoadTranslation( 'ID_OPEN' ); - $oAppDocument->Fields['FILE'] = 'tracker_ShowDocument?a=' . $_POST['APP_DOC_UID'] . '&r=' . rand(); - - //If plugin and trigger are defined for listing - if ($oPluginRegistry->existsTrigger( PM_CASE_DOCUMENT_LIST_ARR )) { - $oPluginRegistry = & PMPluginRegistry::getSingleton(); - $filesPluginArray = $oPluginRegistry->executeTriggers( PM_CASE_DOCUMENT_LIST_ARR, $_SESSION['APPLICATION'] ); - //Now search for the file, if exists the change the download URL - foreach ($filesPluginArray as $file) { - if ($file->filename == $_POST['APP_DOC_UID']) { - $oAppDocument->Fields['FILE'] = $file->downloadScript; - } - } - } - - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent( 'xmlform', 'xmlform', $sXmlForm, '', G::array_merges( $Fields, $oAppDocument->Fields ), '' ); - G::RenderPage( 'publish', 'raw' ); - break; - case 'showGeneratedDocumentTracker': - require_once 'classes/model/AppDocument.php'; - require_once 'classes/model/AppDelegation.php'; - $oAppDocument = new AppDocument(); - $aFields = $oAppDocument->load( $_POST['APP_DOC_UID'] ); - require_once 'classes/model/OutputDocument.php'; - $oOutputDocument = new OutputDocument(); - $aOD = $oOutputDocument->load( $aFields['DOC_UID'] ); - - $oCriteria = new Criteria( 'workflow' ); - $oCriteria->add( AppDelegationPeer::APP_UID, $aFields['APP_UID'] ); - $oCriteria->add( AppDelegationPeer::DEL_INDEX, $aFields['DEL_INDEX'] ); - $oDataset = AppDelegationPeer::doSelectRS( $oCriteria ); - $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); - $oDataset->next(); - $aRow = $oDataset->getRow(); - $oTask = new Task(); - $aTask = $oTask->load( $aRow['TAS_UID'] ); - $aFields['ORIGIN'] = $aTask['TAS_TITLE']; - require_once 'classes/model/Users.php'; - $oUser = new Users(); - $aUser = $oUser->load( $aFields['USR_UID'] ); - $aFields['CREATOR'] = $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME']; - $aFields['VIEW'] = G::LoadTranslation( 'ID_OPEN' ); - $aFields['FILE1'] = 'tracker_ShowOutputDocument?a=' . $aFields['APP_DOC_UID'] . '&ext=doc&random=' . rand(); - $aFields['FILE2'] = 'tracker_ShowOutputDocument?a=' . $aFields['APP_DOC_UID'] . '&ext=pdf&random=' . rand(); - - //If plugin and trigger are defined for listing - if ($oPluginRegistry->existsTrigger( PM_CASE_DOCUMENT_LIST_ARR )) { - $oPluginRegistry = & PMPluginRegistry::getSingleton(); - $filesPluginArray = $oPluginRegistry->executeTriggers( PM_CASE_DOCUMENT_LIST_ARR, $aFields['APP_UID'] ); - //Now search for the file, if exists the change the download URL - foreach ($filesPluginArray as $file) { - if ($file->filename == $_POST['APP_DOC_UID']) { - $aFields['FILE2'] = $file->downloadScript; // The PDF is the only one uploaded to KT - } - } - } - - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'tracker/tracker_ViewAnyOutputDocument', '', G::array_merges( $aOD, $aFields ), '' ); - G::RenderPage( 'publish', 'raw' ); - break; - case 'load': - $oConnection = Propel::getConnection( 'workflow' ); - $oStatement = $oConnection->prepareStatement( "CREATE TABLE IF NOT EXISTS `STAGE` ( - `STG_UID` VARCHAR( 32 ) NOT NULL , - `PRO_UID` VARCHAR( 32 ) NOT NULL , - `STG_POSX` INT( 11 ) NOT NULL DEFAULT '0', - `STG_POSY` INT( 11 ) NOT NULL DEFAULT '0', - `STG_INDEX` INT( 11 ) NOT NULL DEFAULT '0', - PRIMARY KEY ( `STG_UID` ) - );" ); - $oStatement->executeQuery(); - /** - * ************************************************************************************************************ - */ - require_once 'classes/model/Stage.php'; - require_once 'classes/model/Process.php'; - require_once 'classes/model/Task.php'; - require_once 'classes/model/AppDelegation.php'; - //$oJSON = new Services_JSON(); - $oData = Bootstrap::json_decode( stripslashes( $_POST['data'] ) ); - $oProcess = new Process(); - $aRow = $oProcess->load( $oData->uid ); - $oSM = new stdclass(); - $oSM->title = new stdclass(); - $oSM->title->label = strip_tags( $aRow['PRO_TITLE'] ); - //$oSM->title->position->x = $aRow['PRO_TITLE_X']; - //$oSM->title->position->y = $aRow['PRO_TITLE_Y']; - $oSM->title->position = new stdclass(); - $oSM->title->position->x = 10; - $oSM->title->position->y = 10; - $oSM->stages = array (); - $oCriteria = new Criteria( 'workflow' ); - $oCriteria->addSelectColumn( StagePeer::STG_UID ); - $oCriteria->addSelectColumn( ContentPeer::CON_VALUE ); - $oCriteria->addSelectColumn( StagePeer::STG_POSX ); - $oCriteria->addSelectColumn( StagePeer::STG_POSY ); - $aConditions = array (); - $aConditions[] = array (0 => StagePeer::STG_UID,1 => ContentPeer::CON_ID); - $aConditions[] = array (0 => ContentPeer::CON_CATEGORY,1 => DBAdapter::getStringDelimiter() . 'STG_TITLE' . DBAdapter::getStringDelimiter()); - $aConditions[] = array (0 => ContentPeer::CON_LANG,1 => DBAdapter::getStringDelimiter() . SYS_LANG . DBAdapter::getStringDelimiter()); - $oCriteria->addJoinMC( $aConditions, Criteria::LEFT_JOIN ); - $oCriteria->add( StagePeer::PRO_UID, $oData->uid ); - $oCriteria->addAscendingOrderByColumn( StagePeer::STG_INDEX ); - $oDataset = StagePeer::doSelectRS( $oCriteria ); - $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); - $oDataset->next(); - while ($aRow1 = $oDataset->getRow()) { - $oStage = new stdclass(); - $oStage->uid = $aRow1['STG_UID']; - $oStage->label = strip_tags( $aRow1['CON_VALUE'] ); - $oStage->position = new stdclass(); - $oStage->position->x = (int) $aRow1['STG_POSX']; - $oStage->position->y = (int) $aRow1['STG_POSY']; - $oStage->derivation = new stdclass(); - $oStage->derivation->to = array (); - if (! $oData->mode) { - $oCriteria = new Criteria( 'workflow' ); - $oCriteria->add( TaskPeer::STG_UID, $aRow1['STG_UID'] ); - $oDataset1 = TaskPeer::doSelectRS( $oCriteria ); - $oDataset1->setFetchmode( ResultSet::FETCHMODE_ASSOC ); - $oDataset1->next(); - $aTasks = array (); - while ($aRow2 = $oDataset1->getRow()) { - $aTasks[] = $aRow2['TAS_UID']; - $oDataset1->next(); - } - $oCriteria = new Criteria( 'workflow' ); - $oCriteria->add( AppDelegationPeer::APP_UID, $_SESSION['APPLICATION'] ); - $oCriteria->add( AppDelegationPeer::TAS_UID, $aTasks, Criteria::IN ); - $oCriteria->add( $oCriteria->getNewCriterion( AppDelegationPeer::DEL_FINISH_DATE, null, Criteria::ISNULL )->addOr( $oCriteria->getNewCriterion( AppDelegationPeer::DEL_FINISH_DATE, '' ) ) ); - if (AppDelegationPeer::doCount( $oCriteria ) > 0) { - $oStage->color = '#FF0000'; - } else { - $oCriteria = new Criteria( 'workflow' ); - $oCriteria->add( AppDelegationPeer::APP_UID, $_SESSION['APPLICATION'] ); - $oCriteria->add( AppDelegationPeer::TAS_UID, $aTasks, Criteria::IN ); - $oCriteria->add( AppDelegationPeer::DEL_THREAD_STATUS, 'CLOSED' ); - if (AppDelegationPeer::doCount( $oCriteria ) > 0) { - $oStage->color = '#006633'; - } else { - $oCriteria = new Criteria( 'workflow' ); - $oCriteria->add( AppDelegationPeer::APP_UID, $_SESSION['APPLICATION'] ); - $oCriteria->add( AppDelegationPeer::TAS_UID, $aTasks, Criteria::IN ); - if (AppDelegationPeer::doCount( $oCriteria ) == 0) { - $oStage->color = '#939598'; - } - } - - } - } - $oSM->stages[] = $oStage; - $oDataset->next(); - } - foreach ($oSM->stages as $iKey => $oStage) { - if (isset( $oSM->stages[$iKey + 1] )) { - $oDerivation = new stdclass(); - $oDerivation->stage = $oSM->stages[$iKey + 1]->uid; - $oSM->stages[$iKey]->derivation->to = array ($oDerivation); - $oSM->stages[$iKey]->derivation->type = 0; - } - } - //$oJSON = new Services_JSON(); - echo Bootstrap::json_encode( $oSM ); - break; - case 'addStage': - require_once 'classes/model/Stage.php'; - //$oJSON = new Services_JSON(); - $oData = Bootstrap::json_decode( stripslashes( $_POST['data'] ) ); - $oCriteria = new Criteria( 'workflow' ); - $oCriteria->addSelectColumn( 'STG_UID' ); - $oCriteria->add( StagePeer::PRO_UID, $oData->uid ); - $oDataset = StagePeer::doSelectRS( $oCriteria ); - $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); - $oDataset->next(); - $aStages = array (); - $iStageNumber = 0; - while ($aRow = $oDataset->getRow()) { - $aStages[] = $aRow['STG_UID']; - $iStageNumber ++; - $oDataset->next(); - } - if ($iStageNumber == 0) { - $iStageNumber = 1; - } - $iIndex = $iStageNumber + 1; - $bContinue = false; - while (! $bContinue) { - $oCriteria = new Criteria( 'workflow' ); - $oCriteria->addSelectColumn( 'COUNT(*) AS TIMES' ); - $oCriteria->add( ContentPeer::CON_ID, $aStages, Criteria::IN ); - $oCriteria->add( ContentPeer::CON_CATEGORY, 'STG_TITLE' ); - $oCriteria->add( ContentPeer::CON_LANG, SYS_LANG ); - $oCriteria->add( ContentPeer::CON_VALUE, G::LoadTranslation( 'ID_STAGE' ) . ' ' . $iStageNumber ); - $oDataset = ContentPeer::doSelectRS( $oCriteria ); - $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); - $oDataset->next(); - $aRow = $oDataset->getRow(); - if ((int) $aRow['TIMES'] > 0) { - $iStageNumber += 1; - } else { - $bContinue = true; - } - } - $oStage = new Stage(); - $oNewStage = new stdclass(); - $oNewStage->label = G::LoadTranslation( 'ID_STAGE' ) . ' ' . $iStageNumber; - - if ($oData->position->x < 0) - $oData->position->x *= - 1; - if ($oData->position->y < 0) - $oData->position->y *= - 1; - - $oNewStage->uid = $oStage->create( array ('PRO_UID' => $oData->uid,'STG_TITLE' => $oNewStage->label,'STG_POSX' => $oData->position->x,'STG_POSY' => $oData->position->y,'STG_INDEX' => $iIndex) ); - //$oJSON = new Services_JSON(); - echo Bootstrap::json_encode( $oNewStage ); - break; - case 'saveStagePosition': - require_once 'classes/model/Stage.php'; - //$oJSON = new Services_JSON(); - $oData = Bootstrap::json_decode( stripslashes( $_POST['data'] ) ); - $oStage = new Stage(); - $aFields = $oStage->load( $oData->uid ); - $aFields['STG_UID'] = $oData->uid; - $aFields['STG_POSX'] = $oData->position->x; - $aFields['STG_POSY'] = $oData->position->y; - $oStage->update( $aFields ); - break; - case 'deleteStage': - require_once 'classes/model/Stage.php'; - //$oJSON = new Services_JSON(); - $oData = Bootstrap::json_decode( stripslashes( $_POST['data'] ) ); - $oStage = new Stage(); - $aFields = $oStage->load( $oData->stg_uid ); - $oStage->remove( $oData->stg_uid ); - $oStage->reorderPositions( $aFields['PRO_UID'], $aFields['STG_INDEX'] ); - require_once 'classes/model/Task.php'; - $oCriteria1 = new Criteria( 'workflow' ); - $oCriteria1->add( TaskPeer::STG_UID, $oData->stg_uid ); - $oCriteria2 = new Criteria( 'workflow' ); - $oCriteria2->add( TaskPeer::STG_UID, '' ); - BasePeer::doUpdate( $oCriteria1, $oCriteria2, Propel::getConnection( 'workflow' ) ); - break; - case 'editStage': - require_once 'classes/model/Stage.php'; - //$oJSON = new Services_JSON(); - $oData = Bootstrap::json_decode( stripslashes( $_POST['data'] ) ); - $oStage = new Stage(); - $aFields = $oStage->load( $oData->stg_uid ); - $aFields['THEINDEX'] = $oData->theindex; - $aFields['action'] = 'updateStage'; - global $G_PUBLISH; - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'tracker/tracker_StageEdit', '', $aFields, '../tracker/tracker_Ajax' ); - G::RenderPage( 'publish', 'raw' ); - break; - case 'updateStage': - require_once 'classes/model/Stage.php'; - $oStage = new Stage(); - $aFields = $oStage->load( $_POST['form']['STG_UID'] ); - $aFields['STG_TITLE'] = $_POST['form']['STG_TITLE']; - $oStage->update( $aFields ); - break; - case 'tasksAssigned': - require_once 'classes/model/Stage.php'; - require_once 'classes/model/Task.php'; - //$oJSON = new Services_JSON(); - $oData = Bootstrap::json_decode( stripslashes( $_POST['data'] ) ); - $oCriteria = new Criteria( 'workflow' ); - $oCriteria->addSelectColumn( TaskPeer::TAS_UID ); - $oCriteria->addSelectColumn( TaskPeer::TAS_TITLE ); - $oCriteria->add( TaskPeer::STG_UID, $oData->stg_uid ); - $oCriteria->addAscendingOrderByColumn( TaskPeer::TAS_TITLE ); - global $G_PUBLISH; - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent( 'propeltable', 'paged-table', 'tracker/tracker_StageTasks', $oCriteria, array ('PRO_UID' => $oData->pro_uid,'STG_UID' => $oData->stg_uid) ); - G::RenderPage( 'publish', 'raw' ); - break; - case 'availableTasksForTheStage': - require_once 'classes/model/Process.php'; - require_once 'classes/model/Task.php'; - $oCriteria = new Criteria( 'workflow' ); - $oCriteria->addSelectColumn( TaskPeer::TAS_UID ); - $oCriteria->addSelectColumn( TaskPeer::TAS_TITLE ); - $oCriteria->add( TaskPeer::PRO_UID, $_POST['PRO_UID'] ); - $oCriteria->add( TaskPeer::STG_UID, '' ); - $oCriteria->addAscendingOrderByColumn( TaskPeer::TAS_TITLE ); - global $G_PUBLISH; - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent( 'propeltable', 'paged-table', 'tracker/tracker_AvailableStageTasks', $oCriteria, array ('STG_UID' => $_POST['STG_UID']) ); - G::RenderPage( 'publish', 'raw' ); - break; - case 'assignTaskToStage': - require_once 'classes/model/Task.php'; - $oCriteria1 = new Criteria( 'workflow' ); - $oCriteria1->add( TaskPeer::TAS_UID, $_POST['TAS_UID'] ); - $oCriteria2 = new Criteria( 'workflow' ); - $oCriteria2->add( TaskPeer::STG_UID, $_POST['STG_UID'] ); - BasePeer::doUpdate( $oCriteria1, $oCriteria2, Propel::getConnection( 'workflow' ) ); - break; - case 'removeTaskFromTheStage': - require_once 'classes/model/Task.php'; - $oCriteria1 = new Criteria( 'workflow' ); - $oCriteria1->add( TaskPeer::TAS_UID, $_POST['TAS_UID'] ); - $oCriteria2 = new Criteria( 'workflow' ); - $oCriteria2->add( TaskPeer::STG_UID, '' ); - BasePeer::doUpdate( $oCriteria1, $oCriteria2, Propel::getConnection( 'workflow' ) ); - break; - - case "processMapLegend": - $arrayField = array (); - $arrayField["sLabel1"] = G::LoadTranslation( "ID_TASK_IN_PROGRESS" ); - $arrayField["sLabel2"] = G::LoadTranslation( "ID_COMPLETED_TASK" ); - $arrayField["sLabel3"] = G::LoadTranslation( "ID_PENDING_TASK" ); - $arrayField["sLabel4"] = G::LoadTranslation( "ID_PARALLEL_TASK" ); - $arrayField["tracker"] = 1; - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent( "smarty", "cases/cases_Leyends", "", "", $arrayField ); - G::RenderPage( "publish", "raw" ); - break; - } -} catch (Exception $oException) { - $token = strtotime("now"); - PMException::registerErrorLog($oException, $token); - G::outRes( G::LoadTranslation("ID_EXCEPTION_LOG_INTERFAZ", array($token)) ); - die; -} - +. + * + * For more information, contact Colosa Inc, 2566 Le Jeune Rd., + * Coral Gables, FL, 33134, USA, or email info@colosa.com. + */ +try { + + $filter = new InputFilter(); + $_POST = $filter->xssFilterHard($_POST); + + if (isset( $_POST['form']['action'] )) { + $_POST['action'] = $_POST['form']['action']; + } + + switch ($_POST['action']) { + case 'availableCaseTrackerObjects': + $oProcessMap = new ProcessMap(); + $oProcessMap->availableCaseTrackerObjects( $_POST['PRO_UID'] ); + break; + case 'assignCaseTrackerObject': + $oProcessMap = new ProcessMap(); + $cto_UID = $oProcessMap->assignCaseTrackerObject( $_POST['PRO_UID'], $_POST['OBJECT_TYPE'], $_POST['OBJECT_UID'] ); + $oProcessMap->getCaseTrackerObjectsCriteria( $_POST['PRO_UID'] ); + $infoProcess = new Process(); + $resultProcess = $infoProcess->load($_POST['PRO_UID']); + G::auditLog('CaseTrackers','Assign Case Tracker Object ('.$cto_UID.' - '.$_POST['OBJECT_TYPE'].') in Process "'.$resultProcess['PRO_TITLE'].'"'); + echo $cto_UID; + break; + case 'removeCaseTrackerObject': + $oProcessMap = new ProcessMap(); + $oProcessMap->removeCaseTrackerObject( $_POST['CTO_UID'], $_POST['PRO_UID'], $_POST['STEP_POSITION'] ); + $oProcessMap->getCaseTrackerObjectsCriteria( $_POST['PRO_UID'] ); + $infoProcess = new Process(); + $resultProcess = $infoProcess->load($_POST['PRO_UID']); + G::auditLog('CaseTrackers','Remove Case Tracker Object ('.$_POST['CTO_UID'].') in Process "'.$resultProcess['PRO_TITLE'].'"'); + break; + case 'upCaseTrackerObject': + $oProcessMap = new ProcessMap(); + $oProcessMap->upCaseTrackerObject( $_POST['CTO_UID'], $_POST['PRO_UID'], $_POST['STEP_POSITION'] ); + $oProcessMap->getCaseTrackerObjectsCriteria( $_POST['PRO_UID'] ); + $infoProcess = new Process(); + $resultProcess = $infoProcess->load($_POST['PRO_UID']); + G::auditLog('CaseTrackers','Move Up Case Tracker Object ('.$_POST['CTO_UID'].') in Process "'.$resultProcess['PRO_TITLE'].'"'); + break; + case 'downCaseTrackerObject': + $oProcessMap = new ProcessMap(); + $oProcessMap->downCaseTrackerObject( $_POST['CTO_UID'], $_POST['PRO_UID'], $_POST['STEP_POSITION'] ); + $oProcessMap->getCaseTrackerObjectsCriteria( $_POST['PRO_UID'] ); + $infoProcess = new Process(); + $resultProcess = $infoProcess->load($_POST['PRO_UID']); + G::auditLog('CaseTrackers','Move Down Case Tracker Object ('.$_POST['CTO_UID'].') in Process "'.$resultProcess['PRO_TITLE'].'"'); + break; + case 'editStagesMap': + $oTemplatePower = new TemplatePower( PATH_TPL . 'tracker/stages_Map.html' ); + $oTemplatePower->prepare(); + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'template', '', '', '', $oTemplatePower ); + $oHeadPublisher = & headPublisher::getSingleton(); + $oHeadPublisher->addScriptCode( ' + var pb=leimnud.dom.capture("tag.body 0"); + Sm=new stagesmap(); + Sm.options = { + target : "sm_target", + dataServer: "../tracker/tracker_Ajax", + uid : "' . $_POST['PRO_UID'] . '", + lang : "' . SYS_LANG . '", + theme : "processmaker", + size : {w:"780",h:"540"}, + images_dir: "/jscore/processmap/core/images/", + rw : true, + hideMenu : false + }; + Sm.make();' ); + G::RenderPage( 'publish', 'raw' ); + break; + case 'showUploadedDocumentTracker': + require_once 'classes/model/AppDocument.php'; + require_once 'classes/model/AppDelegation.php'; + require_once 'classes/model/InputDocument.php'; + require_once 'classes/model/Users.php'; + $oAppDocument = new AppDocument(); + $oAppDocument->Fields = $oAppDocument->load( $_POST['APP_DOC_UID'] ); + + $oInputDocument = new InputDocument(); + if ($oAppDocument->Fields['DOC_UID'] != - 1) { + $Fields = $oInputDocument->load( $oAppDocument->Fields['DOC_UID'] ); + } else { + $Fields = array ('INP_DOC_FORM_NEEDED' => '','FILENAME' => $oAppDocument->Fields['APP_DOC_FILENAME']); + } + $oCriteria = new Criteria( 'workflow' ); + $oCriteria->add( AppDelegationPeer::DEL_INDEX, $oAppDocument->Fields['DEL_INDEX'] ); + $oDataset = AppDelegationPeer::doSelectRS( $oCriteria ); + $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); + $oDataset->next(); + $aRow = $oDataset->getRow(); + $oTask = new Task(); + $aTask = $oTask->load( $aRow['TAS_UID'] ); + $Fields['ORIGIN'] = $aTask['TAS_TITLE']; + $oUser = new Users(); + $aUser = $oUser->load( $oAppDocument->Fields['USR_UID'] ); + $Fields['CREATOR'] = $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME']; + switch ($Fields['INP_DOC_FORM_NEEDED']) { + case 'REAL': + $sXmlForm = 'tracker/tracker_ViewAnyInputDocument2'; + break; + case 'VIRTUAL': + $sXmlForm = 'tracker/tracker_ViewAnyInputDocument1'; + break; + case 'VREAL': + $sXmlForm = 'tracker/tracker_ViewAnyInputDocument3'; + break; + default: + $sXmlForm = 'tracker/tracker_ViewAnyInputDocument'; + break; + } + $oAppDocument->Fields['VIEW'] = G::LoadTranslation( 'ID_OPEN' ); + $oAppDocument->Fields['FILE'] = 'tracker_ShowDocument?a=' . $_POST['APP_DOC_UID'] . '&r=' . rand(); + + //If plugin and trigger are defined for listing + if ($oPluginRegistry->existsTrigger( PM_CASE_DOCUMENT_LIST_ARR )) { + $oPluginRegistry = & PMPluginRegistry::getSingleton(); + $filesPluginArray = $oPluginRegistry->executeTriggers( PM_CASE_DOCUMENT_LIST_ARR, $_SESSION['APPLICATION'] ); + //Now search for the file, if exists the change the download URL + foreach ($filesPluginArray as $file) { + if ($file->filename == $_POST['APP_DOC_UID']) { + $oAppDocument->Fields['FILE'] = $file->downloadScript; + } + } + } + + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'xmlform', 'xmlform', $sXmlForm, '', G::array_merges( $Fields, $oAppDocument->Fields ), '' ); + G::RenderPage( 'publish', 'raw' ); + break; + case 'showGeneratedDocumentTracker': + require_once 'classes/model/AppDocument.php'; + require_once 'classes/model/AppDelegation.php'; + $oAppDocument = new AppDocument(); + $aFields = $oAppDocument->load( $_POST['APP_DOC_UID'] ); + require_once 'classes/model/OutputDocument.php'; + $oOutputDocument = new OutputDocument(); + $aOD = $oOutputDocument->load( $aFields['DOC_UID'] ); + + $oCriteria = new Criteria( 'workflow' ); + $oCriteria->add( AppDelegationPeer::APP_UID, $aFields['APP_UID'] ); + $oCriteria->add( AppDelegationPeer::DEL_INDEX, $aFields['DEL_INDEX'] ); + $oDataset = AppDelegationPeer::doSelectRS( $oCriteria ); + $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); + $oDataset->next(); + $aRow = $oDataset->getRow(); + $oTask = new Task(); + $aTask = $oTask->load( $aRow['TAS_UID'] ); + $aFields['ORIGIN'] = $aTask['TAS_TITLE']; + require_once 'classes/model/Users.php'; + $oUser = new Users(); + $aUser = $oUser->load( $aFields['USR_UID'] ); + $aFields['CREATOR'] = $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME']; + $aFields['VIEW'] = G::LoadTranslation( 'ID_OPEN' ); + $aFields['FILE1'] = 'tracker_ShowOutputDocument?a=' . $aFields['APP_DOC_UID'] . '&ext=doc&random=' . rand(); + $aFields['FILE2'] = 'tracker_ShowOutputDocument?a=' . $aFields['APP_DOC_UID'] . '&ext=pdf&random=' . rand(); + + //If plugin and trigger are defined for listing + if ($oPluginRegistry->existsTrigger( PM_CASE_DOCUMENT_LIST_ARR )) { + $oPluginRegistry = & PMPluginRegistry::getSingleton(); + $filesPluginArray = $oPluginRegistry->executeTriggers( PM_CASE_DOCUMENT_LIST_ARR, $aFields['APP_UID'] ); + //Now search for the file, if exists the change the download URL + foreach ($filesPluginArray as $file) { + if ($file->filename == $_POST['APP_DOC_UID']) { + $aFields['FILE2'] = $file->downloadScript; // The PDF is the only one uploaded to KT + } + } + } + + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'tracker/tracker_ViewAnyOutputDocument', '', G::array_merges( $aOD, $aFields ), '' ); + G::RenderPage( 'publish', 'raw' ); + break; + case 'load': + $oConnection = Propel::getConnection( 'workflow' ); + $oStatement = $oConnection->prepareStatement( "CREATE TABLE IF NOT EXISTS `STAGE` ( + `STG_UID` VARCHAR( 32 ) NOT NULL , + `PRO_UID` VARCHAR( 32 ) NOT NULL , + `STG_POSX` INT( 11 ) NOT NULL DEFAULT '0', + `STG_POSY` INT( 11 ) NOT NULL DEFAULT '0', + `STG_INDEX` INT( 11 ) NOT NULL DEFAULT '0', + PRIMARY KEY ( `STG_UID` ) + );" ); + $oStatement->executeQuery(); + /** + * ************************************************************************************************************ + */ + require_once 'classes/model/Stage.php'; + require_once 'classes/model/Process.php'; + require_once 'classes/model/Task.php'; + require_once 'classes/model/AppDelegation.php'; + //$oJSON = new Services_JSON(); + $oData = Bootstrap::json_decode( stripslashes( $_POST['data'] ) ); + $oProcess = new Process(); + $aRow = $oProcess->load( $oData->uid ); + $oSM = new stdclass(); + $oSM->title = new stdclass(); + $oSM->title->label = strip_tags( $aRow['PRO_TITLE'] ); + //$oSM->title->position->x = $aRow['PRO_TITLE_X']; + //$oSM->title->position->y = $aRow['PRO_TITLE_Y']; + $oSM->title->position = new stdclass(); + $oSM->title->position->x = 10; + $oSM->title->position->y = 10; + $oSM->stages = array (); + $oCriteria = new Criteria( 'workflow' ); + $oCriteria->addSelectColumn( StagePeer::STG_UID ); + $oCriteria->addSelectColumn( ContentPeer::CON_VALUE ); + $oCriteria->addSelectColumn( StagePeer::STG_POSX ); + $oCriteria->addSelectColumn( StagePeer::STG_POSY ); + $aConditions = array (); + $aConditions[] = array (0 => StagePeer::STG_UID,1 => ContentPeer::CON_ID); + $aConditions[] = array (0 => ContentPeer::CON_CATEGORY,1 => DBAdapter::getStringDelimiter() . 'STG_TITLE' . DBAdapter::getStringDelimiter()); + $aConditions[] = array (0 => ContentPeer::CON_LANG,1 => DBAdapter::getStringDelimiter() . SYS_LANG . DBAdapter::getStringDelimiter()); + $oCriteria->addJoinMC( $aConditions, Criteria::LEFT_JOIN ); + $oCriteria->add( StagePeer::PRO_UID, $oData->uid ); + $oCriteria->addAscendingOrderByColumn( StagePeer::STG_INDEX ); + $oDataset = StagePeer::doSelectRS( $oCriteria ); + $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); + $oDataset->next(); + while ($aRow1 = $oDataset->getRow()) { + $oStage = new stdclass(); + $oStage->uid = $aRow1['STG_UID']; + $oStage->label = strip_tags( $aRow1['CON_VALUE'] ); + $oStage->position = new stdclass(); + $oStage->position->x = (int) $aRow1['STG_POSX']; + $oStage->position->y = (int) $aRow1['STG_POSY']; + $oStage->derivation = new stdclass(); + $oStage->derivation->to = array (); + if (! $oData->mode) { + $oCriteria = new Criteria( 'workflow' ); + $oCriteria->add( TaskPeer::STG_UID, $aRow1['STG_UID'] ); + $oDataset1 = TaskPeer::doSelectRS( $oCriteria ); + $oDataset1->setFetchmode( ResultSet::FETCHMODE_ASSOC ); + $oDataset1->next(); + $aTasks = array (); + while ($aRow2 = $oDataset1->getRow()) { + $aTasks[] = $aRow2['TAS_UID']; + $oDataset1->next(); + } + $oCriteria = new Criteria( 'workflow' ); + $oCriteria->add( AppDelegationPeer::APP_UID, $_SESSION['APPLICATION'] ); + $oCriteria->add( AppDelegationPeer::TAS_UID, $aTasks, Criteria::IN ); + $oCriteria->add( $oCriteria->getNewCriterion( AppDelegationPeer::DEL_FINISH_DATE, null, Criteria::ISNULL )->addOr( $oCriteria->getNewCriterion( AppDelegationPeer::DEL_FINISH_DATE, '' ) ) ); + if (AppDelegationPeer::doCount( $oCriteria ) > 0) { + $oStage->color = '#FF0000'; + } else { + $oCriteria = new Criteria( 'workflow' ); + $oCriteria->add( AppDelegationPeer::APP_UID, $_SESSION['APPLICATION'] ); + $oCriteria->add( AppDelegationPeer::TAS_UID, $aTasks, Criteria::IN ); + $oCriteria->add( AppDelegationPeer::DEL_THREAD_STATUS, 'CLOSED' ); + if (AppDelegationPeer::doCount( $oCriteria ) > 0) { + $oStage->color = '#006633'; + } else { + $oCriteria = new Criteria( 'workflow' ); + $oCriteria->add( AppDelegationPeer::APP_UID, $_SESSION['APPLICATION'] ); + $oCriteria->add( AppDelegationPeer::TAS_UID, $aTasks, Criteria::IN ); + if (AppDelegationPeer::doCount( $oCriteria ) == 0) { + $oStage->color = '#939598'; + } + } + + } + } + $oSM->stages[] = $oStage; + $oDataset->next(); + } + foreach ($oSM->stages as $iKey => $oStage) { + if (isset( $oSM->stages[$iKey + 1] )) { + $oDerivation = new stdclass(); + $oDerivation->stage = $oSM->stages[$iKey + 1]->uid; + $oSM->stages[$iKey]->derivation->to = array ($oDerivation); + $oSM->stages[$iKey]->derivation->type = 0; + } + } + //$oJSON = new Services_JSON(); + echo Bootstrap::json_encode( $oSM ); + break; + case 'addStage': + require_once 'classes/model/Stage.php'; + //$oJSON = new Services_JSON(); + $oData = Bootstrap::json_decode( stripslashes( $_POST['data'] ) ); + $oCriteria = new Criteria( 'workflow' ); + $oCriteria->addSelectColumn( 'STG_UID' ); + $oCriteria->add( StagePeer::PRO_UID, $oData->uid ); + $oDataset = StagePeer::doSelectRS( $oCriteria ); + $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); + $oDataset->next(); + $aStages = array (); + $iStageNumber = 0; + while ($aRow = $oDataset->getRow()) { + $aStages[] = $aRow['STG_UID']; + $iStageNumber ++; + $oDataset->next(); + } + if ($iStageNumber == 0) { + $iStageNumber = 1; + } + $iIndex = $iStageNumber + 1; + $bContinue = false; + while (! $bContinue) { + $oCriteria = new Criteria( 'workflow' ); + $oCriteria->addSelectColumn( 'COUNT(*) AS TIMES' ); + $oCriteria->add( ContentPeer::CON_ID, $aStages, Criteria::IN ); + $oCriteria->add( ContentPeer::CON_CATEGORY, 'STG_TITLE' ); + $oCriteria->add( ContentPeer::CON_LANG, SYS_LANG ); + $oCriteria->add( ContentPeer::CON_VALUE, G::LoadTranslation( 'ID_STAGE' ) . ' ' . $iStageNumber ); + $oDataset = ContentPeer::doSelectRS( $oCriteria ); + $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); + $oDataset->next(); + $aRow = $oDataset->getRow(); + if ((int) $aRow['TIMES'] > 0) { + $iStageNumber += 1; + } else { + $bContinue = true; + } + } + $oStage = new Stage(); + $oNewStage = new stdclass(); + $oNewStage->label = G::LoadTranslation( 'ID_STAGE' ) . ' ' . $iStageNumber; + + if ($oData->position->x < 0) + $oData->position->x *= - 1; + if ($oData->position->y < 0) + $oData->position->y *= - 1; + + $oNewStage->uid = $oStage->create( array ('PRO_UID' => $oData->uid,'STG_TITLE' => $oNewStage->label,'STG_POSX' => $oData->position->x,'STG_POSY' => $oData->position->y,'STG_INDEX' => $iIndex) ); + //$oJSON = new Services_JSON(); + echo Bootstrap::json_encode( $oNewStage ); + break; + case 'saveStagePosition': + require_once 'classes/model/Stage.php'; + //$oJSON = new Services_JSON(); + $oData = Bootstrap::json_decode( stripslashes( $_POST['data'] ) ); + $oStage = new Stage(); + $aFields = $oStage->load( $oData->uid ); + $aFields['STG_UID'] = $oData->uid; + $aFields['STG_POSX'] = $oData->position->x; + $aFields['STG_POSY'] = $oData->position->y; + $oStage->update( $aFields ); + break; + case 'deleteStage': + require_once 'classes/model/Stage.php'; + //$oJSON = new Services_JSON(); + $oData = Bootstrap::json_decode( stripslashes( $_POST['data'] ) ); + $oStage = new Stage(); + $aFields = $oStage->load( $oData->stg_uid ); + $oStage->remove( $oData->stg_uid ); + $oStage->reorderPositions( $aFields['PRO_UID'], $aFields['STG_INDEX'] ); + require_once 'classes/model/Task.php'; + $oCriteria1 = new Criteria( 'workflow' ); + $oCriteria1->add( TaskPeer::STG_UID, $oData->stg_uid ); + $oCriteria2 = new Criteria( 'workflow' ); + $oCriteria2->add( TaskPeer::STG_UID, '' ); + BasePeer::doUpdate( $oCriteria1, $oCriteria2, Propel::getConnection( 'workflow' ) ); + break; + case 'editStage': + require_once 'classes/model/Stage.php'; + //$oJSON = new Services_JSON(); + $oData = Bootstrap::json_decode( stripslashes( $_POST['data'] ) ); + $oStage = new Stage(); + $aFields = $oStage->load( $oData->stg_uid ); + $aFields['THEINDEX'] = $oData->theindex; + $aFields['action'] = 'updateStage'; + global $G_PUBLISH; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'tracker/tracker_StageEdit', '', $aFields, '../tracker/tracker_Ajax' ); + G::RenderPage( 'publish', 'raw' ); + break; + case 'updateStage': + require_once 'classes/model/Stage.php'; + $oStage = new Stage(); + $aFields = $oStage->load( $_POST['form']['STG_UID'] ); + $aFields['STG_TITLE'] = $_POST['form']['STG_TITLE']; + $oStage->update( $aFields ); + break; + case 'tasksAssigned': + require_once 'classes/model/Stage.php'; + require_once 'classes/model/Task.php'; + //$oJSON = new Services_JSON(); + $oData = Bootstrap::json_decode( stripslashes( $_POST['data'] ) ); + $oCriteria = new Criteria( 'workflow' ); + $oCriteria->addSelectColumn( TaskPeer::TAS_UID ); + $oCriteria->addSelectColumn( TaskPeer::TAS_TITLE ); + $oCriteria->add( TaskPeer::STG_UID, $oData->stg_uid ); + $oCriteria->addAscendingOrderByColumn( TaskPeer::TAS_TITLE ); + global $G_PUBLISH; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'propeltable', 'paged-table', 'tracker/tracker_StageTasks', $oCriteria, array ('PRO_UID' => $oData->pro_uid,'STG_UID' => $oData->stg_uid) ); + G::RenderPage( 'publish', 'raw' ); + break; + case 'availableTasksForTheStage': + require_once 'classes/model/Process.php'; + require_once 'classes/model/Task.php'; + $oCriteria = new Criteria( 'workflow' ); + $oCriteria->addSelectColumn( TaskPeer::TAS_UID ); + $oCriteria->addSelectColumn( TaskPeer::TAS_TITLE ); + $oCriteria->add( TaskPeer::PRO_UID, $_POST['PRO_UID'] ); + $oCriteria->add( TaskPeer::STG_UID, '' ); + $oCriteria->addAscendingOrderByColumn( TaskPeer::TAS_TITLE ); + global $G_PUBLISH; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'propeltable', 'paged-table', 'tracker/tracker_AvailableStageTasks', $oCriteria, array ('STG_UID' => $_POST['STG_UID']) ); + G::RenderPage( 'publish', 'raw' ); + break; + case 'assignTaskToStage': + require_once 'classes/model/Task.php'; + $oCriteria1 = new Criteria( 'workflow' ); + $oCriteria1->add( TaskPeer::TAS_UID, $_POST['TAS_UID'] ); + $oCriteria2 = new Criteria( 'workflow' ); + $oCriteria2->add( TaskPeer::STG_UID, $_POST['STG_UID'] ); + BasePeer::doUpdate( $oCriteria1, $oCriteria2, Propel::getConnection( 'workflow' ) ); + break; + case 'removeTaskFromTheStage': + require_once 'classes/model/Task.php'; + $oCriteria1 = new Criteria( 'workflow' ); + $oCriteria1->add( TaskPeer::TAS_UID, $_POST['TAS_UID'] ); + $oCriteria2 = new Criteria( 'workflow' ); + $oCriteria2->add( TaskPeer::STG_UID, '' ); + BasePeer::doUpdate( $oCriteria1, $oCriteria2, Propel::getConnection( 'workflow' ) ); + break; + + case "processMapLegend": + $arrayField = array (); + $arrayField["sLabel1"] = G::LoadTranslation( "ID_TASK_IN_PROGRESS" ); + $arrayField["sLabel2"] = G::LoadTranslation( "ID_COMPLETED_TASK" ); + $arrayField["sLabel3"] = G::LoadTranslation( "ID_PENDING_TASK" ); + $arrayField["sLabel4"] = G::LoadTranslation( "ID_PARALLEL_TASK" ); + $arrayField["tracker"] = 1; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( "smarty", "cases/cases_Leyends", "", "", $arrayField ); + G::RenderPage( "publish", "raw" ); + break; + } +} catch (Exception $oException) { + $token = strtotime("now"); + PMException::registerErrorLog($oException, $token); + G::outRes( G::LoadTranslation("ID_EXCEPTION_LOG_INTERFAZ", array($token)) ); + die; +} + diff --git a/workflow/engine/methods/tracker/tracker_DynaDocs.php b/workflow/engine/methods/tracker/tracker_DynaDocs.php index 5a9132128..064927804 100644 --- a/workflow/engine/methods/tracker/tracker_DynaDocs.php +++ b/workflow/engine/methods/tracker/tracker_DynaDocs.php @@ -1,107 +1,107 @@ -. - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - */ -/* - * dynaforms & documents for Case Tracker - * - * @author Everth S. Berrios Morales - * - */ -if (! isset( $_SESSION['PROCESS'] ) || ! isset( $_SESSION['APPLICATION'] )) { - G::header( 'location: login' ); - die; -} -$G_MAIN_MENU = 'caseTracker'; -$G_ID_MENU_SELECTED = 'DYNADOC'; - -$oProcessMap = new processMap(); - -$oCase = new Cases(); - -$idProcess = $_SESSION['PROCESS']; -$oProcess = new Process(); -$aProcessFieds = $oProcess->load( $idProcess ); -$noShowTitle = 0; -if (isset( $aProcessFieds['PRO_SHOW_MESSAGE'] )) { - $noShowTitle = $aProcessFieds['PRO_SHOW_MESSAGE']; -} - -$aFields = $oCase->loadCase( $_SESSION['APPLICATION'] ); -if (isset( $aFields['TITLE'] )) { - $aFields['APP_TITLE'] = $aFields['TITLE']; -} -if ($aFields['APP_PROC_CODE'] != '') { - $aFields['APP_NUMBER'] = $aFields['APP_PROC_CODE']; -} -$aFields['CASE'] = G::LoadTranslation( 'ID_CASE' ); -$aFields['TITLE'] = G::LoadTranslation( 'ID_TITLE' ); - -$G_PUBLISH = new Publisher(); -if ($noShowTitle == 0) { - $G_PUBLISH->AddContent( 'smarty', 'cases/cases_title', '', '', $aFields ); -} -$G_PUBLISH->AddContent( 'propeltable', 'paged-table', 'tracker/tracker_DynaDocs', $oProcessMap->getCaseTrackerObjectsCriteria( $_SESSION['PROCESS'] ), array ('VIEW' => G::LoadTranslation( 'ID_VIEW' ) -) ); - -$bpmn = new ProcessMaker\Project\Bpmn(); -$flagIsBpmn = ($bpmn->exists($_SESSION["PROCESS"]))? true : false; - -if ($flagIsBpmn) { - $urlTrackerProcessMap = "../designer?prj_uid=" . $_SESSION["PROCESS"] . "&prj_readonly=true&app_uid=" . $_SESSION["APPLICATION"] . "&tracker_designer=1"; - - $_SESSION["TRACKER_JAVASCRIPT"] = " - - "; -} - -G::RenderPage("publish"); +. + * + * For more information, contact Colosa Inc, 2566 Le Jeune Rd., + * Coral Gables, FL, 33134, USA, or email info@colosa.com. + */ +/* + * dynaforms & documents for Case Tracker + * + * @author Everth S. Berrios Morales + * + */ +if (! isset( $_SESSION['PROCESS'] ) || ! isset( $_SESSION['APPLICATION'] )) { + G::header( 'location: login' ); + die; +} +$G_MAIN_MENU = 'caseTracker'; +$G_ID_MENU_SELECTED = 'DYNADOC'; + +$oProcessMap = new ProcessMap(); + +$oCase = new Cases(); + +$idProcess = $_SESSION['PROCESS']; +$oProcess = new Process(); +$aProcessFieds = $oProcess->load( $idProcess ); +$noShowTitle = 0; +if (isset( $aProcessFieds['PRO_SHOW_MESSAGE'] )) { + $noShowTitle = $aProcessFieds['PRO_SHOW_MESSAGE']; +} + +$aFields = $oCase->loadCase( $_SESSION['APPLICATION'] ); +if (isset( $aFields['TITLE'] )) { + $aFields['APP_TITLE'] = $aFields['TITLE']; +} +if ($aFields['APP_PROC_CODE'] != '') { + $aFields['APP_NUMBER'] = $aFields['APP_PROC_CODE']; +} +$aFields['CASE'] = G::LoadTranslation( 'ID_CASE' ); +$aFields['TITLE'] = G::LoadTranslation( 'ID_TITLE' ); + +$G_PUBLISH = new Publisher(); +if ($noShowTitle == 0) { + $G_PUBLISH->AddContent( 'smarty', 'cases/cases_title', '', '', $aFields ); +} +$G_PUBLISH->AddContent( 'propeltable', 'paged-table', 'tracker/tracker_DynaDocs', $oProcessMap->getCaseTrackerObjectsCriteria( $_SESSION['PROCESS'] ), array ('VIEW' => G::LoadTranslation( 'ID_VIEW' ) +) ); + +$bpmn = new ProcessMaker\Project\Bpmn(); +$flagIsBpmn = ($bpmn->exists($_SESSION["PROCESS"]))? true : false; + +if ($flagIsBpmn) { + $urlTrackerProcessMap = "../designer?prj_uid=" . $_SESSION["PROCESS"] . "&prj_readonly=true&app_uid=" . $_SESSION["APPLICATION"] . "&tracker_designer=1"; + + $_SESSION["TRACKER_JAVASCRIPT"] = " + + "; +} + +G::RenderPage("publish"); diff --git a/workflow/engine/methods/tracker/tracker_ViewMap.php b/workflow/engine/methods/tracker/tracker_ViewMap.php index d55ac3bf0..96caa42c9 100644 --- a/workflow/engine/methods/tracker/tracker_ViewMap.php +++ b/workflow/engine/methods/tracker/tracker_ViewMap.php @@ -1,289 +1,289 @@ -. - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - */ -/* - * Map for Case Tracker - * - * @author Everth S. Berrios Morales - * - */ -require_once 'classes/model/Process.php'; -if (! isset( $_SESSION['PROCESS'] ) || ! isset( $_SESSION['APPLICATION'] )) { - G::header( 'location: login' ); - die; -} -$G_MAIN_MENU = 'caseTracker'; -$G_ID_MENU_SELECTED = 'MAP'; - -require_once 'classes/model/CaseTracker.php'; -$oCaseTracker = new CaseTracker(); -$aCaseTracker = $oCaseTracker->load( $_SESSION['PROCESS'] ); - -$idProcess = $_SESSION['PROCESS']; -$oProcess = new Process(); -$aProcessFieds = $oProcess->load( $idProcess ); -$noShowTitle = 0; -if (isset( $aProcessFieds['PRO_SHOW_MESSAGE'] )) { - $noShowTitle = $aProcessFieds['PRO_SHOW_MESSAGE']; -} - -// getting bpmn projects -$c = new Criteria('workflow'); -$c->addSelectColumn(BpmnProjectPeer::PRJ_UID); -$ds = ProcessPeer::doSelectRS($c); -$ds->setFetchmode(ResultSet::FETCHMODE_ASSOC); -$bpmnProjects = array(); - -while ($ds->next()) { - $row = $ds->getRow(); - $bpmnProjects[] = $row['PRJ_UID']; -} - -switch (($aCaseTracker['CT_MAP_TYPE'])) { - case 'NONE': - //Nothing - break; - case 'PROCESSMAP': - - $oCase = new Cases(); - $aFields = $oCase->loadCase( $_SESSION['APPLICATION'] ); - if (in_array($aFields['PRO_UID'], $bpmnProjects)) { - //bpmb - $_SESSION["APPLICATION"] = $aFields["APP_UID"]; - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent( 'view', 'tracker/viewMap' ); - - $urlTrackerProcessMap = "../designer?prj_uid=" . $_SESSION["PROCESS"] . "&prj_readonly=true&app_uid=" . $_SESSION["APPLICATION"] . "&tracker_designer=1"; - - $_SESSION["TRACKER_JAVASCRIPT"] = " - - "; - - G::RenderPage("publish"); - //note: url processmap "../designer?prj_uid=$_SESSION['PROCESS']&prj_readonly=true&app_uid=$_SESSION['APP_UID']" - - break; - } - if (isset( $aFields['TITLE'] )) { - $aFields['APP_TITLE'] = $aFields['TITLE']; - } - if ($aFields['APP_PROC_CODE'] != '') { - $aFields['APP_NUMBER'] = $aFields['APP_PROC_CODE']; - } - $aFields['CASE'] = G::LoadTranslation( 'ID_CASE' ); - $aFields['TITLE'] = G::LoadTranslation( 'ID_TITLE' ); - $oTemplatePower = new TemplatePower( PATH_TPL . 'processes/processes_Map.html' ); - $oTemplatePower->prepare(); - $G_PUBLISH = new Publisher(); - if ($noShowTitle == 0) { - $G_PUBLISH->AddContent( 'smarty', 'cases/cases_title', '', '', $aFields ); - } - $G_PUBLISH->AddContent( 'template', '', '', '', $oTemplatePower ); - $oHeadPublisher = & headPublisher::getSingleton(); - $oHeadPublisher->addScriptCode( ' - var maximunX = ' . processMap::getMaximunTaskX( $_SESSION['PROCESS'] ) . '; - leimnud.event.add(window,"load",function(){ - var pb = leimnud.dom.capture("tag.body 0"); - pm = new processmap(); - pm.options = { - target : "pm_target", - dataServer: "../processes/processes_Ajax", - uid : "' . $_SESSION['PROCESS'] . '", - lang : "' . SYS_LANG . '", - theme : "processmaker", - size : {w:pb.offsetWidth-10,h:pb.offsetHeight}, - images_dir: "/jscore/processmap/core/images/", - rw : false, - mi : false, - ct : true, - hideMenu : false - } - - pm.make(); - - /////// - var pnlLegend = new leimnud.module.panel(); - - pnlLegend.options = { - size: {w: 260, h: 140}, - position: { - x: ((document.body.clientWidth * 95) / 100) - ((document.body.clientWidth * 95) / 100 - (((document.body.clientWidth * 95) / 100) - 260)), - y: 175, - center: false - }, - title: G_STRINGS.ID_COLOR_LEYENDS, - theme: "processmaker", - statusBar: false, - control: {resize: false, roll: false, drag: true, close: false}, - fx: {modal: false, opacity: false, blinkToFront: true, fadeIn: false, drag: false} - }; - - pnlLegend.setStyle = { - content: {overflow: "hidden"} - }; - - pnlLegend.events = { - remove: function () { delete(pnlLegend); }.extend(this) - }; - - pnlLegend.make(); - pnlLegend.loader.show(); - - /////// - var rpcRequest = new leimnud.module.rpc.xmlhttp({ - url : "tracker_Ajax", - args: "action=processMapLegend" - }); - - rpcRequest.callback = function (rpc) { - pnlLegend.loader.hide(); - pnlLegend.addContent(rpc.xmlhttp.responseText); - }.extend(this); - - rpcRequest.make(); - });' ); - G::RenderPage( 'publish' ); - break; - case 'STAGES': - - $oCase = new Cases(); - $aFields = $oCase->loadCase( $_SESSION['APPLICATION'] ); - if (in_array($aFields['PRO_UID'], $bpmnProjects)) { - //bpmb - $_SESSION["APP_UID"] = $aFields["APP_UID"]; - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent( 'view', 'tracker/viewMap' ); - G::RenderPage( 'publish' ); - //note: url processmap "../designer?prj_uid=$_SESSION['PROCESS']&prj_readonly=true&app_uid=$_SESSION['APP_UID']" - break; - } - if (isset( $aFields['TITLE'] )) { - $aFields['APP_TITLE'] = $aFields['TITLE']; - } - if ($aFields['APP_PROC_CODE'] != '') { - $aFields['APP_NUMBER'] = $aFields['APP_PROC_CODE']; - } - $aFields['CASE'] = G::LoadTranslation( 'ID_CASE' ); - $aFields['TITLE'] = G::LoadTranslation( 'ID_TITLE' ); - $oTemplatePower = new TemplatePower( PATH_TPL . 'tracker/stages_Map.html' ); - $oTemplatePower->prepare(); - $G_PUBLISH = new Publisher(); - if ($noShowTitle == 0) { - $G_PUBLISH->AddContent( 'smarty', 'cases/cases_title', '', '', $aFields ); - } - $G_PUBLISH->AddContent( 'template', '', '', '', $oTemplatePower ); - $oHeadPublisher = & headPublisher::getSingleton(); - $oHeadPublisher->addScriptCode( ' - leimnud.Package.Load("stagesmap",{Type:"file",Absolute:true,Path:"/jscore/stagesmap/core/stagesmap.js"}); - leimnud.event.add(window,"load",function(){ - var pb=leimnud.dom.capture("tag.body 0"); - Sm=new stagesmap(); - Sm.options = { - target : "sm_target", - dataServer: "../tracker/tracker_Ajax", - uid : "' . $_SESSION['PROCESS'] . '", - lang : "' . SYS_LANG . '", - theme : "processmaker", - size : {w:"780",h:"540"}, - //size : {w:pb.offsetWidth-10,h:pb.offsetHeight}, - images_dir: "/jscore/processmap/core/images/", - rw : false, - hideMenu : false - }; - Sm.make(); - - /////// - var pnlLegend = new leimnud.module.panel(); - - pnlLegend.options = { - size: {w: 260, h: 140}, - position: { - x: ((document.body.clientWidth * 95) / 100) - ((document.body.clientWidth * 95) / 100 - (((document.body.clientWidth * 95) / 100) - 260)), - y: 175, - center: false - }, - title: G_STRINGS.ID_COLOR_LEYENDS, - theme: "processmaker", - statusBar: false, - control: {resize: false, roll: false, drag: true, close: false}, - fx: {modal: false, opacity: false, blinkToFront: true, fadeIn: false, drag: false} - }; - - pnlLegend.setStyle = { - content: {overflow: "hidden"} - }; - - pnlLegend.events = { - remove: function () { delete(pnlLegend); }.extend(this) - }; - - pnlLegend.make(); - pnlLegend.loader.show(); - - /////// - var rpcRequest = new leimnud.module.rpc.xmlhttp({ - url : "tracker_Ajax", - args: "action=processMapLegend" - }); - - rpcRequest.callback = function (rpc) { - pnlLegend.loader.hide(); - pnlLegend.addContent(rpc.xmlhttp.responseText); - }.extend(this); - - rpcRequest.make(); - - });' ); - G::RenderPage( 'publish' ); - break; -} +. + * + * For more information, contact Colosa Inc, 2566 Le Jeune Rd., + * Coral Gables, FL, 33134, USA, or email info@colosa.com. + */ +/* + * Map for Case Tracker + * + * @author Everth S. Berrios Morales + * + */ +require_once 'classes/model/Process.php'; +if (! isset( $_SESSION['PROCESS'] ) || ! isset( $_SESSION['APPLICATION'] )) { + G::header( 'location: login' ); + die; +} +$G_MAIN_MENU = 'caseTracker'; +$G_ID_MENU_SELECTED = 'MAP'; + +require_once 'classes/model/CaseTracker.php'; +$oCaseTracker = new CaseTracker(); +$aCaseTracker = $oCaseTracker->load( $_SESSION['PROCESS'] ); + +$idProcess = $_SESSION['PROCESS']; +$oProcess = new Process(); +$aProcessFieds = $oProcess->load( $idProcess ); +$noShowTitle = 0; +if (isset( $aProcessFieds['PRO_SHOW_MESSAGE'] )) { + $noShowTitle = $aProcessFieds['PRO_SHOW_MESSAGE']; +} + +// getting bpmn projects +$c = new Criteria('workflow'); +$c->addSelectColumn(BpmnProjectPeer::PRJ_UID); +$ds = ProcessPeer::doSelectRS($c); +$ds->setFetchmode(ResultSet::FETCHMODE_ASSOC); +$bpmnProjects = array(); + +while ($ds->next()) { + $row = $ds->getRow(); + $bpmnProjects[] = $row['PRJ_UID']; +} + +switch (($aCaseTracker['CT_MAP_TYPE'])) { + case 'NONE': + //Nothing + break; + case 'PROCESSMAP': + + $oCase = new Cases(); + $aFields = $oCase->loadCase( $_SESSION['APPLICATION'] ); + if (in_array($aFields['PRO_UID'], $bpmnProjects)) { + //bpmb + $_SESSION["APPLICATION"] = $aFields["APP_UID"]; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'view', 'tracker/viewMap' ); + + $urlTrackerProcessMap = "../designer?prj_uid=" . $_SESSION["PROCESS"] . "&prj_readonly=true&app_uid=" . $_SESSION["APPLICATION"] . "&tracker_designer=1"; + + $_SESSION["TRACKER_JAVASCRIPT"] = " + + "; + + G::RenderPage("publish"); + //note: url processmap "../designer?prj_uid=$_SESSION['PROCESS']&prj_readonly=true&app_uid=$_SESSION['APP_UID']" + + break; + } + if (isset( $aFields['TITLE'] )) { + $aFields['APP_TITLE'] = $aFields['TITLE']; + } + if ($aFields['APP_PROC_CODE'] != '') { + $aFields['APP_NUMBER'] = $aFields['APP_PROC_CODE']; + } + $aFields['CASE'] = G::LoadTranslation( 'ID_CASE' ); + $aFields['TITLE'] = G::LoadTranslation( 'ID_TITLE' ); + $oTemplatePower = new TemplatePower( PATH_TPL . 'processes/processes_Map.html' ); + $oTemplatePower->prepare(); + $G_PUBLISH = new Publisher(); + if ($noShowTitle == 0) { + $G_PUBLISH->AddContent( 'smarty', 'cases/cases_title', '', '', $aFields ); + } + $G_PUBLISH->AddContent( 'template', '', '', '', $oTemplatePower ); + $oHeadPublisher = & headPublisher::getSingleton(); + $oHeadPublisher->addScriptCode( ' + var maximunX = ' . ProcessMap::getMaximunTaskX( $_SESSION['PROCESS'] ) . '; + leimnud.event.add(window,"load",function(){ + var pb = leimnud.dom.capture("tag.body 0"); + pm = new processmap(); + pm.options = { + target : "pm_target", + dataServer: "../processes/processes_Ajax", + uid : "' . $_SESSION['PROCESS'] . '", + lang : "' . SYS_LANG . '", + theme : "processmaker", + size : {w:pb.offsetWidth-10,h:pb.offsetHeight}, + images_dir: "/jscore/processmap/core/images/", + rw : false, + mi : false, + ct : true, + hideMenu : false + } + + pm.make(); + + /////// + var pnlLegend = new leimnud.module.panel(); + + pnlLegend.options = { + size: {w: 260, h: 140}, + position: { + x: ((document.body.clientWidth * 95) / 100) - ((document.body.clientWidth * 95) / 100 - (((document.body.clientWidth * 95) / 100) - 260)), + y: 175, + center: false + }, + title: G_STRINGS.ID_COLOR_LEYENDS, + theme: "processmaker", + statusBar: false, + control: {resize: false, roll: false, drag: true, close: false}, + fx: {modal: false, opacity: false, blinkToFront: true, fadeIn: false, drag: false} + }; + + pnlLegend.setStyle = { + content: {overflow: "hidden"} + }; + + pnlLegend.events = { + remove: function () { delete(pnlLegend); }.extend(this) + }; + + pnlLegend.make(); + pnlLegend.loader.show(); + + /////// + var rpcRequest = new leimnud.module.rpc.xmlhttp({ + url : "tracker_Ajax", + args: "action=processMapLegend" + }); + + rpcRequest.callback = function (rpc) { + pnlLegend.loader.hide(); + pnlLegend.addContent(rpc.xmlhttp.responseText); + }.extend(this); + + rpcRequest.make(); + });' ); + G::RenderPage( 'publish' ); + break; + case 'STAGES': + + $oCase = new Cases(); + $aFields = $oCase->loadCase( $_SESSION['APPLICATION'] ); + if (in_array($aFields['PRO_UID'], $bpmnProjects)) { + //bpmb + $_SESSION["APP_UID"] = $aFields["APP_UID"]; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'view', 'tracker/viewMap' ); + G::RenderPage( 'publish' ); + //note: url processmap "../designer?prj_uid=$_SESSION['PROCESS']&prj_readonly=true&app_uid=$_SESSION['APP_UID']" + break; + } + if (isset( $aFields['TITLE'] )) { + $aFields['APP_TITLE'] = $aFields['TITLE']; + } + if ($aFields['APP_PROC_CODE'] != '') { + $aFields['APP_NUMBER'] = $aFields['APP_PROC_CODE']; + } + $aFields['CASE'] = G::LoadTranslation( 'ID_CASE' ); + $aFields['TITLE'] = G::LoadTranslation( 'ID_TITLE' ); + $oTemplatePower = new TemplatePower( PATH_TPL . 'tracker/stages_Map.html' ); + $oTemplatePower->prepare(); + $G_PUBLISH = new Publisher(); + if ($noShowTitle == 0) { + $G_PUBLISH->AddContent( 'smarty', 'cases/cases_title', '', '', $aFields ); + } + $G_PUBLISH->AddContent( 'template', '', '', '', $oTemplatePower ); + $oHeadPublisher = & headPublisher::getSingleton(); + $oHeadPublisher->addScriptCode( ' + leimnud.Package.Load("stagesmap",{Type:"file",Absolute:true,Path:"/jscore/stagesmap/core/stagesmap.js"}); + leimnud.event.add(window,"load",function(){ + var pb=leimnud.dom.capture("tag.body 0"); + Sm=new stagesmap(); + Sm.options = { + target : "sm_target", + dataServer: "../tracker/tracker_Ajax", + uid : "' . $_SESSION['PROCESS'] . '", + lang : "' . SYS_LANG . '", + theme : "processmaker", + size : {w:"780",h:"540"}, + //size : {w:pb.offsetWidth-10,h:pb.offsetHeight}, + images_dir: "/jscore/processmap/core/images/", + rw : false, + hideMenu : false + }; + Sm.make(); + + /////// + var pnlLegend = new leimnud.module.panel(); + + pnlLegend.options = { + size: {w: 260, h: 140}, + position: { + x: ((document.body.clientWidth * 95) / 100) - ((document.body.clientWidth * 95) / 100 - (((document.body.clientWidth * 95) / 100) - 260)), + y: 175, + center: false + }, + title: G_STRINGS.ID_COLOR_LEYENDS, + theme: "processmaker", + statusBar: false, + control: {resize: false, roll: false, drag: true, close: false}, + fx: {modal: false, opacity: false, blinkToFront: true, fadeIn: false, drag: false} + }; + + pnlLegend.setStyle = { + content: {overflow: "hidden"} + }; + + pnlLegend.events = { + remove: function () { delete(pnlLegend); }.extend(this) + }; + + pnlLegend.make(); + pnlLegend.loader.show(); + + /////// + var rpcRequest = new leimnud.module.rpc.xmlhttp({ + url : "tracker_Ajax", + args: "action=processMapLegend" + }); + + rpcRequest.callback = function (rpc) { + pnlLegend.loader.hide(); + pnlLegend.addContent(rpc.xmlhttp.responseText); + }.extend(this); + + rpcRequest.make(); + + });' ); + G::RenderPage( 'publish' ); + break; +} diff --git a/workflow/engine/methods/triggers/triggers_Save.php b/workflow/engine/methods/triggers/triggers_Save.php index 735307f86..7f23af6c5 100644 --- a/workflow/engine/methods/triggers/triggers_Save.php +++ b/workflow/engine/methods/triggers/triggers_Save.php @@ -48,7 +48,7 @@ if (isset( $sfunction ) && $sfunction == 'lookforNameTrigger') { try { $oTrigger = new Triggers(); - $oProcessMap = new processMap( new DBConnection() ); + $oProcessMap = new ProcessMap( new DBConnection() ); if (isset( $_POST['form'] )) { $value = $_POST['form']; } else { diff --git a/workflow/engine/methods/triggers/triggers_WizardSave.php b/workflow/engine/methods/triggers/triggers_WizardSave.php index e5e4e2ff0..b002f787d 100644 --- a/workflow/engine/methods/triggers/triggers_WizardSave.php +++ b/workflow/engine/methods/triggers/triggers_WizardSave.php @@ -28,7 +28,7 @@ if (($RBAC_Response = $RBAC->userCanAccess("PM_FACTORY")) != 1) { require_once ('classes/model/Triggers.php'); $oTrigger = new Triggers(); -$oProcessMap = new processMap(new DBConnection()); +$oProcessMap = new ProcessMap(new DBConnection()); $aDataTriggers = $_POST; diff --git a/workflow/engine/methods/triggers/triggers_WizardUpdate.php b/workflow/engine/methods/triggers/triggers_WizardUpdate.php index 4ec08062f..676350cb3 100644 --- a/workflow/engine/methods/triggers/triggers_WizardUpdate.php +++ b/workflow/engine/methods/triggers/triggers_WizardUpdate.php @@ -30,7 +30,7 @@ if (!class_exists('Triggers')) { } $oTrigger = new Triggers(); -$oProcessMap = new processMap(new DBConnection()); +$oProcessMap = new ProcessMap(new DBConnection()); $aDataTriggers = $_POST; $triUid = $_POST['TRI_UID']; diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/FilesManager.php b/workflow/engine/src/ProcessMaker/BusinessModel/FilesManager.php index 4f2d63be5..1d8ad5880 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/FilesManager.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/FilesManager.php @@ -608,7 +608,7 @@ class FilesManager $sMainDirectory = 'public'; } if (file_exists($path)) { - $oProcessMap = new \processMap(new \DBConnection()); + $oProcessMap = new \ProcessMap(new \DBConnection()); $oProcessMap->downloadFile($sProcessUID,$sMainDirectory,$sSubDirectory,$sFile); die(); } else { diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Light/Tracker.php b/workflow/engine/src/ProcessMaker/BusinessModel/Light/Tracker.php index 3e22f60d5..66860e131 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Light/Tracker.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Light/Tracker.php @@ -192,7 +192,7 @@ class Tracker public function objects($idProcess, $appUid) { - $oProcessMap = new \processMap(); + $oProcessMap = new \ProcessMap(); $oCase = new \Cases(); diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/OutputDocument.php b/workflow/engine/src/ProcessMaker/BusinessModel/OutputDocument.php index c61f05e91..83a404309 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/OutputDocument.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/OutputDocument.php @@ -329,7 +329,7 @@ class OutputDocument $oOP = new \ObjectPermission(); $oOP->removeByObject( 'OUTPUT', $sOutputDocumentUID ); //refresh dbarray with the last change in outputDocument - $oMap = new \processMap(); + $oMap = new \ProcessMap(); $oCriteria = $oMap->getOutputDocumentsCriteria( $fields['PRO_UID'] ); } catch (\Exception $e) { throw $e; diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Process.php b/workflow/engine/src/ProcessMaker/BusinessModel/Process.php index b048daac6..f903725ca 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Process.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Process.php @@ -706,7 +706,7 @@ class Process { //Copy of processmaker/workflow/engine/methods/processes/processes_Ajax.php //case 'saveNewPattern': - $processMap = new \processMap(); + $processMap = new \ProcessMap(); if ($type != "SEQUENTIAL" && $type != "SEC-JOIN" && $type != "DISCRIMINATOR") { if ($processMap->getNumberOfRoutes($processUid, $taskUid, $nextTaskUid, $type) > 0) { @@ -1046,7 +1046,7 @@ class Process ); //Load data - $processMap = new \processMap(); + $processMap = new \ProcessMap(); $arrayData = (array)(\Bootstrap::json_decode($processMap->load($processUid))); diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/ProcessSupervisor.php b/workflow/engine/src/ProcessMaker/BusinessModel/ProcessSupervisor.php index 41d566bb1..34d80989c 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/ProcessSupervisor.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/ProcessSupervisor.php @@ -1140,7 +1140,7 @@ class ProcessSupervisor try { $oDynaformSupervidor = \StepSupervisorPeer::retrieveByPK($sPudUID); if (!is_null($oDynaformSupervidor)) { - $oProcessMap = new \processMap(); + $oProcessMap = new \ProcessMap(); $oProcessMap->removeSupervisorStep( $oDynaformSupervidor->getStepUid(), $sProcessUID, 'DYNAFORM', $oDynaformSupervidor->getStepUidObj(), $oDynaformSupervidor->getStepPosition() ); } else { throw new \Exception(\G::LoadTranslation("ID_ROW_DOES_NOT_EXIST")); @@ -1162,7 +1162,7 @@ class ProcessSupervisor try { $oInputDocumentSupervidor = \StepSupervisorPeer::retrieveByPK($sPuiUID); if (!is_null($oInputDocumentSupervidor)) { - $oProcessMap = new \processMap(); + $oProcessMap = new \ProcessMap(); $oProcessMap->removeSupervisorStep( $oInputDocumentSupervidor->getStepUid(), $sProcessUID, 'INPUT_DOCUMENT', $oInputDocumentSupervidor->getStepUidObj(), $oInputDocumentSupervidor->getStepPosition() ); } else { throw new \Exception(\G::LoadTranslation("ID_ROW_DOES_NOT_EXIST")); diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/ReportTable.php b/workflow/engine/src/ProcessMaker/BusinessModel/ReportTable.php index 7f39e6556..4e2f7c5ef 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/ReportTable.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/ReportTable.php @@ -251,7 +251,7 @@ class ReportTable $arrayError = []; //Ask for all Process - $processMap = new \processMap(); + $processMap = new \ProcessMap(); $arrayProcessUid = []; foreach (\G::json_decode($processMap->getAllProcesses()) as $value) {