source: spip-zone/_plugins_/court-circuit/inc/courtcircuit.php @ 47279

Last change on this file since 47279 was 47279, checked in by joseph@…, 10 years ago

Quand on redirige sur une rubrique, tous les règles s'appliquent.

File size: 1.6 KB
Line 
1<?php
2
3function courtcircuit_url_redirection($id_rubrique) {
4        $url = '';
5        include_spip('inc/utils');
6        include_spip('inc/headers');
7        if (isset($GLOBALS['meta']['courtcircuit']))
8                $config = unserialize($GLOBALS['meta']['courtcircuit']);
9        else $config = array();
10        // Tester d'abord les variantes de squelettes
11        if (isset($config['variantes_squelettes']) && $config['variantes_squelettes']=='oui') {
12                $squelette_rubrique = substr(find_in_path('rubrique.html'),0,-5);
13                $flux = array(
14                        'data' => $squelette_rubrique,
15                        'args' => array(
16                                'ext' => 'html',
17                                'id_rubrique' => $id_rubrique
18                        )
19                );
20                include_spip('public/styliser');
21                $flux = styliser_par_rubrique($flux);
22                if ($flux['data'] != $squelette_rubrique)
23                        return '';
24        }
25        $redirect_article = recuperer_fond(
26                'courtcircuit_selection_article', 
27                array_merge(array('id_rubrique' => $id_rubrique),$config)
28                );
29        if (intval($redirect_article))
30                $url = generer_url_entite(intval($redirect_article), 'article', '', '', true);
31        else {
32                $redirect_rubrique = recuperer_fond(
33                        'courtcircuit_selection_rubrique', 
34                        array_merge(array('id_rubrique' => $id_rubrique),$config)
35                        );
36                if (intval($redirect_rubrique)) {
37                        // On applique à nouveau les règles de sélection à la sous-rubrique
38                        // Si pas de redirectio on pointe sur la sous-rubrique
39                        $redirection_sous_rubrique = courtcircuit_url_redirection(intval($redirect_rubrique));
40                        if ($redirection_sous_rubrique != '')
41                                $url = $redirection_sous_rubrique;
42                        else
43                                $url = generer_url_entite(intval($redirect_rubrique), 'rubrique', '', '', true);
44                }
45        }
46        return $url;
47}
48
49?>
Note: See TracBrowser for help on using the repository browser.