Projet

Général

Profil

profil.php

Pascal MIETLICKI, 14/08/2015 05:54

Télécharger (21,1 ko)

 
1
<?
2
        $fgdebug = $_GET["fgdebug"];
3

    
4
    $tbcommu        = array();                // Liste des communautés associés à l'utilisateur
5
        $tbprofil        = array();                // Liste des profils associés à l'utilisateur
6
        $tbitem                = array();                // Liste des items associés à l'utilisateur
7
        $tbcat          = array();                // Liste des catégories d'items associés à l'utilisateur
8
        $tbpage         = array();                // Liste des pages associées à l'utilisateur
9
        $tbflux         = array();                // Liste des flux associés à l'utilisateur
10
        $tbattrs        = array();                // Liste des attributs SSO de l'utilisateur
11
    $tbtmp                = array();                // Tableau temporaire
12

    
13
//== PROFIL ============================================================================================================================================
14

    
15
// Stocker le profil
16
        //array_push($tbprofil,array("profil",$_SESSION['user_profil']));
17

    
18
// Récupérer l'ensemble des catégories d'item associé au profil de l'utilisateur
19
        // 0 = categorie order
20
        // 1 = categorie id
21
        // 2 = categorie label
22
        // 3 = categorie color
23

    
24
        $q = "SELECT application_categorie_id, application_categorie_label, application_categorie_color FROM ".$config["dbprefixe"]."application_profil, ".$config["dbprefixe"]."application, ".$config["dbprefixe"]."icon, ".$config["dbprefixe"]."application_categorie
25
                                        WHERE application_profil_profil=?
26
                                        AND application_profil_application=application_id
27
                                        AND application_icon=icon_id
28
                                        AND application_categorie=application_categorie_id
29
                                        GROUP BY application_categorie_id
30
                                        ORDER BY application_categorie_order, application_order";
31

    
32
        $query01=$bdd01->prepare($q);
33
        $query01->execute(array($_SESSION['user_profil']));
34
        while($row01=$query01->fetch()) {
35
                array_push($tbcat,array($row01["application_categorie_order"],$row01["application_categorie_id"],$row01["application_categorie_label"],$row01["application_categorie_color"]));
36
        }
37

    
38

    
39

    
40
// Récupérer l'ensemble des applications associé au profil de l'utilisateur
41
        // 00 = categorie order
42
        // 01 = application order
43
        // 02 = categorie id
44
        // 03 = application id
45
        // 04 = applcation label
46
        // 05 = application description
47
        // 06 = application url
48
        // 07 = icone url
49
        // 08 = application mode d'ouverture
50
        // 09 = application coleur
51
        // 10 = badge type
52
        // 11 = badge message
53
        // 12 = badge callback
54

    
55
        $q = "SELECT * FROM ".$config["dbprefixe"]."application_profil, ".$config["dbprefixe"]."application, ".$config["dbprefixe"]."icon, ".$config["dbprefixe"]."application_categorie
56
                                        WHERE application_profil_profil=?
57
                                        AND application_profil_application=application_id
58
                                        AND application_icon=icon_id
59
                                        AND application_categorie=application_categorie_id
60
                                        ORDER BY application_categorie_order, application_order";
61
        $query01=$bdd01->prepare($q);
62
        $query01->execute(array($_SESSION['user_profil']));
63
        while($row01=$query01->fetch()) {
64
                array_push($tbitem,array($row01["application_categorie_order"],$row01["application_order"],$row01["application_categorie"],$row01["application_id"],$row01["application_label"],$row01["application_description"],$row01["application_url"],$row01["icon_url"],$row01["application_open"],$row01["application_color"],$row01["application_badge"],$row01["application_callbackmsg"],$row01["application_callback"]));
65
        }
66

    
67
// Récupérer l'ensemble des pages associées au profil de l'utilisateur
68
        // 0 = page order
69
        // 1 = page id
70
        // 2 = page label
71
        // 3 = page icon
72
        // 4 = page color
73
        // 5 = page color label
