. * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. * */ try { G::LoadClass('tree'); G::LoadClass('processMap'); //call plugin $oPluginRegistry = &PMPluginRegistry::getSingleton(); $externalSteps = $oPluginRegistry->getSteps(); $oProcessMap = new ProcessMap(); $oTree = new Tree(); $oTree->nodeType = 'blank'; $oTree->name = 'Triggers'; $oTree->showSign = false; $oCriteria = new Criteria('workflow'); $oCriteria->add(StepPeer::PRO_UID, $_SESSION['PROCESS']); $oCriteria->add(StepPeer::TAS_UID, $_SESSION['TASK']); $oCriteria->addAscendingOrderByColumn(StepPeer::STEP_POSITION); $oDataset = StepPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $i = 0; while ($aRow = $oDataset->getRow()) { switch ($aRow['STEP_TYPE_OBJ']) { case 'DYNAFORM': require_once 'classes/model/Dynaform.php'; $oObject = new Dynaform(); $aFields = $oObject->load($aRow['STEP_UID_OBJ']); $aRow['STEP_NAME'] = $aFields['DYN_TITLE']; break; case 'INPUT_DOCUMENT': require_once 'classes/model/InputDocument.php'; $oObject = new InputDocument(); $aFields = $oObject->load($aRow['STEP_UID_OBJ']); $aRow['STEP_NAME'] = $aFields['INP_DOC_TITLE']; break; case 'OUTPUT_DOCUMENT': require_once 'classes/model/OutputDocument.php'; $oObject = new OutputDocument(); $aFields = $oObject->load($aRow['STEP_UID_OBJ']); $aRow['STEP_NAME'] = $aFields['OUT_DOC_TITLE']; break; case 'EXTERNAL': $aRow['STEP_NAME'] = 'unknown ' . $aRow['STEP_UID']; foreach ( $externalSteps as $key=>$val ) { if ( $val->sStepId == $aRow['STEP_UID_OBJ'] ) $aRow['STEP_NAME'] = $val->sStepTitle; } break; } $oCriteria = $oProcessMap->getStepTriggersCriteria($aRow['STEP_UID'], $_SESSION['TASK'], 'BEFORE'); $iCantidad1 = StepTriggerPeer::doCount($oCriteria); $oCriteria = $oProcessMap->getStepTriggersCriteria($aRow['STEP_UID'], $_SESSION['TASK'], 'AFTER'); $iCantidad2 = StepTriggerPeer::doCount($oCriteria); $oNode =& $oTree->addChild($aRow['STEP_UID'], '  ' . $aRow['STEP_NAME'] . ' - ' . G::LoadTranslation('ID_TRIGGERS'). ' (' . ($iCantidad1 + $iCantidad2) . ')' . '', array('nodeType'=>'parent')); $oNode->contracted = true; $oAux1 =& $oNode->addChild('before_node', '' . G::LoadTranslation('ID_BEFORE') . ' - ' . G::LoadTranslation('ID_TRIGGERS'). ' ('. $iCantidad1 .') ', array('nodeType'=>'parent')); $oAux1->plus = ""; $oAux1->contracted = true; $oAux2 =& $oAux1->addChild($aRow['STEP_UID'] . '_before_node', '', array('nodeType'=>'parentBlue')); $oAux1 =& $oNode->addChild('after_node', '' . G::LoadTranslation('ID_AFTER') . ' - ' . G::LoadTranslation('ID_TRIGGERS'). ' ('. $iCantidad2 .') ', array('nodeType'=>'parent')); $oAux1->plus = ""; $oAux1->contracted = true; $oAux2 =& $oAux1->addChild($aRow['STEP_UID'] . '_after_node', '', array('nodeType'=>'parentBlue')); $oDataset->next(); } $oCriteria = $oProcessMap->getStepTriggersCriteria(-1, $_SESSION['TASK'], 'BEFORE'); $iCantidad1 = StepTriggerPeer::doCount($oCriteria); $oCriteria = $oProcessMap->getStepTriggersCriteria(-2, $_SESSION['TASK'], 'BEFORE'); $iCantidad2 = StepTriggerPeer::doCount($oCriteria); $oCriteria = $oProcessMap->getStepTriggersCriteria(-2, $_SESSION['TASK'], 'AFTER'); $iCantidad3 = StepTriggerPeer::doCount($oCriteria); $oNode =& $oTree->addChild('-1', '  [ ' . G::LoadTranslation('ID_ASSIGN_TASK') . ' ] ' . ' - ' . G::LoadTranslation('ID_TRIGGERS'). ' (' . ($iCantidad1 + $iCantidad2 + $iCantidad3) . ')' . '', array('nodeType'=>'parent')); $oNode->contracted = true; $oAux1 =& $oNode->addChild('before_node', '' . G::LoadTranslation('ID_BEFORE_ASSIGNMENT') . ' - ' . G::LoadTranslation('ID_TRIGGERS'). ' ('. $iCantidad1 .') ', array('nodeType'=>'parent')); $oAux1->plus = ""; $oAux1->contracted = true; $oAux2 =& $oAux1->addChild('-1_before_node', '', array('nodeType'=>'parentBlue')); $oAux1 =& $oNode->addChild('before_node', '' . G::LoadTranslation('ID_BEFORE_DERIVATION') . ' - ' . G::LoadTranslation('ID_TRIGGERS'). ' ('. $iCantidad2 .') ', array('nodeType'=>'parent')); $oAux1->plus = ""; $oAux1->contracted = true; $oAux2 =& $oAux1->addChild('-2_before_node', '', array('nodeType'=>'parentBlue')); $oAux1 =& $oNode->addChild('after_node', '' . G::LoadTranslation('ID_AFTER_DERIVATION') . ' - ' . G::LoadTranslation('ID_TRIGGERS'). ' ('. $iCantidad3 .') ', array('nodeType'=>'parent')); $oAux1->plus = ""; $oAux1->contracted = true; $oAux2 =& $oAux1->addChild('-2_after_node', '', array('nodeType'=>'parentBlue')); $javascript = " "; echo $javascript . $oTree->render(); } catch (Exception $oException) { die($oException->getMessage()); } unset($_SESSION['PROCESS']); ?>