source: extensions/Register_FluxBB/tags/2.1.2/include/functions_Register_FluxBB.inc.php @ 4303

Last change on this file since 4303 was 4303, checked in by Eric, 14 years ago

[Register_FluxBB] re-commit tag 2.1.2

  • Property svn:eol-style set to LF
File size: 6.4 KB
Line 
1<?php
2
3function FluxBB_Linkuser($pwg_id, $bb_id)
4{
5        include_once (PHPWG_ROOT_PATH.'/include/constants.php');
6        include_once (Register_FluxBB_PATH.'include/constants.php');
7
8  $query = "
9    SELECT pwg.id as pwg_id, bb.id as bb_id
10        FROM ".USERS_TABLE." pwg, ".FluxBB_USERS_TABLE." bb
11        WHERE pwg.id = ".$pwg_id."
12        AND bb.id = ".$bb_id."
13        AND pwg.username = bb.username
14  ;";
15  $data = mysql_fetch_array(pwg_query($query));
16 
17  if (!empty($data))
18  {
19    $subquery = "
20      DELETE FROM ".Register_FluxBB_ID_TABLE."
21      WHERE id_user_pwg = '".$pwg_id."'
22      OR id_user_FluxBB = '".$bb_id."'
23    ;";
24    $subresult = pwg_query($subquery);
25
26    $subquery = "
27      INSERT INTO ".Register_FluxBB_ID_TABLE."
28      (id_user_pwg, id_user_FluxBB)
29      VALUES (".$pwg_id.", ".$bb_id.")
30    ;";
31    $subresult = pwg_query($subquery);
32  }
33}
34
35
36
37function FluxBB_Unlinkuser($bb_id)
38{
39        include_once (PHPWG_ROOT_PATH.'/include/constants.php');
40        include_once (Register_FluxBB_PATH.'include/constants.php');
41
42  $query = "
43                DELETE FROM ".Register_FluxBB_ID_TABLE."
44                WHERE id_user_FluxBB = ".$bb_id."
45  ;";
46  $result = pwg_query($query);
47}
48
49
50
51function FluxBB_Adduser($pwg_id, $login, $password, $adresse_mail)
52{
53        include_once (PHPWG_ROOT_PATH.'/include/constants.php');
54        include_once (Register_FluxBB_PATH.'include/constants.php');
55
56  global $conf;
57
58  $conf_Register_FluxBB = isset($conf['Register_FluxBB']) ? explode(";" , $conf['Register_FluxBB']) : array();
59
60  $registred = time();
61  $registred_ip = $_SERVER['REMOTE_ADDR'];
62
63  $query = "
64    SELECT conf_value
65    FROM ".FluxBB_CONFIG_TABLE."
66    WHERE conf_name = 'o_default_user_group'
67  ;";
68  $o_default_user_group = mysql_fetch_array(pwg_query($query));
69 
70  $query = "
71    SELECT conf_value
72    FROM ".FluxBB_CONFIG_TABLE."
73    WHERE conf_name = 'o_server_timezone'
74  ;";
75  $o_server_timezone = mysql_fetch_array(pwg_query($query));
76 
77  $query = "
78    SELECT conf_value
79    FROM ".FluxBB_CONFIG_TABLE."
80    WHERE conf_name = 'o_default_lang'
81  ;";
82  $o_default_lang = mysql_fetch_array(pwg_query($query));
83 
84  $query = "
85    SELECT conf_value
86    FROM ".FluxBB_CONFIG_TABLE."
87    WHERE conf_name = 'o_default_style'
88  ;";
89  $o_default_style = mysql_fetch_array(pwg_query($query));
90 
91        $query = '
92        INSERT INTO '.FluxBB_USERS_TABLE." (
93      username,
94      ". ( isset($o_default_user_group['conf_value']) ? 'group_id' : '' ) .",
95      password,
96      email,
97      ". ( isset($o_server_timezone['conf_value']) ? 'timezone' : '' ) .",
98      ". ( isset($o_default_lang['conf_value']) ? 'language' : '' ) .",
99      ". ( isset($o_default_style['conf_value']) ? 'style' : '' ) .",
100      registered,
101      registration_ip,
102      last_visit
103    )
104        VALUES(
105            '".$login."',
106      ". ( isset($o_default_user_group['conf_value']) ? "'".$o_default_user_group['conf_value']."'" : '' ) .",
107        '".$password."',
108            '".$adresse_mail."',
109      ". ( isset($o_server_timezone['conf_value']) ? "'".$o_server_timezone['conf_value']."'" : '' ) .",
110      ". ( isset($o_default_lang['conf_value']) ? "'".$o_default_lang['conf_value']."'" : '' ) .",
111      ". ( isset($o_default_style['conf_value']) ? "'".$o_default_style['conf_value']."'" : '' ) .",
112      '".$registred."',
113      '".$registred_ip."',
114      '".$registred."'
115    )
116  ;";
117        $result = pwg_query($query);
118
119  $bb_id = mysql_insert_id();
120 
121  FluxBB_Linkuser($pwg_id, $bb_id);
122}
123
124
125
126function FluxBB_Searchuser($id_user_pwg)
127{
128        include_once (PHPWG_ROOT_PATH.'/include/constants.php');
129        include_once (Register_FluxBB_PATH.'include/constants.php');
130
131  $query = "
132    SELECT id_user_FluxBB, id_user_pwg FROM ".Register_FluxBB_ID_TABLE."
133    WHERE id_user_pwg = ".$id_user_pwg."
134    LIMIT 1
135  ;";
136  $data = mysql_fetch_array(pwg_query($query));
137 
138  if (!empty($data))
139    return $data['id_user_FluxBB'];
140  else
141    return '0'; 
142
143}
144
145
146
147function FluxBB_Deluser($id_user_FluxBB, $SuppTopicsPosts)
148{
149        include_once (PHPWG_ROOT_PATH.'/include/constants.php');
150        include_once (Register_FluxBB_PATH.'include/constants.php');
151
152  global $conf;
153
154  $conf_Register_FluxBB = isset($conf['Register_FluxBB']) ? explode(";" , $conf['Register_FluxBB']) : array();
155
156  $query0 = "
157                SELECT username, id FROM ".FluxBB_USERS_TABLE."
158                WHERE id = ".$id_user_FluxBB."
159    LIMIT 1
160  ;";
161  $data0 = mysql_fetch_array(pwg_query($query0));
162
163  // Si égale à VRAI, suppression de tous les posts et topics
164  if ($SuppTopicsPosts and $conf_Register_FluxBB[3])
165  {
166    // Suppression des posts de cet utilisateur
167    $subquery = "
168                        DELETE FROM ".FluxBB_POSTS_TABLE."
169                        WHERE poster_id = ".$id_user_FluxBB."
170                ;";
171    $subresult = pwg_query($subquery);
172
173    // Suppression des topics de cet utilisateur
174    $subquery = "
175                        DELETE FROM ".FluxBB_TOPICS_TABLE."
176                        WHERE BINARY poster = BINARY '".$data0['username']."'
177                ;";
178    $subresult = pwg_query($subquery);
179  }
180
181  // Suppression des abonnements de l'utilisateur
182  $subquery = "
183    DELETE FROM ".FluxBB_SUBSCRIPTIONS_TABLE."
184                WHERE user_id = ".$id_user_FluxBB."
185        ;";
186  $subresult = pwg_query($subquery);
187 
188  // Suppression du compte utilisateur
189  $subquery = "
190        DELETE FROM ".FluxBB_USERS_TABLE."
191                WHERE id = ".$id_user_FluxBB."
192        ;";
193  $subresult = pwg_query($subquery);
194
195  FluxBB_Unlinkuser($id_user_FluxBB);
196}
197
198
199
200function FluxBB_Updateuser($pwg_id, $username, $password, $adresse_mail)
201{
202        include_once (PHPWG_ROOT_PATH.'/include/constants.php');
203        include_once (Register_FluxBB_PATH.'include/constants.php');
204        include_once( PHPWG_ROOT_PATH.'include/common.inc.php' );
205
206  $query = "
207    SELECT id_user_FluxBB as FluxBB_id
208    FROM ".Register_FluxBB_ID_TABLE."
209    WHERE id_user_pwg = ".$pwg_id."
210  ;";
211  $row = mysql_fetch_array(pwg_query($query));
212
213  if (!empty($row))
214  {
215    $query = "
216      UPDATE ".FluxBB_USERS_TABLE."
217      SET username = '".$username."', email = '".$adresse_mail."', password = '".$password."'
218      WHERE id = ".$row['FluxBB_id']."
219    ;";
220   
221    $result = pwg_query($query);
222     
223    FluxBB_Linkuser($pwg_id, $row['FluxBB_id']);
224  }
225  else
226  {
227    $query = "
228      SELECT id as FluxBB_id
229      FROM ".FluxBB_USERS_TABLE."
230      WHERE BINARY username = BINARY '".$username."'
231    ;";
232    $row = mysql_fetch_array(pwg_query($query));
233 
234    if (!empty($row))
235    {
236      $query = "
237        UPDATE ".FluxBB_USERS_TABLE."
238        SET username = '".$username."', email = '".$adresse_mail."', password = '".$password."'
239        WHERE id = ".$row['FluxBB_id']."
240      ;";
241     
242      $result = pwg_query($query);
243     
244      FluxBB_Linkuser($pwg_id, $row['FluxBB_id']);
245    }
246  }
247}
248
249
250?>
Note: See TracBrowser for help on using the repository browser.