%
'******************************************************************
' VP-ASP 6.50
' Use to display header and trailers
' If using affiliate headers they are execute which requires ASP 3.0
' Nov 12, 2005 Close recordset line 485,932, fix mysql test
' fix true, add headers full for admin
' xdecimalpoint and add datedelimitheader
' Dec 31, 2005 Fix time display for MYSQl and SQL Server
' Nov 22, 2006 HK add showrmaheader
'***************************************************************
'VP-ASP 6.50 - hide menu items that user doesn't have access to
dim menuArray(50), list
Sub ShopPageHeader
If getconfig("xaffheaders")="Yes" then
dim filename, affid, rc
affid=getsess("affid")
if affid<>"" then
filename="aff" & affid &"_header.htm"
Shopspecialheader filename, rc
if rc=0 then exit sub
end if
end if
%>
<%
end sub
Sub ShopPageTrailer
If getconfig("xaffheaders")="Yes" then
dim filename, affid, rc
affid=getsess("affid")
if affid<>"" then
filename="aff" & affid & "_trailer.htm"
Shopspecialheader filename, rc
if rc=0 then exit sub
end if
end if
%>
<%
end sub
Sub AdminPageTrailer
%>
<%
end sub
Sub AdminPageHeader
%>
<%
end sub
'
Sub ShopSpecialHeader (filename, rc)
dim fso, newfile
newfile=server.mappath(filename)
Set fso = server.CreateObject("Scripting.FileSystemObject")
If fso.FileExists(newfile) Then
rc=0
else
rc=4
end if
set fso=nothing
If rc=0 then
'VP-ASP 6.09 - server.execute doesn't allow for any ASP to be executed in header files
'server.execute (filename)
dyninclude filename
end if
end sub
'************************************************************************
' allows dynamic titles
' Place this line in shoppage_header
' Setupdynamictitle
'**********************************************************************
Sub Shopdynamictitle(itype)
' title
'dim itype
dim ltype, value , sessionfieldname, appfieldname
'itype="title"
sessionfieldname="dynamic" & itype
appfieldname="x" & itype
value=Getsess(sessionfieldname)
if (value="") OR isnull(value) then
value=getconfig(appfieldname)
end if
response.write value
setsess sessionfieldname,"" ' so it is not reused
end sub
'*******************************************************************
' called by shopdisplaycategories
'******************************************************************
sub SetupdynamicCategory ( conn, categoryid)
setsess "dynamictitle",""
setsess "Dynamicdescription",""
setsess "Dynamickeywords",""
on error resume next
dim sql, rs
If getconfig("xdynamictitle")<>"Yes" then
exit sub
end if
If categoryid=0 then
setsess "Dynamictitle",""
setsess "Dynamicdescription",""
setsess "Dynamickeywords",""
exit sub
end if
sql="select * from categories where categoryid=" & categoryid
set rs=conn.execute(sql)
if not rs.eof then
'VP-ASP 6.50 - show store title before dynamic title
setsess "Dynamictitle",getconfig("xtitle") & " - " & Removehtmlheaders(rs("catdescription"), "
")
setsess "Dynamicdescription",Removehtmlheaders(rs("catmemo"), "
")
setsess "Dynamickeywords",Removehtmlheaders(rs("catdescription"), "
")
end if
closerecordset rs
end sub
sub SetupdynamicProduct ( conn, catalogid)
setsess "dynamictitle",""
setsess "Dynamicdescription",""
setsess "Dynamickeywords",""
dim tempname,tempdesc,tempkeywords
on error resume next
dim sql, rs
If getconfig("xdynamictitle")<>"Yes" then
exit sub
end if
sql="select * from products where catalogid=" & catalogid
set rs=conn.execute(sql)
' translate logic
if not rs.eof then
tempname=rs("cname")
tempname=translatelanguage(conn, "products", "cname","catalogid", catalogid, tempname)
tempname= Removehtmlheaders(tempname, "
")
tempdesc=rs("cdescription")
'VP-ASP 6.08a - Changed tempdescription to tempdesc to match variable names
' tempdesc=translatelanguage(conn, "products", "cdescription","catalogid", catalogid, tempdescription)
tempdesc=translatelanguage(conn, "products", "cdescription","catalogid", catalogid, tempdesc)
tempdesc= Removehtmlheaders(tempdesc, "
")
tempkeywords=rs("keywords")
tempkeywords=translatelanguage(conn, "products", "keywords","catalogid", catalogid, tempkeywords)
tempkeywords= Removehtmlheaders(tempkeywords, "
")
'VP-ASP 6.50 - show store title before dynamic title
setsess "Dynamictitle",getconfig("xtitle") & " - " & tempname
setsess "Dynamicdescription",tempdesc
setsess "Dynamickeywords",tempkeywords
end if
closerecordset rs
end sub
'VP-ASP 6.08a - Generate Dynamic Content Meta Tags
sub SetupdynamicContent ( conn, contentid, messagetype)
setsess "dynamictitle",""
setsess "Dynamicdescription",""
setsess "Dynamickeywords",""
dim tempname,tempdesc,tempkeywords
on error resume next
dim sql, rs
If getconfig("xdynamictitle")<>"Yes" then
exit sub
end if
if contentid > "" then
sql="select * from content where contentid =" & contentid
else
sql="select * from content where messagetype ='" & messagetype & "'"
end if
set rs=conn.execute(sql)
' translate logic
if not rs.eof then
tempname=rs("message")
tempname=translatelanguage(conn, "content", "message","contentid", rs("contentid"), tempname)
tempname= Removehtmlheaders(tempname, "
")
tempdesc=rs("message2")
tempdesc=translatelanguage(conn, "content", "message2","contentid", rs("contentid"), tempdesc)
tempdesc= left(Removehtmlheaders(tempdesc, "
"), 150)
tempkeywords=rs("other1")
if tempkeywords > "" then
tempkeywords=translatelanguage(conn, "content", "other1","contentid", rs("contentid"), tempkeywords)
tempkeywords= Removehtmlheaders(tempkeywords, "
")
end if
'VP-ASP 6.50 - show store title before dynamic title
setsess "Dynamictitle",getconfig("xtitle") & " - " & tempname
setsess "Dynamicdescription",tempdesc
setsess "Dynamickeywords",tempkeywords
end if
closerecordset rs
end sub
sub displayloggedinsummary
%><%
end sub
sub numberoforders
dim sql
dim myconn, headerrecs
openorderdb myconn
'get number of orders today
sql = "select count(orderid) as ordernumber from orders where odate = " & datedelimit(now())
set headerrecs = myconn.execute(sql)
if not headerrecs.eof then
response.write headerrecs("ordernumber")
else
response.write "0"
end if
closerecordset headerrecs
shopclosedatabase myconn
end sub
'******************************************************************************
' get unprocessed orders
'*****************************************************************************
sub unprocessedorders
dim sql
dim myconn, headerrecs
OpenOrderDB myconn
'get number of unprocessed orders
if (ucase(xdatabasetype)="SQLSERVER") or (getconfig("xmysql")="Yes") OR (instr(ucase(xdatabasetype), "MYSQL") > 0) then
sql = "select count(orderid) as unprocessed from orders where not oprocessed <>0"
else
sql = "select count(orderid) as unprocessed from orders where not oprocessed <> FALSE"
end if
set headerrecs = myconn.execute(sql)
if not headerrecs.eof then
response.write headerrecs("unprocessed")
else
response.write "0"
end if
closerecordset headerrecs
shopclosedatabase myconn
end sub
sub productreviews
dim sql
dim myconn, headerrecs
shopopendatabase myconn
'get number of unapproved product reviews
sql = "select count(id) as unauthorized from reviews where (authorized IS NULL)"
set headerrecs = myconn.execute(sql)
if not headerrecs.eof then
response.write headerrecs("unauthorized")
else
response.write "0"
end if
closerecordset headerrecs
shopclosedatabase myconn
end sub
sub giftcertificates
dim sql
dim myconn, headerrecs
shopopendatabase myconn
'get number of unprocessed gift certificates
sql = "select count(giftid) as unprocessed from gifts where giftauthorized IS NULL"
set headerrecs = myconn.execute(sql)
if not headerrecs.eof then
response.write headerrecs("unprocessed")
else
response.write "0"
end if
closerecordset headerrecs
shopclosedatabase myconn
end sub
sub trackingmessages
dim sql
dim myconn, headerrecs
openorderdb myconn
'get number of tracking messages
sql = "select count(trackid) as unprocessed from ordertracking where trackdate = " & datedelimit(now())
set headerrecs = myconn.execute(sql)
if not headerrecs.eof then
response.write headerrecs("unprocessed")
else
response.write "0"
end if
closerecordset headerrecs
shopclosedatabase myconn
end sub
'**************************************************************************
' Find last login date. The very last is the one just in so we need previous on
'*************************************************************************
sub getlastlogin
dim sql
dim myconn, headerrecs
dim mytime
shopopendatabase myconn
'get number of unprocessed orders
sql = "select flddate,fldtime from tbllog where fldusername = '" & getsess("shopadmin") & "' order by flddate desc, fldtime desc"
set headerrecs = myconn.execute(sql)
If not headerrecs.eof then
headerrecs.movenext
If not headerrecs.eof then
mytime=headerrecs("fldtime")
mytime=formatdatetime(mytime, vblongtime)
response.write headerrecs("flddate") & " " & mytime
else
response.write "-"
end if
else
response.write "-"
end if
closerecordset headerrecs
shopclosedatabase myconn
end sub
function allowedTable(table)
'********************************************
'see if user has access to this table
dim j, okaytables, counter
if lcase(getconfig("xrestrictadmintables"))<>"yes" then exit function
okaytables=split(getsess("usertables"),",",-1,1)
counter=ubound(okaytables)
for j = 0 to counter - 1
if ucase(table)=ucase(okaytables(j)) then
allowedTable = true
exit function
end if
next
allowedTable = false
end function
Sub getXML(sourceFile,howmany)
errorMessage = "
" & getlang("langErrorRSS") & "
"
if sourceFile = "" then
Response.Write ErrorMessage
exit sub
end if
if howmany = "" then
howmany = 0
end if
styleTop = ""
styleBody = "{TITLE} {DESCRIPTION}"
Set xmlHttp = Server.CreateObject("MSXML2.XMLHTTP.3.0")
xmlHttp.Open "Get", sourceFile, false
xmlHttp.Send()
RSSXML = xmlHttp.ResponseText
Set xmlDOM = Server.CreateObject("MSXML2.DomDocument.3.0")
xmlDOM.async = false
xmlDOM.LoadXml(RSSXML)
Set xmlHttp = Nothing ' clear HTTP object
Set RSSItems = xmlDOM.getElementsByTagName("item") ' collect all "items" from downloaded RSS
Set xmlDOM = Nothing ' clear XML
RSSItemsCount = RSSItems.Length-1
' writing Header
if RSSItemsCount > 0 then
Response.Write styleTop
End If
j = 0
For i = 0 To RSSItemsCount
Set RSSItem = RSSItems.Item(i)
for each child in RSSItem.childNodes
Select case lcase(child.nodeName)
case "title"
RSStitle = child.text
case "link"
RSSlink = child.text
case "description"
RSSdescription = child.text
End Select
next
j = j + 1
if cint(j) <= cint(howmany) then
ItemContent = Replace(styleBody,"{LINK}",RSSlink)
ItemContent = Replace(ItemContent,"{TITLE}",RSSTitle)
ItemContent = Replace(ItemContent,"{DESCRIPTION}",RSSDescription)
Response.Write ItemContent
ItemContent = ""
End if
Next
' writing Footer
if RSSItemsCount > 0 then
Response.Write styleTail
else
Response.Write ErrorMessage
End If
End Sub
'**************************************************************************
' display number of orders for admin
'*************************************************************************
Sub DisplayOrders
Dim myconn
dim reportlimit, count
reportlimit=10
count=0
openorderdb myconn
SetUpTable
if (ucase(xdatabasetype)="SQLSERVER") or (getconfig("xmysql")="Yes") OR (instr(ucase(xdatabasetype), "MYSQL") > 0) then
sql = "select * from orders where oprocessed = 0 order by orderid desc"
else
sql = "select * from orders where oprocessed = FALSE order by orderid desc"
end if
Set objRec = myconn.Execute(sql)
if objrec.eof then
response.write "| No new orders. |
"
else
do while not objrec.eof and count
<%
End Sub
Sub CloseTable
%>
<%
End Sub
Sub WriteOrderRow (objRec)
if processed<>0 then
response.write ReportDetailRowX
else
response.write ReportDetailRow
end if
response.write ReportDetailColumn & "#" & objRec("orderid") & "" & ReportDetailcolumnend
response.write ReportDetailColumn & objRec("ofirstname") & " " & objRec("olastname") & ReportDetailcolumnend
response.write ReportDetailColumn & objRec("odate") & ReportDetailcolumnend
response.write ReportDetailColumn & shopformatcurrency(objrec("orderamount"),getconfig("xdecimalpoint")) & ReportDetailcolumnend
response.write ReportDetailColumn & objRec("ocardtype") & ReportDetailcolumnend
response.write ReportDetailColumn & objRec("ocountry") & ReportDetailcolumnend
response.write ReportDetailRowEnd
End sub
Sub WriteOrderTrackingRow (objRec)
response.write ReportDetailRow
response.write ReportDetailColumn & "#" & objRec("trackid") & "" & ReportDetailcolumnend
response.write ReportDetailColumn & objRec("trackname") & ReportDetailcolumnend
response.write ReportDetailColumn & objRec("trackdate") & ReportDetailcolumnend
response.write ReportDetailColumn & objrec("tracktime") & ReportDetailcolumnend
response.write ReportDetailColumn & left(objRec("trackcomment"), 50)
if len(objRec("trackcomment")) > 50 then response.write "..."
response.write ReportDetailcolumnend
response.write ReportDetailRowEnd
End sub
Sub WriteCustAuthRow (objRec)
response.write ReportDetailRow
response.write ReportDetailColumn & "#" & objRec("contactid") & "" & ReportDetailcolumnend
response.write ReportDetailColumn & objRec("firstname") & ReportDetailcolumnend
response.write ReportDetailColumn & objRec("lastname") & ReportDetailcolumnend
response.write ReportDetailColumn & objrec("email") & ReportDetailcolumnend
response.write ReportDetailcolumnend
response.write ReportDetailRowEnd
End sub
'VP-ASP 6.50 - RMA
Sub WriteOrderRMARow (objRec)
response.write ReportDetailRow
response.write ReportDetailColumn & "#" & objRec("rmaid") & "" & ReportDetailcolumnend
response.write ReportDetailColumn & objRec("rmaname") & ReportDetailcolumnend
response.write ReportDetailColumn & objRec("rmacreationdate") & ReportDetailcolumnend
response.write ReportDetailColumn & objrec("rmacustomeraction") & ReportDetailcolumnend
response.write ReportDetailColumn & left(objRec("rmacustomercomment"), 50)
if len(objRec("rmacustomercomment")) > 50 then response.write "..."
response.write ReportDetailcolumnend
response.write ReportDetailRowEnd
End sub
Sub GetHeaderMenu
dim menuconn, rs, sql, i
ShopOpenDatabase menuconn
'Get all menu items for this section
sql = "SELECT DISTINCT fldmenu, fldsection FROM tblaccess WHERE fldsection = '"
if (getsess("headermenu") = "occasional") then
sql = sql & "occasional"
elseif (getsess("headermenu") = "setup") then
sql = sql & "setup"
else
sql = sql & "everyday"
end if
sql = sql & "' ORDER BY fldmenu"
if getsess("headermenu") = "setup" then
sql = sql & " DESC"
end if
set rs=menuconn.execute(sql)
'go back to start of recordset so we can write the submenus for each menu item
if (getsess("nomenuitems") <> true) and (not getsess("headermenu") = "setup") then
rs.movefirst
i = 1
while not rs.eof
' WriteSubMenuOpen i, rs("fldmenu"), rs("fldsection")
WriteSubMenuItems i, rs("fldmenu"), rs("fldsection")
' WriteSubMenuClose
i = i + 1
rs.movenext
wend
end if
closerecordset rs
ShopCloseDatabase menuconn
End SUb
sub writeheadermenu
dim menuconn, rs, sql, i
WriteMenuOpen
ShopOpenDatabase menuconn
'Get all menu items for this section
sql = "SELECT DISTINCT fldmenu, fldsection FROM tblaccess WHERE fldsection = '"
if (getsess("headermenu") = "occasional") then
sql = sql & "occasional"
elseif (getsess("headermenu") = "setup") then
sql = sql & "setup"
else
sql = sql & "everyday"
end if
sql = sql & "' ORDER BY fldmenu"
if getsess("headermenu") = "setup" then
sql = sql & " DESC"
end if
set rs=menuconn.execute(sql)
i = 1
if rs.eof then
'write the section name because there are no menu items
response.write ucase(left(getsess("headermenu"), 1)) & lcase(right(getsess("headermenu"), len(getsess("headermenu")) - 1))
else
'write out menu items
if getsess("headermenu") <> "setup" then
%> | <%
end if
while not rs.eof
if getsess("headermenu") = "setup" then
if getconfig("xnewconfigmode") = "Yes" then
WriteMenuItemLink rs("fldmenu"), rs("fldsection")
end if
else
WriteMenuItem i, rs("fldmenu"), rs("fldsection")
end if
i = i + 1
rs.movenext
wend
end if
WriteMenuClose
end sub
Sub generatetabs
%>
- >Admin Home
<%
'VP-ASP 6.50 - hide menu items that user doesn't have access to
dim tabdbc, tabrs
shopopendatabase tabdbc
list = GetAccess(getsess("shopadmin"), tabdbc)
'CONFIG TAB
if getconfig("xnewconfigmode") = "Yes" then
set tabrs = tabdbc.execute("SELECT * FROM tblaccess WHERE fldurl like 'shopa_config.asp?tab=%' AND fldauto in (" & list & ") ORDER BY fldOrder, fldName")
else
set tabrs = tabdbc.execute("SELECT * FROM tblaccess WHERE fldurl like 'shopa_config.asp%' AND fldauto in (" & list & ") ORDER BY fldOrder, fldName")
end if
if not tabrs.eof then%>
- >Set-Up
<%end if
set tabrs = tabdbc.execute("SELECT * FROM tblaccess WHERE fldsection = 'everyday' AND fldauto in (" & list & ") ORDER BY fldOrder, fldName")
if not tabrs.eof then
%>
- >Everyday Tasks
<% end if
set tabrs = tabdbc.execute("SELECT * FROM tblaccess WHERE fldsection = 'occasional' AND fldauto in (" & list & ") ORDER BY fldOrder, fldName")
if not tabrs.eof then
%>
- >Occasional Tasks
<%end if
closerecordset tabrs
shopclosedatabase tabdbc
%>
<%
end sub
Sub GetTotalCustomers
dim sql, myconn, headerrecs
OpenCustomerDB myconn
'get number of customers today
sql = "select count(contactid) as customernumber from customers"
set headerrecs = myconn.execute(sql)
if not headerrecs.eof then
response.write headerrecs("customernumber")
else
response.write "0"
end if
closerecordset headerrecs
shopclosedatabase myconn
End Sub
'***************************************************************
' get sum of orders today
'***************************************************************
Sub GetTodaysTotal
dim sql, myconn, headerrecs
openorderdb myconn
'get total of orders today
sql = "select sum(orderamount) as todayorder from orders WHERE odate = " & datedelimit(datepart("yyyy",date) & "/" & datepart("m",date) & "/" & datepart("d",date))
'only show processed orders. Comment out these line to show all orders
if (ucase(xdatabasetype)="SQLSERVER") or (getconfig("xmysql")="Yes") OR (instr(ucase(xdatabasetype), "MYSQL") > 0) then
sql = sql & " AND oprocessed = 1"
else
sql = sql & " AND oprocessed = TRUE"
end if
'only show orders that match end of order valid payments. Comment out the lines below to show all orders
dim validpayments, types
if instr(Getconfig("xendofordervalidpayments"), ",") > 0 then
validpayments = split(Getconfig("xendofordervalidpayments"), ",")
sql = sql & " AND ("
for each types in validpayments
sql = sql & " ocardtype = '" & types & "' OR"
next
sql = left(sql, len(sql) - 2)
sql = sql & ")"
else
sql = sql & " AND ocardtype = '" & Getconfig("xendofordervalidpayments") & "'"
end if
'COMMENT ABOVE THIS LINE-----------------------------------------------------------------------------------
set headerrecs = myconn.execute(sql)
if not headerrecs.eof then
if headerrecs("todayorder") > "" then
response.write shopformatcurrency(headerrecs("todayorder"), 2)
else
response.write "0"
end if
else
response.write "0"
end if
closerecordset headerrecs
shopclosedatabase myconn
End Sub
Sub GetMonthsTotal
dim sql, myconn, headerrecs
openorderdb myconn
'get total of orders this month
'VP-ASP 6.08 - Total was tallying all months from all years. Now does current month of current year
sql = "select sum(orderamount) as monthorder from orders WHERE MONTH(odate) = '" & datepart("m",date) & "' AND YEAR(odate) = '" & datepart("yyyy",date) & "'"
'only show processed orders. Comment out this line to show all orders
if (ucase(xdatabasetype)="SQLSERVER") or (getconfig("xmysql")="Yes") OR (instr(ucase(xdatabasetype), "MYSQL") > 0) then
sql = sql & " AND oprocessed = 1"
else
sql = sql & " AND oprocessed = TRUE"
end if
'only show orders that match end of order valid payments. Comment out the lines below to show all orders
dim validpayments, types
if instr(Getconfig("xendofordervalidpayments"), ",") > 0 then
validpayments = split(Getconfig("xendofordervalidpayments"), ",")
sql = sql & " AND ("
for each types in validpayments
sql = sql & " ocardtype = '" & types & "' OR"
next
sql = left(sql, len(sql) - 2)
sql = sql & ")"
else
sql = sql & " AND ocardtype = '" & Getconfig("xendofordervalidpayments") & "'"
end if
'COMMENT ABOVE THIS LINE-----------------------------------------------------------------------------------
set headerrecs = myconn.execute(sql)
if not headerrecs.eof then
if headerrecs("monthorder") > "" then
response.write shopformatcurrency(headerrecs("monthorder"), 2)
else
response.write "0"
end if
else
response.write "0"
end if
closerecordset headerrecs
shopclosedatabase myconn
End Sub
'******************************************************************
' get total orders for year
'**********************************************************************
Sub GetYearsTotal
dim sql, myconn, headerrecs
openorderdb myconn
'get total of orders this year
sql = "select sum(orderamount) as yearorder from orders WHERE YEAR(odate) = '" & datepart("yyyy",date) & "'"
'only show processed orders. Comment out this line to show all orders
if (ucase(xdatabasetype)="SQLSERVER") or (getconfig("xmysql")="Yes") OR (instr(ucase(xdatabasetype), "MYSQL") > 0) then
sql = sql & " AND oprocessed = 1"
else
sql = sql & " AND oprocessed = TRUE"
end if
'only show orders that match end of order valid payments. Comment out the lines below to show all orders
dim validpayments, types
if instr(Getconfig("xendofordervalidpayments"), ",") > 0 then
validpayments = split(Getconfig("xendofordervalidpayments"), ",")
sql = sql & " AND ("
for each types in validpayments
sql = sql & " ocardtype = '" & types & "' OR"
next
sql = left(sql, len(sql) - 2)
sql = sql & ")"
else
sql = sql & " AND ocardtype = '" & Getconfig("xendofordervalidpayments") & "'"
end if
'COMMENT ABOVE THIS LINE-----------------------------------------------------------------------------------
set headerrecs = myconn.execute(sql)
if not headerrecs.eof then
if headerrecs("yearorder") > "" then
response.write shopformatcurrency(headerrecs("yearorder"), 2)
else
response.write "0"
end if
else
response.write "0"
end if
closerecordset headerrecs
shopclosedatabase myconn
End Sub
sub writeSubMenuOpen (theNumber, theName, theSection)
dim paddedNumber
if theNumber < 10 then
paddedNumber = "0" & theNumber
end if%>
<%end sub
sub writeMenuOpen%>
<%end sub
sub writeMenuClose%>
<%end sub
Sub WriteMenuItem (theNumber, theName, theSection)
'VP-ASP 6.50 - hide menu items that user doesn't have access to
if menuArray(theNumber) = "false" then
exit sub
end if
dim theUnpaddedNunber
theUnpaddedNunber = theNumber
if theNumber < 10 then
theNumber = "0" & theNumber
end if%>
|
 |
<%end sub
Sub WriteMenuItemLink (theName, theSection)
'VP-ASP 6.50 - hide menu items that user doesn't have access to
dim configdbc, configrs
shopopendatabase configdbc
list = GetAccess(getsess("shopadmin"), configdbc)
set configrs = configdbc.execute("SELECT * FROM tblaccess WHERE fldsection = '" & theSection & "' AND fldMenu = '" & theName & "' AND fldauto in (" & list & ") ORDER BY fldOrder, fldName")
if not configrs.eof then
%>
 |
 |
<%
end if
closerecordset configrs
shopclosedatabase configdbc
end sub
sub headerjavascript%>
<%end sub
sub getnumberofmenuitems
dim numconn, numrs, numsql, k
ShopOpenDatabase numconn
'Get all menu items for this section
numsql = "SELECT DISTINCT fldmenu, fldsection FROM tblaccess WHERE fldsection = '"
if (getsess("headermenu") = "occasional") then
numsql = numsql & "occasional"
elseif (getsess("headermenu") = "setup") then
numsql = numsql & "setup"
else
numsql = numsql & "everyday"
end if
numsql = numsql & "' ORDER BY fldmenu"
set numrs=numconn.execute(numsql)
k = 1
if numrs.eof then
'set numberofmenuitems = nothing because there are no menu items
setsess "numberOfMenuItems", ""
setsess "nomenuitems", true
else
'count number of menu items
while not numrs.eof
k = k + 1
numrs.movenext
wend
setsess "numberOfMenuItems", k
setsess "nomenuitems", false
end if
closerecordset numrs
ShopCloseDatabase numconn
End sub
Sub WriteSubMenuItems (theNumber, theName,theSection)
dim menuconn, rs, m
ShopOpenDatabase menuconn
list = GetAccess(getsess("shopadmin"), menuConn)
if list = "" then
responseredirect "shopa_logoff.asp"
end if
'Get all menu items for this sub-menu
sql = "SELECT * FROM tblaccess WHERE "
sql = sql & "fldsection = '" & theSection & "' AND fldMenu = '" & theName & "' "
sql = sql & " AND fldauto in (" & list & ") ORDER BY fldOrder, fldName"
set rs=menuconn.execute(sql)
'VP-ASP 6.08 - if a menu had no items, it was breaking the display. Moving this call outside IF statement fixes
%>//Contents for menu <%=theNumber%>
var menu<%=theNumber%>=new Array()
<%
if rs.eof then
'VP-ASP 6.50 - hide menu items that user doesn't have access to
menuArray(theNumber) = "false"
'response.write "No menu items
"
'VP-ASP 6.08 - Change the way this line is written (from response.write)
%>menu<%=theNumber%>[0]='No menu items'
<%
else
menuArray(theNumber) = "true"
'write out menu items
dim mm
mm = 0
while not rs.eof%>
menu<%=theNumber%>[<%=mm%>]='" class="nav"><%
dim menuWord
'VP-ASP 6.50.1 - check that fldname is not null before replacing
If Not IsNull(rs("fldname")) Then
menuWord = replace(rs("fldname"), "getlang(""", "")
menuWord = replace(rs("fldname"), """)", "")
end if
if instr(menuword ," ") > 0 then
dim menuWordArray, thing
menuWordArray = split(menuword," ")
for each thing in menuWordArray
if lcase(left(thing, 4)) = "lang" then
if lcase(left(thing, 8)) = "language" then
response.write thing & " "
else
response.write getlang(thing) & " "
end if
else
response.write thing & " "
end if
next
else
if lcase(left(menuword, 4)) = "lang" then
if lcase(left(menuword, 8)) = "language" then
response.write menuword & " "
else
response.write getlang(menuword) & " "
end if
else
response.write menuword & " "
end if
end if%>
'
<%mm = mm + 1
rs.movenext
wend
end if
closerecordset rs
ShopCloseDatabase menuconn
End SUb
'******** Display table
Sub DisplayAdminPage
%><%
end sub
Sub GetMenuItems
dim adminconn, adminrs, adminsql, newrow
newrow = 0
ShopOpenDatabase adminconn
'Get All Top Level menu items from database
adminsql = "select DISTINCT fldMenu from tblaccess where fldsection = '" & getsess("headermenu") & "'"
set adminrs = adminconn.execute(adminsql)
'Write out top level menu item
while not adminrs.eof
'VP-ASP 6.50 - hide menu items that user doesn't have access to
list = GetAccess(getsess("shopadmin"), adminconn)
set rs = adminconn.execute("SELECT * FROM tblaccess WHERE fldmenu = '" & adminrs("fldmenu") & "' ORDER BY fldOrder, fldName")
dim showmenuitem
showmenuitem = false
if rs.eof then
showmenuitem = false
else
while not rs.eof
if instr("," & list & ",", "," & rs("fldauto") & ",") > 0 then
showmenuitem = true
end if
rs.movenext
wend
if showmenuitem = false then
'do nothing
else
if newrow = 0 then
%><%
end if
newrow = newrow + 1
%>
/big_<%=adminrs("fldmenu")%>.gif"> |
<%=ucase(left(adminrs("fldmenu"), 1)) & lcase(right(adminrs("fldmenu"), len(adminrs("fldmenu")) - 1))%> |
<%'Get sub menu items
GetSubMenuItems adminrs("fldmenu")%>
|
<%if newrow = 3 then
%>
| |
<%
newrow = 0
end if
end if
end if
closerecordset rs
adminrs.movenext
wend
set adminrs = nothing
ShopCloseDatabase adminconn
End Sub
Sub GetSubMenuItems (thisMenu)
dim subadminconn, subadminrs, subadminsql
dim list
ShopOpenDatabase subadminconn
list = GetAccess(getsess("shopadmin"), subadminConn)
'Get All Sub Level menu items from database
subadminsql = "select * from tblaccess where fldMenu = '" & thisMenu & "' AND fldauto in (" & list & ") ORDER BY fldorder, fldname"
set subadminrs = subadminconn.execute(subadminsql)
while not subadminrs.eof
%>
| |
"><%
dim submenuWord
submenuWord = replace(subadminrs("fldname"), "getlang(""", "")
submenuWord = replace(subadminrs("fldname"), """)", "")
if instr(submenuWord ," ") > 0 then
dim submenuWordArray, thing
submenuWordArray = split(submenuWord," ")
for each thing in submenuWordArray
if lcase(left(thing, 4)) = "lang" then
if lcase(left(thing, 8)) = "language" then
response.write thing & " "
else
response.write getlang(thing) & " "
end if
else
response.write thing & " "
end if
next
else
if lcase(left(submenuWord, 4)) = "lang" then
if lcase(left(submenuWord, 8)) = "language" then
response.write submenuWord & " "
else
response.write getlang(submenuWord) & " "
end if
else
response.write submenuWord & " "
end if
end if
%> |
<%
subadminrs.movenext
wend
closerecordset subadminrs
ShopCloseDatabase subadminconn
End Sub
Sub AdminPageHeaderFull
%>
<%
end sub
'**************************************************************
' adds quote or # depdending on database
'**************************************************************
Function datedelimitheader (indate)
dim datedelim, newdate
newdate=indate
datedelim="" ' access does not like delimiyers around partial dates
if ucase(xdatabasetype)="SQLSERVER" or getconfig("xmysql")="Yes" OR instr(ucase(xdatabasetype),"MYSQL") > 0 then
datedelim="'"
end if
dateDelimitheader = datedelim & newdate & datedelim
end function
sub outofstockproducts
dim sql
dim myconn, headerrecs
shopopendatabaseP myconn
'get number of out of stock products
sql = "select count(catalogid) as outofstock from products where (cstock < 1) OR (cstock is null)"
set headerrecs = myconn.execute(sql)
if not headerrecs.eof then
response.write headerrecs("outofstock")
else
response.write "0"
end if
closerecordset headerrecs
shopclosedatabase myconn
end sub
Function Removehtmlheaders(itemname, CR)
dim workrecord, firstchar, morefields, pos, endpos, length
dim token
workrecord=replace(itemname,"
",CR)
pos=1
morefields = True
Do While morefields = True
pos=1
pos = InStr(pos, workrecord, "<")
If pos > 0 Then
endpos = InStr(pos, workrecord, ">")
If endpos=0 then
morefields=false
else
length = endpos - pos + 1
token = Mid(workrecord, pos, length)
workrecord=replace(workrecord,token,"")
end if
else
morefields=false
end if
loop
workrecord = replace(workrecord, """", "'")
Removehtmlheaders=workrecord
end function
'VP-ASP 6.09 - dynamically include header file while allowing for ASP to be included in this file
public dyninclude, include_vars, include_vars_count
dim objfschk
dim regFltr,regFltr2
set dyninclude = new cls_include
set objfschk = server.createobject("scripting.filesystemobject")
set regFltr = new regexp
set regFltr2 = new regexp
class cls_include
private sub class_initialize()
set include_vars = server.createobject("scripting.dictionary")
include_vars_count = 0
end sub
private sub class_deactivate()
include_vars.removeall
set include_vars = nothing
set include = nothing
end sub
public default function dyninclude(byval str_path)
err.clear
dim str_source,init_path
if str_path <> "" then
if (instr(str_path,":") > 0) then
init_path = str_path
else
init_path = server.mappath(str_path)
end if
str_source = readfile(str_path)
if str_source <> "" then
str_source = processincludes (str_source, init_path, 0)
convert2code str_source
formatcode str_source
if str_source <> "" then
' if request.querystring("debug") = 1 then
' response.write str_source
' response.end
' else
executeglobal str_source
' end if
end if
end if
end if
end function
private sub convert2code(str_source)
dim i, str_temp, arr_temp, int_len, basecount
basecount = include_vars_count
if str_source <> "" then
if instr(str_source,"%" & ">") > instr(str_source,"<" & "%") then
str_temp = replace(str_source,"<" & "%","¿%")
str_temp = replace(str_temp,"%" & ">","¿")
if left(str_temp,1) = "¿" then str_temp = right(str_temp,len(str_temp) - 1)
if right(str_temp,1) = "¿" then str_temp = left(str_temp,len(str_temp) - 1)
arr_temp = split(str_temp,"¿")
int_len = ubound(arr_temp)
if (int_len + 1) > 0 then
for i = 0 to int_len
str_temp = arr_temp(i)
str_temp = replace(str_temp,vbcrlf & vbcrlf,vbcrlf)
if left(str_temp,2) = vbcrlf then str_temp = right(str_temp,len(str_temp) - 2)
if right(str_temp,2) = vbcrlf then str_temp = left(str_temp,len(str_temp) - 2)
if left(str_temp,1) = "%" then
str_temp = right(str_temp,len(str_temp) - 1)
if left(str_temp,1) = "=" then
str_temp = right(str_temp,len(str_temp) - 1)
str_temp = "response.write " & str_temp
end if
else
if str_temp <> "" then
include_vars_count = include_vars_count + 1
include_vars.add include_vars_count, str_temp
str_temp = "response.write include_vars.item(" & include_vars_count & ")"
end if
end if
if right(str_temp,2) <> vbcrlf then str_temp = str_temp
arr_temp(i) = str_temp
next
str_source = join(arr_temp,vbcrlf)
end if
else
if str_source <> "" then
'VP-ASP 6.50.1 - if var already exists, delete it before reinstating it
if include_vars.Exists("var") then include_vars.Remove("var")
include_vars.add "var", str_source
str_source = "response.write include_vars.item(""var"")"
end if
end if
end if
end sub
private function processincludes(tmp_source, curdir, curdepth)
dim int_start, str_path, str_mid, str_temp, localdir,str_method,newdir
if (curdepth < 20) then ' Maximum allowable depth. Just in case we get two files including each other
localdir = left(curdir, len(curdir)-len(objfschk.GetFileName(curdir)))
tmp_source = replace(tmp_source,""))
do until int_start = 0
str_mid = lcase(getbetween(tmp_source,""))
if (str_mid <> "") then int_start = 1
if int_start > 0 then
str_method = lcase(trim(getbetween(str_mid," ","=")))
str_temp = lcase(getbetween(str_mid,chr(34),chr(34)))
str_temp = trim(str_temp)
if (str_method = "file") then
newdir = objfschk.BuildPath(localdir,replace(str_temp,"/","\"))
str_path = processincludes(readfile(newdir), newdir, curdepth+1)
tmp_source = replace(tmp_source,"",str_path & vbcrlf)
elseif (str_method = "virtual") then
newdir = server.mappath(str_temp)
str_path = processincludes(readfile(newdir), newdir)
tmp_source = replace(tmp_source,"",str_path & vbcrlf)
else
tmp_source = replace(tmp_source,"","" & vbcrlf)
end if
end if
int_start = instr(tmp_source,"