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

Last change on this file since 58871 was 58871, checked in by kent1@…, 8 years ago

Compatibilité SPIP 3.0

On ajoute un paquet.xml et son fichier de langue

On règle un petit bug sur le fichier de config

On utilise find_in_path() au lieu de chemin()

File size: 2.3 KB
Line 
1<?php
2if (!defined("_ECRIRE_INC_VERSION")) return;
3
4function courtcircuit_url_redirection($id_rubrique) {
5        spip_log('redirection','test');
6        $url = '';
7        include_spip('inc/utils');
8        include_spip('inc/headers');
9        if (isset($GLOBALS['meta']['courtcircuit']))
10                $config = unserialize($GLOBALS['meta']['courtcircuit']);
11        else $config = array();
12        // Tester d'abord les variantes de squelettes (si on ne les court-circuite pas)
13        if (!isset($config['variantes_squelettes']) || $config['variantes_squelettes']=='oui') {
14                $squelette_rubrique = substr(find_in_path('rubrique.html'),0,-5);
15                $flux = array(
16                        'data' => $squelette_rubrique,
17                        'args' => array(
18                                'ext' => 'html',
19                                'id_rubrique' => $id_rubrique
20                        )
21                );
22                include_spip('public/styliser');
23                if(function_exists('squelettes_par_rubrique_styliser_par_rubrique'))
24                        $flux = squelettes_par_rubrique_styliser_par_rubrique($flux);
25                else {
26                        $flux = styliser_par_rubrique($flux);
27                }
28                if ($flux['data'] != $squelette_rubrique)
29                        return '';
30        }
31        // Tester ensuite si la rubrique a une composition (si on ne court-circuite pas les compositions)
32        if ((!isset($config['composition_rubrique']) || $config['composition_rubrique']=='oui') && defined('_DIR_PLUGIN_COMPOSITIONS')) {
33                if (strlen(compositions_determiner('rubrique', $id_rubrique)))
34                        return '';
35        }
36        // On teste si on doit rediriger
37        $redirect_article = recuperer_fond(
38                'courtcircuit_selection_article', 
39                        array_merge(array('id_rubrique' => $id_rubrique),$config)
40                );
41        spip_log(array_merge(array('id_rubrique' => $id_rubrique),$config),'test');
42        spip_log($redirect_article,'test');
43        if (intval($redirect_article))
44                $url = generer_url_entite(intval($redirect_article), 'article', '', '', true);
45        else {
46                $redirect_rubrique = recuperer_fond(
47                        'courtcircuit_selection_rubrique', 
48                        array_merge(array('id_rubrique' => $id_rubrique),$config)
49                        );
50                if (intval($redirect_rubrique)) {
51                        // On applique a nouveau les regles de selection a la sous-rubrique
52                        // Si pas de redirectio on pointe sur la sous-rubrique
53                        $redirection_sous_rubrique = courtcircuit_url_redirection(intval($redirect_rubrique));
54                        if ($redirection_sous_rubrique != '')
55                                $url = $redirection_sous_rubrique;
56                        else
57                                $url = generer_url_entite(intval($redirect_rubrique), 'rubrique', '', '', true);
58                }
59        }
60        return $url;
61}
62
63?>
Note: See TracBrowser for help on using the repository browser.