function pathos_workflow_getPolicy($module, $source) { global $db; $assoc = $db->selectObject('approvalpolicyassociation', "module='{$module}' AND source='{$source}' AND is_global=0"); if (!$assoc) { return pathos_workflow_getDefaultPolicy($module); } else { $policy = $db->selectObject('approvalpolicy', 'id=' . $assoc->policy_id); return $policy; } }
} if (!$assoc) { $assoc->policy_id = 0; } if (!defined("SYS_WORKFLOW")) { require_once BASE . "subsystems/workflow.php"; } if (pathos_workflow_moduleUsesDefaultPolicy($_GET['m'], $_GET['s'])) { $assoc->policy_id = 0; } foreach ($db->selectObjects("approvalpolicy") as $pol) { $policies[$pol->id] = $pol->name; } uasort($policies, "strnatcasecmp"); $realpol = array(); $defaultpol = pathos_workflow_getDefaultPolicy($_GET['m']); if ($defaultpol) { $realpol = array(-1 => TR_WORKFLOW_NOPOLICY, 0 => sprintf(TR_WORKFLOW_DEFAULTPOLICY, $defaultpol->name)); } else { $realpol = array(-1 => TR_WORKFLOW_NOPOLICY, 0 => sprintf(TR_WORKFLOW_DEFAULTPOLICY, TR_WORKFLOW_NOPOLICY)); } foreach ($policies as $key => $name) { $realpol[$key] = $name; } $form->register("policy", TR_WORKFLOW_POLICY, new dropdowncontrol($assoc->policy_id, $realpol)); $form->register("submit", "", new buttongroupcontrol(TR_CORE_SAVE)); $form->action = URL_FULL . "modules/workflow/assoc_save.php"; $form->meta("module", "workflow"); $form->meta("action", "assoc_save"); $form->meta("m", $_GET['m']); $form->meta("redirect", $_SERVER['HTTP_REFERER']);