Example #1
0
 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;
 }
Example #2
0
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;
}
Example #3
0
 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;
 }