74

    
75
        $q = "SELECT * FROM ".$config["dbprefixe"]."panel_profil, ".$config["dbprefixe"]."panel
76
                                        WHERE panel_profil_profil=?
77
                                        AND panel_profil_panel=panel_id
78
                                        ORDER BY panel_order";
79
        $query01=$bdd01->prepare($q);
80
        $query01->execute(array($_SESSION['user_profil']));
81
        while($row01=$query01->fetch()) {
82
                array_push($tbpage,array($row01["panel_order"],$row01["panel_id"],$row01["panel_label"],$row01["panel_icon"],$row01["panel_color"],$row01["panel_colorlabel"]));
83
        }
84

    
85
// Récupérer l'ensemble des flux associés au profil de l'utilisateur
86
        // 0 = flux order
87
        // 1 = flux id
88
        // 2 = flux label
89
        // 3 = type
90
        // 4 = flux url
91
        // 5 = flux number
92
        // 6 = flux color
93
        // 7 = flux style
94

    
95
        $q = "SELECT * FROM ".$config["dbprefixe"]."flux_profil, ".$config["dbprefixe"]."flux
96
                                        WHERE flux_profil_profil=?
97
                                        AND flux_profil_flux=flux_id
98
                                        ORDER BY flux_order";
99
        $query01=$bdd01->prepare($q);
100
        $query01->execute(array($_SESSION['user_profil']));
101
        while($row01=$query01->fetch()) {
102
                array_push($tbflux,array($row01["flux_order"],$row01["flux_id"],$row01["flux_name"],$row01["flux_type"],$row01["flux_url"],$row01["flux_number"],$row01["flux_color"],$row01["flux_style"]));
103
        }
104

    
105
//== PROFIL LDAP =======================================================================================================================================
106

    
107
        // Connection au LDAP
108
        $fgLDAP=$config['activerLDAP'];
109
        if($config['activerLDAP']&&$_SESSION['user_login']!="") {
110
                $ds = ldap_connect($config['LDAPserver'], $config['LDAPport']);
111
                if (!$ds) {
112
                        $config['activerLDAP']=false;
113
                }
114

    
115
                $r=ldap_bind($ds,$config['LDAPreaderdn'],$config['LDAPreaderpw']);
116
                if(!$r) {
117
                        $config['activerLDAP']=false;
118
                }
119
        }
