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

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

Mise au point des logs avec utilisation du niveau de gravité

  • Property svn:eol-style set to native
File size: 2.1 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        // Cas de la boussole SPIP
35        if ($mode == 'standard')
36                $xml = url_absolue('http://zone.spip.org/trac/spip-zone/export/HEAD/_galaxie_/boussole.spip.org/boussole_spip.xml');
37
38        // On fait des verifications dans traiter pour renvoyer les resultats dans le message d'erreur global
39        if (!$url = boussole_localiser_xml($xml)) {
40                // Le fichier est introuvable
41                $retour['message_erreur'] = _T('boussole:message_nok_xml_introuvable', array('fichier' => $xml));
42        }
43        else {
44                if (!boussole_valider_xml($url, $erreur)) {
45                        // Le fichier ne suit pas la DTD (boussole.dtd)
46                        $retour['message_erreur'] = _T('boussole:message_nok_xml_invalide', array('fichier' => $url));
47                        spip_log("ERREUR DTD" . var_export($erreur['detail'], true), 'boussole' . _LOG_ERREUR);
48                }
49                else {
50                        // On insere la boussole dans la base
51                        // et on traite le cas d'erreur fichier ($retour['message_erreur']) non conforme
52                        // si c'est encore possible apres avoir valide le fichier avec la dtd
53                        list($ok, $message) = boussole_ajouter($url);
54               
55                        // Determination des messages de retour
56                        if (!$ok) {
57                                $retour['message_erreur'] = $message;
58                                spip_log("ERREUR AJOUT", 'boussole' . _LOG_ERREUR);
59                        }
60                        else {
61                                $retour['message_ok'] = $message;
62                                spip_log("ACTION AJOUTER BOUSSOLE : url = ". $url, 'boussole' . _LOG_INFO);
63                        }
64                }
65        }
66        $retour['editable'] = true;
67
68        return $retour;
69}
70?>
Note: See TracBrowser for help on using the repository browser.