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
@@ -29,7 +29,7 @@ class OrderLinesOfClosedOrder extends Controller
->select('R428US','R428CO', 'R428WH','R428PL')
->where('R428US','=',$SHUSER)
->first();
$R428US = isset($ICM428M->R428US) ? $ICM428M->R428US : ''; # User
$COMPANY = isset($ICM428M->R428CO) ? $ICM428M->R428CO : '110'; # Company
$PLANT = isset($ICM428M->R428PL) ? $ICM428M->R428PL : '144'; # Plant
@@ -38,7 +38,7 @@ class OrderLinesOfClosedOrder extends Controller
# Warehouse Table
$IC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
# Get URL PARAMS
$urlParams = count($request->all())>0 ? $request->all() : '';
// dump($urlParams);
@@ -58,10 +58,10 @@ class OrderLinesOfClosedOrder extends Controller
SHDT, SHTIME,
CASE WHEN SHDT IS NULL THEN (SELECT SHDATA FROM ICM699M WHERE SHMACPKR=A5MACPKR AND SHTYPE='M3-Res-out' AND SHSOURCE='CloseShipmentCoChargeAPI' ORDER BY SHDT DESC, SHTIME DESC FETCH FIRST 1 ROWS ONLY) ELSE '' END AS REASON,
A1SHCURR,
CASE
WHEN (SELECT A4SHIPTYPE FROM ICM688M1 WHERE A4MACPKR=A5MACPKR) = 'LTL'
CASE
WHEN (SELECT A4SHIPTYPE FROM ICM688M1 WHERE A4MACPKR=A5MACPKR) = 'LTL'
THEN (SELECT A4RATETCP FROM ICM688M1 WHERE A4MACPKR=A5MACPKR) * ".(100.00 - Config::get('arrays.misc.discountCarrierRateForCustomerPriceLTL'))/100 ."
ELSE (SELECT A4RATETCP FROM ICM688M1 WHERE A4MACPKR=A5MACPKR) * ".(100.00 - Config::get('arrays.misc.discountCarrierRateForCustomerPriceParcel') )/100 ."
ELSE (SELECT A4RATETCP FROM ICM688M1 WHERE A4MACPKR=A5MACPKR) * ".(100.00 - Config::get('arrays.misc.discountCarrierRateForCustomerPriceParcel') )/100 ."
END AS FREIGHT,
A4SHIPTYPE,
A4SHIPVIA1,
@@ -69,7 +69,7 @@ class OrderLinesOfClosedOrder extends Controller
A4OFSTRM
FROM ICM688M2
LEFT JOIN ICM699M ON SHMACPKR=A5MACPKR AND SHTYPE='M3-Res-out' AND SHDATA LIKE 'Success%' AND SHSOURCE='CloseShipmentCoChargeAPI'
LEFT JOIN ICM666M ON A1DELNO=A5MACPKR AND A1ONO=A5ONO AND A1PKLN=A5BRADLN
LEFT JOIN ICM666M ON A1DELNO=A5MACPKR AND A1ONO=A5ONO AND A1PKLN=A5BRADLN
LEFT JOIN ICM688M1 ON A4MACPKR=A5MACPKR
WHERE A5MACPKR IN (
SELECT DISTINCT AYMACPKR
@@ -99,13 +99,13 @@ class OrderLinesOfClosedOrder extends Controller
foreach ($files as $file) {
# Get the file URL (if URL is configured in filesystems.php)
$url = Storage::disk('publicCL')->url($file);
$allReportsUrls[$file] = $url;
$allReportsUrls[$file] = $url;
}
}
catch (\Throwable $th) {
Log::error($th);
}
}
return view('m3::liberty-theme.pages.OrderLinesOfClosed',compact('IC670M','ICM688M2','WHDDA','COMPANY','PLANT','WHS','REPORTDATEDisp','allReportsUrls'));
}
@@ -115,7 +115,7 @@ class OrderLinesOfClosedOrder extends Controller
ini_set('max_input_time', Config::get('arrays.PHPTimeOut'));
ini_set('default_socket_timeout', Config::get('arrays.PHPTimeOut'));
ini_set('memory_limit', '1024M');
try {
$SHUSER = m3_user() !== '' ? Str::upper(trim(m3_user())) : '';
// dd($SHUSER);
@@ -126,7 +126,7 @@ class OrderLinesOfClosedOrder extends Controller
->select('R428US','R428CO', 'R428WH','R428PL')
->where('R428US','=',$SHUSER)
->first();
$R428US = isset($ICM428M->R428US) ? $ICM428M->R428US : ''; # User
$COMPANY = isset($ICM428M->R428CO) ? $ICM428M->R428CO : ''; # Company
$PLANT = isset($ICM428M->R428PL) ? $ICM428M->R428PL : ''; # Plant
@@ -135,7 +135,7 @@ class OrderLinesOfClosedOrder extends Controller
# Warehouse Table
$IC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
# Get URL PARAMS
$urlParams = count($request->all())>0 ? $request->all() : '';
// dd($urlParams);
@@ -161,10 +161,10 @@ class OrderLinesOfClosedOrder extends Controller
(SELECT A4SHSHNM FROM ICM688M1 WHERE A4MACPKR=A5MACPKR) AS A4SHSHNM ,
CASE WHEN SHDT IS NULL THEN (SELECT SHDATA FROM ICM699M WHERE SHMACPKR=A5MACPKR AND SHTYPE='M3-Res-out' AND SHSOURCE='CloseShipmentCoChargeAPI' ORDER BY SHDT DESC, SHTIME DESC FETCH FIRST 1 ROWS ONLY) ELSE '' END AS REASON,
A1SHCURR,
CASE
WHEN (SELECT A4SHIPTYPE FROM ICM688M1 WHERE A4MACPKR=A5MACPKR) = 'LTL'
CASE
WHEN (SELECT A4SHIPTYPE FROM ICM688M1 WHERE A4MACPKR=A5MACPKR) = 'LTL'
THEN (SELECT A4RATETCP FROM ICM688M1 WHERE A4MACPKR=A5MACPKR) * ".(100.00 - Config::get('arrays.misc.discountCarrierRateForCustomerPriceLTL'))/100 ."
ELSE (SELECT A4RATETCP FROM ICM688M1 WHERE A4MACPKR=A5MACPKR) * ".(100.00 - Config::get('arrays.misc.discountCarrierRateForCustomerPriceParcel'))/100 ."
ELSE (SELECT A4RATETCP FROM ICM688M1 WHERE A4MACPKR=A5MACPKR) * ".(100.00 - Config::get('arrays.misc.discountCarrierRateForCustomerPriceParcel'))/100 ."
END AS FREIGHT
FROM ICM688M2
LEFT JOIN ICM699M ON SHMACPKR=A5MACPKR AND SHTYPE='M3-Res-out' AND SHDATA LIKE 'Success%' AND SHSOURCE='CloseShipmentCoChargeAPI'
@@ -173,7 +173,7 @@ class OrderLinesOfClosedOrder extends Controller
WHERE A5MACPKR IN (
SELECT DISTINCT AYMACPKR
FROM ICM695M1
WHERE AYSTATUS IN ('Z','z') AND AYAPR8N002 BETWEEN $reportDate AND $toreportDate
WHERE AYSTATUS IN ('Z','z') AND AYAPR8N002 BETWEEN $reportDate AND $toreportDate
)
AND A5CO=$COMPANY AND A5WHS=$WHS AND A5PLANT=$PLANT";
@@ -191,7 +191,7 @@ class OrderLinesOfClosedOrder extends Controller
# Count records before exporting to excel : Max 20K records are allowed
$ICM688M2Count = $ICM688M2Col->count();
# Set Max allowed records
# Set Max allowed records
$maxRecords = Config::get('arrays.maxRecCL');
if ($ICM688M2Count>$maxRecords) {
return redirect()->back()->withInput()->with('message', 'Maximum allowed records for Excel Download is: '.number_format($maxRecords).
@@ -209,7 +209,7 @@ class OrderLinesOfClosedOrder extends Controller
}
catch (\Throwable $th) {
Log::error($th);
}
}
}
public static function StoreExcelToDisk(Request $request){
@@ -217,7 +217,7 @@ class OrderLinesOfClosedOrder extends Controller
ini_set('max_input_time', Config::get('arrays.PHPTimeOutCL'));
ini_set('default_socket_timeout', Config::get('arrays.PHPTimeOutCL'));
ini_set('memory_limit', '1024M');
try {
$SHUSER = m3_user() !== '' ? Str::upper(trim(m3_user())) : '';
// dd($SHUSER);
@@ -228,7 +228,7 @@ class OrderLinesOfClosedOrder extends Controller
->select('R428US','R428CO', 'R428WH','R428PL')
->where('R428US','=',$SHUSER)
->first();
$R428US = isset($ICM428M->R428US) ? $ICM428M->R428US : ''; # User
$COMPANY = isset($ICM428M->R428CO) ? $ICM428M->R428CO : ''; # Company
$PLANT = isset($ICM428M->R428PL) ? $ICM428M->R428PL : ''; # Plant
@@ -237,7 +237,7 @@ class OrderLinesOfClosedOrder extends Controller
# Warehouse Table
$IC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
# Get URL PARAMS
$urlParams = count($request->all())>0 ? $request->all() : '';
// dd($urlParams);
@@ -265,10 +265,10 @@ class OrderLinesOfClosedOrder extends Controller
(SELECT A4SHSHNM FROM ICM688M1 WHERE A4MACPKR=A5MACPKR) AS A4SHSHNM ,
CASE WHEN SHDT IS NULL THEN (SELECT SHDATA FROM ICM699M WHERE SHMACPKR=A5MACPKR AND SHTYPE='M3-Res-out' AND SHSOURCE='CloseShipmentCoChargeAPI' ORDER BY SHDT DESC, SHTIME DESC FETCH FIRST 1 ROWS ONLY) ELSE '' END AS REASON,
A1SHCURR,
CASE
WHEN (SELECT A4SHIPTYPE FROM ICM688M1 WHERE A4MACPKR=A5MACPKR) = 'LTL'
CASE
WHEN (SELECT A4SHIPTYPE FROM ICM688M1 WHERE A4MACPKR=A5MACPKR) = 'LTL'
THEN (SELECT A4RATETCP FROM ICM688M1 WHERE A4MACPKR=A5MACPKR) * ".(100.00 - Config::get('arrays.misc.discountCarrierRateForCustomerPriceLTL'))/100 ."
ELSE (SELECT A4RATETCP FROM ICM688M1 WHERE A4MACPKR=A5MACPKR) * ".(100.00 - Config::get('arrays.misc.discountCarrierRateForCustomerPriceParcel'))/100 ."
ELSE (SELECT A4RATETCP FROM ICM688M1 WHERE A4MACPKR=A5MACPKR) * ".(100.00 - Config::get('arrays.misc.discountCarrierRateForCustomerPriceParcel'))/100 ."
END AS FREIGHT
FROM ICM688M2
LEFT JOIN ICM699M ON SHMACPKR=A5MACPKR AND SHTYPE='M3-Res-out' AND SHDATA LIKE 'Success%' AND SHSOURCE='CloseShipmentCoChargeAPI'
@@ -277,7 +277,7 @@ class OrderLinesOfClosedOrder extends Controller
WHERE A5MACPKR IN (
SELECT DISTINCT AYMACPKR
FROM ICM695M1
WHERE AYSTATUS IN ('Z','z') AND AYAPR8N002 BETWEEN $reportDate AND $toreportDate
WHERE AYSTATUS IN ('Z','z') AND AYAPR8N002 BETWEEN $reportDate AND $toreportDate
)
AND A5CO=$COMPANY AND A5WHS=$WHS AND A5PLANT=$PLANT
");
@@ -293,7 +293,7 @@ class OrderLinesOfClosedOrder extends Controller
# Count records before exporting to excel : Max 20K records are allowed
$ICM688M2Count = $ICM688M2Col->count();
# Set Max allowed records
# Set Max allowed records
$maxRecords = Config::get('arrays.maxRecCL');
if ($ICM688M2Count>$maxRecords) {
return redirect()->back()->withInput()->with('message', 'Maximum allowed records for Excel Download is: '.number_format($maxRecords).
@@ -315,7 +315,7 @@ class OrderLinesOfClosedOrder extends Controller
app(\Modules\M3\Services\SpreadsheetExport::class)->store($ICM688M2Col, $prevMonthFile, 'publicCL');
// $ICM688M2Col->storeExcel('Closedorderlinesreport_'.$reportDateWD.'-'.$toreportDateWD.'.csv', 'publicCL',\Maatwebsite\Excel\Excel::CSV);
// $ICM688M2Col->storeExcel('Closedorderlinesreport_'.$reportDateWD.'-'.$toreportDateWD.'.ods', 'publicCL',\Maatwebsite\Excel\Excel::ODS);
// dump('Done Saving Excel...');
@@ -323,7 +323,7 @@ class OrderLinesOfClosedOrder extends Controller
}
catch (\Throwable $th) {
Log::error($th);
}
}
}
# Download File