Login

Error

Error

We have encountered a temporary error in loading a script.

Error description:ActiveX component can't create object (429)
Error source:Microsoft VBScript runtime error
Code abstract:
... HTML ...
dim plugin_websiteLogin
set plugin_websiteLogin = new cls_plugin_websiteLogin
with plugin_websiteLogin
	
	call .rememberMeLogin()
	
	call .loginAttempt()
	
	if .passwordRequest() then
... HTML ...
	end if
	
	if .passwordReset() then
... HTML ...
	end if
	
	call .displayForm()
	
end with
set plugin_websiteLogin = nothing
... HTML ...
class cls_plugin_websiteLogin
	
	
	
	public sub displayForm()
... HTML ...
response.write(page.url)
... HTML ...
response.write(request.querystring("redirect"))
... HTML ...
template.translation("Email address") 
... HTML ...
response.write(server.htmlEncode(request.cookies(settings.user_cookieUserLogin)("user")))
... HTML ...
template.translation("Password") 
... HTML ...
template.translation("Remember Me?") 
... HTML ...
					if (request.cookies(settings.user_cookieUserLogin)("user") <> "") then response.write " checked=""checked"""
				
... HTML ...
template.translation("Log-in") 
... HTML ...
response.write(page.url)
... HTML ...
template.translation("Forgotten my password") 
... HTML ...
template.translation("To reset your password, please enter your e-mail address. A confirmation link will be emailed to you.") 
... HTML ...
response.write(page.url)
... HTML ...
response.write(request.querystring("redirect"))
... HTML ...
template.translation("Email address") 
... HTML ...
response.write(server.htmlEncode(request.cookies(settings.user_cookieUserLogin)("user")))
... HTML ...
template.translation("Reset password") 
... HTML ...
	end sub
	
	
	
	public sub rememberMeLogin()
		if (request.cookies(settings.user_cookieUserLogin)("user") <> "") AND (request.cookies(settings.user_cookieUserLogin)("auth") <> "") then
			
			
			db.rQuery "SELECT [mod_usersWeb].email, [mod_contentGroups___nodes].*" & _
					  " FROM [nodes], [mod_usersWeb], [mod_contentGroups___nodes]" & _
					  " WHERE (node_active = " & db.sql_bool(true) & ")" & _
						  " AND ([nodes].node_id = [mod_usersWeb].nid) AND ([nodes].node_dataId = [mod_usersWeb].id)" & _
						  " AND ([mod_usersWeb].email = '" & db.clean(request.cookies(settings.user_cookieUserLogin)("user")) & "')" & _
						  " AND ([mod_usersWeb].auth_code = '" & db.clean(request.cookies(settings.user_cookieUserLogin)("auth")) & "')" & _
						  " AND ([mod_contentGroups___nodes].node_nid = [nodes].node_id)" & _
						  " AND ([mod_contentGroups___nodes].node_revisionId = 0)"
			if (db.eof) then exit sub
			
			
			dim userNid, userEmail
				userNid   = db.readDbl("node_nid")
				userEmail = db("email")
			
			
			session(settings.user_sessionUserID) 	= db.readDbl("node_nid")
			do until db.eof
				session(settings.user_sessionUserGroup & cStr(db.readDbl("group_nid"))) = true
			db.movenext
			loop
			
			
			call setCookies(userNid, userEmail)
			
			
			call redirect()
			
		end if
		
	end sub
	
	
	
	public sub loginAttempt()
		if (uploader.form("weblogin_submit") = "") then exit sub
		if (trim(uploader.form("weblogin_email")) = "") then exit sub
		
		
		db.rQuery "SELECT [mod_usersWeb].email, [mod_usersWeb].password , [mod_contentGroups___nodes].*" & _
				  " FROM [nodes], [mod_usersWeb], [mod_contentGroups___nodes]" & _
				  " WHERE (node_active = " & db.sql_bool(true) & ")" & _
					  " AND ([nodes].node_id = [mod_usersWeb].nid) AND ([nodes].node_dataId = [mod_usersWeb].id)" & _
					  " AND ([mod_usersWeb].email = '" & db.clean(trim(uploader.form("weblogin_email"))) & "')" & _
					  " AND ([mod_contentGroups___nodes].node_nid = [nodes].node_id)" & _
					  " AND ([mod_contentGroups___nodes].node_revisionId = 0)"
		if (db.eof) then exit sub
		
		
		MD5.Text = db("node_nid") & uploader.form("weblogin_pwd")
		if (db("password") = MD5.HEXMD5) then
			
			
			dim userNid, userEmail
				userNid   = db.readDbl("node_nid")
				userEmail = db("email")
			
			
			session(settings.user_sessionUserID) 	= db.readDbl("node_nid")
			do until db.eof
				session(settings.user_sessionUserGroup & cStr(db.readDbl("group_nid"))) = true
			db.movenext
			loop
			
			
			if (uploader.form("weblogin_remember") <> "") then
				call setCookies(userNid, userEmail)
			end if
			
			
			call redirect()
			
		end if
		
	end sub
	
	
	
	public function passwordRequest()
		if (uploader.form("weblogin_pwdreq_submit") = "") then exit function
		if (trim(uploader.form("weblogin_pwdreq_email")) = "") then exit function
		
		
		db.pQuery "SELECT [mod_usersWeb].*" & _
				  " FROM [nodes], [mod_usersWeb]" & _
				  " WHERE (node_active = " & db.sql_bool(true) & ")" & _
					  " AND ([nodes].node_id = [mod_usersWeb].nid) AND ([nodes].node_dataId = [mod_usersWeb].id)" & _
					  " AND ([mod_usersWeb].email = '" & db.clean(trim(uploader.form("weblogin_pwdreq_email"))) & "')"
		if (db.eof) then exit function
		
		
		dim rndCode
			rndCode = randomAuthCode
		
		
		with email
			.emailFromFile = "/_modules/mod_usersWeb/email_templates/password_request.txt"
			
			.recipient 	= db("email")
			.from		= settings.site_Name & "<" & db("email") & ">"
			
			.message	= replace(.message, "<##FIRSTNAME##>"  , db("firstname"))
			.message	= replace(.message, "<##LASTNAME##>"   , db("surname"))
			.message	= replace(.message, "<##EMAIL##>"      , db("email"))
			.message	= replace(.message, "<##SITENAME##>"   , settings.site_Name)
			.message	= replace(.message, "<##SITEURL##>"    , settings.site_URL)
			.message	= replace(.message, "<##URL##>"        , page.url)
			.message	= replace(.message, "<##CONFIRMURL##>" , page.url & "?reset=" & rndCode)
			
			.send
		end with
		
		
		db.save "auth_code", rndCode
		db.update
		
		passwordRequest = true
	end function
	
	
	
	public function passwordReset()
		if (trim(request.querystring("reset")) = "") then exit function
		
		
		db.pQuery "SELECT [mod_usersWeb].*" & _
				  " FROM [nodes], [mod_usersWeb]" & _
				  " WHERE (node_active = " & db.sql_bool(true) & ")" & _
					  " AND ([nodes].node_id = [mod_usersWeb].nid) AND ([nodes].node_dataId = [mod_usersWeb].id)" & _
					  " AND ([mod_usersWeb].auth_code = '" & db.clean(trim(request.querystring("reset"))) & "')"
		if (db.eof) then exit function
		
		
		dim rndPass
			rndPass = randomPassword()
		
		
		with email
			.emailFromFile = "/_modules/mod_usersWeb/email_templates/password_reset.txt"
			
			.recipient 	= db("email")
			.from		= settings.site_Name & "<" & db("email") & ">"
			
			.message	= replace(.message, "<##FIRSTNAME##>" , db("firstname"))
			.message	= replace(.message, "<##LASTNAME##>"  , db("surname"))
			.message	= replace(.message, "<##EMAIL##>"     , db("email"))
			.message	= replace(.message, "<##PASSWORD##>"  , rndPass)
			.message	= replace(.message, "<##SITENAME##>"  , settings.site_Name)
			.message	= replace(.message, "<##SITEURL##>"   , settings.site_URL)
			.message	= replace(.message, "<##URL##>"       , page.url)
			
			.send
		end with
		
		
		MD5.Text = db("nid") & rndPass
		db.save "password"   , MD5.HEXMD5
		db.save "auth_code" , ""
		db.update
		
		passwordReset = true
		
	end function
	
	
	
	private function randomPassword()
		dim rndLetters, i
			rndLetters = "abcdefghijkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789"
			randomPassword = ""
			randomize(timer)
		for i = 1 to 12
			randomPassword = randomPassword + mid(rndLetters, cint(rnd() * len(rndLetters)) + 1, 1)
		next
	end function
	private function randomAuthCode()
		dim rndLetters, i
			rndLetters = "0123456789ABCDEF"
			randomAuthCode = ""
			randomize(timer)
		for i = 1 to 16
			randomAuthCode = randomAuthCode + mid(rndLetters, cint(rnd() * len(rndLetters)) + 1, 1)
		next
	end function
	private sub redirect()
		if (request.querystring("redirect") <> "") then
			response.redirect request.querystring("redirect")
		else
			response.redirect "/"
		end if
		response.end
	end sub
	private sub setCookies(byRef userNid, byRef userEmail)
		dim rndCode
			rndCode = randomAuthCode
		
		response.cookies(settings.user_cookieUserLogin)("user") = userEmail
		response.cookies(settings.user_cookieUserLogin)("auth") = rndCode
		response.cookies(settings.user_cookieUserLogin).expires = dateAdd("d", settings.user_cookieTimeout, now())
		
		db.rQuery "UPDATE [mod_usersWeb]" & _
				  " SET auth_code = '" & rndCode & "'" & _
				  " WHERE (nid = " & userNid & ")"
	end sub
end class
... HTML ...