%option explicit%>
<%
'******************************************************************
' VP-ASP 6.50
' List all Language records for a specific product
' April 27, 2005
' parameters input
' which= category or catalogid of the product/category record
' table=translateproducts, translatecategories, translatecontent
'*******************************************************************
dim which, dbtable, dbc
dim fieldnames, fieldcount, idfield
dim scriptresponder, keyfield, viewresponder, keytable
shopcheckadmin " shopa_editdisplay.asp"
which=request("which") ' specific product/category
If not isnumeric(which) then
which=""
end if
dbtable=request("table")
'
adminpageheader
EditOpenDatabase dbc,database,dbtable
SetFieldnames ' find out fields in table
SetupTableSpecificvalues dbtable ' setup table specific values
Generatesql sql ' generate sql for list
DisplayaddRecordLink ' always have an add record link
DisplayRecorddetails ' display all records
DisplayFormTrailer ' put out trailer
shopclosedatabase dbc
adminpagetrailer
'*********************************************************************
' Get all fields from table
'*********************************************************************
Sub SetFieldNames
dim fSql, fieldname
dim rs
dim fldname
ReDim Fieldnames(200)
FSQL = "SELECT * FROM " & lcase(dbtable)
Set rs = dbc.Execute(fSQL)
For each fldName in rs.Fields
Fieldname=fldName.Name
if lcase(fieldname)="extendeddesc" Or lcase(fieldname)="cdescription" then
else
Fieldnames(fieldcount)=fieldname
fieldcount=fieldcount+1
end if
next
closerecordset rs
Idfield=Fieldnames(0)
End Sub
'***************************************************************************
' write field details
'***************************************************************************
Sub DisplayformHeader (fields, fieldcount)
dim i
response.write REportTableDEf
response.write "
"
response.write ReportHeadColumn & getlang("langcommonedit") & ReportHeadColumnEnd
for i = 0 to fieldcount-1
If i<>0 then
response.write ReportHeadColumn & fieldnames(i) & ReportHeadColumnEnd
end if
next
response.write ReportRowEnd
end sub
'***************************************************************************
' For every record , display record
'**************************************************************************
Sub DisplayRecordDetails
dim total, rs
total=0
Set rs=dbc.execute(sql)
if rs.eof then
shopwriteerror getlang("LangNoRecords")
closerecordset rs
exit sub
end if
DisplayformHeader fieldnames, fieldcount ' display header
do while not rs.eof
WriteReportDetailrow rs, fieldnames, fieldcount
total=total+1
rs.movenext
loop
closerecordset rs
end sub
'**************************************************************************
' format one record. The first field is the autonumber field
' generate a link to edit prtogram for it
'**************************************************************************
Sub WriteReportDetailrow (rs, fieldnames, fieldcount)
dim i, id
dim fieldvalue, fieldname, my_link, keyid
response.write ReportDetailRow
for i = 0 to fieldcount-1
id=rs(0)
fieldname=fieldnames(i)
fieldvalue=rs(fieldname)
keyid=rs(keyfield)
If i=0 then
my_link=scriptresponder & "?table=" & dbtable & "&which=" & id & "&idfield=" & fieldname
fieldvalue="" & id & ""
end if
response.write ReportDetailColumn & fieldvalue & ReportDetailColumnEnd
next
my_link=viewresponder & "?table=" & keytable & "&which=" & keyid & "&idfield=" & keyfield
fieldvalue="" & getlang("langcommonview") & ""
response.write ReportDetailColumn & fieldvalue & ReportDetailColumnEnd
response.write ReportRowEnd
end sub
'**************************************************************************
' Complete the table
'*************************************************************************
Sub DisplayFormTrailer
response.write ReportTableEnd
end sub
'****************************************************************************
' This routine is used to generate sql to display all languages for a
' specific product or categor
'***************************************************************************
Sub Generatesql (sql)
sql="Select * from " & dbtable
if which<>"" then
sql= sql & " where " & keyfield & "=" & which
end if
sql=sql & " order by lang, " & keyfield
end sub
'***************************************************************************
' for translateproducts, translatecontent, translatecategories
'***************************************************************************
sub SetupTableSpecificvalues (dbtable)
select case lcase(dbtable)
case "translateproducts"
scriptresponder="shopa_edittranslateproducts.asp"
keyfield="catalogid"
viewresponder="shopa_addproduct.asp"
keytable="products"
case "translatecategories"
scriptresponder="shopa_edittranslatecategories.asp"
keyfield="categoryid"
keytable="categories"
viewresponder="shopa_addcategory.asp"
case "translateprodfeatures"
scriptresponder="shopa_edittranslateprodfeatures.asp"
keyfield="id"
keytable="prodfeatures"
viewresponder="shopa_editprodfeatures.asp"
end select
end sub
'***************************************************************************
' generate a link to add a record
'***************************************************************************
Sub DisplayaddRecordLink
dim my_link, fieldvalue, id
id=""
my_link=scriptresponder & "?table=" & dbtable & "&which=" & id & "&idfield=translateid"
fieldvalue="" & getlang("langEditadd") & ""
response.write "" & fieldvalue & "
"
response.write "" & getlang("LangEditSelectSetup") & " " & dbtable & ""
response.write "
"
end sub
%>