120

    
121
        if($config['activerLDAP']&&$_SESSION['user_login']!="") {
122

    
123
                if($fgdebug) echo "<h1>GESTION DES PROFIL LDAP</h1>";
124

    
125
                // Déterminer dans quelles communauté appartient l'utilisateur
126
                $q = "SELECT * FROM ".$config["dbprefixe"]."ldap_community";
127
                $query01=$bdd01->prepare($q);
128
                $query01->execute();
129
                while($row01=$query01->fetch()) {
130
                        $fgmembre=false;
131
                        $lbfilter=str_replace("#login#",$_SESSION['user_login'],$row01["ldap_community_filter"]);
132
                        if($fgdebug) echo "<h2>".$row01["ldap_community_label"]."</h2>Filtre Communauté= ".$lbfilter;
133

    
134
                        if($row01["ldap_community_filter"]=="") {
135
                                $fgmembre=true;
136
                                if($fgdebug) echo "<br>appartient à la communauté = ".$row01["ldap_community_label"];
137
                        }
138
                        else {
139
                                $res = ldap_search($ds,$config['LDAPracine'],$lbfilter);
140

    
141
                                $ldapinfo = ldap_get_entries($ds, $res);
142
                                if($ldapinfo["count"]>0) {
143
                                        $fgmembre=true;
144
                                        if($fgdebug) echo "<br>appartient à la communauté = ".$row01["ldap_community_label"];
145
                                }
146
                        }
147

    
148
                        // Il fait partie de cette communauté
149
                        if($fgmembre) {
150
                                // Stocker la communauté de l'utilisateur
151
                                array_push($tbcommu,array("LDAP",$row01["ldap_community_id"]));
152

    
153
                                if($fgdebug) echo "<ul>";
154

    
155
                                // Parcourt de l'ensemble des profil LDAP de la communauté
156
                                $q = "SELECT * FROM ".$config["dbprefixe"]."ldap_profil WHERE ldap_profil_ldap_community=?";
157
                                $query02=$bdd02->prepare($q);
158
                                $query02->execute(array($row01["ldap_community_id"]));
159
                                while($row02=$query02->fetch()) {
160
                                        $fgmembre=false;
161
                                        $lbfilter=str_replace("#login#",$_SESSION['user_login'],$row02["ldap_profil_filter"]);
162
                                        if($fgdebug) echo "<h4>".$row02["ldap_profil_label"]."</h4>Filtre Profil= ".$lbfilter;
163

    
164
                                        if($row02["ldap_profil_filter"]=="") {
165
                                                $fgmembre=true;
166
                                                if($fgdebug) echo "<br>appartient au profil = ".$row02["ldap_profil_label"];
167
                                        }
168
                                        else {
169
                                                $res = ldap_search($ds,$config['LDAPracine'],$lbfilter);
170
                                                $ldapinfo = ldap_get_entries($ds, $res);
171
                                                if($ldapinfo["count"]>0) {
172
                                                        $fgmembre=true;
173
                                                        if($fgdebug) echo "<br>appartient au profil = ".$row02["ldap_profil_label"];
174
                                                }
175
                                        }
176

    
177
                                        // Il fait partie du profil
178
                                        if($fgmembre) {
179
                                                // Stocker le profil
180
                                                array_push($tbprofil,array("LDAP",$row02["ldap_profil_id"]));
181

    
182
                                                // Récupérer l'ensemble des catégories d'item associé au profil de l'utilisateur
183
                                                        // 0 = categorie order
184
                                                        // 1 = categorie id
185
                                                        // 2 = categorie label
186
                                                        // 3 = categorie color
187

    
188
                                                $q = "SELECT application_categorie_id, application_categorie_label, application_categorie_color FROM ".$config["dbprefixe"]."application_ldap_profil, ".$config["dbprefixe"]."application, ".$config["dbprefixe"]."icon, ".$config["dbprefixe"]."application_categorie
189
                                                                                WHERE application_ldap_profil_ldap_profil=?
190
                                                                                AND application_ldap_profil_application=application_id
191
                                                                                AND application_icon=icon_id
192
                                                                                AND application_categorie=application_categorie_id
193
                                                                                GROUP BY application_categorie_id
194
                                                                                ORDER BY application_categorie_order, application_order";
195
                                                $query03=$bdd03->prepare($q);
196
                                                $query03->execute(array($row02["ldap_profil_id"]));
197
                                                while($row03=$query03->fetch()) {
198
                                                        if($fgdebug) echo "<br>Catégorie item = ".$row03["application_categorie_label"];
199

    
200
                                                        $tbtmp=array($row03["application_categorie_order"],$row03["application_categorie_id"],$row03["application_categorie_label"],$row03["application_categorie_color"]);
201
                                                        if(!in_array($tbtmp,$tbcat)) {
202
                                                                if($fgdebug) echo " ajoutée";
203
                                                                array_push($tbcat,$tbtmp);
204
                                                        }
205
                                                }
206

    
207
                                                // Récupérer l'ensemble des applications associé au profil de l'utilisateur
208
                                                        // 00 = categorie order
209
                                                        // 01 = application order
210
                                                        // 02 = categorie id
211
                                                        // 03 = application id
212
                                                        // 04 = applcation label
213
                                                        // 05 = application description
214
                                                        // 06 = application url
215
                                                        // 07 = icone url
216
                                                        // 08 = application mode d'ouverture
217
                                                        // 09 = application coleur
218
                                                        // 10 = badge type
219
                                                        // 11 = badge message
220
                                                        // 12 = badge callback
221

    
222
                                                $q = "SELECT * FROM ".$config["dbprefixe"]."application_ldap_profil, ".$config["dbprefixe"]."application, ".$config["dbprefixe"]."icon, ".$config["dbprefixe"]."application_categorie
223
                                                                                WHERE application_ldap_profil_ldap_profil=?
224
                                                                                AND application_ldap_profil_application=application_id
225
                                                                                AND application_icon=icon_id
226
                                                                                AND application_categorie=application_categorie_id
227
                                                                                ORDER BY application_categorie_order, application_order";
228
                                                $query03=$bdd03->prepare($q);
229
                                                $query03->execute(array($row02["ldap_profil_id"]));
230
                                                while($row03=$query03->fetch()) {
231
                                                        if($fgdebug) echo "<br>Item = ".$row03["application_label"];
232

    
233
                                                        $tbtmp=array($row03["application_categorie_order"],$row03["application_order"],$row03["application_categorie"],$row03["application_id"],$row03["application_label"],$row03["application_description"],$row03["application_url"],$row03["icon_url"],$row03["application_open"],$row03["application_color"],$row03["application_badge"],$row03["application_callbackmsg"],$row03["application_callback"]);
234
                                                        if(!in_array($tbtmp,$tbitem)) {
235
                                                                if($fgdebug) echo " ajoutée";
236
                                                                array_push($tbitem,$tbtmp);
237
                                                        }
238
                                                }
239

    
240
                                                // Récupérer l'ensemble des pages associées au profil de l'utilisateur
241
                                                        // 0 = page order
242
                                                        // 1 = page id
243
                                                        // 2 = page label
244
                                                        // 3 = page icon
245
                                                        // 4 = page color
246
                                                        // 5 = page color label
247

    
248
                                                $q = "SELECT * FROM ".$config["dbprefixe"]."panel_ldap_profil, ".$config["dbprefixe"]."panel
249
                                                                                WHERE panel_ldap_profil_ldap_profil=?
250
                                                                                AND panel_ldap_profil_panel=panel_id
251
                                                                                ORDER BY panel_order";
252
                                                $query03=$bdd03->prepare($q);
253
                                                $query03->execute(array($row02["ldap_profil_id"]));
254
                                                while($row03=$query03->fetch()) {
255
                                                        if($fgdebug) echo "<br>Page = ".$row03["panel_label"];
256

    
257
                                                        $tbtmp=array($row03["panel_order"],$row03["panel_id"],$row03["panel_label"],$row03["panel_icon"],$row03["panel_color"],$row03["panel_colorlabel"]);
258
                                                        if(!in_array($tbtmp,$tbpage)) {
259
                                                                if($fgdebug) echo " ajoutée";
260
                                                                array_push($tbpage,$tbtmp);
261
                                                        }
262
                                                }
263

    
264
                                                // Récupérer l'ensemble des flux associés au profil de l'utilisateur
265
                                                        // 0 = flux order
266
                                                        // 1 = flux id
267
                                                        // 2 = flux label
268
                                                        // 3 = type
269
                                                        // 4 = flux url
270
                                                        // 5 = flux number
271
                                                        // 6 = flux color
272
                                                        // 7 = flux style
273

    
274
                                                $q = "SELECT * FROM ".$config["dbprefixe"]."flux_ldap_profil, ".$config["dbprefixe"]."flux
275
                                                                                WHERE flux_ldap_profil_profil=?
276
                                                                                AND flux_ldap_profil_flux=flux_id
277
                                                                                ORDER BY flux_order";
278
                                                $query03=$bdd03->prepare($q);
279
                                                $query03->execute(array($row02["ldap_profil_id"]));
280
                                                while($row03=$query03->fetch()) {
281
                                                        if($fgdebug) echo "<br>Flux = ".$row03["flux_name"];
282

    
283
                                                        $tbtmp=array($row03["flux_order"],$row03["flux_id"],$row03["flux_name"],$row03["flux_type"],$row03["flux_url"],$row03["flux_number"],$row03["flux_color"],$row03["flux_style"]);
284
                                                        if(!in_array($tbtmp,$tbflux)) {
285
                                                                if($fgdebug) echo " ajoutée";
286
                                                                array_push($tbflux,$tbtmp);
287
                                                        }
288
                                                }
289
                                        }
290
                                }
291

    
292
                                if($fgdebug) echo "</ul>";
293
                        }
294
                }
295
        }
