quest-vorteq/docs/VorteqAppDiscovery_20260206_210519.txt

1006 lines
67 KiB
Text
Raw Permalink Normal View History

<EFBFBD><EFBFBD>
============================================================
1. PORTAL-LIVE .ENV FILE
============================================================
--- C:\inetpub\portal-live\.env ---
APP_NAME="Vorteq Coil Finishers"
APP_ENV=prod
NPM_ENV=prod
APP_KEY=[REDACTED]
APP_DEBUG=false
DISABLE_DEBUG_BAR=true
APP_URL=portal.vorteqcoil.com
MOBILE_URL=https://mobile.vorteqcoil.com/
APP_URL_IS_HTTPS=true
LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug
DAILY_LOG_MAX_FILES=30
DB_DRIVER=sqlsrv
DB_HOST=wi-e10test
DB_PORT=null
DB_DATABASE=VorteqPortal
DB_USERNAME_RO=portal
DB_PASSWORD_RO=[REDACTED]
DB_USERNAME_RW=portal
DB_PASSWORD_RW=[REDACTED]
DB_USERNAME_ADM=null
DB_PASSWORD_ADM=[REDACTED]
SESSION_DRIVER=file
SESSION_LIFETIME=640
MEMCACHED_HOST=null
MAIL_MAILER=office365mail
MAIL_HOST=null
MAIL_PORT=null
MAIL_USERNAME=null
MAIL_PASSWORD=[REDACTED]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=quest@vorteqcoil.com
MAIL_FROM_NAME="Vorteq Coil Finishers"
OFFICE365MAIL_CLIENT_ID=629eca61-d554-4763-b14a-565aee7b7ab8
OFFICE365MAIL_TENANT=291e541e-003c-463c-8834-863b9e7c1ebe
OFFICE365MAIL_CLIENT_SECRET=[REDACTED]
TWO_FACTOR_ENABLED=false
SECURITY_QUESTIONS_ENABLED=false
PASSPORT_ACCESS_TOKEN_EXPIRATION_DAYS=[REDACTED]
PASSPORT_REFRESH_TOKEN_EXPIRATION_DAYS=[REDACTED]
EPICOR_DB_DRIVER=sqlsrv
EPICOR_DB_HOST=wi-e10test
EPICOR_DB_PORT=null
EPICOR_DB_DATABASE=Epicor10Live
EPICOR_DB_USERNAME_RO=portal
EPICOR_DB_PASSWORD_RO=[REDACTED]
WAVE_DB_DRIVER=sqlsrv
WAVE_DB_HOST=wi-e10test
WAVE_DB_PORT=null
WAVE_DB_DATABASE=WaveEDI
WAVE_DB_USERNAME_RO=portal
WAVE_DB_PASSWORD_RO=[REDACTED]
CMS_ROOT_DOMAIN="http://www.vorteqcoil.com/"
CMS_IP=127.0.0.1
ENABLE_PLANT_EMAILS=true
WKHTMLTOPDF_PATH=wkhtmltopdf
WKHTMLTOIMAGE_PATH=wkhtmltoimage
PDFTK_PATH=pdftk
NODE_BINARY_PATH=node
NPM_BINARY_PATH=npm
DEBUG_PDFS=false
RECAPTCHA_SITE_KEY=[REDACTED]
RECAPTCHA_SECRET_KEY=[REDACTED]
RECAPTCHA_SKIP_IP=
NOT FOUND: C:\inetpub\portal-live\.env.production
============================================================
2. PORTAL-UAT .ENV FILE
============================================================
--- C:\inetpub\portal-uat\.env ---
APP_NAME="Vorteq UAT"
APP_ENV=uat
NPM_ENV=prod
APP_KEY=[REDACTED]
APP_DEBUG=true
DISABLE_DEBUG_BAR=true
APP_URL=portal-uat.vorteqcoil.com
MOBILE_URL=https://vorteqmobile.savvior.net/
APP_URL_IS_HTTPS=true
LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug
DAILY_LOG_MAX_FILES=30
DB_DRIVER=sqlsrv
DB_HOST=wi-e10test
DB_PORT=1433
DB_DATABASE=VorteqPortal-uat
DB_USERNAME_RO=portal
DB_PASSWORD_RO=[REDACTED]
DB_USERNAME_RW=portal
DB_PASSWORD_RW=[REDACTED]
DB_USERNAME_ADM=null
DB_PASSWORD_ADM=[REDACTED]
SESSION_DRIVER=file
SESSION_LIFETIME=640
MEMCACHED_HOST=null
MAIL_MAILER=log
MAIL_HOST=null
MAIL_PORT=null
MAIL_USERNAME=quest@vorteqcoil.com
MAIL_PASSWORD=[REDACTED]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=quest@vorteqcoil.com
MAIL_FROM_NAME="Quest UAT"
TWO_FACTOR_ENABLED=false
SECURITY_QUESTIONS_ENABLED=false
PASSPORT_ACCESS_TOKEN_EXPIRATION_DAYS=[REDACTED]
PASSPORT_REFRESH_TOKEN_EXPIRATION_DAYS=[REDACTED]
EPICOR_DB_DRIVER=sqlsrv
EPICOR_DB_HOST=wi-e10test
EPICOR_DB_PORT=1433
EPICOR_DB_DATABASE=Epicor10Live
EPICOR_DB_USERNAME_RO=portal
EPICOR_DB_PASSWORD_RO=[REDACTED]
WAVE_DB_DRIVER=sqlsrv
WAVE_DB_HOST=wi-e10test
WAVE_DB_PORT=1433
WAVE_DB_DATABASE=WaveEDI
WAVE_DB_USERNAME_RO=portal
WAVE_DB_PASSWORD_RO=[REDACTED]
CMS_ROOT_DOMAIN="http://uat.vorteqcoil.com/"
CMS_IP=74.111.169.27
ENABLE_PLANT_EMAILS=false
WKHTMLTOPDF_PATH=wkhtmltopdf
WKHTMLTOIMAGE_PATH=wkhtmltoimage
PDFTK_PATH=pdftk
NODE_BINARY_PATH=node
NPM_BINARY_PATH=npm
DEBUG_PDFS=false
RECAPTCHA_SITE_KEY=[REDACTED]
RECAPTCHA_SECRET_KEY=[REDACTED]
RECAPTCHA_SKIP_IP=
WAVE_SFTP_HOST=ssh2.sftp://sxfer.armstrongceilings.com
WAVE_SFTP_PORT=22
WAVE_SFTP_USERNAME=waveoffsite
WAVE_SFTP_PASSWORD=[REDACTED]
WAVE_SFTP_ROOT="/TESTER"
============================================================
3. COMPOSER.JSON (portal-live)
============================================================
{
"name": "savvior/vorteq-portal",
"type": "project",
"description": "Vorteq quest portal web application",
"keywords": ["vorteq", "quest"],
"repositories": [
{"type": "git", "url": "https://github.com/breakoutbox/dbal.git"},
{"type": "composer", "url": "https://repo.packagist.com/savvior/"}
],
"require": {
"php": "^8.0.2",
"ext-bcmath": "*",
"ext-curl": "*",
"ext-fileinfo": "*",
"ext-json": "*",
"ext-pdo": "*",
"barryvdh/laravel-debugbar": "^3.5",
"barryvdh/laravel-ide-helper": "^2.8",
"barryvdh/laravel-snappy": "^1.0.2",
"biscolab/laravel-recaptcha": "^5.4",
"chrome-php/chrome": "^1.6",
"doctrine/dbal": "dev-savvior as 3.5.9999",
"google/recaptcha": "^1.2",
"guzzlehttp/guzzle": "^7.2",
"knplabs/knp-snappy": "1.4.2",
"laravel/framework": "^9.19",
"laravel/helpers": "^1.3",
"laravel/sanctum": "^3.0",
"laravel/serializable-closure": "^1.0",
"laravel/tinker": "^2.7",
"laravel/ui": "^3.0",
"mikehaertl/php-pdftk": "^0.8.0",
"motze92/office365-mail": "^3.1",
"phpoffice/phpspreadsheet": "^1.14",
"savvior/common": "~1.0.9",
"savvior/data": "~1.2.15",
"savvior/doctrine": "~1.5.1",
"savvior/form-builder": "~1.2.49",
"savvior/kendoui": "2022.2.*",
"savvior/laravel": "~12.1.14",
"savvior/lauth": "~12.1.24",
"savvior/lcrudbase": "~1.3.0",
"savvior/ledi": "~1.0.2",
"savvior/ltabbypages": "~1.1.0",
"savvior/ltaskscheduler": "~1.0.0",
"savvior/metadata": "~1.2.25",
"savvior/ui": "~1.8.11",
"smalot/pdfparser": "^0.15",
"symfony/lock": "^6",
"symfony/panther": "^2.1"
},
"require-dev": {
"dbrekelmans/bdi": "^1.0",
"fakerphp/faker": "^1.9.1",
"laravel/pint": "^1.0",
"laravel/sail": "^1.0.1",
"mockery/mockery": "^1.4.4",
"nunomaduro/collision": "^6.1",
"phpunit/phpunit": "^9.5.10",
"spatie/laravel-ignition": "^1.0"
},
"suggest": {
"savvior/lportalframework": "~1.3.11",
"savvior/ldashboard": "~1.2.2",
"savvior/lsearch": "~1.1.2",
"savvior/lnotify": "~1.2.11",
"savvior/lcrm": "~0.3.40"
},
"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
"sort-packages": true,
"allow-plugins": {
"ocramius/package-versions": true,
"pestphp/pest-plugin": true
}
},
"extra": {
"laravel": {
"dont-discover": [
"laravel/passport",
"laravel/sanctum"
]
}
},
"autoload": {
"psr-4": {
"App\\": "app/",
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/"
}
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
}
},
"minimum-stability": "dev",
"prefer-stable": true,
"scripts": {
"post-autoload-dump": [
"Savvior\\Laravel\\ComposerScripts\\PostAutoloadDump::all"
],
"post-install-cmd": [
"Savvior\\Laravel\\ComposerScripts\\PostInstall::all"
],
"post-update-cmd": [
"Savvior\\Laravel\\ComposerScripts\\PostUpdate::all"
]
}
}
============================================================
4. COMPOSER.LOCK - KEY PACKAGES
============================================================
Extracting key package versions...
laravel/framework: v9.52.15
laravel/passport: v10.4.2
laravel/sanctum: v3.3.1
spatie/backtrace: 1.5.3
spatie/flare-client-php: 1.4.2
spatie/ignition: 1.10.1
spatie/laravel-ignition: 1.6.4
barryvdh/laravel-debugbar: v3.9.2
barryvdh/laravel-ide-helper: v2.13.0
barryvdh/laravel-snappy: v1.0.2
barryvdh/reflection-docblock: v2.1.1
guzzlehttp/guzzle: 7.8.0
phpoffice/phpspreadsheet: 1.29.0
league/commonmark: 2.4.1
league/config: v1.2.0
league/event: 2.2.0
league/flysystem: 3.16.0
league/flysystem-local: 3.16.0
league/mime-type-detection: 1.13.0
league/oauth2-server: 8.5.4
league/uri: 7.3.0
league/uri-interfaces: 7.3.0
============================================================
5. PHP VERSION & LOADED EXTENSIONS
============================================================
PHP Path:
PHP 8.1.10 (cli) (built: Aug 30 2022 18:08:04) (NTS Visual C++ 2019 x64)
Copyright (c) The PHP Group
Zend Engine v4.1.10, Copyright (c) Zend Technologies
Loaded Extensions:
[PHP Modules]
bcmath
bz2
calendar
com_dotnet
Core
ctype
curl
date
dom
exif
fileinfo
filter
gd
gettext
hash
iconv
intl
json
ldap
libxml
mbstring
mysqli
mysqlnd
odbc
openssl
pcre
PDO
pdo_mysql
pdo_sqlsrv
Phar
readline
Reflection
session
SimpleXML
soap
sockets
sodium
SPL
sqlsrv
standard
tokenizer
xml
xmlreader
xmlwriter
zip
zlib
[Zend Modules]
PHP INI Location:
Configuration File (php.ini) Path:
Loaded Configuration File: C:\Program Files\PHP\v8.1.10\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
============================================================
6. APPLICATION DIRECTORY SIZES
============================================================
C:\inetpub\portal-live - 23309.21 MB (245244 files)
C:\inetpub\portal-uat - 2903.08 MB (76882 files)
C:\inetpub\portal-mirror - 528.28 MB (56282 files)
C:\inetpub\mobile-live - 237.36 MB (25630 files)
C:\inetpub\mobile-uat - 243.5 MB (26282 files)
============================================================
7. PORTAL-LIVE DIRECTORY STRUCTURE
============================================================
ERROR: A parameter cannot be found that matches parameter name 'Depth'.
============================================================
8. GIT REPOSITORIES
============================================================
--- C:\inetpub\portal-live ---
Remote:
ERROR: The term 'git' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
============================================================
9. LARAVEL ROUTES
============================================================
Route count:
The "--compact" option does not exist.
============================================================
10. LARAVEL MIGRATION FILES
============================================================
Name LastWriteTime
---- -------------
2016_06_01_000001_create_oauth_auth_codes_table.php 7/30/2020 3:11:33 PM
2016_06_01_000002_create_oauth_access_tokens_table.php 7/30/2020 3:11:33 PM
2016_06_01_000003_create_oauth_refresh_tokens_table.php 7/30/2020 3:11:33 PM
2016_06_01_000004_create_oauth_clients_table.php 7/30/2020 3:11:33 PM
2016_06_01_000005_create_oauth_personal_access_clients_table.php 7/30/2020 3:11:33 PM
2019_12_14_000001_create_personal_access_tokens_table.php 9/12/2023 6:15:52 PM
============================================================
11. ARTISAN / SCHEDULER SCRIPTS
============================================================
--- C:\inetpub\artisan-production.bat ---
C:
cd c:\inetpub\portal-live
php artisan schedule:run
--- C:\inetpub\portal-live\app\Console\Kernel.php ---
<?php
namespace App\Console;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel
{
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
/// $schedule->command('edi:run --all')->dailyAt('9:00am')->withoutOverlapping();
$schedule->command('edi:run --process=WAVE_END_OF_MONTH')->monthlyOn(1)->withoutOverlapping();
$schedule->command('cleanupold')->monthlyOn(24)->withoutOverlapping();
$schedule->command('shipment_requests:nag')->everyFifteenMinutes()->withoutOverlapping();
// $schedule->command('reactivatecustomers')->everyFiveMinutes();
$schedule->command('send-order-acknowledgement-emails')->hourly()->withoutOverlapping();
$schedule->command('disc:clearoldinvoices')->daily()->withoutOverlapping();
$schedule->command('shipping:previousmonth')
->monthlyOn(1, '03:00')->withoutOverlapping();
$schedule->command('shipping:ytd')->twiceDaily()->withoutOverlapping();
}
/**
* Register the commands for the application.
*
* @return void
*/
protected function commands()
{
$this->load(__DIR__.'/Commands');
require base_path('routes/console.php');
}
}
============================================================
12. WAVE / EDI SCRIPTS
============================================================
Directory listing:
FullName Length LastWriteTime
-------- ------ -------------
C:\WaveScripts\vp 11/15/2023 9:07:30 AM
C:\WaveScripts\debug.txt 500 12/23/2025 1:44:45 PM
C:\WaveScripts\edirun.bat 56 9/19/2023 9:48:38 AM
C:\WaveScripts\email.bat 56 6/8/2023 11:54:30 AM
C:\WaveScripts\emailmonthly.bat 63 6/8/2023 12:00:35 PM
C:\WaveScripts\FTPUploadprieop.cmd 810 12/23/2025 1:44:39 PM
C:\WaveScripts\FTPUploadpriprd1.cmd 794 12/23/2025 1:46:15 PM
C:\WaveScripts\FTPUploadpriprd2.cmd 793 12/23/2025 1:48:55 PM
C:\WaveScripts\FTPUploadprirc.cmd 850 12/23/2025 1:55:09 PM
C:\WaveScripts\FTPUploadpriship.cmd 837 12/23/2025 1:56:34 PM
C:\WaveScripts\notify.ps1 672 6/8/2023 11:39:29 AM
C:\WaveScripts\WinSCP.log 68364092 2/6/2026 10:09:18 AM
C:\WaveScripts\vp\FTPUploadprieop.cmd 506 11/15/2023 9:13:12 AM
C:\WaveScripts\vp\FTPUploadpriprd1.cmd 509 11/15/2023 9:11:21 AM
C:\WaveScripts\vp\FTPUploadpriprd2.cmd 510 11/15/2023 9:12:33 AM
C:\WaveScripts\vp\FTPUploadprirc.cmd 507 11/15/2023 9:12:44 AM
C:\WaveScripts\vp\FTPUploadpriship.cmd 509 11/15/2023 9:12:57 AM
--- C:\WaveScripts\vp\FTPUploadprieop.cmd ---
@echo off
"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
/log="C:\WaveScripts\WinSCP.log" /ini=nul ^
/command ^
"open sftp://waveoffsite:nGnILkAq11zy@sxfer.armstrongceilings.com/ -hostkey=[REDACTED] 2048 gwrC8L0npU5Ee/IScRyzh9cyWC6UMVOy3eRU7tQ4iVI="" -rawsettings ProxyPort=0" ^
"put C:\inetpub\portal-live\storage\app\edi\upload\VVEOM.txt" ^
"exit"
set WINSCP_RESULT=%ERRORLEVEL%
if %WINSCP_RESULT% equ 0 (
echo Success
) else (
echo Error
)
exit /b %WINSCP_RESULT%
--- C:\WaveScripts\vp\FTPUploadpriprd1.cmd ---
@echo off
"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
/log="C:\WaveScripts\WinSCP.log" /ini=nul ^
/command ^
"open sftp://waveoffsite:nGnILkAq11zy@sxfer.armstrongceilings.com/ -hostkey=[REDACTED] 2048 gwrC8L0npU5Ee/IScRyzh9cyWC6UMVOy3eRU7tQ4iVI="" -rawsettings ProxyPort=0" ^
"put C:\inetpub\portal-live\storage\app\edi\upload\VVprd1.txt" ^
"exit"
set WINSCP_RESULT=%ERRORLEVEL%
if %WINSCP_RESULT% equ 0 (
echo Success
) else (
echo Error
)
exit /b %WINSCP_RESULT%
--- C:\WaveScripts\vp\FTPUploadpriprd2.cmd ---
@echo off
"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
/log="C:\WaveScripts\WinSCP.log" /ini=nul ^
/command ^
"open sftp://waveoffsite:nGnILkAq11zy@sxfer.armstrongceilings.com/ -hostkey=[REDACTED] 2048 gwrC8L0npU5Ee/IScRyzh9cyWC6UMVOy3eRU7tQ4iVI="" -rawsettings ProxyPort=0" ^
"put C:\inetpub\portal-live\storage\app\edi\upload\VVprd2A.txt" ^
"exit"
set WINSCP_RESULT=%ERRORLEVEL%
if %WINSCP_RESULT% equ 0 (
echo Success
) else (
echo Error
)
exit /b %WINSCP_RESULT%
--- C:\WaveScripts\vp\FTPUploadprirc.cmd ---
@echo off
"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
/log="C:\WaveScripts\WinSCP.log" /ini=nul ^
/command ^
"open sftp://waveoffsite:nGnILkAq11zy@sxfer.armstrongceilings.com/ -hostkey=[REDACTED] 2048 gwrC8L0npU5Ee/IScRyzh9cyWC6UMVOy3eRU7tQ4iVI="" -rawsettings ProxyPort=0" ^
"put C:\inetpub\portal-live\storage\app\edi\upload\VVrc.txt" ^
"exit"
set WINSCP_RESULT=%ERRORLEVEL%
if %WINSCP_RESULT% equ 0 (
echo Success
) else (
echo Error
)
exit /b %WINSCP_RESULT%
--- C:\WaveScripts\vp\FTPUploadpriship.cmd ---
@echo off
"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
/log="C:\WaveScripts\WinSCP.log" /ini=nul ^
/command ^
"open sftp://waveoffsite:nGnILkAq11zy@sxfer.armstrongceilings.com/ -hostkey=[REDACTED] 2048 gwrC8L0npU5Ee/IScRyzh9cyWC6UMVOy3eRU7tQ4iVI="" -rawsettings ProxyPort=0" ^
"put C:\inetpub\portal-live\storage\app\edi\upload\VVship.txt" ^
"exit"
set WINSCP_RESULT=%ERRORLEVEL%
if %WINSCP_RESULT% equ 0 (
echo Success
) else (
echo Error
)
exit /b %WINSCP_RESULT%
--- C:\WaveScripts\edirun.bat ---
C:
cd C:\inetpub\portal-live
php artisan edi:run --all
--- C:\WaveScripts\email.bat ---
C:
cd C:\inetpub\portal-live
php artisan email:waveend
--- C:\WaveScripts\emailmonthly.bat ---
C:
cd C:\inetpub\portal-live
php artisan email:waveendmonthly
--- C:\WaveScripts\FTPUploadprieop.cmd ---
@echo off
REM FTPUploadpriprd1.cmd - Auto-accepts any host key (works with load-balanced servers)
REM Updated: December 23, 2024
setlocal
REM Create temporary WinSCP script
set TEMP_SCRIPT=%TEMP%\winscp_prieop_%RANDOM%.txt
(
echo option batch on
echo option confirm off
echo open sftp://waveoffsite:nGnILkAq11zy@sxfer.armstrongceilings.com/ -hostkey=[REDACTED]
echo put C:\inetpub\portal-live\storage\app\edi\upload\prieop.txt
echo exit
) > "%TEMP_SCRIPT%"
REM Execute WinSCP
"C:\Program Files (x86)\WinSCP\WinSCP.com" /log="C:\WaveScripts\WinSCP.log" /ini=nul /script="%TEMP_SCRIPT%"
set WINSCP_RESULT=%ERRORLEVEL%
REM Clean up temporary file
del "%TEMP_SCRIPT%" 2>nul
REM Report result
if %WINSCP_RESULT% equ 0 (
echo Success
) else (
echo Error
)
exit /b %WINSCP_RESULT%
--- C:\WaveScripts\FTPUploadpriprd1.cmd ---
@echo off
REM FTPUploadpriprd2.cmd (or next script) - Auto-accepts any host key
REM Updated: December 23, 2024
setlocal
REM Create temporary WinSCP script
set TEMP_SCRIPT=%TEMP%\winscp_priprd1_%RANDOM%.txt
(
echo option batch on
echo option confirm off
echo open sftp://waveoffsite:nGnILkAq11zy@sxfer.armstrongceilings.com/ -hostkey=[REDACTED]
echo put C:\inetpub\portal-live\storage\app\edi\upload\priprd1.txt
echo exit
) > "%TEMP_SCRIPT%"
REM Execute WinSCP
"C:\Program Files (x86)\WinSCP\WinSCP.com" /log="C:\WaveScripts\WinSCP.log" /ini=nul /script="%TEMP_SCRIPT%"
set WINSCP_RESULT=%ERRORLEVEL%
REM Clean up temporary file
del "%TEMP_SCRIPT%" 2>nul
REM Report result
if %WINSCP_RESULT% equ 0 (
echo Success
) else (
echo Error
)
exit /b %WINSCP_RESULT%
--- C:\WaveScripts\FTPUploadpriprd2.cmd ---
@echo off
REM FTPUploadprinc.cmd (or third script) - Auto-accepts any host key
REM Updated: December 23, 2024
setlocal
REM Create temporary WinSCP script
set TEMP_SCRIPT=%TEMP%\winscp_priprd2_%RANDOM%.txt
(
echo option batch on
echo option confirm off
echo open sftp://waveoffsite:nGnILkAq11zy@sxfer.armstrongceilings.com/ -hostkey=[REDACTED]
echo put C:\inetpub\portal-live\storage\app\edi\upload\priprd2.txt
echo exit
) > "%TEMP_SCRIPT%"
REM Execute WinSCP
"C:\Program Files (x86)\WinSCP\WinSCP.com" /log="C:\WaveScripts\WinSCP.log" /ini=nul /script="%TEMP_SCRIPT%"
set WINSCP_RESULT=%ERRORLEVEL%
REM Clean up temporary file
del "%TEMP_SCRIPT%" 2>nul
REM Report result
if %WINSCP_RESULT% equ 0 (
echo Success
) else (
echo Error
)
exit /b %WINSCP_RESULT%
--- C:\WaveScripts\FTPUploadprirc.cmd ---
@echo off
REM FTPUploadprinc.cmd (or fourth script) - Auto-accepts any host key
REM Updated: December 23, 2024
setlocal
REM Create temporary WinSCP script
set TEMP_SCRIPT=%TEMP%\winscp_prirc_%RANDOM%.txt
(
echo option batch on
echo option confirm off
echo option transfer binary
echo open sftp://waveoffsite:nGnILkAq11zy@sxfer.armstrongceilings.com/ -hostkey=[REDACTED]
echo put -nopermissions -nopreservetime C:\inetpub\portal-live\storage\app\edi\upload\prirc.txt
echo exit
) > "%TEMP_SCRIPT%"
REM Execute WinSCP
"C:\Program Files (x86)\WinSCP\WinSCP.com" /log="C:\WaveScripts\WinSCP.log" /ini=nul /script="%TEMP_SCRIPT%"
set WINSCP_RESULT=%ERRORLEVEL%
REM Clean up temporary file
del "%TEMP_SCRIPT%" 2>nul
REM Report result
if %WINSCP_RESULT% equ 0 (
echo Success
) else (
echo Error
)
exit /b %WINSCP_RESULT%
--- C:\WaveScripts\FTPUploadpriship.cmd ---
@echo off
REM FTPUploadpriship.cmd - Auto-accepts any host key
REM Updated: December 23, 2024
setlocal
REM Create temporary WinSCP script
set TEMP_SCRIPT=%TEMP%\winscp_priship_%RANDOM%.txt
(
echo option batch on
echo option confirm off
echo option transfer binary
echo open sftp://waveoffsite:nGnILkAq11zy@sxfer.armstrongceilings.com/ -hostkey=[REDACTED]
echo put -nopermissions -nopreservetime C:\inetpub\portal-live\storage\app\edi\upload\priship.txt
echo exit
) > "%TEMP_SCRIPT%"
REM Execute WinSCP
"C:\Program Files (x86)\WinSCP\WinSCP.com" /log="C:\WaveScripts\WinSCP.log" /ini=nul /script="%TEMP_SCRIPT%"
set WINSCP_RESULT=%ERRORLEVEL%
REM Clean up temporary file
del "%TEMP_SCRIPT%" 2>nul
REM Report result
if %WINSCP_RESULT% equ 0 (
echo Success
) else (
echo Error
)
exit /b %WINSCP_RESULT%
--- C:\WaveScripts\notify.ps1 ---
$SmtpClient = new-object system.net.mail.smtpClient
$MailMessage = New-Object system.net.mail.mailmessage
$SmtpClient.Host = "smtp.office365.com"
$SmtpClient.Port = 587
$SmtpClient.EnableSsl = $true
$SmtpClient.Credentials = New-Object System.Net.NetworkCredential( "nick@savviorcom.onmicrosoft.com", "Capcom5^$" );
$mailmessage.from = ("nick@savviorcom.onmicrosoft.com")
$mailmessage.To.add("nick@savvior.com")
$mailmessage.To.add("rick.walters@vorteqcoil.com")
$mailmessage.To.add("Stacie.Broskey@vorteqcoil.com")
$mailmessage.Subject = "Server Alert: Wave EDI"
$mailmessage.Body = "The daily upload task has completed"
$smtpclient.Send($mailmessage)
============================================================
13. MOBILE APP DETAILS
============================================================
--- C:\inetpub\mobile-live ---
Top-level structure:
ERROR: A parameter cannot be found that matches parameter name 'Depth'.
============================================================
14. IIS WEB.CONFIG FILES
============================================================
--- C:\inetpub\portal-live\public\web.config ---
<!--
Rewrites requires Microsoft URL Rewrite Module for IIS
Download: https://www.iis.net/downloads/microsoft/url-rewrite
Debug Help: https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/using-failed-request-tracing-to-trace-rewrite-rules
-->
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect to https" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" negate="false" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Found" />
</rule>
<rule name="Imported Rule 1" stopProcessing="true">
<match url="^(.*)/$" ignoreCase="false" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="/{R:1}" />
</rule>
<rule name="Imported Rule 2" stopProcessing="true">
<match url="^" ignoreCase="false" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Methods" value="GET, PUT, POST, DELETE, HEAD" />
<add name="Access-Control-Allow-Headers" value="Authorization,User-Agent,Content-Type,Authorization,X-RequestDigest,X-ClientService-ClientTag,X-CSRF-TOKEN" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
--- C:\inetpub\mobile-live\www\web.config ---
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect to https" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" negate="false" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Found" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
All web.config files in C:\inetpub:
FullName LastWriteTime
-------- -------------
C:\inetpub\mobile-live\www\web.config 7/31/2020 12:49:44 PM
C:\inetpub\mobile-uat\platforms\browser\www\web.config 3/12/2020 11:27:17 AM
C:\inetpub\mobile-uat\www\web.config 3/12/2020 11:27:17 AM
C:\inetpub\portal(v2)\public\web.config 7/29/2020 4:40:35 PM
C:\inetpub\portal-live\public\web.config 1/3/2025 1:22:56 PM
C:\inetpub\portal-mirror\public\web.config 5/4/2017 1:14:08 PM
C:\inetpub\portal-mirror-mobile\public\web.config 5/4/2017 1:14:08 PM
C:\inetpub\portal-uat\public\web.config 7/30/2025 10:58:02 AM
============================================================
15. DATABASE CONNECTION TEST
============================================================
ERROR: Cannot index into a null array.
============================================================
16. STORAGE & UPLOADS
============================================================
C:\inetpub\portal-live\storage - 21732 MB (179149 files)
Name
----
app
cache
debugbar
framework
logs
orm
C:\inetpub\portal-live\storage\app\public - 0 MB (1 files)
============================================================
17. LARAVEL LOG (last 50 lines)
============================================================
Log file size: 0.23 MB
Last 50 lines:
#17 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Bootstrap\\HandleExceptions.php(198): NunoMaduro\\Collision\\Adapters\\Laravel\\ExceptionHandler->report()
#18 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Bootstrap\\HandleExceptions.php(246): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleException()
#19 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Bootstrap\\HandleExceptions.php(270): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleShutdown()
#20 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}()
#21 {main}
"}
[2024-06-12 09:07:29] laravel.EMERGENCY: Unable to create configured logger. Using emergency logger. {"exception":"[object] (Error(code: 0): Call to undefined method Monolog\\Logger::P_<00><00><00><00><00><00>)() at C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Log\\Logger.php:308)
[stacktrace]
#0 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Log\\LogManager.php(136): Illuminate\\Log\\Logger->__call()
#1 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Support\\helpers.php(423): Illuminate\\Log\\LogManager->Illuminate\\Log\\{closure}()
#2 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Log\\LogManager.php(137): with()
#3 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Log\\LogManager.php(122): Illuminate\\Log\\LogManager->get()
#4 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Log\\LogManager.php(111): Illuminate\\Log\\LogManager->driver()
#5 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Log\\LogManager.php(271): Illuminate\\Log\\LogManager->channel()
#6 [internal function]: Illuminate\\Log\\LogManager->Illuminate\\Log\\{closure}()
#7 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Collections\\Arr.php(560): array_map()
#8 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Collections\\Collection.php(768): Illuminate\\Support\\Arr::map()
#9 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Collections\\Traits\\EnumeratesValues.php(368): Illuminate\\Support\\Collection->map()
#10 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Log\\LogManager.php(272): Illuminate\\Support\\Collection->flatMap()
#11 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Log\\LogManager.php(220): Illuminate\\Log\\LogManager->createStackDriver()
#12 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Log\\LogManager.php(135): Illuminate\\Log\\LogManager->resolve()
#13 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Log\\LogManager.php(122): Illuminate\\Log\\LogManager->get()
#14 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Log\\LogManager.php(645): Illuminate\\Log\\LogManager->driver()
#15 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Exceptions\\Handler.php(274): Illuminate\\Log\\LogManager->error()
#16 C:\\inetpub\\portal-live\\vendor\\nunomaduro\\collision\\src\\Adapters\\Laravel\\ExceptionHandler.php(46): Illuminate\\Foundation\\Exceptions\\Handler->report()
#17 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Bootstrap\\HandleExceptions.php(198): NunoMaduro\\Collision\\Adapters\\Laravel\\ExceptionHandler->report()
#18 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Bootstrap\\HandleExceptions.php(246): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleException()
#19 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Bootstrap\\HandleExceptions.php(270): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleShutdown()
#20 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}()
#21 {main}
"}
[2024-06-12 09:07:29] laravel.EMERGENCY: Unable to create configured logger. Using emergency logger. {"exception":"[object] (Error(code: 0): Call to undefined method Monolog\\Logger::P_<00><00><00><00><00><00>)() at C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Log\\Logger.php:308)
[stacktrace]
#0 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Log\\LogManager.php(136): Illuminate\\Log\\Logger->__call()
#1 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Support\\helpers.php(423): Illuminate\\Log\\LogManager->Illuminate\\Log\\{closure}()
#2 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Log\\LogManager.php(137): with()
#3 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Log\\LogManager.php(122): Illuminate\\Log\\LogManager->get()
#4 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Log\\LogManager.php(645): Illuminate\\Log\\LogManager->driver()
#5 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Exceptions\\Handler.php(274): Illuminate\\Log\\LogManager->error()
#6 C:\\inetpub\\portal-live\\vendor\\nunomaduro\\collision\\src\\Adapters\\Laravel\\ExceptionHandler.php(46): Illuminate\\Foundation\\Exceptions\\Handler->report()
#7 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Bootstrap\\HandleExceptions.php(198): NunoMaduro\\Collision\\Adapters\\Laravel\\ExceptionHandler->report()
#8 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Bootstrap\\HandleExceptions.php(246): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleException()
#9 C:\\inetpub\\portal-live\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Bootstrap\\HandleExceptions.php(270): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleShutdown()
#10 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}()
#11 {main}
"}
[2024-06-12 09:07:29] laravel.ERROR: Out of memory (allocated 20971520) (tried to allocate 1310720 bytes) {"exception":"[object] (Symfony\\Component\\ErrorHandler\\Error\\FatalError(code: 0): Out of memory (allocated 20971520) (tried to allocate 1310720 bytes) at C:\\inetpub\\portal-live\\vendor\\savvior\\doctrine\\lib\\EMBuilder.php:19)
[stacktrace]
#0 {main}
"}
============================================================
DISCOVERY COMPLETE
============================================================
Generated: 02/06/2026 21:13:51
Output file: C:\Temp\VorteqAppDiscovery_20260206_210519.txt