grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026 */ require_once("modules/AOW_WorkFlow/aow_utils.php"); class AOW_WorkFlowController extends SugarController { protected function action_getModuleFields() { if (!empty($_REQUEST['aow_module']) && $_REQUEST['aow_module'] != '') { if (isset($_REQUEST['rel_field']) && $_REQUEST['rel_field'] != '') { $module = getRelatedModule($_REQUEST['aow_module'], $_REQUEST['rel_field']); } else { $module = $_REQUEST['aow_module']; } $override = array(); if (isset($_REQUEST['override']) && is_array($_REQUEST['override'])) { $override = $_REQUEST['override']; } $view = isset($_REQUEST['view']) ? $_REQUEST['view'] : 'EditView'; $value = isset($_REQUEST['aow_value']) ? $_REQUEST['aow_value'] : ''; echo getModuleFields($module, $view, $value, array(), $override); } die; } protected function action_getRelatedModule() { if (!empty($_REQUEST['aow_module']) && $_REQUEST['aow_module'] != '') { if (isset($_REQUEST['rel_field']) && $_REQUEST['rel_field'] != '') { $module = getRelatedModule($_REQUEST['aow_module'], $_REQUEST['rel_field']); } else { $module = $_REQUEST['aow_module']; } echo htmlspecialchars($module); } die; } protected function action_getModuleRelationships() { if (!empty($_REQUEST['aow_module']) && $_REQUEST['aow_module'] != '') { if (isset($_REQUEST['rel_field']) && $_REQUEST['rel_field'] != '') { $module = getRelatedModule($_REQUEST['aow_module'], $_REQUEST['rel_field']); } else { $module = $_REQUEST['aow_module']; } echo getModuleRelationships($module); } die; } protected function action_getModuleOperatorField() { global $app_list_strings, $beanFiles, $beanList; if (isset($_REQUEST['rel_field']) && $_REQUEST['rel_field'] != '') { $module = getRelatedModule($_REQUEST['aow_module'], $_REQUEST['rel_field']); } else { $module = $_REQUEST['aow_module']; } $fieldname = $_REQUEST['aow_fieldname']; $aow_field = $_REQUEST['aow_newfieldname']; if (isset($_REQUEST['view'])) { $view = $_REQUEST['view']; } else { $view= 'EditView'; } if (isset($_REQUEST['aow_value'])) { $value = $_REQUEST['aow_value']; } else { $value = ''; } require_once($beanFiles[$beanList[$module]]); $focus = new $beanList[$module]; $vardef = $focus->getFieldDefinition($fieldname); if ($vardef) { switch ($vardef['type']) { case 'double': case 'decimal': case 'float': case 'currency': $valid_opp = array('Equal_To','Not_Equal_To','Greater_Than','Less_Than','Greater_Than_or_Equal_To','Less_Than_or_Equal_To','is_null'); break; case 'uint': case 'ulong': case 'long': case 'short': case 'tinyint': case 'int': $valid_opp = array('Equal_To','Not_Equal_To','Greater_Than','Less_Than','Greater_Than_or_Equal_To','Less_Than_or_Equal_To','is_null'); break; case 'date': case 'datetime': case 'datetimecombo': $valid_opp = array('Equal_To','Not_Equal_To','Greater_Than','Less_Than','Greater_Than_or_Equal_To','Less_Than_or_Equal_To','is_null'); break; case 'enum': case 'multienum': $valid_opp = array('Equal_To','Not_Equal_To','is_null'); break; default: $valid_opp = array('Equal_To','Not_Equal_To','Contains', 'Starts_With', 'Ends_With','is_null'); break; } foreach ($app_list_strings['aow_operator_list'] as $key => $keyValue) { if (!in_array($key, $valid_opp)) { unset($app_list_strings['aow_operator_list'][$key]); } } $app_list_strings['aow_operator_list']; if ($view == 'EditView') { echo ""; } else { echo $app_list_strings['aow_operator_list'][$value]; } } die; } protected function action_getFieldTypeOptions() { global $app_list_strings, $beanFiles, $beanList; if (isset($_REQUEST['rel_field']) && $_REQUEST['rel_field'] != '') { $module = getRelatedModule($_REQUEST['aow_module'], $_REQUEST['rel_field']); } else { $module = $_REQUEST['aow_module']; } $fieldname = $_REQUEST['aow_fieldname']; $aow_field = $_REQUEST['aow_newfieldname']; if (isset($_REQUEST['view'])) { $view = $_REQUEST['view']; } else { $view= 'EditView'; } if (isset($_REQUEST['aow_value'])) { $value = $_REQUEST['aow_value']; } else { $value = ''; } require_once($beanFiles[$beanList[$module]]); $focus = new $beanList[$module]; $vardef = $focus->getFieldDefinition($fieldname); switch ($vardef['type']) { case 'double': case 'decimal': case 'float': case 'currency': $valid_opp = array('Value','Field','Any_Change'); break; case 'uint': case 'ulong': case 'long': case 'short': case 'tinyint': case 'int': $valid_opp = array('Value','Field','Any_Change'); break; case 'date': case 'datetime': case 'datetimecombo': $valid_opp = array('Value','Field','Any_Change','Date'); break; case 'enum': case 'dynamicenum': case 'multienum': $valid_opp = array('Value','Field','Any_Change', 'Multi'); break; case 'relate': case 'id': $valid_opp = array('Value','Field','Any_Change', 'SecurityGroup'); break; default: $valid_opp = array('Value','Field','Any_Change'); break; } if (!file_exists('modules/SecurityGroups/SecurityGroup.php')) { unset($app_list_strings['aow_condition_type_list']['SecurityGroup']); } foreach ($app_list_strings['aow_condition_type_list'] as $key => $keyValue) { if (!in_array($key, $valid_opp)) { unset($app_list_strings['aow_condition_type_list'][$key]); } } if ($view == 'EditView') { echo ""; } else { echo $app_list_strings['aow_condition_type_list'][$value]; } die; } protected function action_getActionFieldTypeOptions() { global $app_list_strings, $beanFiles, $beanList; $module = $_REQUEST['aow_module']; $fieldname = $_REQUEST['aow_fieldname']; $aow_field = $_REQUEST['aow_newfieldname']; if (isset($_REQUEST['view'])) { $view = $_REQUEST['view']; } else { $view= 'EditView'; } if (isset($_REQUEST['aow_value'])) { $value = $_REQUEST['aow_value']; } else { $value = ''; } require_once($beanFiles[$beanList[$module]]); $focus = new $beanList[$module]; $vardef = $focus->getFieldDefinition($fieldname); switch ($vardef['type']) { case 'double': case 'decimal': case 'float': case 'currency': $valid_opp = array('Value','Field'); break; case 'uint': case 'ulong': case 'long': case 'short': case 'tinyint': case 'int': $valid_opp = array('Value','Field'); break; case 'date': case 'datetime': case 'datetimecombo': $valid_opp = array('Value','Field', 'Date'); break; case 'enum': case 'multienum': $valid_opp = array('Value','Field'); break; case 'relate': $valid_opp = array('Value','Field'); if ($vardef['module'] == 'Users') { $valid_opp = array('Value','Field','Round_Robin','Least_Busy','Random'); } break; default: $valid_opp = array('Value','Field'); break; } foreach ($app_list_strings['aow_action_type_list'] as $key => $keyValue) { if (!in_array($key, $valid_opp)) { unset($app_list_strings['aow_action_type_list'][$key]); } } if ($view == 'EditView') { echo ""; } else { echo $app_list_strings['aow_action_type_list'][$value]; } die; } protected function action_getModuleFieldType() { if (isset($_REQUEST['rel_field']) && $_REQUEST['rel_field'] != '') { $rel_module = getRelatedModule($_REQUEST['aow_module'], $_REQUEST['rel_field']); } else { $rel_module = $_REQUEST['aow_module']; } $module = $_REQUEST['aow_module']; $fieldname = $_REQUEST['aow_fieldname']; $aow_field = $_REQUEST['aow_newfieldname']; if (isset($_REQUEST['view'])) { $view = $_REQUEST['view']; } else { $view= 'EditView'; } if (isset($_REQUEST['aow_value'])) { $value = $_REQUEST['aow_value']; } else { $value = ''; } switch ($_REQUEST['aow_type']) { case 'Field': if (isset($_REQUEST['alt_module']) && $_REQUEST['alt_module'] != '') { $module = $_REQUEST['alt_module']; } if ($view == 'EditView') { echo ""; } else { echo getModuleFields($module, $view, $value); } break; case 'Any_Change': echo ''; break; case 'Date': echo getDateField($module, $aow_field, $view, $value, false); break; case 'Multi': echo getModuleField($rel_module, $fieldname, $aow_field, $view, $value, 'multienum'); break; case 'SecurityGroup': $module = 'Accounts'; $fieldname = 'SecurityGroups'; // no break case 'Value': default: echo getModuleField($rel_module, $fieldname, $aow_field, $view, $value); break; } die; } protected function action_getModuleFieldTypeSet() { $module = $_REQUEST['aow_module']; $fieldname = $_REQUEST['aow_fieldname']; $aow_field = $_REQUEST['aow_newfieldname']; if (isset($_REQUEST['view'])) { $view = $_REQUEST['view']; } else { $view= 'EditView'; } if (isset($_REQUEST['aow_value'])) { $value = $_REQUEST['aow_value']; } else { $value = ''; } switch ($_REQUEST['aow_type']) { case 'Field': $valid_fields = getValidFieldsTypes($module, $fieldname); if (isset($_REQUEST['alt_module']) && $_REQUEST['alt_module'] != '') { $module = $_REQUEST['alt_module']; } if ($view == 'EditView') { echo ""; } else { echo getModuleFields($module, $view, $value); } break; case 'Date': if (isset($_REQUEST['alt_module']) && $_REQUEST['alt_module'] != '') { $module = $_REQUEST['alt_module']; } echo getDateField($module, $aow_field, $view, $value); break; case 'Round_Robin': case 'Least_Busy': case 'Random': echo getAssignField($aow_field, $view, $value); break; case 'Value': default: echo getModuleField($module, $fieldname, $aow_field, $view, $value); break; } die; } protected function action_getModuleField() { if (isset($_REQUEST['view'])) { $view = $_REQUEST['view']; } else { $view= 'EditView'; } if (isset($_REQUEST['aow_value'])) { $value = $_REQUEST['aow_value']; } else { $value = ''; } echo getModuleField($_REQUEST['aow_module'], $_REQUEST['aow_fieldname'], $_REQUEST['aow_newfieldname'], $view, $value); die; } protected function action_getRelFieldTypeSet() { $module = $_REQUEST['aow_module']; $fieldname = $_REQUEST['aow_fieldname']; $aow_field = $_REQUEST['aow_newfieldname']; if (isset($_REQUEST['view'])) { $view = $_REQUEST['view']; } else { $view= 'EditView'; } if (isset($_REQUEST['aow_value'])) { $value = $_REQUEST['aow_value']; } else { $value = ''; } switch ($_REQUEST['aow_type']) { case 'Field': if (isset($_REQUEST['alt_module']) && $_REQUEST['alt_module'] != '') { $module = $_REQUEST['alt_module']; } if ($view == 'EditView') { echo ""; } else { echo getModuleFields($module, $view, $value); } break; case 'Value': default: echo getModuleField($module, $fieldname, $aow_field, $view, $value); break; } die; } protected function action_getRelActionFieldTypeOptions() { global $app_list_strings, $beanFiles, $beanList; $module = $_REQUEST['aow_module']; $alt_module = $_REQUEST['alt_module']; $fieldname = $_REQUEST['aow_fieldname']; $aow_field = $_REQUEST['aow_newfieldname']; if (isset($_REQUEST['view'])) { $view = $_REQUEST['view']; } else { $view= 'EditView'; } if (isset($_REQUEST['aow_value'])) { $value = $_REQUEST['aow_value']; } else { $value = ''; } require_once($beanFiles[$beanList[$module]]); $focus = new $beanList[$module]; $vardef = $focus->getFieldDefinition($fieldname); /*if($vardef['module'] == $alt_module){ $valid_opp = array('Value','Field'); } else{ $valid_opp = array('Value'); }*/ $valid_opp = array('Value','Field'); foreach ($app_list_strings['aow_rel_action_type_list'] as $key => $keyValue) { if (!in_array($key, $valid_opp)) { unset($app_list_strings['aow_rel_action_type_list'][$key]); } } if ($view == 'EditView') { echo ""; } else { echo $app_list_strings['aow_rel_action_type_list'][$value]; } die; } protected function action_getAction() { global $beanList, $beanFiles; $action_name = 'action'.$_REQUEST['aow_action']; $line = $_REQUEST['line']; if ($_REQUEST['aow_module'] == '' || !isset($beanList[$_REQUEST['aow_module']])) { echo ''; die; } if (file_exists('custom/modules/AOW_Actions/actions/'.$action_name.'.php')) { require_once('custom/modules/AOW_Actions/actions/'.$action_name.'.php'); } else { if (file_exists('modules/AOW_Actions/actions/'.$action_name.'.php')) { require_once('modules/AOW_Actions/actions/'.$action_name.'.php'); } else { echo ''; die; } } $custom_action_name = "custom" . $action_name; if (class_exists($custom_action_name)) { $action_name = $custom_action_name; } $id = ''; $params = array(); if (isset($_REQUEST['id'])) { require_once('modules/AOW_Actions/AOW_Action.php'); $aow_action = new AOW_Action(); $aow_action->retrieve($_REQUEST['id']); $id = $aow_action->id; $params = unserialize(base64_decode($aow_action->parameters)); } $action = new $action_name($id); require_once($beanFiles[$beanList[$_REQUEST['aow_module']]]); $bean = new $beanList[$_REQUEST['aow_module']]; echo $action->edit_display($line, $bean, $params); die; } protected function action_getEmailField() { $module = $_REQUEST['aow_module']; $aow_field = $_REQUEST['aow_newfieldname']; if (isset($_REQUEST['view'])) { $view = $_REQUEST['view']; } else { $view= 'EditView'; } if (isset($_REQUEST['aow_value'])) { $value = $_REQUEST['aow_value']; } else { $value = ''; } switch ($_REQUEST['aow_type']) { case 'Record Email': echo ''; break; case 'Related Field': $rel_field_list = getRelatedEmailableFields($module); if ($view == 'EditView') { echo ""; } else { echo $rel_field_list[$value]; } break; case 'Specify User': echo getModuleField('Accounts', 'assigned_user_name', $aow_field, $view, $value); break; case 'Users': echo getAssignField($aow_field, $view, $value); break; case 'Email Address': default: if ($view == 'EditView') { echo ""; } else { echo $value; } break; } die; } protected function action_testFlow() { echo 'Started
'; require_once('modules/AOW_WorkFlow/AOW_WorkFlow.php'); $workflow = new AOW_WorkFlow(); if ($workflow->run_flows()) { echo 'PASSED'; } } }