source: spip-zone/_plugins_/plugin-thelia/spip_thelia_fonct.php @ 47979

Last change on this file since 47979 was 47979, checked in by cam.lafit@…, 10 years ago

Ajout d'un pipeline post authentification Thelia

  • Pour le moment on ne peut se greffer sur un pipeline spip (le systeme d'authentification est déroutée entre temps)
  • Une fois authentifie par Thelia, il est interessant de pouvoir remonter des informations vers SPIP pour personnaliser le compte
    • Un cas classique est de controler les commandes valides afin de lever des restriction de consultation
File size: 20.5 KB
Line 
1<?php
2
3include_spip("inc/charsets") ;
4function spip_thelia_supprimer_balises_thelia($texte) {
5        //suppression des boucles th�lia
6        $texte = str_replace("THELIA_", "DUMMY_", $texte);
7        //suppression des balises thelia
8        $texte = str_replace("THELIA-", "DUMMY-", $texte);
9        return $texte;
10}
11
12function spip_thelia_demarrer_session_thelia () {
13        global $page;
14       
15        //sauvegarde des variables qui vont �tre modifi�es pour th�lia
16        $sav_page = $page;
17        $sav_session_navig_lang = $_SESSION['navig']->lang;
18       
19        //conflit sur la variable $page.
20        $page = new stdclass;
21        $page = "";
22
23        include_once("../"._RACINE_THELIA."/classes/Navigation.class.php");
24       
25        ini_set('arg_separator.output', '&amp;');
26        ini_set("url_rewriter.tags","a=href,area=href,frame=src,iframe=src,input=src");
27        session_start();
28}
29
30function spip_thelia_header_prive($flux) {     
31        //si une boite de s�lection spip/th�lia sera affich�e sur la page, il faut d�marrer pr�alablement une session th�lia
32        $exec =  $_REQUEST['exec'];
33        $id_article= $_REQUEST['id_article'];
34        $id_rubrique= $_REQUEST['id_rubrique'];
35        if (function_exists('lire_config')) {
36                if ($exec=='articles'){
37                        if((lire_config("spip_thelia/produits_articles_spip_thelia", "non") == "oui")||(lire_config("spip_thelia/rubriques_articles_spip_thelia", "non") == "oui"))
38                                spip_thelia_demarrer_session_thelia();
39                }
40                else if (($exec=='naviguer')&&($id_rubrique)){
41                        if((lire_config("spip_thelia/produits_rubriques_spip_thelia", "non") == "oui")||(lire_config("spip_thelia/rubriques_rubriques_spip_thelia", "non") == "oui"))
42                                spip_thelia_demarrer_session_thelia();
43                }
44        }
45
46
47        //on restaure les variables session et request modifi�es pour les plugins suivants sur affichage final
48        $page = $sav_page;
49        $_SESSION['navig']->lang = $sav_session_navig_lang;
50       
51        if (function_exists('chemin')&&($_REQUEST['exec']!="articles")&&($_REQUEST['exec']!="naviguer")) {
52                echo ("erreur : la fonction chemin() dans ecrire/inc/utils.php doit &ecirc;tre mise en commentaire !");
53        }
54        if (!file_exists("../"._RACINE_THELIA."fonctions/moteur.php")&&($_REQUEST['exec']!="")) 
55                echo ("erreur : th&eacute;lia introuvable, v&eacute;rifiez que les sous-r&eacute;pertoires de th&eacute;lia et spip sont dans le m&ecirc;me r&eacute;pertoire.");
56        if (!function_exists('lire_config'))
57                echo ("erreur : le plugin CFG est n'est pas install&eacute;.");
58        return $flux;
59}
60
61function spip_thelia_insert_head($flux) {
62        $flux.="<link rel=\"stylesheet\" href=\""._DIR_PLUGIN_SPIP_THELIA."spipthelia.css\" type=\"text/css\" media=\"projection, screen, tv\" />";
63        return $flux;
64}
65
66function spip_thelia_appeler_moteur_thelia($texte) {
67       
68        //si pas de boucle ou de balise th�lia dans la page on sort     
69        if ((strpos($texte, "THELIA-") === FALSE) && (strpos($texte, "<THELIA") == FALSE))
70                return $texte;
71       
72        //convertion utf-8 vers ISO des variables $_REQUEST
73        $sauvegarde_request = array();
74        foreach ($_REQUEST as $clef => $valeur) {
75                $sauvegarde_request[$clef] = $valeur;
76                $_REQUEST[$clef]=unicode2charset(charset2unicode($valeur, 'utf-8'),'iso-8859-1');
77            }
78
79        //parsonnalisation des variables th�lia
80        switch($_REQUEST['page']){
81                case 'merci' : $securise=0; $pageret=0; $reset=1; break;
82                case 'panier' : $securise=0; $pageret=1; break;
83                case 'adresse' : $securise=1; $pageret=1; break;
84                case 'cheque' : $securise=1; $pageret=1;$reset=1; break;
85                case 'commande' : $securise=1; $pageret=1; $panier=1; $transport=1; break;
86                case 'commande_detail' : $securise=1; break;
87                case 'commande_visualiser' : $securise=1; break;
88                case 'compte_modifier' : $formulaire=1; $securise=1; $obligetelfixe=1; break;
89                case 'compte_modifiererr' : $formulaire=1; $securise=1; $obligetelfixe=1; break;
90                case 'connexion' : $pageret=0; break;
91                case 'livraison_adresse' : $securise=1; break;
92                case 'livraison_modifier' : $securise=1; break;
93                case 'moncompte' : $pageret=1; $securise=1; break;
94                case 'nouveau' : $securise=1; break;
95                case 'regret' : $pageret=1; break;     
96                case 'virement' : $securise=1; $pageret=1; $reset=1; break;
97        }
98
99        global $page, $res, $id_rubrique;
100
101        //sauvegarde des variables qui vont �tre modifi�es pour th�lia
102        $sav_page = $page;
103        $sav_session_navig_lang = $_SESSION['navig']->lang;
104       
105        //conflit sur la variable $page.
106 
107        $page = new stdclass;
108        $page = "";
109
110        include_once(_RACINE_THELIA."classes/Navigation.class.php");
111       
112        ini_set('arg_separator.output', '&amp;');
113        ini_set("url_rewriter.tags","a=href,area=href,frame=src,iframe=src,input=src");
114        session_start();
115
116        //conflit entre spip et th�lia sur la langue en session.
117        if ($_SESSION['navig']->lang != '') {
118                $_SESSION['navig']->lang=0;
119        }
120
121        //concordance des langues entre spip et th�lia
122        //modifiez �ventuellement la liste si vous avez ajout� de nouvelles langues dans Th�lia
123       
124        switch($_REQUEST['lang']) {
125                case 'fr' : $_REQUEST['lang'] = 1; break;
126                case 'en' : $_REQUEST['lang'] = 2; break;
127                case 'es' : $_REQUEST['lang'] = 3; break;
128                default: $_REQUEST['lang'] = 1; break;
129        }
130       
131        //r�affectation des variables de th�lia qui ont �t�es renomm�es dans les squelettes pour �viter les conflits avec spip
132        $_REQUEST['action'] = $_REQUEST['thelia_action'];
133        $_REQUEST['page'] = $_REQUEST['page_thelia'];
134
135        if (isset($_REQUEST['thelia_article']))
136                $_REQUEST['article'] = $_REQUEST['thelia_article'];
137       
138        //on pr�pare le flux � envoyer au moteur th�lia
139        $res = $texte;
140        $res = str_replace("THELIA-", "#", $res);
141
142        //avant d'envoyer � th�lia, on convertie en iso pour th�lia
143        if(lire_config("spip_thelia/encodage_spip_thelia", "non") == "oui")
144                $res = unicode2charset(charset2unicode($res, 'utf-8'),'iso-8859-1');
145
146        //on bloque la sortie vers le navigateur le temps d'y faire quelques substitutions     
147        ob_start();
148       
149        //si version >= 1.3.4 : plus de surcharge dans le plugin, on appelle directement le moteur de Th�lia
150        include_once(_RACINE_THELIA."fonctions/moteur.php");
151
152        //Connexion à SPIP à la création du compte Thelia
153        if ($_GET['page'] == 'nouveau' || $_GET['page_thelia'] == 'nouveau') {
154                if ($_SESSION['navig']->connecte == 1 && lire_config("spip_thelia/auth_unique_spip_thelia","non")=="oui")  {
155                        include_spip('auth/thelia');
156                        $auteur = creer_auteur_thelia(
157                                array(
158                                        'login'=>'',
159                                        'pass'=>'',
160                                        'client'=>$_SESSION['navig']->client
161                                )
162                        );
163                        $session = charger_fonction('session','inc');
164                        $session($auteur);
165                        $data = pipeline('thelia_authentifie',array("auteur" => $result,"statut"=>"nouveau"));
166                }
167        }
168
169       
170        $texte = ob_get_contents();
171        ob_end_clean();
172        $texte = remplacement_sortie_thelia($texte);
173
174        //au retour de th�lia, on convertie en utf8 pour SPIP
175        if(lire_config("spip_thelia/encodage_spip_thelia", "non") == "oui")
176                $texte = unicode2charset(charset2unicode($texte, 'iso-8859-1'),'utf-8');
177       
178        //on restaure les variables session et request modifi�es pour les plugins suivants sur affichage final
179        $page = $sav_page;
180        $_SESSION['navig']->lang = $sav_session_navig_lang;
181       
182        //restauration des variables $_REQUEST en utf-8 pour SPIP
183        foreach ($sauvegarde_request as $clef => $valeur) {
184                $_REQUEST[$clef]=$valeur;
185        }
186       
187        return ($texte);       
188}
189
190function remplacement_sortie_thelia($in_thelia) {
191        //renommage action en thelia_action. m�thode provisoire � revoir.
192        $in_thelia = str_replace("adresse.php?action", "adresse.php?thelia_action", $in_thelia);
193        $in_thelia = str_replace("cheque.php?action", "cheque.php?thelia_action", $in_thelia);
194        $in_thelia = str_replace("commande.php?action", "commande.php?thelia_action", $in_thelia);
195        $in_thelia = str_replace("commande_detail.php?action", "commande_detail.php?thelia_action", $in_thelia);
196        $in_thelia = str_replace("commande_visualiser.php?action", "commande_visualiser.php?thelia_action", $in_thelia);
197        $in_thelia = str_replace("compte_modifier.php?action", "compte_modifier.php?thelia_action", $in_thelia);
198        $in_thelia = str_replace("compte_modifiererr.php?action", "compte_modifiererr.php?thelia_action", $in_thelia);
199        $in_thelia = str_replace("connexion.php?action", "connexion.php?thelia_action", $in_thelia);
200        $in_thelia = str_replace("creercompte.php?action", "creercompte.php?thelia_action", $in_thelia);
201        $in_thelia = str_replace("formulerr.php?action", "formulerr.php?thelia_action", $in_thelia);
202        $in_thelia = str_replace("imgpop?action", "imgpop?thelia_action", $in_thelia);
203        $in_thelia = str_replace("livraison_adresse.php?action", "livraison_adresse.php?thelia_action", $in_thelia);
204        $in_thelia = str_replace("mdpoublie.php?action", "mdpoublie.php?thelia_action", $in_thelia);
205        $in_thelia = str_replace("merci.php?action", "merci.php?thelia_action", $in_thelia);
206        $in_thelia = str_replace("moncompte.php?action", "moncompte.php?thelia_action", $in_thelia);
207        $in_thelia = str_replace("nouveau.php?action", "nouveau.php?thelia_action", $in_thelia);
208        $in_thelia = str_replace("panier.php?action", "panier.php?thelia_action", $in_thelia);
209        $in_thelia = str_replace("produit.php?action", "produit.php?thelia_action", $in_thelia);
210        $in_thelia = str_replace("regret.php?action", "regret.php?thelia_action", $in_thelia);
211        $in_thelia = str_replace("virement.php?action", "virement.php?thelia_action", $in_thelia);
212
213        return $in_thelia;
214}
215
216function spip_thelia_affiche_milieu($flux) {
217        $exec =  $flux['args']['exec'];
218        $id_article= $_REQUEST['id_article'];
219        $id_rubrique= $_REQUEST['id_rubrique'];
220        if (function_exists('lire_config')) {
221                if ($exec=='articles'){
222                        if((lire_config("spip_thelia/produits_articles_spip_thelia", "non") == "oui")||(lire_config("spip_thelia/rubriques_articles_spip_thelia", "non") == "oui"))
223                                $flux['data'] .= spip_thelia_formulaire_article($id_article, spip_thelia_article_editable($id_article),'articles');
224                }
225                else if (($exec=='naviguer')&&($id_rubrique)){
226                        if((lire_config("spip_thelia/produits_rubriques_spip_thelia", "non") == "oui")||(lire_config("spip_thelia/rubriques_rubriques_spip_thelia", "non") == "oui"))
227                                $flux['data'] .= spip_thelia_formulaire_rubrique($id_rubrique, spip_thelia_rubrique_editable($id_rubrique),'rubriques');
228                }
229        }
230        return $flux;
231}
232
233function spip_thelia_article_editable($id_article){
234        return autoriser('modifier','article',$id_article);
235}
236
237function spip_thelia_rubrique_editable($id_rubrique) {
238        return autoriser('modifier','rubrique',$id_rubrique);
239}
240
241function spip_thelia_formulaire_article($id_article, $flag_editable, $script) {
242
243        global $spip_lang_right;
244        include_spip("inc/presentation");
245        include_spip('public/assembler');
246        include_spip('inc/charsets');
247
248        global $spip_lang_left, $spip_lang_right, $options;
249        global $connect_statut, $options,$connect_id_auteur, $couleur_claire ;
250
251        $out = "<div id='editer_produit-$id_article'>";
252        $out .= "<a name='produit'></a>";
253       
254        // Quel est le bon titre
255        if (lire_config("spip_thelia/produits_articles_spip_thelia", "non") != "oui") {
256                $titre = _T('spipthelia:rubriques_associees_article');
257        } elseif (lire_config("spip_thelia/rubriques_articles_spip_thelia", "non") != "oui") {
258                        $titre = _T('spipthelia:produits_associes_article');
259                } else {
260                        $titre = _T('spipthelia:produits_et_rubriques_associes_article');                       
261                        }
262                       
263        if (function_exists('bouton_block_depliable')) {  // SPIP2.0
264                if ($flag_editable) {
265                        if (_request('edit')||_request('neweven'))
266                                $bouton = bouton_block_depliable($titre,true,"produitsarticle");
267                        else
268                                $bouton = bouton_block_depliable($titre,false,"produitsarticle");
269                }
270                $out .= debut_cadre_enfonce("../"._DIR_PLUGIN_SPIP_THELIA."/img_pack/logo_thelia_petit.png", true, "", $bouton);
271       
272        } else {
273                if (_request('edit')||_request('neweven'))
274                        $bouton = bouton_block_visible("produitsarticle").$titre;
275                else
276                        $bouton = bouton_block_invisible("produitsarticle").$titre;     
277                $out .= debut_cadre_enfonce("../"._DIR_PLUGIN_SPIP_THELIA."/img_pack/logo_thelia_petit.png", true, "", $bouton);
278       
279                //
280                // Afficher les produits associes
281                //
282                $out .= afficher_rubriques_objet('article',$id_rubrique);
283
284                $out .= afficher_produits_objet('article',$id_article);
285
286                $out .= debut_block_invisible('produitsarticle');
287        }
288
289       
290       
291        $link = generer_action_auteur('produits_article',"$id_article",generer_url_ecrire('articles','id_article='.$id_article));
292        $out .= "<form method='POST' action='$link'>\n";
293        $out .= form_hidden($link);
294       
295        //masquer provisoirement les warning de session de Th�lia en attendant une correction
296        //Th�lia retourne des warning de session (headers already sent) car elle d�marre trop tard, mais on ne l'utilise pas, on se contente de lister les produits
297        $sav_error_reporting = error_reporting(E_ERROR);
298       
299        //on bloque la sortie vers le navigateur le temps d'y faire quelques substitutions     
300        $res = recuperer_fond("fonds/produits_associes_article",array("id_article" => $id_article));
301        $res = str_replace("THELIA-", "#", $res);
302       
303        //avant d'envoyer � th�lia, on convertie en iso pour th�lia
304        $res = unicode2charset(charset2unicode($res, 'utf-8'),'iso-8859-1');
305        ob_start();
306        chdir('..');
307        include_once(_RACINE_THELIA."fonctions/moteur.php");
308        chdir('ecrire');
309        $texte = ob_get_contents();
310        ob_end_clean();
311        $texte = remplacement_sortie_thelia($texte);
312
313        //au retour de th�lia, on convertit en utf8 pour SPIP
314        if (!is_utf8($texte)) $texte = unicode2charset(charset2unicode($texte, 'iso-8859-1'),'utf-8');
315        $out .= $texte;
316       
317        //remettre le niveau d'erreur pr�c�dent
318        error_reporting($sav_error_reporting);
319       
320        $out .= "</form>\n";   
321
322        $out .= fin_block();
323
324        $out .= fin_cadre_enfonce(true);
325        $out .= "</div><br/>";
326        return $out;
327}
328
329function spip_thelia_formulaire_rubrique($id_rubrique, $flag_editable, $script) {
330
331        global $spip_lang_right;
332        include_spip("inc/presentation");
333        include_spip('public/assembler');
334        include_spip('inc/charsets');
335
336        global $spip_lang_left, $spip_lang_right, $options;
337        global $connect_statut, $options,$connect_id_auteur, $couleur_claire ;
338
339        // Quel est le bon titre       
340        if (lire_config("spip_thelia/produits_rubriques_spip_thelia", "non") != "oui") {
341                $titre = _T('spipthelia:rubriques_associees_rubrique');
342        } elseif (lire_config("spip_thelia/rubriques_rubriques_spip_thelia", "non") != "oui") {
343                        $titre = _T('spipthelia:produits_associes_rubrique');
344                } else {
345                        $titre = _T('spipthelia:produits_et_rubriques_associes_rubrique');                     
346                        }
347                       
348        $out = "<div id='editer_produit-$id_rubrique'>";
349        $out .= "<a name='produit'></a>";
350        if (function_exists('bouton_block_depliable')) { // SPIP2.0
351                if ($flag_editable) {
352                        if (_request('edit')||_request('neweven'))
353                                $bouton = bouton_block_depliable($titre,true,"produitsrubrique");
354                        else
355                                $bouton = bouton_block_depliable($titre,false,"produitsrubrique");
356                }
357                $out .= debut_cadre_enfonce("../"._DIR_PLUGIN_SPIP_THELIA."/img_pack/logo_thelia_petit.png", true, "", $bouton);
358
359        } else {
360                if (_request('edit')||_request('neweven'))
361                        $bouton = bouton_block_visible("produitsrubrique").$titre;
362                else
363                        $bouton = bouton_block_invisible("produitsrubrique").$titre;           
364                $out .= debut_cadre_enfonce("../"._DIR_PLUGIN_SPIP_THELIA."/img_pack/logo_thelia_petit.png", true, "", $bouton);
365
366                //
367                // Afficher les produits associes
368                //
369                $out .= afficher_rubriques_objet('rubrique',$id_rubrique);
370
371                $out .= afficher_produits_objet('rubrique',$id_rubrique);
372               
373                $out .= debut_block_invisible('produitsrubrique');
374        }
375
376       
377       
378        $link = generer_action_auteur('produits_rubrique',"$id_rubrique",generer_url_ecrire('naviguer&id_rubrique='.$id_rubrique,"",false,true));
379        $out .= "<form method='POST' action='$link'>\n";
380        $out .= form_hidden($link);
381       
382        //masquer provisoirement les warning de session de Th�lia en attendant une correction
383        //Th�lia retourne des warning de session (headers already sent) car elle d�marre trop tard, mais on ne l'utilise pas, on se contente de lister les produits
384        $sav_error_reporting = error_reporting(E_ERROR);
385       
386        //on bloque la sortie vers le navigateur le temps d'y faire quelques substitutions     
387        $res = recuperer_fond("fonds/produits_associes_rubrique",array("id_rubrique" => $id_rubrique));
388        $res = str_replace("THELIA-", "#", $res);
389       
390        //avant d'envoyer � th�lia, on convertie en iso pour th�lia
391        $res = unicode2charset(charset2unicode($res, 'utf-8'),'iso-8859-1');
392        ob_start();
393        chdir('..');
394        include_once(_RACINE_THELIA."fonctions/moteur.php");
395        chdir('ecrire');
396        $texte = ob_get_contents();
397        ob_end_clean();
398        $texte = remplacement_sortie_thelia($texte);
399
400        //au retour de th�lia, on convertit en utf8 pour SPIP
401        if (!is_utf8($texte)) $texte = unicode2charset(charset2unicode($texte, 'iso-8859-1'),'utf-8');
402        $out .= $texte;
403
404        //remettre le niveau d'erreur pr�c�dent
405        error_reporting($sav_error_reporting);
406       
407        $out .= "</form>\n";   
408
409        $out .= fin_block();
410        $out .= fin_cadre_enfonce(true);
411        $out .= "</div><br/>";
412        return $out;
413}
414
415function afficher_produits_objet($type, $id) {
416
417        if (!preg_match(',^[a-z]*$,',$type)) return '';
418
419        $result = determiner_produits_objet($type,$id);
420        if (!spip_num_rows($result)) return '';
421
422        $table = array();
423
424        while ($row = spip_fetch_array($result)) {
425                $vals = array();
426                if (!is_utf8($row['titre'])) $row['titre'] = unicode2charset(charset2unicode($row['titre'], 'iso-8859-1'),'utf-8');
427               
428                $puce = ($row['ligne'])?find_in_path('images/puce-verte.gif'):find_in_path('images/puce-orange.gif');
429                $etat = ($row['ligne'])?_T('spipthelia:produit_en_ligne'):_T('spipthelia:produit_non_publie');
430                $url = generer_url_ecrire('spip_thelia_catalogue','thelia_url='.urlencode('produit_modifier.php?ref='.$row['ref'].'&rubrique='.$row['rubrique']));
431                $link = "<a class='product_details' href='%s' target='_blank'>%s</a>";
432                               
433                $vals[] = sprintf($link,$url,"<img src='$puce' alt='$etat'/>");
434                $vals[] = sprintf($link,$url,$row['titre']);
435                $vals[] = sprintf(number_format($row['prix'],2));
436               
437                $table[] = $vals;
438        }
439
440        $largeurs = array('14', '', '', '', '', '');
441        $styles = array('arial11', 'arial2', 'arial11', 'arial11', 'arial11', 'arial1');
442
443        $t = afficher_liste($largeurs, $table, $styles);
444        if ($spip_display != 4)
445                $t = $tranches
446                        . "<table width='100%' cellpadding='3' cellspacing='0' border='0'>"
447                        . "<thead><tr><th>&nbsp;</th><th>". _T('spipthelia:nom_du_produit'). "</th><th>". _T('spipthelia:prix'). "</th></tr></head><tbody>"
448                        . $t
449                        . "</tbody></table>";
450        return "<div class='liste'>$t</div>\n";
451}
452
453function determiner_produits_objet($type, $id) {
454        $les_produits = array();
455        if (!preg_match(',^[a-z]*$,',$type)) return $les_produits;
456
457        $result = spip_query("SELECT titre,ref,prix,ligne,rubrique
458                FROM spip_produits_{$type}s
459                JOIN produit ON produit.id = spip_produits_{$type}s.id_produit
460                JOIN produitdesc ON produitdesc.id = spip_produits_{$type}s.id_produit
461                WHERE id_{$type}="._q($id));
462
463        return $result;
464}
465
466function afficher_rubriques_objet($type, $id) {
467
468        if (!preg_match(',^[a-z]*$,',$type)) return '';
469
470        $result = determiner_rubriques_objet($type,$id);
471        if (!spip_num_rows($result)) return '';
472
473        $table = array();
474
475        while ($row = spip_fetch_array($result)) {
476                $vals = array();
477                if (!is_utf8($row['titre'])) $row['titre'] = unicode2charset(charset2unicode($row['titre'], 'iso-8859-1'),'utf-8');
478               
479                $puce = ($row['ligne'])?find_in_path('images/puce-verte.gif'):find_in_path('images/puce-orange.gif');
480                $etat = ($row['ligne'])?_T('spipthelia:rubrique_en_ligne'):_T('spipthelia:rubrique_non_publiee');
481                $url = generer_url_ecrire('spip_thelia_catalogue','thelia_url='.urlencode('parcourir.php?parent='.$row['rubrique']));
482                $link = "<a class='product_details' href='%s' target='_blank'>%s</a>";
483                               
484                $vals[] = sprintf($link,$url,"<img src='$puce' alt='$etat'/>");
485                $vals[] = sprintf($link,$url,$row['titre']);
486               
487                $table[] = $vals;
488        }
489
490        $largeurs = array('14', '', '', '', '', '');
491        $styles = array('arial11', 'arial2', 'arial11', 'arial11', 'arial11', 'arial1');
492
493        $t = afficher_liste($largeurs, $table, $styles);
494        if ($spip_display != 4)
495                $t = $tranches
496                        . "<table width='100%' cellpadding='3' cellspacing='0' border='0'>"
497                        . "<thead><tr><th>&nbsp;</th><th>". _T('spipthelia:nom_de_la_rubrique'). "</th></tr></head><tbody>"
498                        . $t
499                        . "</tbody></table>";
500        return "<div class='liste'>$t</div>\n";
501}
502
503function determiner_rubriques_objet($type, $id) {
504        $les_produits = array();
505        if (!preg_match(',^[a-z]*$,',$type)) return $les_produits;
506
507        $result = spip_query("SELECT titre,ligne,rubrique
508                FROM spip_rubriquesthelia_{$type}s
509                JOIN rubrique ON rubrique.id = spip_rubriquesthelia_{$type}s.id_rubriquethelia
510                JOIN rubriquedesc ON rubriquedesc.rubrique = spip_rubriquesthelia_{$type}s.id_rubriquethelia
511                WHERE id_{$type}="._q($id));
512
513        return $result;
514}
515
516?>
Note: See TracBrowser for help on using the repository browser.