Subversion Repositories ALCASAR

Rev

Rev 2333 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log

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