Subversion Repositories ALCASAR

Rev

Rev 1805 | Rev 2333 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 1805 Rev 1831
1
<?php
1
<?php
2
require('../lib/sql/attrmap.php');
2
require('../lib/sql/attrmap.php');
3
if ((isset($login) && $login != '') && (isset($user_type) && $user_type !== 'group')){
3
if ((isset($login) && $login != '') && (isset($user_type) && $user_type !== 'group')){
-
 
4
 
4
	if (is_file("../lib/sql/drivers/$config[sql_type]/functions.php"))
5
	if (is_file("../lib/sql/drivers/$config[sql_type]/functions.php"))
5
		include_once("../lib/sql/drivers/$config[sql_type]/functions.php");
6
		include_once("../lib/sql/drivers/$config[sql_type]/functions.php");
6
	else{
7
	else{
7
		echo "<b>Could not include SQL library</b><br>\n";
8
		echo "<b>Could not include SQL library</b><br>\n";
8
		exit();
9
		exit();
9
	}
10
	}
10
	if ($config['sql_use_operators'] == 'true'){
11
	if ($config['sql_use_operators'] == 'true'){
11
		$op = ',op';
12
		$op = ',op';
12
		$use_op = 1;
13
		$use_op = 1;
13
	}else{
14
	}else{
14
		$op = "";
15
		$op = "";
15
		$use_op = 0;
16
		$use_op = 0;
16
	}
17
	}
17
	$overwrite_defaults = 1;
18
	$overwrite_defaults = 1;
18
	$stop = 0;
19
	$stop = 0;
19
	$times = 0;
20
	$times = 0;
20
	do{
21
	do{
21
		unset($item_vals);
22
		unset($item_vals);
22
		unset($member_groups);
23
		unset($member_groups);
23
		unset($tmp);
24
		unset($tmp);
24
		$times++;
25
		$times++;
25
		$link = da_sql_pconnect($config);
26
		$link = da_sql_pconnect($config);
26
		if ($link){
27
		if ($link){
27
			$res = da_sql_query($link,$config,
28
			$res = da_sql_query($link,$config,
28
			"SELECT groupname FROM $config[sql_usergroup_table] WHERE username = '$login';");
29
			"SELECT groupname FROM $config[sql_usergroup_table] WHERE username = '$login';");
29
			if ($res){
30
			if ($res){
30
				while(($row = da_sql_fetch_array($res,$config))){
31
				while(($row = da_sql_fetch_array($res,$config))){
31
					$group = $row['groupname'];
32
					$group = $row['groupname'];
32
					$member_groups[$group] = $group;
33
					$member_groups[$group] = $group;
33
				}
34
				}
34
				if (isset($member_groups))
35
				if (isset($member_groups))
35
					ksort($member_groups);
36
					ksort($member_groups);
36
			}
37
			}
37
			if (isset($member_groups)){
38
			if (isset($member_groups)){
38
				$in = '(';
39
				$in = '(';
39
				foreach ($member_groups as $group)
40
				foreach ($member_groups as $group)
40
					$in .= "'$group',";
41
					$in .= "'$group',";
41
				$in = substr($in,0,-1);
42
				$in = substr($in,0,-1);
42
				$in .= ')';
43
				$in .= ')';
43
				$res = da_sql_query($link,$config,
44
				$res = da_sql_query($link,$config,
44
				"SELECT attribute,value $op FROM $config[sql_groupcheck_table]
45
				"SELECT attribute,value $op FROM $config[sql_groupcheck_table]
45
				WHERE groupname IN $in;");
46
				WHERE groupname IN $in;");
46
				if ($res){
47
				if ($res){
47
					while(($row = da_sql_fetch_array($res,$config))){
48
					while(($row = da_sql_fetch_array($res,$config))){
48
						$attr = $row['attribute'];
49
						$attr = $row['attribute'];
49
						$val = $row['value'];
50
						$val = $row['value'];
50
						if ($use_op){
51
						if ($use_op){
51
							$oper = $row['op'];
52
							$oper = $row['op'];
52
							$tmp["$attr"]['operator'][]="$oper";
53
							$tmp["$attr"]['operator'][]="$oper";
53
						}
54
						}
54
						$tmp["$attr"][]="$val";
55
						$tmp["$attr"][]="$val";
55
						$tmp["$attr"]['count']++;
56
						$tmp["$attr"]['count']++;
56
					}
57
					}
57
					$res = da_sql_query($link,$config,
58
					$res = da_sql_query($link,$config,
58
					"SELECT attribute,value $op FROM $config[sql_groupreply_table]
59
					"SELECT attribute,value $op FROM $config[sql_groupreply_table]
59
					WHERE groupname IN $in;");
60
					WHERE groupname IN $in;");
60
					if ($res){
61
					if ($res){
61
						while(($row = da_sql_fetch_array($res,$config))){
62
						while(($row = da_sql_fetch_array($res,$config))){
62
							$attr = $row['attribute'];
63
							$attr = $row['attribute'];
63
							$val = $row['value'];
64
							$val = $row['value'];
64
							if ($use_op){
65
							if ($use_op){
65
								$oper = $row['op'];
66
								$oper = $row['op'];
66
								$tmp["$attr"]['operator'][]="$oper";
67
								$tmp["$attr"]['operator'][]="$oper";
67
							}
68
							}
68
							$tmp["$attr"][] = "$val";
69
							$tmp["$attr"][] = "$val";
-
 
70
							if(isset($tmp["$attr"]['count']))
-
 
71
							{
69
							$tmp["$attr"]['count']++;
72
								$tmp["$attr"]['count']++;
-
 
73
							}
70
						}
74
						}
71
					}
75
					}
72
					else
76
					else
73
						echo "<b>Database query failed partially: " . da_sql_error($link,$config) . "</b><br>\n";
77
						echo "<b>Database query failed partially: " . da_sql_error($link,$config) . "</b><br>\n";
74
				}
78
				}
75
				else
79
				else
76
					echo "<b>Database query failed: " . da_sql_error($link,$config) . "</b><br>\n";
80
					echo "<b>Database query failed: " . da_sql_error($link,$config) . "</b><br>\n";
77
				if (isset($tmp)){
81
				if (isset($tmp)){
78
					foreach(array_keys($tmp) as $val){
82
					foreach(array_keys($tmp) as $val){
79
						if ($val == '')
83
						if ($val == '')
80
							continue;
84
							continue;
81
						$key = $rev_attrmap["$val"];
85
						$key = $rev_attrmap["$val"];
82
						if ($key == ''){
86
						if ($key == ''){
83
							$key = $val;
87
							$key = $val;
84
							$attrmap["$key"] = $val;
88
							$attrmap["$key"] = $val;
85
							$attr_type["$key"] = 'replyItem';
89
							$attr_type["$key"] = 'replyItem';
86
							$rev_attrmap["$val"] = $key;
90
							$rev_attrmap["$val"] = $key;
87
						}
91
						}
88
						if (!isset($default_vals["$key"]) || $overwrite_defaults){
92
						if (!isset($default_vals["$key"]) || $overwrite_defaults){
89
							if ($use_op)
93
							if ($use_op)
90
								$default_vals["$key"]['operator'] = $tmp["$val"]['operator'];
94
								$default_vals["$key"]['operator'] = $tmp["$val"]['operator'];
91
							if ($tmp[$val][0] != '')
95
							if ($tmp[$val][0] != '')
92
								$default_vals["$key"] = $tmp["$val"];
96
								$default_vals["$key"] = $tmp["$val"];
93
						}
97
						}
94
					}
98
					}
95
				}
99
				}
96
			}
100
			}
97
			if ($times == 1){
101
			if ($times == 1){
98
				if (!isset($config['sql_default_user_profile']) || $config['sql_default_user_profile'] == '')
102
				if (!isset($config['sql_default_user_profile']) || $config['sql_default_user_profile'] == '')
99
					$stop = 1;
103
					$stop = 1;
100
				else{
104
				else{
101
					$saved_login = $login;
105
					$saved_login = $login;
102
					$saved_member_groups = $member_groups;
106
					$saved_member_groups = $member_groups;
103
					$login = $config['sql_default_user_profile'];
107
					$login = $config['sql_default_user_profile'];
104
					$overwrite_defaults = 0;
108
					$overwrite_defaults = 0;
105
				}
109
				}
106
			}
110
			}
107
			if ($times == 2){
111
			if ($times == 2){
108
				$login = $saved_login;
112
				$login = $saved_login;
109
				$member_groups = $saved_member_groups;
113
				$member_groups = $saved_member_groups;
110
				$stop = 1;
114
				$stop = 1;
111
			}
115
			}
112
		}
116
		}
113
		else
117
		else
114
			echo "<b>Could not connect to SQL database</b><br>\n";
118
			echo "<b>Could not connect to SQL database</b><br>\n";
115
	}while($stop == 0);
119
	}while($stop == 0);
116
}
120
}
117
else{
121
else{
118
	if (is_file("../lib/sql/drivers/$config[sql_type]/functions.php"))
122
	if (is_file("../lib/sql/drivers/$config[sql_type]/functions.php"))
119
		include_once("../lib/sql/drivers/$config[sql_type]/functions.php");
123
		include_once("../lib/sql/drivers/$config[sql_type]/functions.php");
120
	else{
124
	else{
121
		echo "<b>Could not include SQL library</b><br>\n";
125
		echo "<b>Could not include SQL library</b><br>\n";
122
		exit();
126
		exit();
123
	}
127
	}
124
	unset($member_groups);
128
	unset($member_groups);
125
	$link = da_sql_pconnect($config);
129
	$link = da_sql_pconnect($config);
126
	if ($link){
130
	if ($link){
-
 
131
		if(isset($login) && $login != '')
-
 
132
		{	
-
 
133
			#affiche le groupe appartenant à l'utilisateur
127
		$res = da_sql_query($link,$config,
134
			$res = da_sql_query($link,$config,
-
 
135
			"SELECT DISTINCT groupname FROM $config[sql_usergroup_table] WHERE username = '$login';");
-
 
136
		}
-
 
137
		else
-
 
138
		{
-
 
139
			#affiche la liste de groupe disponible (dans le cas de la creation d'un utilisateur)
-
 
140
			$res = da_sql_query($link,$config,
128
		"SELECT DISTINCT groupname FROM $config[sql_usergroup_table];");
141
			"SELECT DISTINCT groupname FROM $config[sql_usergroup_table] ;");
-
 
142
		}
-
 
143
 
129
		if ($res){
144
		if ($res){
130
			while(($row = da_sql_fetch_array($res,$config)))
145
			while(($row = da_sql_fetch_array($res,$config))){
131
				$member_groups[] = $row['groupname'];
146
				$member_groups[] = $row['groupname'];
-
 
147
			}
132
		}
148
		}
133
		else
149
		else
134
			echo "<b>Database query failed: " . da_sql_error($link,$config) . "</b><br>\n";
150
			echo "<b>Database query failed: " . da_sql_error($link,$config) . "</b><br>\n";
135
	}
151
	}
136
	else
152
	else
137
		echo "<b>Could not connect to SQL database</b><br>\n";
153
		echo "<b>Could not connect to SQL database</b><br>\n";
138
}
154
}
139
?>
155
?>
140
 
156