.
*
* 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']);
?>