function replaceReport($content, $reportid) { session_start(); require_once "modules/Reports/ReportRun.php"; require_once "modules/Reports/Reports.php"; require_once 'include/utils/utils.php'; $current_language = Users_Record_Model::getCurrentUserModel()->get('language'); include "modules/OSSPdf/language/" . $current_language . ".lang.php"; $language = $_SESSION['authenticated_user_language'] . '.lang.php'; require_once "include/language/{$language}"; $db = PearDatabase::getInstance(); $oReport = new Reports($reportid); //Code given by Csar Rodrguez for Rwport Filter $filtercolumn = $_REQUEST["stdDateFilterField"]; $filter = $_REQUEST["stdDateFilter"]; $oReportRun = new ReportRun($reportid); $startdate = $_REQUEST['startdate']; $enddate = $_REQUEST['enddate']; if (!empty($startdate) && !empty($enddate) && $startdate != "0000-00-00" && $enddate != "0000-00-00") { $date = new DateTimeField($_REQUEST['startdate']); $endDate = new DateTimeField($_REQUEST['enddate']); $startdate = $date->getDBInsertDateValue(); //Convert the user date format to DB date format $enddate = $endDate->getDBInsertDateValue(); //Convert the user date format to DB date format } $filterlist = $oReportRun->RunTimeFilter($filtercolumn, $filter, $startdate, $enddate); ############///////////////////////////////######################### $sql = $oReportRun->sGetSQLforReport($reportid, $filterlist); $result = $db->query($sql, true); $modules_selected = array(); $modules_selected[] = $oReportRun->primarymodule; if (!empty($oReportRun->secondarymodule)) { $sec_modules = split(":", $oReportRun->secondarymodule); for ($i = 0; $i < count($sec_modules); $i++) { $modules_selected[] = $sec_modules[$i]; } } $y = $db->num_fields($result); $report = '<table border="1" cellpadding="2"><tr width="500px" bgcolor="lightgrey">'; $arrayHeaders = array(); for ($x = 0; $x < $y; $x++) { $fld = $db->field_name($result, $x); if (in_array($oReportRun->getLstringforReportHeaders($fld->name), $arrayHeaders)) { $headerLabel = str_replace("_", " ", $fld->name); $arrayHeaders[] = $headerLabel; } else { $headerLabel = str_replace($modules, " ", $oReportRun->getLstringforReportHeaders($fld->name)); $headerLabel = str_replace("_", " ", $oReportRun->getLstringforReportHeaders($fld->name)); $arrayHeaders[] = $headerLabel; } /*STRING TRANSLATION starts */ $mod_name = split(' ', $headerLabel, 2); $moduleLabel = ''; if (in_array($mod_name[0], $modules_selected)) { $moduleLabel = getTranslatedString($mod_name[0], $mod_name[0]); } if (!empty($oReportRun->secondarymodule)) { if ($moduleLabel != '') { $headerLabel_tmp = getTranslatedString($mod_name[1], $mod_name[0]); } else { $headerLabel_tmp = getTranslatedString($mod_name[0] . " " . $mod_name[1]); } } else { if ($moduleLabel != '') { $headerLabel_tmp = getTranslatedString($mod_name[1], $mod_name[0]); } else { $headerLabel_tmp = getTranslatedString($mod_name[0] . " " . $mod_name[1]); } } if ($headerLabel == $headerLabel_tmp) { $headerLabel = getTranslatedString($headerLabel_tmp); } else { $headerLabel = $headerLabel_tmp; } /*STRING TRANSLATION ends */ $report .= "<td class='rptCellLabel'><small><b>" . $headerLabel . "</b></small></td>"; // Performance Optimization: If direct output is required // END } $report .= '</tr>'; // END $noofrows = $db->num_rows($result); $custom_field_values = $db->fetch_array($result); $groupslist = $oReportRun->getGroupingList($oReportRun->reportid); $column_definitions = $db->getFieldsDefinition($result); do { $arraylists = array(); if (count($groupslist) == 1) { $newvalue = $custom_field_values[0]; } elseif (count($groupslist) == 2) { $newvalue = $custom_field_values[0]; $snewvalue = $custom_field_values[1]; } elseif (count($groupslist) == 3) { $newvalue = $custom_field_values[0]; $snewvalue = $custom_field_values[1]; $tnewvalue = $custom_field_values[2]; } if ($newvalue == "") { $newvalue = "-"; } if ($snewvalue == "") { $snewvalue = "-"; } if ($tnewvalue == "") { $tnewvalue = "-"; } $report .= '<tr width="500px">'; // Performance Optimization // END for ($i = 0; $i < $y; $i++) { $fld = $db->field_name($result, $i); $fld_type = $column_definitions[$i]->type; $fieldvalue = getReportFieldValue($oReportRun, $picklistarray, $fld, $custom_field_values, $i); //check for Roll based pick list $temp_val = $fld->name; if ($fieldvalue == "") { $fieldvalue = "-"; } else { if ($fld->name == 'LBL_ACTION') { } } if ($lastvalue == $fieldvalue && $oReportRun->reporttype == "summary") { if ($report->reporttype == "summary") { $valtemplate .= "<td class='rptEmptyGrp'> </td>"; } else { $report .= "<td class='rptData'>" . $fieldvalue . "</td>"; } } else { if ($secondvalue === $fieldvalue && $oReportRun->reporttype == "summary") { if ($lastvalue === $newvalue) { $report .= "<td class='rptEmptyGrp'> </td>"; } else { $report .= "<td class='rptGrpHead'>" . $fieldvalue . "</td>"; } } else { if ($thirdvalue === $fieldvalue && $oReportRun->reporttype == "summary") { if ($secondvalue === $snewvalue) { $report .= "<td class='rptEmptyGrp'> </td>"; } else { $report .= "<td class='rptGrpHead'>" . $fieldvalue . "</td>"; } } else { if ($oReportRun->reporttype == "tabular") { $report .= "<td class='rptData'><small>" . $fieldvalue . "</small></td>"; } else { $report .= "<td class='rptGrpHead'><small>" . $fieldvalue . "</small></td>"; } } } } // Performance Optimization: If direct output is required // END } $report .= "</tr>"; // Performance Optimization: If direct output is required // echo $valtemplate; // END $lastvalue = $newvalue; $secondvalue = $snewvalue; $thirdvalue = $tnewvalue; $arr_val[] = $arraylists; set_time_limit($php_max_execution_time); } while ($custom_field_values = $db->fetch_array($result)); $report .= "</table></br>"; $content = str_replace("#report_tag#", $report, $content); ############///////////////////////////////######################### return $content; }
$f_inner_array[] = $warr_val[$wkey][$fkey]; } sort($f_inner_array, 1); $farr_val[] = $f_inner_array; unset($f_inner_array); } foreach ($farr_val as $skkey => $skvalue) { if ($skvalue[count($arr_val) - 1] == 1) { $col_width[] = $skvalue[count($arr_val) - 1] * 100; } else { $col_width[] = $skvalue[count($arr_val) - 1] * 10 + 10; } } $count = 0; foreach ($arr_val[0] as $key => $value) { $headerHTML .= '<td width="' . $col_width[$count] . '" bgcolor="#DDDDDD"><b>' . $oReportRun->getLstringforReportHeaders($key) . '</b></td>'; $count = $count + 1; } foreach ($arr_val as $key => $array_value) { $valueHTML = ""; $count = 0; foreach ($array_value as $hd => $value) { $valueHTML .= '<td width="' . $col_width[$count] . '">' . $value . '</td>'; $count = $count + 1; } $dataHTML .= '<tr>' . $valueHTML . '</tr>'; } } $html = '<table border="1"><tr>' . $headerHTML . '</tr>' . $dataHTML . '</table>'; $columnlength = array_sum($col_width); if ($columnlength > 14400) {