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

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

Pouvoir mettre Thelia dans un repertoire dédié

  • Une nouvelle constante _RACINE_THELIA sert à indiquer la racine thelia
    • par défaut on conserve le comportement actuel : "./"
    • par exemple si on a le choisi le repertoire "thelia", dans config/mes_options.php sera indiqué define('_RACINE_THELIA','thelia/');
  • On passage on indique à php que ce nouveau repertoire sera à considérer lors des inclusions
    • autrement le moteur thelia ne pourra pas charger les bonnes dépendences
File size: 20.4 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                }
166        }
167
168       
169        $texte = ob_get_contents();
170        ob_end_clean();
171        $texte = remplacement_sortie_thelia($texte);
172
173        //au retour de th�lia, on convertie en utf8 pour SPIP
174        if(lire_config("spip_thelia/encodage_spip_thelia", "non") == "oui")
175                $texte = unicode2charset(charset2unicode($texte, 'iso-8859-1'),'utf-8');
176       
177        //on restaure les variables session et request modifi�es pour les plugins suivants sur affichage final
178        $page = $sav_page;
179        $_SESSION['navig']->lang = $sav_session_navig_lang;
180       
181        //restauration des variables $_REQUEST en utf-8 pour SPIP
182        foreach ($sauvegarde_request as $clef => $valeur) {
183                $_REQUEST[$clef]=$valeur;
184        }
185       
186        return ($texte);       
187}
188
189function remplacement_sortie_thelia($in_thelia) {
190        //renommage action en thelia_action. m�thode provisoire � revoir.
191        $in_thelia = str_replace("adresse.php?action", "adresse.php?thelia_action", $in_thelia);
192        $in_thelia = str_replace("cheque.php?action", "cheque.php?thelia_action", $in_thelia);
193        $in_thelia = str_replace("commande.php?action", "commande.php?thelia_action", $in_thelia);
194        $in_thelia = str_replace("commande_detail.php?action", "commande_detail.php?thelia_action", $in_thelia);
195        $in_thelia = str_replace("commande_visualiser.php?action", "commande_visualiser.php?thelia_action", $in_thelia);
196        $in_thelia = str_replace("compte_modifier.php?action", "compte_modifier.php?thelia_action", $in_thelia);
197        $in_thelia = str_replace("compte_modifiererr.php?action", "compte_modifiererr.php?thelia_action", $in_thelia);
198        $in_thelia = str_replace("connexion.php?action", "connexion.php?thelia_action", $in_thelia);
199        $in_thelia = str_replace("creercompte.php?action", "creercompte.php?thelia_action", $in_thelia);
200        $in_thelia = str_replace("formulerr.php?action", "formulerr.php?thelia_action", $in_thelia);
201        $in_thelia = str_replace("imgpop?action", "imgpop?thelia_action", $in_thelia);
202        $in_thelia = str_replace("livraison_adresse.php?action", "livraison_adresse.php?thelia_action", $in_thelia);
203        $in_thelia = str_replace("mdpoublie.php?action", "mdpoublie.php?thelia_action", $in_thelia);
204        $in_thelia = str_replace("merci.php?action", "merci.php?thelia_action", $in_thelia);
205        $in_thelia = str_replace("moncompte.php?action", "moncompte.php?thelia_action", $in_thelia);
206        $in_thelia = str_replace("nouveau.php?action", "nouveau.php?thelia_action", $in_thelia);
207        $in_thelia = str_replace("panier.php?action", "panier.php?thelia_action", $in_thelia);
208        $in_thelia = str_replace("produit.php?action", "produit.php?thelia_action", $in_thelia);
209        $in_thelia = str_replace("regret.php?action", "regret.php?thelia_action", $in_thelia);
210        $in_thelia = str_replace("virement.php?action", "virement.php?thelia_action", $in_thelia);
211
212        return $in_thelia;
213}
214
215function spip_thelia_affiche_milieu($flux) {
216        $exec =  $flux['args']['exec'];
217        $id_article= $_REQUEST['id_article'];
218        $id_rubrique= $_REQUEST['id_rubrique'];
219        if (function_exists('lire_config')) {
220                if ($exec=='articles'){
221                        if((lire_config("spip_thelia/produits_articles_spip_thelia", "non") == "oui")||(lire_config("spip_thelia/rubriques_articles_spip_thelia", "non") == "oui"))
222                                $flux['data'] .= spip_thelia_formulaire_article($id_article, spip_thelia_article_editable($id_article),'articles');
223                }
224                else if (($exec=='naviguer')&&($id_rubrique)){
225                        if((lire_config("spip_thelia/produits_rubriques_spip_thelia", "non") == "oui")||(lire_config("spip_thelia/rubriques_rubriques_spip_thelia", "non") == "oui"))
226                                $flux['data'] .= spip_thelia_formulaire_rubrique($id_rubrique, spip_thelia_rubrique_editable($id_rubrique),'rubriques');
227                }
228        }
229        return $flux;
230}
231
232function spip_thelia_article_editable($id_article){
233        return autoriser('modifier','article',$id_article);
234}
235
236function spip_thelia_rubrique_editable($id_rubrique) {
237        return autoriser('modifier','rubrique',$id_rubrique);
238}
239
240function spip_thelia_formulaire_article($id_article, $flag_editable, $script) {
241
242        global $spip_lang_right;
243        include_spip("inc/presentation");
244        include_spip('public/assembler');
245        include_spip('inc/charsets');
246
247        global $spip_lang_left, $spip_lang_right, $options;
248        global $connect_statut, $options,$connect_id_auteur, $couleur_claire ;
249
250        $out = "<div id='editer_produit-$id_article'>";
251        $out .= "<a name='produit'></a>";
252       
253        // Quel est le bon titre
254        if (lire_config("spip_thelia/produits_articles_spip_thelia", "non") != "oui") {
255                $titre = _T('spipthelia:rubriques_associees_article');
256        } elseif (lire_config("spip_thelia/rubriques_articles_spip_thelia", "non") != "oui") {
257                        $titre = _T('spipthelia:produits_associes_article');
258                } else {
259                        $titre = _T('spipthelia:produits_et_rubriques_associes_article');                       
260                        }
261                       
262        if (function_exists('bouton_block_depliable')) {  // SPIP2.0
263                if ($flag_editable) {
264                        if (_request('edit')||_request('neweven'))
265                                $bouton = bouton_block_depliable($titre,true,"produitsarticle");
266                        else
267                                $bouton = bouton_block_depliable($titre,false,"produitsarticle");
268                }
269                $out .= debut_cadre_enfonce("../"._DIR_PLUGIN_SPIP_THELIA."/img_pack/logo_thelia_petit.png", true, "", $bouton);
270       
271        } else {
272                if (_request('edit')||_request('neweven'))
273                        $bouton = bouton_block_visible("produitsarticle").$titre;
274                else
275                        $bouton = bouton_block_invisible("produitsarticle").$titre;     
276                $out .= debut_cadre_enfonce("../"._DIR_PLUGIN_SPIP_THELIA."/img_pack/logo_thelia_petit.png", true, "", $bouton);
277       
278                //
279                // Afficher les produits associes
280                //
281                $out .= afficher_rubriques_objet('article',$id_rubrique);
282
283                $out .= afficher_produits_objet('article',$id_article);
284
285                $out .= debut_block_invisible('produitsarticle');
286        }
287
288       
289       
290        $link = generer_action_auteur('produits_article',"$id_article",generer_url_ecrire('articles','id_article='.$id_article));
291        $out .= "<form method='POST' action='$link'>\n";
292        $out .= form_hidden($link);
293       
294        //masquer provisoirement les warning de session de Th�lia en attendant une correction
295        //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
296        $sav_error_reporting = error_reporting(E_ERROR);
297       
298        //on bloque la sortie vers le navigateur le temps d'y faire quelques substitutions     
299        $res = recuperer_fond("fonds/produits_associes_article",array("id_article" => $id_article));
300        $res = str_replace("THELIA-", "#", $res);
301       
302        //avant d'envoyer � th�lia, on convertie en iso pour th�lia
303        $res = unicode2charset(charset2unicode($res, 'utf-8'),'iso-8859-1');
304        ob_start();
305        chdir('..');
306        include_once(_RACINE_THELIA."fonctions/moteur.php");
307        chdir('ecrire');
308        $texte = ob_get_contents();
309        ob_end_clean();
310        $texte = remplacement_sortie_thelia($texte);
311
312        //au retour de th�lia, on convertit en utf8 pour SPIP
313        if (!is_utf8($texte)) $texte = unicode2charset(charset2unicode($texte, 'iso-8859-1'),'utf-8');
314        $out .= $texte;
315       
316        //remettre le niveau d'erreur pr�c�dent
317        error_reporting($sav_error_reporting);
318       
319        $out .= "</form>\n";   
320
321        $out .= fin_block();
322
323        $out .= fin_cadre_enfonce(true);
324        $out .= "</div><br/>";
325        return $out;
326}
327
328function spip_thelia_formulaire_rubrique($id_rubrique, $flag_editable, $script) {
329
330        global $spip_lang_right;
331        include_spip("inc/presentation");
332        include_spip('public/assembler');
333        include_spip('inc/charsets');
334
335        global $spip_lang_left, $spip_lang_right, $options;
336        global $connect_statut, $options,$connect_id_auteur, $couleur_claire ;
337
338        // Quel est le bon titre       
339        if (lire_config("spip_thelia/produits_rubriques_spip_thelia", "non") != "oui") {
340                $titre = _T('spipthelia:rubriques_associees_rubrique');
341        } elseif (lire_config("spip_thelia/rubriques_rubriques_spip_thelia", "non") != "oui") {
342                        $titre = _T('spipthelia:produits_associes_rubrique');
343                } else {
344                        $titre = _T('spipthelia:produits_et_rubriques_associes_rubrique');                     
345                        }
346                       
347        $out = "<div id='editer_produit-$id_rubrique'>";
348        $out .= "<a name='produit'></a>";
349        if (function_exists('bouton_block_depliable')) { // SPIP2.0
350                if ($flag_editable) {
351                        if (_request('edit')||_request('neweven'))
352                                $bouton = bouton_block_depliable($titre,true,"produitsrubrique");
353                        else
354                                $bouton = bouton_block_depliable($titre,false,"produitsrubrique");
355                }
356                $out .= debut_cadre_enfonce("../"._DIR_PLUGIN_SPIP_THELIA."/img_pack/logo_thelia_petit.png", true, "", $bouton);
357
358        } else {
359                if (_request('edit')||_request('neweven'))
360                        $bouton = bouton_block_visible("produitsrubrique").$titre;
361                else
362                        $bouton = bouton_block_invisible("produitsrubrique").$titre;           
363                $out .= debut_cadre_enfonce("../"._DIR_PLUGIN_SPIP_THELIA."/img_pack/logo_thelia_petit.png", true, "", $bouton);
364
365                //
366                // Afficher les produits associes
367                //
368                $out .= afficher_rubriques_objet('rubrique',$id_rubrique);
369
370                $out .= afficher_produits_objet('rubrique',$id_rubrique);
371               
372                $out .= debut_block_invisible('produitsrubrique');
373        }
374
375       
376       
377        $link = generer_action_auteur('produits_rubrique',"$id_rubrique",generer_url_ecrire('naviguer&id_rubrique='.$id_rubrique,"",false,true));
378        $out .= "<form method='POST' action='$link'>\n";
379        $out .= form_hidden($link);
380       
381        //masquer provisoirement les warning de session de Th�lia en attendant une correction
382        //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
383        $sav_error_reporting = error_reporting(E_ERROR);
384       
385        //on bloque la sortie vers le navigateur le temps d'y faire quelques substitutions     
386        $res = recuperer_fond("fonds/produits_associes_rubrique",array("id_rubrique" => $id_rubrique));
387        $res = str_replace("THELIA-", "#", $res);
388       
389        //avant d'envoyer � th�lia, on convertie en iso pour th�lia
390        $res = unicode2charset(charset2unicode($res, 'utf-8'),'iso-8859-1');
391        ob_start();
392        chdir('..');
393        include_once(_RACINE_THELIA."fonctions/moteur.php");
394        chdir('ecrire');
395        $texte = ob_get_contents();
396        ob_end_clean();
397        $texte = remplacement_sortie_thelia($texte);
398
399        //au retour de th�lia, on convertit en utf8 pour SPIP
400        if (!is_utf8($texte)) $texte = unicode2charset(charset2unicode($texte, 'iso-8859-1'),'utf-8');
401        $out .= $texte;
402
403        //remettre le niveau d'erreur pr�c�dent
404        error_reporting($sav_error_reporting);
405       
406        $out .= "</form>\n";   
407
408        $out .= fin_block();
409        $out .= fin_cadre_enfonce(true);
410        $out .= "</div><br/>";
411        return $out;
412}
413
414function afficher_produits_objet($type, $id) {
415
416        if (!preg_match(',^[a-z]*$,',$type)) return '';
417
418        $result = determiner_produits_objet($type,$id);
419        if (!spip_num_rows($result)) return '';
420
421        $table = array();
422
423        while ($row = spip_fetch_array($result)) {
424                $vals = array();
425                if (!is_utf8($row['titre'])) $row['titre'] = unicode2charset(charset2unicode($row['titre'], 'iso-8859-1'),'utf-8');
426               
427                $puce = ($row['ligne'])?find_in_path('images/puce-verte.gif'):find_in_path('images/puce-orange.gif');
428                $etat = ($row['ligne'])?_T('spipthelia:produit_en_ligne'):_T('spipthelia:produit_non_publie');
429                $url = generer_url_ecrire('spip_thelia_catalogue','thelia_url='.urlencode('produit_modifier.php?ref='.$row['ref'].'&rubrique='.$row['rubrique']));
430                $link = "<a class='product_details' href='%s' target='_blank'>%s</a>";
431                               
432                $vals[] = sprintf($link,$url,"<img src='$puce' alt='$etat'/>");
433                $vals[] = sprintf($link,$url,$row['titre']);
434                $vals[] = sprintf(number_format($row['prix'],2));
435               
436                $table[] = $vals;
437        }
438
439        $largeurs = array('14', '', '', '', '', '');
440        $styles = array('arial11', 'arial2', 'arial11', 'arial11', 'arial11', 'arial1');
441
442        $t = afficher_liste($largeurs, $table, $styles);
443        if ($spip_display != 4)
444                $t = $tranches
445                        . "<table width='100%' cellpadding='3' cellspacing='0' border='0'>"
446                        . "<thead><tr><th>&nbsp;</th><th>". _T('spipthelia:nom_du_produit'). "</th><th>". _T('spipthelia:prix'). "</th></tr></head><tbody>"
447                        . $t
448                        . "</tbody></table>";
449        return "<div class='liste'>$t</div>\n";
450}
451
452function determiner_produits_objet($type, $id) {
453        $les_produits = array();
454        if (!preg_match(',^[a-z]*$,',$type)) return $les_produits;
455
456        $result = spip_query("SELECT titre,ref,prix,ligne,rubrique
457                FROM spip_produits_{$type}s
458                JOIN produit ON produit.id = spip_produits_{$type}s.id_produit
459                JOIN produitdesc ON produitdesc.id = spip_produits_{$type}s.id_produit
460                WHERE id_{$type}="._q($id));
461
462        return $result;
463}
464
465function afficher_rubriques_objet($type, $id) {
466
467        if (!preg_match(',^[a-z]*$,',$type)) return '';
468
469        $result = determiner_rubriques_objet($type,$id);
470        if (!spip_num_rows($result)) return '';
471
472        $table = array();
473
474        while ($row = spip_fetch_array($result)) {
475                $vals = array();
476                if (!is_utf8($row['titre'])) $row['titre'] = unicode2charset(charset2unicode($row['titre'], 'iso-8859-1'),'utf-8');
477               
478                $puce = ($row['ligne'])?find_in_path('images/puce-verte.gif'):find_in_path('images/puce-orange.gif');
479                $etat = ($row['ligne'])?_T('spipthelia:rubrique_en_ligne'):_T('spipthelia:rubrique_non_publiee');
480                $url = generer_url_ecrire('spip_thelia_catalogue','thelia_url='.urlencode('parcourir.php?parent='.$row['rubrique']));
481                $link = "<a class='product_details' href='%s' target='_blank'>%s</a>";
482                               
483                $vals[] = sprintf($link,$url,"<img src='$puce' alt='$etat'/>");
484                $vals[] = sprintf($link,$url,$row['titre']);
485               
486                $table[] = $vals;
487        }
488
489        $largeurs = array('14', '', '', '', '', '');
490        $styles = array('arial11', 'arial2', 'arial11', 'arial11', 'arial11', 'arial1');
491
492        $t = afficher_liste($largeurs, $table, $styles);
493        if ($spip_display != 4)
494                $t = $tranches
495                        . "<table width='100%' cellpadding='3' cellspacing='0' border='0'>"
496                        . "<thead><tr><th>&nbsp;</th><th>". _T('spipthelia:nom_de_la_rubrique'). "</th></tr></head><tbody>"
497                        . $t
498                        . "</tbody></table>";
499        return "<div class='liste'>$t</div>\n";
500}
501
502function determiner_rubriques_objet($type, $id) {
503        $les_produits = array();
504        if (!preg_match(',^[a-z]*$,',$type)) return $les_produits;
505
506        $result = spip_query("SELECT titre,ligne,rubrique
507                FROM spip_rubriquesthelia_{$type}s
508                JOIN rubrique ON rubrique.id = spip_rubriquesthelia_{$type}s.id_rubriquethelia
509                JOIN rubriquedesc ON rubriquedesc.rubrique = spip_rubriquesthelia_{$type}s.id_rubriquethelia
510                WHERE id_{$type}="._q($id));
511
512        return $result;
513}
514
515?>
Note: See TracBrowser for help on using the repository browser.