[SPIP] ~maj v3.0.14-->v3.0.17
[ptitvelo/web/www.git] / www / prive / formulaires / rediriger_article.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2014 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
8 * *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
12
13 if (!defined('_ECRIRE_INC_VERSION')) return;
14
15 function formulaires_rediriger_article_charger_dist($id_article,$retour=''){
16
17 include_spip('inc/autoriser');
18 if (!autoriser('modifier', 'article', $id_article))
19 return false;
20
21 $row = sql_fetsel('id_article,virtuel','spip_articles','id_article='.intval($id_article));
22 if (!$row['id_article'])
23 return false;
24 include_spip('inc/lien');
25 $redirection = virtuel_redirige($row["virtuel"]);
26
27 if (!$redirection
28 AND $GLOBALS['meta']['articles_redirection'] != 'oui')
29 return false;
30
31
32 include_spip('inc/texte');
33 $valeurs = array(
34 'redirection'=>$redirection,
35 'id'=>$id_article,
36 '_afficher_url' => ($redirection?propre("[->$redirection]"):''),
37 );
38 return $valeurs;
39 }
40
41 function formulaires_rediriger_article_verifier_dist($id_article,$retour=''){
42 $erreurs = array();
43
44 if(($redirection = _request('redirection')) == $id_article || $redirection == 'art'.$id_article)
45 $erreurs['redirection'] = _T('info_redirection_boucle');
46
47 return $erreurs;
48 }
49
50 function formulaires_rediriger_article_traiter_dist($id_article,$retour=''){
51
52 $url = preg_replace(",^\s*https?://$,i", "", rtrim(_request('redirection')));
53 if ($url) $url = corriger_caracteres($url);
54
55 include_spip('action/editer_article');
56 articles_set($id_article, array('virtuel'=>$url));
57
58 $js = _AJAX ? '<script type="text/javascript">if (window.ajaxReload) ajaxReload("wysiwyg");</script>':'';
59
60 return array('message_ok'=>($url?_T('info_redirection_activee'):_T('info_redirection_desactivee')).$js,'editable'=>true);
61 }
62 ?>