private function getReportParameters() { if (!$this->bean->id) { return array(); } $conditions = $this->bean->get_linked_beans('aor_conditions', 'AOR_Conditions', 'condition_order'); $parameters = array(); foreach ($conditions as $condition) { if (!$condition->parameter) { continue; } $condition->module_path = implode(":", unserialize(base64_decode($condition->module_path))); if ($condition->value_type == 'Date') { $condition->value = unserialize(base64_decode($condition->value)); } $condition_item = $condition->toArray(); $display = getDisplayForField($condition->module_path, $condition->field, $this->bean->report_module); $condition_item['module_path_display'] = $display['module']; $condition_item['field_label'] = $display['field']; if (!empty($this->bean->user_parameters[$condition->id])) { $param = $this->bean->user_parameters[$condition->id]; $condition_item['operator'] = $param['operator']; $condition_item['value_type'] = $param['type']; $condition_item['value'] = $param['value']; } if (isset($parameters[$condition_item['condition_order']])) { $parameters[] = $condition_item; } else { $parameters[$condition_item['condition_order']] = $condition_item; } } return $parameters; }
function getConditionsAsParameters($report, $override = array()) { if (empty($report)) { return array(); } global $app_list_strings; $conditions = array(); foreach ($report->get_linked_beans('aor_conditions', 'AOR_Conditions') as $key => $condition) { if (!$condition->parameter) { continue; } $path = unserialize(base64_decode($condition->module_path)); $field_module = $report->report_module; if ($path[0] != $report->report_module) { foreach ($path as $rel) { if (empty($rel)) { continue; } $field_module = getRelatedModule($field_module, $rel); } } $additionalConditions = unserialize(base64_decode($condition->value)); $value = isset($override[$condition->id]['value']) ? $override[$condition->id]['value'] : ($value = $condition->value); $field = getModuleField($field_module, $condition->field, "parameter_value[{$key}]", 'EditView', $value); $disp = getDisplayForField($path, $condition->field, $report->report_module); $conditions[] = array('id' => $condition->id, 'operator' => $condition->operator, 'operator_display' => $app_list_strings['aor_operator_list'][$condition->operator], 'value_type' => $condition->value_type, 'value' => $value, 'field_display' => $disp['field'], 'module_display' => $disp['module'], 'field' => $field, 'additionalConditions' => $additionalConditions); } return $conditions; }
private function getFieldLines() { if (!$this->bean->id) { return array(); } $sql = "SELECT id FROM aor_fields WHERE aor_report_id = '" . $this->bean->id . "' AND deleted = 0 ORDER BY field_order ASC"; $result = $this->bean->db->query($sql); $fields = array(); while ($row = $this->bean->db->fetchByAssoc($result)) { $field_name = new AOR_Field(); $field_name->retrieve($row['id']); $field_name->module_path = implode(":", unserialize(base64_decode($field_name->module_path))); $arr = $field_name->toArray(); $arr['field_type'] = $this->getDisplayForField($field_name->module_path, $field_name->field, $this->bean->report_module); $display = getDisplayForField($field_name->module_path, $field_name->field, $this->bean->report_module); $arr['module_path_display'] = $display['module']; $arr['field_label'] = $display['field']; $fields[] = $arr; } return $fields; }