[SPIP] ~maj v3.0.14-->v3.0.17
[ptitvelo/web/www.git] / www / plugins-dist / urls_etendues / formulaires / editer_url_objet.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 /**
16 * Chargement des donnees du formulaire
17 *
18 * @param string $type
19 * @param int $id
20 * @return array
21 */
22 function formulaires_editer_url_objet_charger($type,$id){
23 $valeurs = array('url'=>'','_objet'=>$type,'_id_objet'=>$id);
24
25 return $valeurs;
26 }
27
28 function formulaires_editer_url_objet_verifier($type,$id){
29 $erreurs = array();
30 include_spip('action/editer_url');
31 if (!$url = _request('url')){
32 $erreurs['url'] = _T('info_obligatoire');
33 }
34 else {
35 $type_urls = ((isset($GLOBALS['type_urls']) AND $GLOBALS['type_urls']!='page')?$GLOBALS['type_urls']:$GLOBALS['meta']['type_urls']);
36 if ($type_urls=='arbo' AND strpos($url,'/')!==false){
37 $url = explode('/',$url);
38 if (count($url)>2)
39 $erreurs['url'] = _T('urls:erreur_arbo_2_segments_max');
40 else{
41 foreach($url as $u){
42 $url_clean[] = url_nettoyer($u, 255);
43 }
44 $url = implode('/',$url);
45 $url_clean = implode('/',$url_clean);
46 }
47 }
48 else
49 $url_clean = url_nettoyer($url, 255);
50 if (!isset($erreurs['url']) AND $url!=$url_clean){
51 set_request('url',$url_clean);
52 $erreurs['url'] = _T('urls:verifier_url_nettoyee');
53 }
54 }
55
56 return $erreurs;
57 }
58
59 /**
60 * Traitement
61 *
62 * @param string $type
63 * @param int $id
64 * @return array
65 */
66 function formulaires_editer_url_objet_traiter($type,$id){
67 $valeurs = array('editable'=>true);
68
69 include_spip('action/editer_url');
70 // les urls manuelles sont toujours permanentes
71 $set = array('url' => _request('url'), 'type' => $type, 'id_objet' => $id, 'perma'=>1);
72
73 $type_urls = ((isset($GLOBALS['type_urls']) AND $GLOBALS['type_urls']!='page')?$GLOBALS['type_urls']:$GLOBALS['meta']['type_urls']);
74 if (include_spip("urls/$type_urls")
75 AND function_exists($renseigner_url = "renseigner_url_$type_urls")
76 AND $r = $renseigner_url($type,$id)
77 AND isset($r['parent']))
78 $set['id_parent'] = $r['parent'];
79
80 $separateur = "-";
81 if (defined('_url_sep_id')) $separateur = _url_sep_id;
82
83 if (url_insert($set,false,$separateur)) {
84 set_request('url');
85 $valeurs['message_ok'] = _T("urls:url_ajoutee");
86 }
87 else
88 $valeurs['message_erreur'] = _T("urls:url_ajout_impossible");
89
90 return $valeurs;
91 }