Beispiel #1
0
 function build_report_csv()
 {
     ini_set('zlib.output_compression', 'Off');
     ob_start();
     require_once 'include/export_utils.php';
     $delimiter = getDelimiter();
     $csv = '';
     //text/comma-separated-values
     $sql = "SELECT id FROM aor_fields WHERE aor_report_id = '" . $this->id . "' AND deleted = 0 ORDER BY field_order ASC";
     $result = $this->db->query($sql);
     $fields = array();
     $i = 0;
     while ($row = $this->db->fetchByAssoc($result)) {
         $field = new AOR_Field();
         $field->retrieve($row['id']);
         $path = unserialize(base64_decode($field->module_path));
         $field_module = $this->report_module;
         if ($path[0] != $this->report_module) {
             foreach ($path as $rel) {
                 $field_module = getRelatedModule($field_module, $rel);
             }
         }
         $label = str_replace(' ', '_', $field->label) . $i;
         $fields[$label]['field'] = $field->field;
         $fields[$label]['display'] = $field->display;
         $fields[$label]['function'] = $field->field_function;
         $fields[$label]['module'] = $field_module;
         if ($field->display) {
             $csv .= $this->encloseForCSV($field->label);
             $csv .= $delimiter;
         }
         ++$i;
     }
     $sql = $this->build_report_query();
     $result = $this->db->query($sql);
     while ($row = $this->db->fetchByAssoc($result)) {
         $csv .= "\r\n";
         foreach ($fields as $name => $att) {
             if ($att['display']) {
                 if ($att['function'] != '') {
                     $csv .= $this->encloseForCSV($row[$name]);
                 } else {
                     $csv .= $this->encloseForCSV(trim(strip_tags(getModuleField($att['module'], $att['field'], $att['field'], 'DetailView', $row[$name]))));
                 }
                 $csv .= $delimiter;
             }
         }
     }
     $csv = $GLOBALS['locale']->translateCharset($csv, 'UTF-8', $GLOBALS['locale']->getExportCharset());
     ob_clean();
     header("Pragma: cache");
     header("Content-type: text/comma-separated-values; charset=" . $GLOBALS['locale']->getExportCharset());
     header("Content-Disposition: attachment; filename={$this->name}.csv");
     header("Content-transfer-encoding: binary");
     header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
     header("Last-Modified: " . TimeDate::httpTime());
     header("Cache-Control: post-check=0, pre-check=0", false);
     header("Content-Length: " . mb_strlen($csv, '8bit'));
     if (!empty($sugar_config['export_excel_compatible'])) {
         $csv == chr(255) . chr(254) . mb_convert_encoding($csv, 'UTF-16LE', 'UTF-8');
     }
     print $csv;
     sugar_cleanup(true);
 }
Beispiel #2
0
 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 "<select type='text' style='width:178px;' name='{$aow_field}' id='{$aow_field}' title='' tabindex='116'>" . get_select_options_with_id($rel_field_list, $value) . "</select>";
             } 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 "<input type='text' name='{$aow_field}' id='{$aow_field}' size='25' title='' tabindex='116' value='{$value}'>";
             } else {
                 echo $value;
             }
             break;
     }
     die;
 }
Beispiel #3
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;
}
Beispiel #4
0
 protected function action_getRelFieldTypeSet()
 {
     $module = $_REQUEST['aor_module'];
     $fieldname = $_REQUEST['aor_fieldname'];
     $aor_field = $_REQUEST['aor_newfieldname'];
     if (isset($_REQUEST['view'])) {
         $view = $_REQUEST['view'];
     } else {
         $view = 'EditView';
     }
     if (isset($_REQUEST['aor_value'])) {
         $value = $_REQUEST['aor_value'];
     } else {
         $value = '';
     }
     switch ($_REQUEST['aor_type']) {
         case 'Field':
             if (isset($_REQUEST['alt_module']) && $_REQUEST['alt_module'] != '') {
                 $module = $_REQUEST['alt_module'];
             }
             if ($view == 'EditView') {
                 echo "<select type='text' style='width:178px;' name='{$aor_field}' id='{$aor_field}' title='' tabindex='116'>" . getModuleFields($module, $view, $value) . "</select>";
             } else {
                 echo getModuleFields($module, $view, $value);
             }
             break;
         case 'Value':
         default:
             echo getModuleField($module, $fieldname, $aor_field, $view, $value);
             break;
     }
     die;
 }