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); }
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; }
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; }
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; }