function fetchAllowedWorkflows() { $connectionType = '*'; if ($this->attribute('connect_type') == 'b') { $connectionType = 'before'; } else { if ($this->attribute('connect_type') == 'a') { $connectionType = 'after'; } } return eZWorkflow::fetchLimited($this->attribute('module_name'), $this->attribute('function_name'), $connectionType); }
$explodedOperation = explode('_', $operation); $i = 0; if (sizeof($explodedOperation) >= 3) { if (strcmp($explodedOperation[$i], "before") == 0 || strcmp($explodedOperation[$i], "after") == 0) { $moduleParts = array($explodedOperation[$i++]); } } else { $moduleParts = array("before", "after"); } foreach ($moduleParts as $trigger['connect_type']) { $trigger['module'] = $explodedOperation[$i]; // $i is either 0 or 1 $trigger['operation'] = $explodedOperation[$i + 1]; $trigger['workflow_id'] = 0; $trigger['key'] = $trigger['module'] . '_' . $trigger['operation'] . '_' . $trigger['connect_type'][0]; $trigger['allowed_workflows'] = eZWorkflow::fetchLimited($trigger['module'], $trigger['operation'], $trigger['connect_type']); foreach ($triggers as $existendTrigger) { if ($existendTrigger->attribute('module_name') == $trigger['module'] && $existendTrigger->attribute('function_name') == $trigger['operation'] && $existendTrigger->attribute('connect_type') == $trigger['connect_type'][0]) { $trigger['workflow_id'] = $existendTrigger->attribute('workflow_id'); } } $possibleTriggers[] = $trigger; } } if ($http->hasPostVariable('StoreButton')) { $db = eZDB::instance(); $db->begin(); foreach ($possibleTriggers as $trigger) { if ($http->hasPostVariable('WorkflowID_' . $trigger['key'])) { $workflowID = $http->postVariable('WorkflowID_' . $trigger['key']); if ($workflowID != -1) {