%option explicit%>
<%
ShopCheckAdmin ""
'**************************************************************************
' Shop Affiliate Display orders
' VP-ASP 6.50 July 5, 2005
'**************************************************************************
dim mysql
Dim Fieldcount
Dim Headnames(6)
Dim Fieldnames(6)
Dim ProcType
Dim PendType
'VP-ASP 6.09 - declare missing variables
Dim Pendnames(20)
dim Pendvalues(20)
dim pendingnamescount
Dim SortType
Dim Sortfield
Dim SortUpDown
Dim Sortupdownnames(2)
Dim Sortupdownvalues(2)
dim sortupdowncount
Dim Procnames(3)
dim Procvalues(3)
Dim Idfield
Dim i
Dim item
dim dbtable
Dim scriptresponder
Dim editresponder
Dim dbc
dim fieldname
Dim affid, fromdate,todate
dim PaidFieldnames(20),paidfieldcount, paidnamescount, paidnames(20),paidvalues(20)
dim paid, paidtype, ocardtype
dim specialsearchcount
dim prevandor
dim Selectioncritereontext
dim searchfieldvalue, searchfieldname
specialsearchcount=4
setsess "currenturl","shopa_affdisplayorders.asp"
if request.form("advanced") > "" then
if request.form("advanced") <> getsess("advanced") then
setsess "advanced", request.form("advanced")
responseredirect "shopa_affdisplayorders.asp?affid="&request("affid")
end if
end if
dim datedelim
dim datesql
scriptresponder="shopa_formatorder.asp"
editresponder="shopa_editrecord.asp"
AdminPageHeader ' Admin page headers are different
SetFieldNames ' field names for table
OpenOrderDB dbc ' open database
GetInput ' get all form fields
If Request("Delete")<>"" Then
For each item in Request("DeleteUser")
DeleteRecord Item
Next
End if
If Request("Process")<>"" Then
For each item in Request("Processed")
MarkProcessed Item
Next
End if
'VP-ASP 6.50 - mark orders paid to affiliate
If Request("Paid")<>"" Then
For each item in Request("PaidUser")
MarkPaid Item
Next
End if
GenerateSearchDisplayHeader ' Generate sort button etc
'response.write "sql=" & mysql
ShopopenRecordSet mysql, rsorder, mypagesize, mypage
GenerateTable ' write the tabe
Call PageNavBar (Mysql) ' put bottom navigation bar
rsOrder.close
set rsorder=nothing ' close database
shopCloseDatabase dbc
AdminPageTrailer ' Write admin trailer
'
Sub GetInput
Idfield="Orderid"
mypage = Request.querystring("page")
'first time we need everything, othertimes sql is set up
sortfield=request("Sortfield")
' See how we are sorting
If Sortfield="" then
sortfield="OrderID"
end if
'response.write "sortfield="& sortfield
' see which types processed or unprocessed
'VP-ASP 6.09 - Security Precaution
Proctype=cleanchars(request("Proctype"))
If Proctype="" then
Proctype="All"
end if
'VP-ASP 6.09 - Security Precaution
Pendtype=cleanchars(request("Pendtype"))
If Pendtype="" then
Pendtype="All"
end if
Paidtype=request("Paidtype")
If Paidtype="" then
Paidtype="*"
end if
'response.write "Proctype=" & proctype
SortUpdown=request("SortUpdown")
If SortUpdown="" then
sortupdown="ASC"
end if
if mypage="" then
mypage=1
GenerateSQL
else
Mysql=GetSess("sqlquery")
Proctype=GetSess("Proctype")
sortfield=GetSess("sortfield")
sortupdown=GetSess("sortupdown")
affid=getsess("affidDisplay")
end if
maxrecs=40
mypagesize=maxrecs
end sub
'
' SQL is generate by using fields on form
Sub GenerateSQL
affid=Request("affid")
'VP-ASP 6.09 - Precautionary security fix
if affid > "" then
if not isnumeric(affid) Then
affid = ""
end if
end if
dim sqlproc
dim dbtable, whereok
dim bracketopen,i, sqladd
'if Request("Selectioncritereontext")<>"" then
' if trim(ucase(request("Selectioncritereontext"))) <> trim(ucase(session("sqlquery"))) then
' mysql=request("Selectioncritereontext")
' setsess "sqlquery", request("Selectioncritereontext")
' exit sub
' end if
'end if
sqladd=" Where"
bracketopen=false
dbtable="orders"
MySql = "SELECT orders.* from " & dbtable
'whereok=" WHERE "
for i = 1 to specialsearchcount
specialsearchterm MYSQL,sqladd,Request("criterion" & i),Request("criterionvalue" & i ),Request("Selection" & i),bracketopen
if sqladd = "AND" then
whereok = " AND "
else
whereok =" WHERE "
end if
Next
if bracketopen then MYSQl=MYSQL & ")"
if getsess("advanced") <> "yes" then
if Proctype="" then
sqlproc =whereok & " WHERE Oprocessed=0"
whereok= " AND "
else
if Proctype="All" then
sqlproc=""
' AddPendingSql sqlproc, whereok
else
sqlproc =" WHERE oprocessed=" & Proctype
whereok=" AND "
' AddPendingSql sqlproc, whereok
end if
end if
end if
Mysql = mysql & sqlproc
'VP-ASP 6.09 - Security precautions
Searchfieldvalue=cleanchars(request("searchfieldvalue"))
Searchfieldname=cleanchars(request("Searchfieldname"))
'VPASP 6.5.1 - only show selected affiliate
If affid <> "" Then
mysql = mysql & whereok & " oaffid=" & affid
End If
If searchfieldvalue<>"" and searchfieldname<> getlang("Langcommonselect") then
if searchfieldname = "orderid" then searchfieldname = "orders.orderid"
searchfieldvalue=Replace(searchfieldvalue,"'","''")
mysql = mysql & whereOK & searchfieldname & " LIKE '%" & searchfieldvalue & "%'"
whereok= " and "
end if
AddPaidSql mysql, whereok
If sortfield<>"" then
mysql=mysql & " order by orders." & sortfield & " " & sortupdown
end if
'response.write mysql
SetSess "sqlquery",MySQL
setSess "Proctype",Proctype
SetSess "sortfield",sortfield
SetSess "sortupdown",sortupdown
setsess "paidtype",paidtype
SetSess "pendtype",pendtype
'debugwrite mysql
End sub
Sub GenerateSQL_OLD
dim sqlproc
dim dbtable
dim addsql
dbtable="orders"
affid=Request("affid")
setsess "affidDisplay",affid
Fromdate=GetSess("Fromdate")
Todate=GetSess("Todate")
if affid="" Then
shoperror "No affiliate id Has been entered"
end if
addsql=" AND "
MySql = "SELECT * from " & dbtable
'response.write "generated sql=" & mysql
if getsess("advanced") <> "yes" then
if Proctype="" then
sqlproc =" WHERE Oprocessed=0"
else
if Proctype="All" then
sqlproc=""
addsql=" WHERE "
else
sqlproc =" WHERE oprocessed=" & Proctype
end if
end if
else
addsql = " WHERE "
end if
Mysql = mysql & sqlproc
if fromdate<>"" then
datesql = " odate>= " & datedelimit(fromDate)
datesql = datesql & " AND odate<= " & datedelimit(todate)
mysql = mysql & addsql & "(" & datesql & ")"
addsql=" AND "
end if
mysql = mysql & addsql & " Oaffid=" & affid
If sortfield<>"" then
mysql=mysql & " order by " & sortfield & " " & sortupdown
end if
SetSess "sqlquery",MySQL
SetSess "Proctype",Proctype
SetSess "sortfield",sortfield
SetSess "sortupdown",sortupdown
'Response.write " " & mysql
End sub
'
Sub GenerateTable
dim howmanyfields
dim howmanyrecs
dim my_link
howmanyfields=fieldcount
GenerateDisplayHeader "Orders for Affiliate " & affid
GenerateDisplayBodyHeader
%>
<%
GenerateDisplayBodyFooter
end sub
Sub SetFieldNames
Fieldcount=5
fieldnames(0)="orderid"
fieldnames(1)="ocustomerid"
fieldnames(2)="odate"
fieldnames(3)="orderamount"
fieldnames(4)="olastname"
fieldnames(5)="ocountry"
headnames(0)= getlang("LangProductOrderNumber")
headnames(1)="Customerid"
headnames(2)= getlang("LangStatusDate")
headnames(3)= getlang("LangProductTotal")
headnames(4)= getlang("LangCustlastname")
headnames(5)= getlang("LangCustCountry")
Sortupdownnames(0)= getlang("LangAscending")
Sortupdownnames(1)= getlang("LangDescending")
Sortupdownvalues(0)="ASC"
Sortupdownvalues(1)="DESC"
Procnames(0)= getlang("LangAllOrders")
Procnames(1)= getlang("LangProcessed")
Procnames(2)= getlang("LangUnprocessed")
ProcValues(0)="All"
ProcValues(1)="1"
ProcValues(2)="0"
setuppaid
end sub
Sub DeleteRecord(Item)
dim Rowsaffected
dbc.execute "delete from oitems where orderid = " & item
dbc.execute "delete from orders where orderid = " & item, rowsaffected, 1
end sub
Sub MarkProcessed (Item)
'Response.write "item=" & item
sql= "update orders set oprocessed = 1 where orderid =" & item
dbc.Execute sql
End sub
'VP-ASP 6.50 - Mark orders that have been paid to affiliate
Sub MarkPaid (Item)
sql= "update orders set affpaid = 1, affdatepaid ='" & now() & "' where orderid =" & item
dbc.Execute sql
End sub
Sub GenerateRadio (Fieldname,fieldvalue,radiotype, currentvalue)
if currentvalue=Fieldvalue then
%>
<%=fieldname%>
<%
else
%>
<%=fieldname%>
<%
end if
end sub
Sub GenerateSearchDisplayHeader
%>