function generateWorkflowTriggers() { require_once KT_LIB_DIR . '/workflow/workflowutil.inc.php'; // get all the transitions, and add a trigger to the util with the appropriate settings. $KTWFTriggerReg =& KTWorkflowTriggerRegistry::getSingleton(); $aTransitions = KTWorkflowTransition::getList(); foreach ($aTransitions as $oTransition) { // guard perm $iGuardPerm = $oTransition->getGuardPermissionId(); if (!is_null($iGuardPerm)) { $sNamespace = 'ktcore.workflowtriggers.permissionguard'; $oPerm = KTPermission::get($iGuardPerm); $oTrigger = $KTWFTriggerReg->getWorkflowTrigger($sNamespace); $oTriggerConfig = KTWorkflowTriggerInstance::createFromArray(array('transitionid' => KTUtil::getId($oTransition), 'namespace' => $sNamespace, 'config' => array('perms' => array($oPerm->getName())))); } // guard group $iGuardGroup = $oTransition->getGuardGroupId(); if (!is_null($iGuardGroup)) { $sNamespace = 'ktcore.workflowtriggers.groupguard'; $oTrigger = $KTWFTriggerReg->getWorkflowTrigger($sNamespace); $oTriggerConfig = KTWorkflowTriggerInstance::createFromArray(array('transitionid' => KTUtil::getId($oTransition), 'namespace' => $sNamespace, 'config' => array('group_id' => $iGuardGroup))); } // guard role $iGuardRole = $oTransition->getGuardRoleId(); if (!is_null($iGuardRole)) { $sNamespace = 'ktcore.workflowtriggers.roleguard'; $oTrigger = $KTWFTriggerReg->getWorkflowTrigger($sNamespace); $oTriggerConfig = KTWorkflowTriggerInstance::createFromArray(array('transitionid' => KTUtil::getId($oTransition), 'namespace' => $sNamespace, 'config' => array('role_id' => $iGuardRole))); } // guard condition $iGuardCondition = $oTransition->getGuardConditionId(); if (!is_null($iGuardCondition)) { $sNamespace = 'ktcore.workflowtriggers.conditionguard'; $oTrigger = $KTWFTriggerReg->getWorkflowTrigger($sNamespace); $oTriggerConfig = KTWorkflowTriggerInstance::createFromArray(array('transitionid' => KTUtil::getId($oTransition), 'namespace' => $sNamespace, 'config' => array('condition_id' => $iGuardCondition))); } } }