source: spip-zone/_core_/plugins/urls_etendues/formulaires/editer_url_objet.php @ 93629

Last change on this file since 93629 was 93629, checked in by cedric@…, 5 years ago

Indentation et regles de codage selon http://www.spip.net/fr_article3497.html#regles_codage

File size: 2.8 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2015                                                *
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
13if (!defined('_ECRIRE_INC_VERSION')) {
14        return;
15}
16
17/**
18 * Chargement des donnees du formulaire
19 *
20 * @param string $type
21 * @param int $id
22 * @return array
23 */
24function formulaires_editer_url_objet_charger($type, $id) {
25        $valeurs = array('url' => '', '_objet' => $type, '_id_objet' => $id);
26
27        return $valeurs;
28}
29
30function formulaires_editer_url_objet_verifier($type, $id) {
31        $erreurs = array();
32        include_spip('action/editer_url');
33        if (!$url = _request('url')) {
34                $erreurs['url'] = _T('info_obligatoire');
35        } else {
36                $type_urls = (isset($GLOBALS['type_urls']) ? $GLOBALS['type_urls'] : $GLOBALS['meta']['type_urls']);
37                if ($type_urls == 'arbo' AND strpos($url, '/') !== false) {
38                        $url = explode('/', $url);
39                        if (count($url) > 2) {
40                                $erreurs['url'] = _T('urls:erreur_arbo_2_segments_max');
41                        } else {
42                                foreach ($url as $u) {
43                                        $url_clean[] = url_nettoyer($u, 255);
44                                }
45                                $url = implode('/', $url);
46                                $url_clean = implode('/', $url_clean);
47                        }
48                } else {
49                        $url_clean = url_nettoyer($url, 255);
50                }
51                if (!isset($erreurs['url']) AND $url != $url_clean) {
52                        set_request('url', $url_clean);
53                        $erreurs['url'] = _T('urls:verifier_url_nettoyee');
54                }
55        }
56
57        return $erreurs;
58}
59
60/**
61 * Traitement
62 *
63 * @param string $type
64 * @param int $id
65 * @return array
66 */
67function formulaires_editer_url_objet_traiter($type, $id) {
68        $valeurs = array('editable' => true);
69
70        include_spip('action/editer_url');
71        // les urls manuelles sont toujours permanentes
72        $set = array('url' => _request('url'), 'type' => $type, 'id_objet' => $id, 'perma' => 1);
73
74        $type_urls = (isset($GLOBALS['type_urls']) ? $GLOBALS['type_urls'] : $GLOBALS['meta']['type_urls']);
75        if (include_spip("urls/$type_urls")
76                AND function_exists($renseigner_url = "renseigner_url_$type_urls")
77                AND $r = $renseigner_url($type, $id)
78                AND isset($r['parent'])
79        ) {
80                $set['id_parent'] = $r['parent'];
81        }
82
83        $separateur = "-";
84        if (defined('_url_sep_id')) {
85                $separateur = _url_sep_id;
86        }
87
88        if (url_insert($set, false, $separateur)) {
89                set_request('url');
90                $valeurs['message_ok'] = _T("urls:url_ajoutee");
91        } else {
92                $valeurs['message_erreur'] = _T("urls:url_ajout_impossible");
93        }
94
95        return $valeurs;
96}
Note: See TracBrowser for help on using the repository browser.