source: spip-zone/_plugins_/diogene/diogene/trunk/formulaires/editer_diogene.php @ 97999

Last change on this file since 97999 was 97999, checked in by kent1@…, 3 years ago

Nettoyage

File size: 3.2 KB
Line 
1<?php
2/**
3 * Plugin Diogene
4 *
5 * Auteurs :
6 * kent1 (http://www.kent1.info - kent1@arscenic.info)
7 *
8 * © 2010-2014 - Distribue sous licence GNU/GPL
9 *
10 * Formulaire d'edition d'un template de formulaire "Diogene"
11 */
12
13if (!defined('_ECRIRE_INC_VERSION')) {
14        return;
15}
16
17include_spip('inc/actions');
18include_spip('inc/editer');
19
20function formulaires_editer_diogene_charger_dist($id_diogene = 'new', $objet = 'article', $retour = '', $config_fonc = '', $row = array(), $hidden = '') {
21        $pipeline = pipeline('diogene_objets');
22        $valeurs = array();
23        if (!is_numeric($id_diogene) and is_array($pipeline) and !isset($pipeline[$objet])) {
24                $valeurs['editable'] = false;
25                $valeurs['message_erreur'] = _T('diogene:erreur_objet_non_diogene', array('objet'=>$objet));
26                return $valeurs;
27        } elseif (!is_numeric($id_diogene)
28                && is_array($pipeline)
29                && isset($pipeline[$objet]['diogene_max'])
30                && sql_countsel('spip_diogenes', 'type='.sql_quote($objet)) >= intval($pipeline[$objet]['diogene_max'])) {
31                $valeurs['editable'] = false;
32                $valeurs['message_erreur'] = _T('diogene:erreur_objet_diogene_max', array('objet' => $objet, 'max' => $pipeline[$objet]['diogene_max']));
33                return $valeurs;
34        }
35
36        $valeurs = formulaires_editer_objet_charger('diogene', $id_diogene, 0, 0, $retour, $config_fonc, $row, $hidden);
37        if (empty($valeurs['objet']) or (!in_array($valeurs['objet'], array('article', 'rubrique')) and !is_int($id_diogene))) {
38                $valeurs['objet'] = $objet;
39        }
40
41        if (isset($valeurs['type'])) {
42                $valeurs['identifiant'] = $valeurs['type'];
43                unset($valeurs['type']);
44        }
45        if (intval($valeurs['id_secteur']) and !$secteur_existe = sql_getfetsel('id_secteur', 'spip_rubriques', 'id_rubrique='.intval($valeurs['id_secteur']))) {
46                $valeurs['message_erreur'] = _T('diogene:erreur_secteur_diogene_inexistant');
47        }
48        if (intval($valeurs['id_rubrique_defaut'])) {
49                $valeurs['rubrique_defaut'] = 'rubrique|'.$valeurs['id_rubrique_defaut'];
50        }
51
52        return $valeurs;
53}
54
55function formulaires_editer_diogene_verifier_dist($id_diogene = 'new', $objet = 'article', $retour = '', $config_fonc = '', $row = array(), $hidden = '') {
56        /**
57         * rubrique_defaut rend un tableau contenant 'rubrique|123'
58         * on extrait l'identifiant de la rubrique, ou on rend 0
59         */
60        $arr = _request('rubrique_defaut');
61        if (count($arr)) {
62                $tmp=explode('|', $arr[0]);
63                if (count($tmp) == 2) {
64                        set_request('id_rubrique_defaut', intval($tmp[1]));
65                }
66        } else {
67                set_request('id_rubrique_defaut', 0);
68        }
69
70        $erreurs = formulaires_editer_objet_verifier('diogene', $id_diogene, array('titre','statut_auteur','identifiant'));
71        $type = _request('identifiant');
72        if ($id_diogene = sql_getfetsel('id_diogene', 'spip_diogenes', 'type='.sql_quote($type).' AND id_diogene!='.intval($id_diogene))) {
73                $erreurs['identifiant'] = _T('diogene:erreur_identifiant_existant');
74        }
75
76        return $erreurs;
77}
78
79function formulaires_editer_diogene_traiter_dist($id_diogene = 'new', $objet = 'article', $retour = '', $config_fonc = '', $row = array(), $hidden = '') {
80        /**
81         * On invalide le cache pour que les modifications sur les droits
82         * soient automatiquement prises en compte par les squelettes
83         */
84        include_spip('inc/invalideur');
85        suivre_invalideur(1);
86
87        return formulaires_editer_objet_traiter('diogene', $id_diogene, 0, '', $retour, $config_fonc, $row, $hidden);
88}
Note: See TracBrowser for help on using the repository browser.