<%option explicit%> <% ShopCheckAdmin "shopa_editdisplay.asp" '******************************* ' Version 5.00 ' Display fields in one record of one table ' setting field to keyword "NULL" sets field to empty ' Feb 25, 2003 '******************************* dim Addaction,Updateaction, Deleteaction dim rstemp dim which dim idfield dim dbtable, conn dim shipmethodid, shipmethod, smprice, shipbasecost, shipextracost dim shipother1, shipother2, shipcost1, shipcost2, shiproutine, shipcountry Addaction=Request.form("add") Updateaction=Request.form("update") Deleteaction=request("delete") GetInputValues If DeleteAction<>"" then DeleteRecord end if sError="" EditOpenDatabase conn, database,dbtable If Addaction = "" and Updateaction = "" Then AdminPageHeader GenerateForm AdminPageTrailer Else AdminPageHeader UpdateRecord GenerateForm AdminPageTrailer end if Shopclosedatabase conn '************************ Sub GetInputValues ' ID, allows editing a record which=request.querystring("which") idfield=request.querystring("idfield") dbtable= request.querystring("table") database=request.querystring("database") If idfield="" then idfield="shipmethodid" dbtable="shipmethods" end if ValidateTable End Sub ' Sub ValidateTable '******************************************** 'See if user has access to this table Dim UserTables, i dim tablecount if getconfig("XRestrictAdminTables")<>"Yes" then exit sub UserTables=GetSess("UserTables") If Isnull(UserTables) then exit sub end if if UserTables="" then exit Sub else UserTables=split(GetSess("UserTables"),",",-1,1) end if tablecount=ubound(UserTables) for i = 0 to tablecount if ucase(dbtable)=ucase(Usertables(i)) then exit sub end if next dbtable="" end sub Sub GenerateForm dim sqltemp if which <> "" then sqltemp="select * from " & dbtable sqltemp=sqltemp & " where " & idfield & "=" & which 'Debugwrite sqltemp set rstemp=conn.execute(sqltemp) end if DisplayForm if which <> "" then rstemp.close set rstemp=nothing end if end Sub '**************************** Sub DisplayForm() if which <> "" then shipmethodid=rstemp("shipmethodid") shipmethod=rstemp("shipmethod") smprice=rstemp("smprice") shipbasecost=rstemp("shipbasecost") shipextracost=rstemp("shipextracost") shipother1=rstemp("shipother1") shipother2=rstemp("shipother2") shipcost1=rstemp("shipcost1") shipcost2=rstemp("shipcost2") shiproutine=rstemp("shiproutine") shipcountry=rstemp("shipcountry") end if response.write "
" shopwriteheader getlang("LangEdit02") shopwriteerror sError If which<>"" then response.write "" & getlang("LangCommonEdit") & "  " end if response.write "" & getlang("LangEditSelectSetup") & "" Response.Write TableDef FormatEditRowStatic "","shipmethodid",shipmethodid FormatEditRow getlang("LangShippingMethod"),"shipmethod",shipmethod FormatEditRow getlang("LangShipPrice"),"smprice",smprice FormatEditRow getlang("LangProductBasePrice"),"shipbasecost",shipbasecost FormatEditRow "Extra Cost","shipextracost",shipextracost FormatEditRow getlang("LangOtherfields") & " 1","shipother1",shipother1 FormatEditRow getlang("LangOtherfields") & " 2","shipother2",shipother2 FormatEditRow getlang("LangShipPrice") & " 1","shipcost1",shipcost1 FormatEditRow getlang("LangShipPrice") & " 2","shipcost2",shipcost2 FormatEditRow getlang("LangMenuFileName"),"shiproutine",shiproutine If Getconfig("xshippingbycountry")="Yes" then Response.Write(tableRow & tablecolumn & getlang("langCustCountry") & tablecolumnend & "") ShopCountries "shipCountry", shipCountry Response.Write("") else FormatEditRow getlang("Langcustcountry"),"shipcountry",shipcountry end if Response.Write(TableDefEnd) Response.Write("") If which<>"" then Response.Write("  ") Response.Write("

") Response.write "

" response.write "

" end if Response.Write("
") end sub '************ ' Sub UpdateRecord dim sqltemp if getconfig("xMYSQL")="Yes" then MYSQLProcessrecord updateaction, conn, dbtable, idfield, which exit sub end if If updateaction<>"" then sqltemp="select * from " & dbtable sqltemp= sqltemp & " where " & idfield & "=" & which Set rstemp = Server.CreateObject("ADODB.Recordset") rstemp.open sqltemp, conn, 1, 3 rstemp.Update else Set rstemp = Server.CreateObject("ADODB.Recordset") rstemp.open dbtable, conn, adOpenKeyset, adLockOptimistic rstemp.AddNew end if GenerateUpdateSQL which = rstemp(idfield) rstemp.close set rstemp=nothing sError= sError & getlang("LangEdit03") & "
" end sub ' ******** general Sql Sub GenerateUpdateSQL() Dim howmanyfields dim fieldname, fieldvalue, fieldtype dim i howmanyfields=rstemp.fields.count -1 rstemp.update for i=1 to howmanyfields fieldname = rstemp(i).name fieldtype=rstemp(i).type fieldvalue = request.form(fieldname) If fieldname="shipcountry" and fieldvalue=getconfig("langcommonselect") then fieldvalue="" end if EUpdatefield fieldname,fieldvalue next rstemp.update end sub Sub EUpdateField (fieldname, fieldvalue) on error resume next 'Debugwrite fieldname & "value=" & fieldvalue if fieldvalue="" then rstemp(Fieldname)=NULL exit sub end if if ucase(fieldvalue)="NULL" then rstemp(Fieldname)=NULL else rstemp(Fieldname)=fieldvalue end if end sub Sub DeleteRecord dim myconn EditOpenDatabase myconn, database,dbtable dim sql, url sql="delete from " & dbtable & " where " & idfield & "=" & which myconn.execute(sql) shopclosedatabase myconn url="shopa_editdisplay.asp?table=" & dbtable response.redirect url end sub %>