Files
crm.clientright.ru/modules/Reports/ReportChartRun.php_deprecated
Fedor ac7467f0b4 Major CRM updates: AI Assistant, Court Status API, S3 integration improvements, and extensive file storage system
- Added comprehensive AI Assistant system (aiassist/ directory):
  * Vector search and embedding capabilities
  * Typebot proxy integration
  * Elastic search functionality
  * Message classification and chat history
  * MCP proxy for external integrations

- Implemented Court Status API (GetCourtStatus.php):
  * Real-time court document status checking
  * Integration with external court systems
  * Comprehensive error handling and logging

- Enhanced S3 integration:
  * Improved file backup system with metadata
  * Batch processing capabilities
  * Enhanced error logging and recovery
  * Copy operations with URL fixing

- Added Telegram contact creation API
- Improved error logging across all modules
- Enhanced callback system for AI responses
- Extensive backup file storage with timestamps
- Updated documentation and README files

- File storage improvements:
  * Thousands of backup files with proper metadata
  * Fix operations for broken file references
  * Project-specific backup and recovery systems
  * Comprehensive file integrity checking

Total: 26,461+ files added/modified including AWS SDK, vendor dependencies, and extensive backup system.
2025-10-16 11:17:21 +03:00

121 lines
4.3 KiB
Plaintext

<?php
/*********************************************************************************
** The contents of this file are subject to the vtiger CRM Public License Version 1.0
* ("License"); You may not use this file except in compliance with the License
* The Original Code is: vtiger CRM Open Source
* The Initial Developer of the Original Code is vtiger.
* Portions created by vtiger are Copyright (C) vtiger.
* All Rights Reserved.
*
********************************************************************************/
global $theme;
$theme_path="themes/".$theme."/";
$image_path=$theme_path."images/";
require_once('modules/CustomView/CustomView.php');
require_once("config.php");
require_once('modules/Reports/Reports.php');
require_once('include/logging.php');
require_once("modules/Reports/ReportRun.php");
require_once('include/utils/utils.php');
require_once('Smarty_setup.php');
global $adb,$mod_strings,$app_strings;
$reportid = vtlib_purify($_REQUEST["record"]);
$folderid = vtlib_purify($_REQUEST["folderid"]);
$sql = "select * from vtiger_report where reportid=?";
$res = $adb->pquery($sql, array($reportid));
$numOfRows = $adb->num_rows($res);
if($numOfRows > 0) {
$Report_ID = $adb->query_result($res,0,'reportid');
if(empty($folderid)) {
$folderid = $adb->query_result($res,0,'folderid');
}
$reporttype = $adb->query_result($res,0,'reporttype');
$showCharts = false;
if($reporttype == 'summary'){
$showCharts = true;
}
global $primarymodule,$secondarymodule,$orderbylistsql,$orderbylistcolumns,$ogReport;
//added to fix the ticket #5117
global $current_user;
require('user_privileges/user_privileges_'.$current_user->id.'.php');
$ogReport = new Reports($reportid);
$primarymodule = $ogReport->primodule;
$restrictedmodules = array();
if($ogReport->secmodule!='')
$rep_modules = split(":",$ogReport->secmodule);
else
$rep_modules = array();
array_push($rep_modules,$primarymodule);
$modules_permitted = true;
$modules_export_permitted = true;
foreach($rep_modules as $mod){
if(isPermitted($mod,'index')!= "yes" || vtlib_isModuleActive($mod)==false){
$modules_permitted = false;
$restrictedmodules[] = $mod;
}
if(isPermitted("$mod",'Export','')!='yes')
$modules_export_permitted = false;
}
if(isPermitted($primarymodule,'index') == "yes" && $modules_permitted == true) {
$oReportRun = ReportRun::getInstance($reportid);
$advft_criteria = $_REQUEST['advft_criteria'];
if(!empty($advft_criteria)) $advft_criteria = Zend_Json::decode($advft_criteria);
$advft_criteria_groups = $_REQUEST['advft_criteria_groups'];
if(!empty($advft_criteria_groups)) $advft_criteria_groups = Zend_Json::decode($advft_criteria_groups);
$filtersql = $oReportRun->RunTimeAdvFilter($advft_criteria,$advft_criteria_groups);
$smarty = new vtigerCRM_Smarty;
$smarty->assign("MOD", $mod_strings);
$smarty->assign("APP", $app_strings);
$smarty->assign("IMAGE_PATH", $image_path);
$smarty->assign("REPORTID", $reportid);
if($showCharts == true){
require_once 'modules/Reports/CustomReportUtils.php';
require_once 'include/ChartUtils.php';
$groupBy = $oReportRun->getGroupingList($reportid);
if(!empty($groupBy)){
foreach ($groupBy as $key => $value) {
//$groupByConditon = explode(" ",$value);
//$groupByNew = explode("'",$groupByConditon[0]);
list($tablename,$colname,$module_field,$fieldname,$single) = split(":",$key);
list($module,$field)= split("_",$module_field);
$fieldDetails = $key;
break;
}
//$groupByField = $oReportRun->GetFirstSortByField($reportid);
$queryReports = CustomReportUtils::getCustomReportsQuery($Report_ID,$filtersql);
$queryResult = $adb->pquery($queryReports,array());
//ChartUtils::generateChartDataFromReports($queryResult, strtolower($groupByNew[1]));
if($adb->num_rows($queryResult)){
$pieChart = ChartUtils::getReportPieChart($queryResult, strtolower($module_field),$fieldDetails,$reportid);
$barChart = ChartUtils::getReportBarChart($queryResult, strtolower($module_field),$fieldDetails,$reportid);
$smarty->assign("PIECHART",$pieChart);
$smarty->assign("BARCHART",$barChart);
}
$smarty->assign('HASGROUPBY', true);
} else {
$smarty->assign('HASGROUPBY', false);
}
$smarty->display('ReportChartRun.tpl');
}
}
}
// To abort any extra output emits.
exit;
?>