public static function getCustomReportsQuery($reportid, $filterlist = null) { global $current_user; $reportnew = new ReportRun($reportid); $groupby = $reportnew->getGroupingList($reportid); $showcharts = false; if (!empty($groupby)) { $showcharts = true; } $reportQuery = $reportnew->sGetSQLforReport($reportid, $filterlist, 'HTML', $showcharts); return $reportQuery; }
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; }