[PLUGINS] +pages
[ptitvelo/web/www.git] / www / plugins / pages / formulaires / editer_identifiant_page.php
1 <?php
2 /**
3 * Editer l'identifiant page d'un article
4 *
5 * @plugin Pages Uniques
6 * @copyright 2013
7 * @author RastaPopoulos
8 * @licence GNU/GPL
9 * @package SPIP\Pages\Formulaires
10 */
11
12 if (!defined('_ECRIRE_INC_VERSION')) return;
13
14 function formulaires_editer_identifiant_page_charger($id_article, $retour=''){
15 $valeurs['champ_page'] = generer_info_entite($id_article,'article','page');
16 $valeurs['_saisie_en_cours'] = (_request('champ_page')!==null);
17 return $valeurs;
18 }
19
20 /**
21 * Identifier le formulaire en faisant abstraction des parametres qui
22 * ne representent pas l'objet edite
23 */
24 function formulaires_editer_identifiant_page_identifier_dist($id_article, $retour=''){
25 return serialize(array('article', $id_article));
26 }
27
28 /**
29 * Verification avant traitement
30 *
31 * @param integer $id_article
32 * @param string $retour
33 * @return Array Tableau des erreurs
34 */
35 function formulaires_editer_identifiant_page_verifier_dist($id_article, $retour=''){
36 $erreurs = array();
37 /*
38 if ($page = _request('champ_page')) {
39 // nombre de charactères : 40 max
40 if (strlen($page) > 40)
41 $erreurs['champ_page'] = _T('pages:erreur_champ_page_taille');
42 // format : charactères alphanumériques en minuscules ou "_"
43 elseif (!preg_match('/^[a-z0-9_]+$/', $page))
44 $erreurs['champ_page'] = _T('pages:erreur_champ_page_format');
45 // doublon
46 elseif (sql_countsel(table_objet_sql('article'), "page=".sql_quote($page) . " AND id_article!=".intval($id_article)))
47 $erreurs['champ_page'] = _T('pages:erreur_champ_page_doublon');
48 }
49 */
50 return $erreurs;
51 }
52
53 /**
54 * Traitement
55 *
56 * @param integer $id_article
57 * @param string $retour
58 * @return Array
59 */
60 function formulaires_editer_identifiant_page_traiter_dist($id_article, $retour=''){
61
62 if (
63 _request('changer')
64 and $page = _request('champ_page')
65 ) {
66 include_spip('action/editer_objet');
67 objet_modifier('article',$id_article,array('page'=>$page));
68 }
69
70 set_request('champ_page');
71 $res['editable'] = true;
72 if ($retour)
73 $res['redirect'] = $retour;
74
75 return $res;
76 }
77
78 ?>