<%@ Language=VBScript %> <% Option Explicit %> <% '============================================================================= ' FILE: editapplication.asp ' PURPOSE: Update an existing application record ' ' PARAMETERS: ' appid (Form, Required) - Integer ID of application to update ' appname (Form, Required) - Application name (1-50 chars) ' appdescription (Form, Optional) - Description (max 255 chars) ' supportteamid (Form, Required) - Support team ID ' applicationnotes (Form, Optional) - Notes (max 512 chars) ' installpath (Form, Optional) - Installation path/URL (max 255 chars) ' documentationpath (Form, Optional) - Documentation path/URL (max 512 chars) ' image (Form, Optional) - Image filename (max 255 chars) ' isinstallable, isactive, ishidden, isprinter, islicenced (Form, Optional) - Checkboxes (0/1) ' ' SECURITY: ' - Uses parameterized queries ' - Validates all inputs ' - HTML encodes outputs ' ' AUTHOR: Claude Code ' CREATED: 2025-10-12 '============================================================================= '----------------------------------------------------------------------------- ' INITIALIZATION '----------------------------------------------------------------------------- Call InitializeErrorHandling("editapplication.asp") ' Get and validate required inputs Dim appid, appname, appdescription, supportteamid Dim applicationnotes, installpath, documentationpath, image Dim isinstallable, isactive, ishidden, isprinter, islicenced appid = Trim(Request.Form("appid")) appname = Trim(Request.Form("appname")) appdescription = Trim(Request.Form("appdescription")) supportteamid = Trim(Request.Form("supportteamid")) applicationnotes = Trim(Request.Form("applicationnotes")) installpath = Trim(Request.Form("installpath")) documentationpath = Trim(Request.Form("documentationpath")) image = Trim(Request.Form("image")) ' Checkboxes - convert to bit values If Request.Form("isinstallable") = "1" Then isinstallable = 1 Else isinstallable = 0 End If If Request.Form("isactive") = "1" Then isactive = 1 Else isactive = 0 End If If Request.Form("ishidden") = "1" Then ishidden = 1 Else ishidden = 0 End If If Request.Form("isprinter") = "1" Then isprinter = 1 Else isprinter = 0 End If If Request.Form("islicenced") = "1" Then islicenced = 1 Else islicenced = 0 End If '----------------------------------------------------------------------------- ' VALIDATE INPUTS '----------------------------------------------------------------------------- ' Validate appid If Not ValidateID(appid) Then Call HandleValidationError("displayapplications.asp", "INVALID_ID") End If ' Verify the application exists - DISABLED DUE TO CACHING ISSUE ' If Not RecordExists(objConn, "applications", "appid", appid) Then ' Call HandleValidationError("displayapplications.asp", "NOT_FOUND") ' End If ' Validate appname (required, 1-50 chars) If Len(appname) < 1 Or Len(appname) > 50 Then Call HandleValidationError("displayapplication.asp?appid=" & appid, "INVALID_INPUT") End If ' Validate supportteamid If Not ValidateID(supportteamid) Then Call HandleValidationError("displayapplication.asp?appid=" & appid, "INVALID_ID") End If ' Verify support team exists - DISABLED DUE TO CACHING ISSUE ' If Not RecordExists(objConn, "supportteams", "supporteamid", supportteamid) Then ' Call HandleValidationError("displayapplication.asp?appid=" & appid, "INVALID_INPUT") ' End If ' Validate field lengths If Len(appdescription) > 255 Then Call HandleValidationError("displayapplication.asp?appid=" & appid, "INVALID_INPUT") End If If Len(applicationnotes) > 512 Then Call HandleValidationError("displayapplication.asp?appid=" & appid, "INVALID_INPUT") End If If Len(installpath) > 255 Then Call HandleValidationError("displayapplication.asp?appid=" & appid, "INVALID_INPUT") End If If Len(documentationpath) > 512 Then Call HandleValidationError("displayapplication.asp?appid=" & appid, "INVALID_INPUT") End If If Len(image) > 255 Then Call HandleValidationError("displayapplication.asp?appid=" & appid, "INVALID_INPUT") End If '----------------------------------------------------------------------------- ' DATABASE UPDATE '----------------------------------------------------------------------------- Dim strSQL strSQL = "UPDATE applications SET " & _ "appname = ?, " & _ "appdescription = ?, " & _ "supportteamid = ?, " & _ "applicationnotes = ?, " & _ "installpath = ?, " & _ "documentationpath = ?, " & _ "image = ?, " & _ "isinstallable = ?, " & _ "isactive = ?, " & _ "ishidden = ?, " & _ "isprinter = ?, " & _ "islicenced = ? " & _ "WHERE appid = ?" Dim recordsAffected recordsAffected = ExecuteParameterizedUpdate(objConn, strSQL, Array( _ appname, _ appdescription, _ supportteamid, _ applicationnotes, _ installpath, _ documentationpath, _ image, _ CInt(isinstallable), _ CInt(isactive), _ CInt(ishidden), _ CInt(isprinter), _ CInt(islicenced), _ appid _ )) Call CheckForErrors() '----------------------------------------------------------------------------- ' CLEANUP AND REDIRECT '----------------------------------------------------------------------------- Call CleanupResources() If recordsAffected > 0 Then Response.Redirect("displayapplication.asp?appid=" & Server.URLEncode(appid)) Else Response.Write("") Response.Write("

Error: No records were updated.

") Response.Write("

Go Back

") Response.Write("") End If %>