} if (!$assoc) { $assoc->policy_id = 0; } if (!defined('SYS_WORKFLOW')) { include_once BASE . 'subsystems/workflow.php'; } if (exponent_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 = exponent_workflow_getDefaultPolicy($_GET['m']); if ($defaultpol) { $realpol = array(-1 => $i18n['no_policy'], 0 => sprintf($i18n['default_policy'], $defaultpol->name)); } else { $realpol = array(-1 => $i18n['no_policy'], 0 => sprintf($i18n['default_policy'], $i18n['no_policy'])); } foreach ($policies as $key => $name) { $realpol[$key] = $name; } $form->register('policy', $i18n['policy'], new dropdowncontrol($assoc->policy_id, $realpol)); $form->register('submit', '', new buttongroupcontrol($i18n['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']);
function exponent_workflow_getPolicy($module, $source) { global $db; $assoc = $db->selectObject('approvalpolicyassociation', "module='{$module}' AND source='{$source}' AND is_global=0"); if (!$assoc) { return exponent_workflow_getDefaultPolicy($module); } else { $policy = $db->selectObject('approvalpolicy', 'id=' . $assoc->policy_id); return $policy; } }