source: spip-zone/_plugins_/adx_menu/spip_3/balise/adxmenu.php @ 65385

Last change on this file since 65385 was 65385, checked in by piero.wbmstr@…, 7 years ago

OUPS !! oubli de mes debug de dev, visibles lors de l'appel de la balise

  • Property svn:executable set to *
File size: 2.7 KB
Line 
1<?php
2if (!defined("_ECRIRE_INC_VERSION")) return;
3
4function balise_ADXMENU_dist($p) {
5    return calculer_balise_dynamique($p, ADXMENU, array('id_article', 'id_rubrique'));
6}
7
8function balise_ADXMENU_dyn($id_article=null,$id_rubrique=null,$_rub=false,$couper=30,$couper_car='.') {
9        $fond = 'adxmenu';
10        $rub = array();
11        if (empty($couper)) $couper=30;
12        if (empty($couper_car)) $couper_car='.';
13
14        // Configuration
15        $conf = function_exists('lire_config') ? lire_config('adxmenu') : false;
16        if (!$conf || !isset($conf['liste_rub'])) 
17                $conf = array('liste_rub' => tipafriend_transform_string(ADXMENU_RUB_DEFAUT));
18
19        // Parametres
20        $rub_demande = strlen(trim($_rub)) ? tipafriend_transform_string($_rub) : $conf['liste_rub'];
21        $rub_a_exclure = array();
22
23//echo '<br />arg : '.var_export($rub_demande,1);
24        // cas de "secteurs!x:y" ou "tout!x:y"
25        if (strpos($rub_demande, '!')) {
26                $_ex = explode('!', $rub_demande);
27                if (count($_ex>1)) {
28                        $rub_demande = $_ex[0];
29                        $rub_a_exclure = explode(':', tipafriend_transform_string($_ex[1]));
30                }
31        }
32
33        // explode en separant par ":"
34        if (!in_array($rub_demande, array('secteurs','tout'))) 
35                $rub_demande = explode(':', $rub_demande);
36
37//echo '<br />rub_demande : '.var_export($rub_demande,1);
38//echo '<br />rub_a_exclure : '.var_export($rub_a_exclure,1);
39
40        // Swith pour les ID rubriques
41        switch($rub_demande){
42                case 'secteurs' :
43                        $rub = tipafriend_get_secteurs( $rub_demande );
44                        break;
45                case 'tout' :
46                        $rub = tipafriend_get_tout( $rub_demande );
47                        break;
48                default :
49                        foreach($rub_demande as $k=>$id) 
50                                $rub[] = intval($id);
51                        break;
52        }
53
54        // exclusion si demande
55        if (!empty($rub_a_exclure)) {
56                foreach($rub_a_exclure as $_rubid)
57                        if (array_search($_rubid, $rub))
58                                unset($rub[array_search($_rubid, $rub)]);
59        }
60
61//echo '<br />rubs : '.var_export($rub,1);
62
63        // Renvoi du calcul du squelette
64        $contexte = array( 
65                'lang' => $GLOBALS['spip_lang'], 
66                'fond' => 'modeles/'.$fond,
67                'dir_racine' => _DIR_RACINE,
68                'adx_rub' => $rub,
69                'couper' => $couper,
70                'couper_car' => $couper_car,
71                'id_rubrique' => $id_rubrique,
72                'id_article' => $id_article
73        ); 
74        echo recuperer_fond('modeles/'.$fond, $contexte);
75}
76
77function tipafriend_get_secteurs( $str ) 
78{
79        $rub = array();
80        $req = sql_select("id_secteur", "spip_rubriques");
81        if(sql_count($req) > 0)
82                while($row=spip_fetch_array($req))
83                        $rub[] = $row['id_secteur'];
84        return $rub;
85}
86
87function tipafriend_get_tout( $str ) 
88{
89        $rub = array();
90        $req = sql_select("id_rubrique", "spip_rubriques");
91        if(sql_count($req) > 0)
92                while($row=spip_fetch_array($req))
93                        $rub[] = $row['id_rubrique'];
94        return $rub;
95}
96
97function tipafriend_transform_string( $str ) 
98{
99        return str_replace(array(',', ';', '.', ' ', '/', ':', '\'', '"'), ':', trim($str));
100}
101
102?>
Note: See TracBrowser for help on using the repository browser.