296

    
297

    
298
//== PROFIL SSO ========================================================================================================================================
299

    
300
        if($config["modeAuthentification"]=="CAS"&&$_SESSION['user_login']!="") {
301
                if($fgdebug) echo "<hr><h1>GESTION DES PROFIL SSO</h1>";
302

    
303
                // Parcours de l'ensemble des informations détaillées de l'utilisateur
304
                if($fgdebug) echo "<h2>LISTE DES ATTRIBUTS ASSOCIES</h2>";
305
                $user = EolephpCAS::getUser();
306
                $details = EolephpCAS::getDetails();
307
                $user_datas = $details;
308

    
309
                if($fgdebug) echo "<ul>";
310

    
311
                foreach ($user_datas as $tbuser) {
312
                        foreach ($tbuser as $key => $attribut) {
313
                                foreach($attribut as $u) {
314
                                        if($fgdebug) echo "<br>$key = $u";
315

    
316
                                        // On recherche s'il exite un attribut parametré pour cette valeur
317
                                        $q = "SELECT * FROM ".$config["dbprefixe"]."sso_attribut WHERE sso_attribut_name=? AND sso_attribut_value=?";
318
                                        $query01=$bdd01->prepare($q);
319
                                        $query01->execute(array($key,$u));
320

    
321
                                        // Si oui on sauvegarde l'id de l'attribut
322
                                        if($row01=$query01->fetch()) {
323
                                                array_push($tbattrs,$row01['sso_attribut_id']);
324
                                                if($fgdebug) echo "<span style='color: red;font_width: strong;'> >> OK</span> >> ".$row01['sso_attribut_id'];
325
                                        }
326
                                }
327
                        }
328
                }
329

    
330
                if($fgdebug) echo "</ul>";
331

    
332
                // Déterminer dans quelles communauté appartient l'utilisateur
333
                $lstattrs=implode(",",$tbattrs);
334
                $q = "SELECT * FROM ".$config["dbprefixe"]."sso_community";
335
                $query01=$bdd01->prepare($q);
336
                $query01->execute();
337
                while($row01=$query01->fetch()) {
338
                        $fgmembre=false;
339
                        if($fgdebug) echo "<h2>".$row01["sso_community_label"]."</h2>";
340

    
341
                        if($row01["sso_community_id"]==-1) {
342
                                $fgmembre=true;
343
                                if($fgdebug) echo "appartient à la communauté = ".$row01["sso_community_label"];
344
                        }
345
                        else {
346
                //On prepare la liste des attributs
347
                                // Appartient à la communauté si au moins un id dans la liste des attributs
348
                                $q = "SELECT * FROM ".$config["dbprefixe"]."sso_community_attribut
349
                                                                   WHERE sso_community_attribut_community=?
350
                                                                   AND sso_community_attribut_attribut in ($lstattrs)";
351
                                $query02=$bdd02->prepare($q);
352
                                $query02->execute(array($row01["sso_community_id"]));
353
                                if($row02=$query02->fetch()) {
354
                                        $fgmembre=true;
355
                                        if($fgdebug) echo "appartient à la communauté = ".$row01["sso_community_label"];
356
                                }
357
                        }
358

    
359
                        // Il fait partie de cette communauté
360
                        if($fgmembre) {
361
                                // Stocker la communauté de l'utilisateur
362
                                array_push($tbcommu,array("SSO",$row01["sso_community_id"]));
363

    
364
                                // Appartient au profil si au moins un id dans la liste des attributs de cette communauté
365
                                $q = "SELECT * FROM ".$config["dbprefixe"]."sso_profil, ".$config["dbprefixe"]."sso_profil_attribut
366
                                                               WHERE sso_profil_community=?
367
                                                               AND sso_profil_id = sso_profil_attribut_profil
368
                                                               AND sso_profil_attribut_attribut IN (?)";
369
                                $query02=$bdd02->prepare($q);
370
                                $query02->execute(array($row01["sso_community_id"],$lstattrs));
371

    
372
                                // Il fait partie du profil
373
                                if($row02=$query02->fetch()) {
374
                                        if($fgdebug) echo "<h4>".$row02["sso_profil_label"]."</h4>";
375

    
376
                                        // Stocker le profil
377
                                        array_push($tbprofil,array("SSO",$row02["sso_profil_id"]));
378

    
379
                                        // Récupérer l'ensemble des catégories d'item associé au profil de l'utilisateur
380
                                                // 0 = categorie order
381
                                                // 1 = categorie id
382
                                                // 2 = categorie label
383
                                                // 3 = categorie color
384

    
385
                                        $q = "SELECT application_categorie_id, application_categorie_label, application_categorie_color FROM ".$config["dbprefixe"]."application_sso_profil, ".$config["dbprefixe"]."application, ".$config["dbprefixe"]."icon, ".$config["dbprefixe"]."application_categorie
386
                                                                        WHERE application_sso_profil_sso_profil=?
387
                                                                        AND application_sso_profil_application=application_id
388
                                                                        AND application_icon=icon_id
389
                                                                        AND application_categorie=application_categorie_id
390
                                                                        GROUP BY application_categorie_id
391
                                                                        ORDER BY application_categorie_order, application_order";
392
                                        $query03=$bdd03->prepare($q);
393
                                        $query03->execute(array($row02["sso_profil_id"]));
394
                                        while($row03=$query03->fetch()) {
395
                                                if($fgdebug) echo "<br>Catégorie item = ".$row03["application_categorie_label"];
396

    
397
                                                $tbtmp=array($row03["application_categorie_order"],$row03["application_categorie_id"],$row03["application_categorie_label"],$row03["application_categorie_color"]);
398
                                                if(!in_array($tbtmp,$tbcat)) {
399
                                                        if($fgdebug) echo " ajoutée";
400
                                                        array_push($tbcat,$tbtmp);
401
                                                }
402
                                        }
403

    
404
                                        // Récupérer l'ensemble des applications associé au profil de l'utilisateur
405
                                                        // 00 = categorie order
406
                                                        // 01 = application order
407
                                                        // 02 = categorie id
408
                                                        // 03 = application id
409
                                                        // 04 = applcation label
410
                                                        // 05 = application description
411
                                                        // 06 = application url
412
                                                        // 07 = icone url
413
                                                        // 08 = application mode d'ouverture
414
                                                        // 09 = application coleur
415
                                                        // 10 = badge type
416
                                                        // 11 = badge message
417
                                                        // 12 = badge callback
418

    
419
                                        $q = "SELECT * FROM ".$config["dbprefixe"]."application_sso_profil, ".$config["dbprefixe"]."application, ".$config["dbprefixe"]."icon, ".$config["dbprefixe"]."application_categorie
420
                                                                        WHERE application_sso_profil_sso_profil=?
421
                                                                        AND application_sso_profil_application=application_id
422
                                                                        AND application_icon=icon_id
423
                                                                        AND application_categorie=application_categorie_id
424
                                                                        ORDER BY application_categorie_order, application_order";
425
                                        $query03=$bdd03->prepare($q);
426
                                        $query03->execute(array($row02["sso_profil_id"]));
427
                                        while($row03=$query03->fetch()) {
428
                                                if($fgdebug) echo "<br>Item = ".$row03["application_label"];
429

    
430
                                                $tbtmp=array($row03["application_categorie_order"],$row03["application_order"],$row03["application_categorie"],$row03["application_id"],$row03["application_label"],$row03["application_description"],$row03["application_url"],$row03["icon_url"],$row03["application_open"],$row03["application_color"],$row03["application_badge"],$row03["application_callbackmsg"],$row03["application_callback"]);
431
                                                if(!in_array($tbtmp,$tbitem)) {
432
                                                        if($fgdebug) echo " ajoutée";
433
                                                        array_push($tbitem,$tbtmp);
434
                                                }
435
                                        }
436

    
437
                                        // Récupérer l'ensemble des pages associées au profil de l'utilisateur
438
                                                // 0 = page order
439
                                                // 1 = page id
440
                                                // 2 = page label
441
                                                // 3 = page icon
442
                                                // 4 = page color
443
                                                // 5 = page color label
444

    
445
                                        $q = "SELECT * FROM ".$config["dbprefixe"]."panel_sso_profil, ".$config["dbprefixe"]."panel
446
                                                                        WHERE panel_sso_profil_sso_profil=?
447
                                                                        AND panel_sso_profil_panel=panel_id
448
                                                                        ORDER BY panel_order";
449
                                        $query03=$bdd03->prepare($q);
450
                                        $query03->execute(array($row02["sso_profil_id"]));
451
                                        while($row03=$query03->fetch()) {
452
                                                if($fgdebug) echo "<br>Page = ".$row03["panel_label"];
453

    
454
                                                $tbtmp=array($row03["panel_order"],$row03["panel_id"],$row03["panel_label"],$row03["panel_icon"],$row03["panel_color"],$row03["panel_colorlabel"]);
455
                                                if(!in_array($tbtmp,$tbpage)) {
456
                                                        if($fgdebug) echo " ajoutée";
457
                                                        array_push($tbpage,$tbtmp);
458
                                                }
459
                                        }
460

    
461
                                        // Récupérer l'ensemble des flux associés au profil de l'utilisateur
462
                                                // 0 = flux order
463
                                                // 1 = flux id
464
                                                // 2 = flux label
465
                                                // 3 = type
466
                                                // 4 = flux url
467
                                                // 5 = flux number
468
                                                // 6 = flux color
469
                                                // 7 = flux style
470

    
471
                                        $q = "SELECT * FROM ".$config["dbprefixe"]."flux_sso_profil, ".$config["dbprefixe"]."flux
472
                                                                        WHERE flux_sso_profil_profil=?
473
                                                                        AND flux_sso_profil_flux=flux_id
474
                                                                        ORDER BY flux_order";
475
                                        $query03=$bdd03->prepare($q);
476
                                        $query03->execute(array($row02["sso_profil_id"]));
477
                                        while($row03=$query03->fetch()) {
478
                                                if($fgdebug) echo "<br>Flux = ".$row03["flux_name"];
479

    
480
                                                $tbtmp=array($row03["flux_order"],$row03["flux_id"],$row03["flux_name"],$row03["flux_type"],$row03["flux_url"],$row03["flux_number"],$row03["flux_color"],$row03["flux_style"]);
481
                                                if(!in_array($tbtmp,$tbflux)) {
482
                                                        if($fgdebug) echo " ajoutée";
483
                                                        array_push($tbflux,$tbtmp);
484
                                                }
485
                                        }
486
                                }
487
                        }
488
                }
489
        }
490

    
491

    
492

    
493

    
494

    
495
        // Trie des Tableaux
496
        foreach ($tbitem as $key => $rowd) {
497
        $indice[$key] = $rowd[1];
498
        $libelle[$key] = $rowd[4];
499
        }
500
        @array_multisort($indice, SORT_ASC, $libelle, SORT_ASC, $tbitem);
501

    
502
        foreach ($tbflux as $key => $rowd) {
503
        $indice[$key] = $rowd[0];
504
        $libelle[$key] = $rowd[2];
505
        }
506
        @array_multisort($indice, SORT_ASC, $libelle, SORT_ASC, $tbflux);
507

    
508
        foreach ($tbpage as $key => $rowd) {
509
        $indice[$key] = $rowd[0];
510
        $libelle[$key] = $rowd[2];
511
        }
512
        @array_multisort($indice, SORT_ASC, $libelle, SORT_ASC, $tbpage);
513

    
514
        asort($tbcat);
515

    
516

    
517
        //if($fgdebug) die();
518

    
519
?>
520