source: spip-zone/_plugins_/boussole/formulaires/ajouter_boussole.php @ 42211

Last change on this file since 42211 was 42211, checked in by eric@…, 10 years ago

Oups une parenthèse manquante

  • Property svn:eol-style set to native
File size: 1.9 KB
Line 
1<?php
2
3if (!defined("_ECRIRE_INC_VERSION")) return;
4
5include_spip('inc/deboussoler');
6
7function formulaires_ajouter_boussole_charger_dist(){
8        return array('mode' => _request('mode'),
9                                'url_boussole' => _request('url_boussole'));
10}
11
12
13function formulaires_ajouter_boussole_verifier_dist(){
14        $erreurs = array();
15        $mode = _request('mode');
16
17        if ($mode == 'url_perso') {
18                // Pour le mode perso uniquement on verifie que le fichier a bien ete saisi
19                $url = _request('url_boussole');
20                if (!$url)
21                        // L'url est obligatoire
22                        $erreurs['url_boussole'] = _T('boussole:message_nok_champ_obligatoire');
23        }
24       
25        return $erreurs;
26}
27
28
29function formulaires_ajouter_boussole_traiter_dist(){
30        $retour = array();
31        $mode = _request('mode');
32        $xml = _request('url_boussole');
33
34        // On fait des verifications dans traiter pour renvoyer les resultats dans le message d'erreur global
35        if (!$url = boussole_localiser_xml($xml, $mode)) {
36                // Le fichier est introuvable
37                $retour['message_erreur'] = _T('boussole:message_nok_xml_introuvable', array('fichier' => $xml));
38        }
39        else {
40                if (!boussole_valider_xml($url, $erreur)) {
41                        // Le fichier ne suit pas la DTD (boussole.dtd)
42                        $retour['message_erreur'] = _T('boussole:message_nok_xml_invalide', array('fichier' => $url));
43                        spip_log("ERREUR DTD" . var_export($erreur['detail'], true), 'boussole');
44                }
45                else {
46                        // On insere la boussole dans la base
47                        // et on traite le cas d'erreur fichier ($retour['message_erreur']) non conforme
48                        // si c'est encore possible apres avoir valide le fichier avec la dtd
49                        $ok = boussole_ajouter($url, $erreur);
50               
51                        // Determination des messages de retour
52                        if (!$ok) {
53                                $retour['message_erreur'] = $erreur;
54                                spip_log("ERREUR AJOUT", 'boussole');
55                        }
56                        else {
57                                $retour['message_ok'] = _T('boussole:message_ok_boussole_ajoutee', array('fichier' => $url));
58                                spip_log("ACTION AJOUTER BOUSSOLE : url = ". $url, 'boussole');
59                        }
60                }
61        }
62        $retour['editable'] = true;
63
64        return $retour;
65}
66?>
Note: See TracBrowser for help on using the repository browser.