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
RevLine 
[42026]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
[42208]12
[42026]13function formulaires_ajouter_boussole_verifier_dist(){
14        $erreurs = array();
15        $mode = _request('mode');
16
17        if ($mode == 'url_perso') {
[42208]18                // Pour le mode perso uniquement on verifie que le fichier a bien ete saisi
[42026]19                $url = _request('url_boussole');
[42208]20                if (!$url)
[42026]21                        // L'url est obligatoire
22                        $erreurs['url_boussole'] = _T('boussole:message_nok_champ_obligatoire');
23        }
[42208]24       
[42026]25        return $erreurs;
26}
27
[42208]28
[42026]29function formulaires_ajouter_boussole_traiter_dist(){
30        $retour = array();
31        $mode = _request('mode');
[42208]32        $xml = _request('url_boussole');
[42026]33
[42208]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        }
[42026]39        else {
[42208]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));
[42210]43                        spip_log("ERREUR DTD" . var_export($erreur['detail'], true), 'boussole');
[42208]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
[42211]52                        if (!$ok) {
[42208]53                                $retour['message_erreur'] = $erreur;
[42210]54                                spip_log("ERREUR AJOUT", 'boussole');
[42211]55                        }
[42208]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                }
[42026]61        }
62        $retour['editable'] = true;
63
64        return $retour;
65}
66?>
Note: See TracBrowser for help on using the repository browser.