m3 Security Fixes

This commit is contained in:
Mark Gregory
2026-09-16 17:14:26 +01:00
parent 1602bdd72e
commit d68687f062
78 changed files with 1297 additions and 1228 deletions
@@ -32,10 +32,10 @@ class whsePerfController extends Controller
$date_in_mth = isset($request->date_in_mth)?$request->date_in_mth:date('m');
#$date_in = isset($request->date_in)?$request->date_in:date('Ymd');
$date_in = $date_in_yr.$date_in_mth."01";
$sqlstmt = "select AVDATE, AVANOTESCL,AVADLRCL,AVAWGTCL,AVANOTESCH,AVADLRCH,AVAWGTCH,AVANOTESOP,AVADLROP,AVAWGTOP,
AVLNOTESCL,AVLDLRCL,AVLWGTCL,AVLNOTESCH,AVLDLRCH,AVLWGTCH,AVLNOTESOP,AVLDLROP,AVLWGTOP,
$sqlstmt = "select AVDATE, AVANOTESCL,AVADLRCL,AVAWGTCL,AVANOTESCH,AVADLRCH,AVAWGTCH,AVANOTESOP,AVADLROP,AVAWGTOP,
AVLNOTESCL,AVLDLRCL,AVLWGTCL,AVLNOTESCH,AVLDLRCH,AVLWGTCH,AVLNOTESOP,AVLDLROP,AVLWGTOP,
AVPNOTESCL,AVPDLRCL,AVPWGTCL,AVPNOTESCH,AVPDLRCH,AVPWGTCH,AVPNOTESOP,AVPDLROP,AVPWGTOP,
AVINOTESCL,AVIDLRCL,AVIWGTCL,AVINOTESOP,AVIDLROP,AVIWGTOP
AVINOTESCL,AVIDLRCL,AVIWGTCL,AVINOTESOP,AVIDLROP,AVIWGTOP
from ICM711M
where AVDATE between ".date('Ym', strtotime($date_in))."00 and ".date('Ym', strtotime($date_in))."32";
@@ -46,7 +46,7 @@ class whsePerfController extends Controller
$pct_array = Config::get('arrays.whsePerf_targets');
return view('m3::liberty-theme.pages.whsePerf', compact('ICM711M','power_user','USER_INFO','date_in','pct_array'));
}
public function exportTable(Request $request) {
@@ -55,10 +55,10 @@ class whsePerfController extends Controller
$date_in_mth = isset($request->date_in_mth)?$request->date_in_mth:date('m');
#$date_in = isset($request->date_in)?$request->date_in:date('Ymd');
$date_in = $date_in_yr.$date_in_mth."01";
$sqlstmt = "select AVDATE, AVANOTESCL,AVADLRCL,AVAWGTCL,AVANOTESCH,AVADLRCH,AVAWGTCH,AVANOTESOP,AVADLROP,AVAWGTOP,
AVLNOTESCL,AVLDLRCL,AVLWGTCL,AVLNOTESCH,AVLDLRCH,AVLWGTCH,AVLNOTESOP,AVLDLROP,AVLWGTOP,
$sqlstmt = "select AVDATE, AVANOTESCL,AVADLRCL,AVAWGTCL,AVANOTESCH,AVADLRCH,AVAWGTCH,AVANOTESOP,AVADLROP,AVAWGTOP,
AVLNOTESCL,AVLDLRCL,AVLWGTCL,AVLNOTESCH,AVLDLRCH,AVLWGTCH,AVLNOTESOP,AVLDLROP,AVLWGTOP,
AVPNOTESCL,AVPDLRCL,AVPWGTCL,AVPNOTESCH,AVPDLRCH,AVPWGTCH,AVPNOTESOP,AVPDLROP,AVPWGTOP,
AVINOTESCL,AVIDLRCL,AVIWGTCL,AVINOTESOP,AVIDLROP,AVIWGTOP
AVINOTESCL,AVIDLRCL,AVIWGTCL,AVINOTESOP,AVIDLROP,AVIWGTOP
from ICM711M
where AVDATE between ".date('Ym', strtotime($date_in))."00 and ".date('Ym', strtotime($date_in))."32";
@@ -70,27 +70,27 @@ class whsePerfController extends Controller
$html = view('m3::liberty-theme.pages.whsePerf', compact('ICM711M','power_user','USER_INFO','date_in','pct_array'))->render();
libxml_use_internal_errors(true);
$doc = new \DOMDocument();
$doc->loadHTML(mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8')); // Extract only table elements
$tables = $doc->getElementsByTagName('table');
if ($tables->length === 0) {
abort(400, 'No table found in HTML');
}
// Create new document with only the table
$newDoc = new \DOMDocument();
$newDoc->appendChild($newDoc->importNode($tables->item(0), true));
$cleanHtml = '<!DOCTYPE html><html><body>' . $newDoc->saveHTML() . '</body></html>';
libxml_clear_errors();
$tempFile = tempnam(sys_get_temp_dir(), 'html') . '.html';
file_put_contents($tempFile, $cleanHtml);
$reader = IOFactory::createReader('Html');
$spreadsheet = $reader->load($tempFile);
$writer = new Xlsx($spreadsheet);
$fileName = 'export.xlsx';
$tempExcel = tempnam(sys_get_temp_dir(), 'excel');
$writer->save($tempExcel);
unlink($tempFile);
libxml_use_internal_errors(true);
$doc = new \DOMDocument();
$doc->loadHTML(mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8')); // Extract only table elements
$tables = $doc->getElementsByTagName('table');
if ($tables->length === 0) {
abort(400, 'No table found in HTML');
}
// Create new document with only the table
$newDoc = new \DOMDocument();
$newDoc->appendChild($newDoc->importNode($tables->item(0), true));
$cleanHtml = '<!DOCTYPE html><html><body>' . $newDoc->saveHTML() . '</body></html>';
libxml_clear_errors();
$tempFile = tempnam(sys_get_temp_dir(), 'html') . '.html';
file_put_contents($tempFile, $cleanHtml);
$reader = IOFactory::createReader('Html');
$spreadsheet = $reader->load($tempFile);
$writer = new Xlsx($spreadsheet);
$fileName = 'export.xlsx';
$tempExcel = tempnam(sys_get_temp_dir(), 'excel');
$writer->save($tempExcel);
unlink($tempFile);
return response()->download($tempExcel, $fileName)->deleteFileAfterSend(true);
}