summaryrefslogtreecommitdiff
path: root/gentoobrowse/request/dologin.xml
blob: 0bd5517ea422ed7b75ac7e8341a0e5d45d68270c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?xml version="1.0"?>
<view name="dologin" redirect="/accountHome" xmlns:xi="http://www.w3.org/2001/XInclude"
		xmlns:project2="http://project2.randomdan.homeip.net">
	<xi:include href="../views/user.xml" />

	<project2:check present="login" name="usernameEntered" message="User name required">
		<project2:regextest regex=".+">
			<apply-to source="param" name="username" />
		</project2:regextest>
	</project2:check>
	<project2:check present="login" name="passwordLength" message="Password too short">
		<project2:regextest regex=".{6,}">
			<apply-to source="param" name="password" />
		</project2:regextest>
	</project2:check>
	<project2:check present="login" name="checkUserAuth" message="Invalid username or password">
		<project2:sqltest datasource="postgres-web" testOp="=" testValue="1">
			<sql>
				SELECT COUNT(*)
				FROM users
				WHERE username = <param source="param" name="username" />
				AND userpassword = <param source="param" name="password" />
			</sql>
		</project2:sqltest>
	</project2:check>
	<project2:check present="confirm" name="checkConfirmed" message="Confirmation code required">
		<project2:sqltest datasource="postgres-web" testOp="=" testValue="1">
			<sql>
				SELECT COUNT(*)
				FROM users
				WHERE username = <param source="param" name="username" />
				AND verifyguid IS NULL
			</sql>
		</project2:sqltest>
	</project2:check>
	
	<project2:iterate datasource="postgres-web" name="getUidFromDatabase" source="users" filter="username">
		<parameters>
			<username source="param" name="username" />
		</parameters>
		<tasks>
			<project2:sessionset key="loggedInUserID" name="setUidInSession">
				<value source="parent" name="userid" depth="1" />
			</project2:sessionset>
		</tasks>
	</project2:iterate>
</view>