<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%> <% '************************************************************************ ' ECOMMERCEMAX SOLUTIONS http://www.ecommercemax.com ' Contact: info@ecommercemax.com ' January 2005 '************************************************************************************* ' **** I M P O R T A N T **** ' THIS IS A SINGLE-HOST LICENSE ONLY. ' YOU MAY NOT REDISTRIBUTE THIS SOFTWARE. ' YOU MAY NOT RESELL THIS SOFTWARE. ' ECOMMERCEMAX SOLUTIONS WILL PROSECUTE VIOLATORS TO THE FULLEST EXTENT OF THE LAW. '************************************************************************************* ' *** WARRANTY DISCLAIMER. THE CODES ON THIS SCRIPT PACKAGE ARE PROVIDED *** ' *** "AS IS" WITHOUT WARRANTIES OF ANY KIND EITHER EXPRESS OR IMPLIED. TO *** ' *** THE FULLEST EXTENT POSSIBLE PURSUANT TO THE APPLICABLE LAW, *** ' *** ECOMMERCEMAX SOLUTIONS DISCLAIMS ALL WARRANTIES, EXPRESSED OR *** ' *** IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF *** ' *** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT *** ' *** OR OTHER VIOLATION OF RIGHTS. ECOMMERCEMAX SOLUTIONS DOES NOT *** ' *** WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE, VALIDITY, *** ' *** ACCURACY, OR RELIABILITY OF, OR THE RESULTS OF THE USE OF, OR *** ' *** OTHERWISE RESPECTING, THE CODES ON THIS SCRIPT PACKAGE OR ANY *** ' *** RESOURCES USED ON THIS SCRIPT PACKAGE. *** ' *** Limitation of Liability. *** ' *** IN NO EVENT WILL ECOMMERCEMAX SOLUTIONS, OR OTHER THIRD PARTIES *** ' *** MENTIONED AT THIS SITE BE LIABLE FOR ANY DAMAGES WHATSOEVER (INCLUDING, *** ' *** WITHOUT LIMITATION, THOSE RESULTING FROM LOST PROFITS, LOST DATA OR *** ' *** BUSINESS INTERRUPTION) ARISING OUT OF THE USE, INABILITY TO USE, OR THE *** ' *** RESULTS OF USE OF THIS SCRIPTS PACKAGE, ANY WEB SITES LINKED TO THIS TOOL, *** ' *** OR THE MATERIALS OR INFORMATION CONTAINED HERE, WHETHER BASED ON WARRANTY, *** ' *** CONTRACT, TORT OR ANY OTHER LEGAL THEORY AND WHETHER OR NOT ADVISED OF THE *** ' *** POSSIBILITY OF SUCH DAMAGES. IF YOUR USE OF THE MATERIALS OR INFORMATION *** ' *** FROM THIS TOOL RESULTS IN THE NEED FOR SERVICING, REPAIR OR CORRECTION OF *** ' *** EQUIPMENT OR DATA, YOU ASSUME ALL COSTS THEREOF. *** '************************************************************************************* ' **** I M P O R T A N T **** ' THIS IS A SINGLE-HOST LICENSE ONLY. ' YOU MAY NOT REDISTRIBUTE THIS SOFTWARE. ' YOU MAY NOT RESELL THIS SOFTWARE. ' ECOMMERCEMAX SOLUTIONS WILL PROSECUTE VIOLATORS TO THE FULLEST EXTENT OF THE LAW. '************************************************************************************* ' This package was autodelivered to you by ' using Ecommercemax's PAYPAL IPN MADE EASY SYSTEM ' Don't forget to check it out at http://www.ecommercemax.com/paypal_ipn_made_easy.asp '************************************************************************************* %> <% '************************************************************************ ' ECOMMERCEMAX SOLUTIONS http://www.ecommercemax.com ' Contact: info@ecommercemax.com ' January 2005 '************************************************************************************* ' **** I M P O R T A N T **** ' THIS IS A SINGLE-HOST LICENSE ONLY. ' YOU MAY NOT REDISTRIBUTE THIS SOFTWARE. ' YOU MAY NOT RESELL THIS SOFTWARE. ' ECOMMERCEMAX SOLUTIONS WILL PROSECUTE VIOLATORS TO THE FULLEST EXTENT OF THE LAW. '************************************************************************************* ' *** WARRANTY DISCLAIMER. THE CODES ON THIS SCRIPT PACKAGE ARE PROVIDED *** ' *** "AS IS" WITHOUT WARRANTIES OF ANY KIND EITHER EXPRESS OR IMPLIED. TO *** ' *** THE FULLEST EXTENT POSSIBLE PURSUANT TO THE APPLICABLE LAW, *** ' *** ECOMMERCEMAX SOLUTIONS DISCLAIMS ALL WARRANTIES, EXPRESSED OR *** ' *** IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF *** ' *** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT *** ' *** OR OTHER VIOLATION OF RIGHTS. ECOMMERCEMAX SOLUTIONS DOES NOT *** ' *** WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE, VALIDITY, *** ' *** ACCURACY, OR RELIABILITY OF, OR THE RESULTS OF THE USE OF, OR *** ' *** OTHERWISE RESPECTING, THE CODES ON THIS SCRIPT PACKAGE OR ANY *** ' *** RESOURCES USED ON THIS SCRIPT PACKAGE. *** ' *** Limitation of Liability. *** ' *** IN NO EVENT WILL ECOMMERCEMAX SOLUTIONS, OR OTHER THIRD PARTIES *** ' *** MENTIONED AT THIS SITE BE LIABLE FOR ANY DAMAGES WHATSOEVER (INCLUDING, *** ' *** WITHOUT LIMITATION, THOSE RESULTING FROM LOST PROFITS, LOST DATA OR *** ' *** BUSINESS INTERRUPTION) ARISING OUT OF THE USE, INABILITY TO USE, OR THE *** ' *** RESULTS OF USE OF THIS SCRIPTS PACKAGE, ANY WEB SITES LINKED TO THIS TOOL, *** ' *** OR THE MATERIALS OR INFORMATION CONTAINED HERE, WHETHER BASED ON WARRANTY, *** ' *** CONTRACT, TORT OR ANY OTHER LEGAL THEORY AND WHETHER OR NOT ADVISED OF THE *** ' *** POSSIBILITY OF SUCH DAMAGES. IF YOUR USE OF THE MATERIALS OR INFORMATION *** ' *** FROM THIS TOOL RESULTS IN THE NEED FOR SERVICING, REPAIR OR CORRECTION OF *** ' *** EQUIPMENT OR DATA, YOU ASSUME ALL COSTS THEREOF. *** '************************************************************************************* ' **** I M P O R T A N T **** ' THIS IS A SINGLE-HOST LICENSE ONLY. ' YOU MAY NOT REDISTRIBUTE THIS SOFTWARE. ' YOU MAY NOT RESELL THIS SOFTWARE. ' ECOMMERCEMAX SOLUTIONS WILL PROSECUTE VIOLATORS TO THE FULLEST EXTENT OF THE LAW. '************************************************************************************* ' This package was autodelivered to you by ' using Ecommercemax's PAYPAL IPN MADE EASY SYSTEM ' Don't forget to check it out at http://www.ecommercemax.com/paypal_ipn_made_easy.asp '************************************************************************************* %> <% DIM pref_paypal_account, LOG_FILE, VENDOR_IDENTITY, VENDOR_NAME, VENDOR_EMAIL, VENDOR_EMAIL_CC, VENDOR_EMAIL_BCC, DATABASE_PATH, MM_connection_STRING '*** CHANGE THE FOLLOWIN TO YOUR OWN CONFIGURATION *** pref_paypal_account = "greg@gregsinibaldi.com" pref_private_path = "../access_db" paypal_notify_url = "http://www.gregsinibaldi.com/store/ipn_processor.asp" return_url = "http://www.gregsinibaldi.com/store/thankyou.asp" cancel_url = "http://www.gregsinibaldi.com/store/cancel.asp" login_url = "http://www.gregsinibaldi.com/store/login.asp" VENDOR_NAME = "Greg Sinibaldi" '*--> NAME OF YOUR COMPANY VENDOR_EMAIL = "greg@gregsinibaldi.com" '*--> YOUR PRIMARY EMAIL REGISTERED WITH PAYPAL VENDOR_EMAIL_CC = "" '*--> CC EMAIL - FOR ADDITIONAL NOTIFICATION EMAIL - OPTIONAL VENDOR_EMAIL_BCC = "" '*--> BCC EMAIL - FOR ADDITIONAL NOTIFICATION EMAIL - OPTIONAL CONST TERMINATE_ON_SYSTEM_ERROR = FALSE '*IF THERE IS A SERIOUS SYSTEM ERROR TRAPPED BY THE SYSTEM SUCH AS FAILURE TO '*CREATE A SERVER OBJECT, YOU MAY CHOOSE TO TERMINATE THE SCRIPT RIGHT AWAY. '*JUST SET TERMINATE_ON_SYSTEM_ERROR TO "TRUE" CONST AUDIT_TRAIL_ON = TRUE ' SET THIS TO TRUE TO ENABLE TEXT LOG FILE LOG_FILE = "PAYPAL.txt" '*PAYPAL AUDIT TRAIL LOG FILE '*NOTE: FOR ADDED SECURITY, IT IS BEST TO STORE THE LOG FILE OUTSIDE THE ROOT FOLDER '*EX. "../Private/paypal.txt" --> here folder "Private" is outside the HTTP REACH const remote_admin_login = "gsinibaldi" const remote_admin_password = "Lupita123" %> <% '************************************************************************ ' ECOMMERCEMAX SOLUTIONS http://www.ecommercemax.com ' Contact: info@ecommercemax.com ' January 2005 '************************************************************************************* ' **** I M P O R T A N T **** ' THIS IS A SINGLE-HOST LICENSE ONLY. ' YOU MAY NOT REDISTRIBUTE THIS SOFTWARE. ' YOU MAY NOT RESELL THIS SOFTWARE. ' ECOMMERCEMAX SOLUTIONS WILL PROSECUTE VIOLATORS TO THE FULLEST EXTENT OF THE LAW. '************************************************************************************* ' *** WARRANTY DISCLAIMER. THE CODES ON THIS SCRIPT PACKAGE ARE PROVIDED *** ' *** "AS IS" WITHOUT WARRANTIES OF ANY KIND EITHER EXPRESS OR IMPLIED. TO *** ' *** THE FULLEST EXTENT POSSIBLE PURSUANT TO THE APPLICABLE LAW, *** ' *** ECOMMERCEMAX SOLUTIONS DISCLAIMS ALL WARRANTIES, EXPRESSED OR *** ' *** IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF *** ' *** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT *** ' *** OR OTHER VIOLATION OF RIGHTS. ECOMMERCEMAX SOLUTIONS DOES NOT *** ' *** WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE, VALIDITY, *** ' *** ACCURACY, OR RELIABILITY OF, OR THE RESULTS OF THE USE OF, OR *** ' *** OTHERWISE RESPECTING, THE CODES ON THIS SCRIPT PACKAGE OR ANY *** ' *** RESOURCES USED ON THIS SCRIPT PACKAGE. *** ' *** Limitation of Liability. *** ' *** IN NO EVENT WILL ECOMMERCEMAX SOLUTIONS, OR OTHER THIRD PARTIES *** ' *** MENTIONED AT THIS SITE BE LIABLE FOR ANY DAMAGES WHATSOEVER (INCLUDING, *** ' *** WITHOUT LIMITATION, THOSE RESULTING FROM LOST PROFITS, LOST DATA OR *** ' *** BUSINESS INTERRUPTION) ARISING OUT OF THE USE, INABILITY TO USE, OR THE *** ' *** RESULTS OF USE OF THIS SCRIPTS PACKAGE, ANY WEB SITES LINKED TO THIS TOOL, *** ' *** OR THE MATERIALS OR INFORMATION CONTAINED HERE, WHETHER BASED ON WARRANTY, *** ' *** CONTRACT, TORT OR ANY OTHER LEGAL THEORY AND WHETHER OR NOT ADVISED OF THE *** ' *** POSSIBILITY OF SUCH DAMAGES. IF YOUR USE OF THE MATERIALS OR INFORMATION *** ' *** FROM THIS TOOL RESULTS IN THE NEED FOR SERVICING, REPAIR OR CORRECTION OF *** ' *** EQUIPMENT OR DATA, YOU ASSUME ALL COSTS THEREOF. *** '************************************************************************************* ' **** I M P O R T A N T **** ' THIS IS A SINGLE-HOST LICENSE ONLY. ' YOU MAY NOT REDISTRIBUTE THIS SOFTWARE. ' YOU MAY NOT RESELL THIS SOFTWARE. ' ECOMMERCEMAX SOLUTIONS WILL PROSECUTE VIOLATORS TO THE FULLEST EXTENT OF THE LAW. '************************************************************************************* ' This package was autodelivered to you by ' using Ecommercemax's PAYPAL IPN MADE EASY SYSTEM ' Don't forget to check it out at http://www.ecommercemax.com/paypal_ipn_made_easy.asp '************************************************************************************* %> <% db_path = server.MapPath(pref_private_path & "\myData.mdb") MM_connection_STRING = "Provider=MSDASQL; Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & db_path 'response.write "db=" & MM_connection_STRING 'response.End() %> <% '************************************************************************ ' ECOMMERCEMAX SOLUTIONS http://www.ecommercemax.com ' Contact: info@ecommercemax.com ' January 2005 '************************************************************************************* ' **** I M P O R T A N T **** ' THIS IS A SINGLE-HOST LICENSE ONLY. ' YOU MAY NOT REDISTRIBUTE THIS SOFTWARE. ' YOU MAY NOT RESELL THIS SOFTWARE. ' ECOMMERCEMAX SOLUTIONS WILL PROSECUTE VIOLATORS TO THE FULLEST EXTENT OF THE LAW. '************************************************************************************* ' *** WARRANTY DISCLAIMER. THE CODES ON THIS SCRIPT PACKAGE ARE PROVIDED *** ' *** "AS IS" WITHOUT WARRANTIES OF ANY KIND EITHER EXPRESS OR IMPLIED. TO *** ' *** THE FULLEST EXTENT POSSIBLE PURSUANT TO THE APPLICABLE LAW, *** ' *** ECOMMERCEMAX SOLUTIONS DISCLAIMS ALL WARRANTIES, EXPRESSED OR *** ' *** IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF *** ' *** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT *** ' *** OR OTHER VIOLATION OF RIGHTS. ECOMMERCEMAX SOLUTIONS DOES NOT *** ' *** WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE, VALIDITY, *** ' *** ACCURACY, OR RELIABILITY OF, OR THE RESULTS OF THE USE OF, OR *** ' *** OTHERWISE RESPECTING, THE CODES ON THIS SCRIPT PACKAGE OR ANY *** ' *** RESOURCES USED ON THIS SCRIPT PACKAGE. *** ' *** Limitation of Liability. *** ' *** IN NO EVENT WILL ECOMMERCEMAX SOLUTIONS, OR OTHER THIRD PARTIES *** ' *** MENTIONED AT THIS SITE BE LIABLE FOR ANY DAMAGES WHATSOEVER (INCLUDING, *** ' *** WITHOUT LIMITATION, THOSE RESULTING FROM LOST PROFITS, LOST DATA OR *** ' *** BUSINESS INTERRUPTION) ARISING OUT OF THE USE, INABILITY TO USE, OR THE *** ' *** RESULTS OF USE OF THIS SCRIPTS PACKAGE, ANY WEB SITES LINKED TO THIS TOOL, *** ' *** OR THE MATERIALS OR INFORMATION CONTAINED HERE, WHETHER BASED ON WARRANTY, *** ' *** CONTRACT, TORT OR ANY OTHER LEGAL THEORY AND WHETHER OR NOT ADVISED OF THE *** ' *** POSSIBILITY OF SUCH DAMAGES. IF YOUR USE OF THE MATERIALS OR INFORMATION *** ' *** FROM THIS TOOL RESULTS IN THE NEED FOR SERVICING, REPAIR OR CORRECTION OF *** ' *** EQUIPMENT OR DATA, YOU ASSUME ALL COSTS THEREOF. *** '************************************************************************************* ' **** I M P O R T A N T **** ' THIS IS A SINGLE-HOST LICENSE ONLY. ' YOU MAY NOT REDISTRIBUTE THIS SOFTWARE. ' YOU MAY NOT RESELL THIS SOFTWARE. ' ECOMMERCEMAX SOLUTIONS WILL PROSECUTE VIOLATORS TO THE FULLEST EXTENT OF THE LAW. '************************************************************************************* ' This package was autodelivered to you by ' using Ecommercemax's PAYPAL IPN MADE EASY SYSTEM ' Don't forget to check it out at http://www.ecommercemax.com/paypal_ipn_made_easy.asp '************************************************************************************* %> <% function parse (str) parse = trim(replace(replace(str, "'", "''"), "|", "")) end function function unparse (str) if str <> "" then unparse = trim(replace(str, "''", "'")) else unparse = "" end if end function function record_exists( tbl_name, column_name, the_value, isInteger) Dim quote quote = "'" if isInteger=1 then quote = "" Set rs = Server.CreateObject("ADODB.Recordset") rs.ActiveConnection = MM_Connection_STRING rs.Source = "SELECT * FROM " & tbl_name & " WHERE " & column_name & " = " & quote & the_value & quote 'response.write rs.Source 'response.End() rs.CursorType = 0 rs.CursorLocation = 2 rs.LockType = 1 rs.Open() if rs.eof then record_exists = false else record_exists = true end if rs.Close() Set rs = Nothing end function function record_exists_ext( tbl_name, column_name_1, column_name_2, the_value_1, value_1_isInt, the_value_2, value_2_isInt) Dim quote1 Dim quote2 quote1 = "'" quote2 = "'" if value_1_isInt = 1 then quote1 = "" if value_2_isInt = 1 then quote2 = "" Set rs = Server.CreateObject("ADODB.Recordset") rs.ActiveConnection = MM_Connection_STRING rs.Source = "SELECT * FROM " & tbl_name & " WHERE " & column_name_1 & " = " & quote1 & the_value_1 & quote1 & " AND " & column_name_2 & " = " & quote2 & the_value_2 & quote2 ' response.write rs.Source ' response.end() rs.CursorType = 0 rs.CursorLocation = 2 rs.LockType = 1 rs.Open() if rs.eof then record_exists_ext = false else record_exists_ext = true end if rs.Close() Set rs = Nothing end function function record_exists_edit_level_1( tbl_name, column_name_1, column_name_2, the_value_1, value_1_isInt, the_value_2, value_2_isInt) Dim quote1 Dim quote2 quote1 = "'" quote2 = "'" if value_1_isInt = 1 then quote1 = "" if value_2_isInt = 1 then quote2 = "" Set rs = Server.CreateObject("ADODB.Recordset") rs.ActiveConnection = MM_Connection_STRING rs.Source = "SELECT * FROM " & tbl_name & " WHERE " & column_name_1 & " = " & quote1 & the_value_1 & quote1 & " AND " & column_name_2 & " <> " & quote2 & the_value_2 & quote2 ' response.write rs.Source ' response.end() rs.CursorType = 0 rs.CursorLocation = 2 rs.LockType = 1 rs.Open() if rs.eof then record_exists_edit_level_1 = false else record_exists_edit_level_1 = true end if rs.Close() Set rs = Nothing end function function record_exists_edit_level_2( tbl_name, column_name_1, column_name_2, column_name_3, the_value_1, value_1_isInt, the_value_2, value_2_isInt, the_value_3, value_3_isInt) Dim quote1 Dim quote2 quote1 = "'" quote2 = "'" quote3 = "'" if value_1_isInt = 1 then quote1 = "" if value_2_isInt = 1 then quote2 = "" if value_3_isInt = 1 then quote3 = "" Set rs = Server.CreateObject("ADODB.Recordset") rs.ActiveConnection = MM_Connection_STRING rs.Source = "SELECT * FROM " & tbl_name & " WHERE " & column_name_1 & " = " & quote1 & the_value_1 & quote1 & " AND " & column_name_2 & " <> " & quote2 & the_value_2 & quote2 & " AND " & column_name_3 & " = " & quote3 & the_value_3 & quote3 ' response.write rs.Source ' response.end() rs.CursorType = 0 rs.CursorLocation = 2 rs.LockType = 1 rs.Open() if rs.eof then record_exists_edit_level_2 = false else record_exists_edit_level_2 = true end if rs.Close() Set rs = Nothing end function function insert_command(tbl_name, arr_cols, arr_values) dim i cols = split(arr_cols, "|") vals = split(arr_values, "|") ub_arr = ubound(cols) str = "INSERT INTO " & tbl_name & "(" scol = "" sval = "" for i = 0 to ub_arr if i < ub_arr then scol = scol & cols(i) & "," sval = sval & "'" & vals(i) & "'," else scol = scol & cols(i) sval = sval & "'" & vals(i) & "'" end if next str = str & scol & ") VALUES (" & sval & ")" insert_command = str end function function update_command(tbl_name, idcol, idcol_isInt, idval, arr_cols, arr_values) dim i if idcol_isInt = 1 then quote1 = "" else quote1 = "'" end if cols = split(arr_cols, "|") vals = split(arr_values, "|") ub_arr = ubound(cols) str = "UPDATE " & tbl_name & " SET " s = "" for i = 0 to ub_arr if i < ub_arr then s = s & cols(i) & "='" & vals(i) & "'," else s = s & cols(i) & "='" & vals(i) & "'" end if next str = str & s & " WHERE " & idcol & "=" & quote1 & idval & quote1 update_command = str end function function update_all_command(tbl_name, arr_cols, arr_values) dim i cols = split(arr_cols, "|") vals = split(arr_values, "|") ub_arr = ubound(cols) str = "UPDATE " & tbl_name & " SET " s = "" for i = 0 to ub_arr if i < ub_arr then s = s & cols(i) & "='" & vals(i) & "'," else s = s & cols(i) & "='" & vals(i) & "'" end if next str = str & s & " " update_all_command = str end function function delete_command(tbl_name, idcol, idval ) if isnumeric(idval) then str = "DELETE FROM " & tbl_name & " WHERE " & idcol & "=" & idval else str = "DELETE FROM " & tbl_name & " WHERE " & idcol & "='" & idval & "'" end if delete_command = str end function Function IsValidEmail(sText) 'validate email address Dim i Dim iTmpChar Dim sDomainExt Dim vEmail Dim vDomain IsValidEmail = False 'check for 1 @ symbol vEmail = Split(sText, "@") If UBound(vEmail) <> 1 Then Exit Function If vEmail(0) = "" Or vEmail(1) = "" Then Exit Function 'validate account For i = 1 To Len(vEmail(0)) 'check for valid characters iTmpChar = Asc(Mid(LCase(vEmail(0)), i, 1)) 'test for letters If Not (iTmpChar >= Asc("a")) And (iTmpChar <= Asc("z")) Then 'test for numbers If Not IsNumeric(Chr(iTmpChar)) Then 'test for exceptions If Chr(iTmpChar) <> "." And Chr(iTmpChar) <> "_" And Chr(iTmpChar) <> "-" Then Exit Function End If End If Next 'validate domain For i = 1 To Len(vEmail(1)) 'check for valid characters iTmpChar = Asc(Mid(LCase(vEmail(1)), i, 1)) 'test for letters If Not (iTmpChar >= Asc("a")) And (iTmpChar <= Asc("z")) Then 'test for numbers If Not IsNumeric(Chr(iTmpChar)) Then 'test for exceptions If Chr(iTmpChar) <> "." And Chr(iTmpChar) <> "-" Then Exit Function End If End If Next 'validate domain extension vDomain = Split(vEmail(1), ".") sDomainExt = vDomain(UBound(vDomain)) If Len(sDomainExt) < 2 Or Len(sDomainExt) > 4 Then Exit Function 'test for letters For i = 1 To Len(sDomainExt) iTmpChar = Asc(Mid(LCase(sDomainExt), i, 1)) If Not (iTmpChar >= Asc("a")) And (iTmpChar <= Asc("z")) Then Exit Function Next IsValidEmail = True End Function %> <% dim error_str dim login if request("logout") <> "" then session("download_code") = "" session("first_name") = "" end if continue = request("continue") login = request("login") download_code = request("download_code") if login <> "" then session("download_code") = "" session("first_name") = "" password = request("password") Set rslogin = Server.CreateObject("ADODB.Recordset") rslogin.ActiveConnection = MM_connection_STRING rslogin.Source = "SELECT * FROM tbl_ordermast WHERE download_code = '" & parse(download_code) & "' and password ='" & parse(password) & "'" rslogin.CursorType = 0 rslogin.CursorLocation = 2 rslogin.LockType = 1 rslogin.Open() if rslogin.eof then pusherror "Invalid download code or password." else session("download_code") = download_code session("password") = password session("first_name") = rslogin("first_name") if continue <> "" then response.Redirect (continue) else response.Redirect("downloader.asp") end if end if end if sub pusherror(str) if error_str = "" then error_str = "• " & str else error_str = error_str & "
" & "• " & str end if end sub %> Login
box
box
box
box
box
box
box

Download Code and Password.


If you purchased a download code and password at one of my shows you can enter it here. You can also enter codes from e-mails sent to you after purchase of music. You will be taken to the download page where you may download your tracks. Thanks!

Please let me know of any technical difficulties by sending an e-mail.


<%if login <> "" and error_str <> "" then%> <%end if%>
<%=error_str%>
Download code:
Password:
 

Continue shopping