Subversion Repositories ALCASAR

Rev

Rev 508 | Go to most recent revision | Details | Last modification | View Log

Rev Author Line No. Line
325 richard 1
<?php
2
if (is_file("../lib/sql/drivers/$config[sql_type]/functions.php"))
3
	include_once("../lib/sql/drivers/$config[sql_type]/functions.php");
4
else{
5
	echo "<b>Could not include SQL library</b><br>\n";
6
	exit();
7
}
8
include_once('../lib/functions.php');
9
if ($config[sql_use_operators] == 'true'){
10
	include("../lib/operators.php");
11
	$text = ',op';
12
	$passwd_op = ",':='";
13
}
14
$da_abort=0;
15
$op_val2 = '';
16
$link = @da_sql_pconnect($config);
17
if ($link){
18
	if (is_file("../lib/crypt/$config[general_encryption_method].php")){
19
		include("../lib/crypt/$config[general_encryption_method].php");
20
		$passwd = da_encrypt($passwd);
21
		$passwd = da_sql_escape_string($passwd);
22
		$res = @da_sql_query($link,$config,
23
		"INSERT INTO $config[sql_check_table] (attribute,value,username $text)
24
		VALUES ('$config[sql_password_attribute]','$passwd','$login' $passwd_op);");
25
		if (!$res || !@da_sql_affected_rows($link,$res,$config)){
26
			echo "<b>Unable to add user $login: " . da_sql_error($link,$config) . "</b><br>\n";
27
			$da_abort=1;
28
		}
29
		if ($config[sql_use_user_info_table] == 'true' && !$da_abort){
30
			$res = @da_sql_query($link,$config,
31
			"SELECT username FROM $config[sql_user_info_table] WHERE
32
			username = '$login';");
33
			if ($res){
34
				if (!@da_sql_num_rows($res,$config)){
35
					$Fcn = da_sql_escape_string($Fcn);
36
					$Fmail = da_sql_escape_string($Fmail);
37
					$Fou = da_sql_escape_string($Fou);
38
					$Fhomephone = da_sql_escape_string($Fhomephone);
39
					$Fworkphone = da_sql_escape_string($Fworkphone);
40
					$Fmobile = da_sql_escape_string($Fmobile);	
41
					$res = @da_sql_query($link,$config,
42
					"INSERT INTO $config[sql_user_info_table]
43
					(username,name,mail,department,homephone,workphone,mobile) VALUES
44
					('$login','$Fcn','$Fmail','$Fou','$Fhomephone','$Ftelephonenumber','$Fmobile');");
45
					if (!$res || !@da_sql_affected_rows($link,$res,$config))
46
						echo "<b>Could not add user information in user info table: " . da_sql_error($link,$config) . "</b><br>\n";
47
				}
48
				else
49
					echo "<b>Cet usager existe d&eacute;j&agrave; dans la table 'info'</b><br>\n";
50
			}
51
			else
52
				echo "<b>Could not add user information in user info table: " . da_sql_error($link,$config) . "</b><br>\n";
53
		}
54
		if ($Fgroup != ''){
55
			$Fgroup = da_sql_escape_string($Fgroup);
56
			$res = @da_sql_query($link,$config,
57
			"SELECT username FROM $config[sql_usergroup_table]
58
			WHERE username = '$login' AND groupname = '$Fgroup';");
59
			if ($res){
60
				if (!@da_sql_num_rows($res,$config)){
61
					$res = @da_sql_query($link,$config,
62
					"INSERT INTO $config[sql_usergroup_table]
63
					(username,groupname) VALUES ('$login','$Fgroup');");
64
					if (!$res || !@da_sql_affected_rows($link,$res,$config))
65
						echo "<b>Could not add user to group $Fgroup. SQL Error</b><br>\n";
66
				}
67
				else
68
					echo "<b>User already is a member of group $Fgroup</b><br>\n";
69
			}
70
			else
71
				echo "<b>Could not add user to group $Fgroup: " . da_sql_error($link,$config) . "</b><br>\n";
72
		}
73
		if (!$da_abort){
74
			if ($Fgroup != '')
75
				require('../lib/defaults.php');
76
			foreach($show_attrs as $key => $attr){
77
				if ($attrmap["$key"] == 'none')
78
					continue;
79
				if ($attrmap["$key"] == ''){
80
					$attrmap["$key"] = $key;
81
					$attr_type["$key"] = 'replyItem';
82
					$rev_attrmap["$key"] = $key;
83
				}
84
				if ($attr_type["$key"] == 'checkItem'){
85
					$table = "$config[sql_check_table]";
86
					$type = 1;
87
				}
88
				else if ($attr_type["$key"] == 'replyItem'){
89
					$table = "$config[sql_reply_table]";
90
					$type = 2;
91
				}
92
				$val = $$attrmap["$key"];
93
				$val = da_sql_escape_string($val);
94
				$op_name = $attrmap["$key"] . '_op';
95
				$op_val = $$op_name;
96
				if ($op_val != ''){
97
					$op_val = da_sql_escape_string($op_val);
98
					if (check_operator($op_val,$type) == -1){
99
						echo "<b>Invalid operator ($op_val) for attribute $key</b><br>\n";
100
						coninue;
101
					}
102
					$op_val2 = ",'$op_val'";
103
				}
104
				if ($val == '' || check_defaults($val,$op_val,$default_vals["$key"]))
105
					continue;
106
				$res = @da_sql_query($link,$config,
107
				"INSERT INTO $table (attribute,value,username $text)
108
				VALUES ('$attrmap[$key]','$val','$login' $op_val2);");
109
				if (!$res || !@da_sql_affected_rows($link,$res,$config))
110
					echo "<b>Query failed for attribute $key: " . da_sql_error($link,$config) . "</b><br>\n";
111
			}
112
		}
113
		echo "<b>Usager correctement cr&eacute;&eacute;</b><br>\n";
114
	}
115
	else
116
		echo "<b>Could not open encryption library file</b><br>\n";
117
}
118
else
119
	echo "<b>Could not connect to SQL database</b><br>\n";
120
?>