source: spip-zone/_plugins_/rubriques_virtuelles/tags/v0.1.2/formulaires/rediriger_rubrique.php @ 123873

Last change on this file since 123873 was 99480, checked in by kent1@…, 5 years ago

une redirection a cette information affichée dans la zone centrale de la page (affiche_milieu), rafraichie en ajax quand elle change

File size: 1.7 KB
Line 
1<?php
2
3if (!defined('_ECRIRE_INC_VERSION')) {
4        return;
5}
6
7function formulaires_rediriger_rubrique_charger_dist($id_rubrique, $retour = '') {
8        include_spip('inc/autoriser');
9        if (!autoriser('modifier', 'rubrique', $id_rubrique)) {
10                return false;
11        }
12
13        $row = sql_fetsel('id_rubrique,virtuel', 'spip_rubriques', 'id_rubrique='.intval($id_rubrique));
14        if (!$row['id_rubrique']) {
15                return false;
16        }
17        include_spip('inc/lien');
18        $redirection = virtuel_redirige($row['virtuel']);
19
20        include_spip('inc/texte');
21        $valeurs = array(
22                'redirection'=>$redirection,
23                'id'=>$id_rubrique,
24                '_afficher_url' => ($redirection?propre("[->$redirection]"):''),
25                );
26        return $valeurs;
27}
28
29function formulaires_rediriger_rubrique_verifier_dist($id_rubrique, $retour = '') {
30        $erreurs = array();
31
32        if (($redirection = _request('redirection')) == $id_rubrique || $redirection == 'rub'.$id_rubrique) {
33                $erreurs['redirection'] = _T('info_redirection_boucle');
34        }
35
36        return $erreurs;
37}
38
39function formulaires_rediriger_rubrique_traiter_dist($id_rubrique, $retour = '') {
40
41        $url = preg_replace(',^\s*https?://$,i', '', rtrim(_request('redirection')));
42        if ($url) {
43                $url = corriger_caracteres($url);
44        }
45
46        include_spip('action/editer_rubrique');
47        rubrique_modifier($id_rubrique, array('virtuel'=>$url));
48        sql_updateq('spip_rubriques', array('statut'=>'publie'), 'id_rubrique='.$id_rubrique);
49        $js = '';
50        if (_AJAX) {
51                $js = '
52                        <script type="text/javascript">
53                                if (window.ajaxReload) $("#rubrique_virtuelle").ajaxReload({args:{virtuel:"'.$url.'"}});
54                                ajaxReload("navigation");
55                        </script>';
56        }
57
58        return array(
59                'message_ok' => ($url ? _T('info_redirection_activee'):_T('info_redirection_desactivee')).$js,
60                'editable' => true
61        );
62}
Note: See TracBrowser for help on using the repository browser.