Changeset 42429 in spip-zone


Ignore:
Timestamp:
Nov 21, 2010, 10:45:29 AM (10 years ago)
Author:
eric@…
Message:

Si la boussole existe déjà on la met à jour en conservant la configuration d'affichage.
Suppression d'un icone superflu
Mise au point des messages ok du formulaire d'ajout/actualisation

Location:
_plugins_/boussole
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/boussole/formulaires/ajouter_boussole.php

    r42211 r42429  
    4747                        // et on traite le cas d'erreur fichier ($retour['message_erreur']) non conforme
    4848                        // si c'est encore possible apres avoir valide le fichier avec la dtd
    49                         $ok = boussole_ajouter($url, $erreur);
     49                        $ok = boussole_ajouter($url, $message);
    5050               
    5151                        // Determination des messages de retour
    5252                        if (!$ok) {
    53                                 $retour['message_erreur'] = $erreur;
     53                                $retour['message_erreur'] = $message;
    5454                                spip_log("ERREUR AJOUT", 'boussole');
    5555                        }
    5656                        else {
    57                                 $retour['message_ok'] = _T('boussole:message_ok_boussole_ajoutee', array('fichier' => $url));
     57                                $retour['message_ok'] = $message;
    5858                                spip_log("ACTION AJOUTER BOUSSOLE : url = ". $url, 'boussole');
    5959                        }
  • _plugins_/boussole/inc/deboussoler.php

    r42421 r42429  
    77
    88/**
    9  * Ajout du depot et de ses extensions dans la base de donnees
     9 * Ajout de la boussole dans la base de donnees
    1010 *
    1111 * @param string $url
     
    1616// $url => url ou path du fichier xml de description de la boussole
    1717// $erreur      => message d'erreur deja traduit
    18 function boussole_ajouter($url, &$erreur='') {
     18function boussole_ajouter($url, &$message='') {
    1919
    2020        // On recupere les infos du fichier xml de description de la balise
    2121        $infos = boussole_parser_xml($url);
    2222        if (!infos OR !$infos['boussole']['alias']){
    23                 $erreur = _T('boussole:message_nok_xml_invalide', array('fichier' => $url));
     23                $message = _T('boussole:message_nok_xml_invalide', array('fichier' => $url));
    2424                return false;
    2525        }
    26         // On complete les infos de chaque site par l'id_syndic si ce site est deja reference
    27         // dans la table spip_syndic. On reconnait le site par son url
     26
     27        // On complete les infos de chaque site
     28        // - par l'id_syndic si ce site est deja reference dans la table spip_syndic.
     29        //   On reconnait le site par son url
     30        // - par la configuration de l'affichage si la boussole existe deja
    2831        foreach ($infos['sites'] as $_cle => $_info) {
    29                 // On construit deux urls : l'une avec / l'autre sans
     32                // -- On recherche l'id_syndic en construisant deux urls possibles : l'une avec / l'autre sans
    3033                $urls = array();
    3134                $urls[] = $_info['url_site'];
     
    3336                if ($id_syndic = sql_getfetsel('id_syndic', 'spip_syndic', sql_in('url_site', $urls)))
    3437                        $infos['sites'][$_cle]['id_syndic'] = intval($id_syndic);
     38                // -- On recherche une configuration d'affichage (si elle existe)
     39                $where = array('aka_boussole=' .sql_quote($infos['boussole']['alias']),
     40                                        'aka_site=' . sql_quote($_info['aka_site']));
     41                if ($resultats = sql_fetsel('rang_groupe, rang_site, affiche', 'spip_boussoles', $where)) {
     42                        $infos['sites'][$_cle]['rang_groupe'] = intval($resultats['rang_groupe']);
     43                        $infos['sites'][$_cle]['rang_site'] = intval($resultats['rang_site']);
     44                        $infos['sites'][$_cle]['affiche'] = $resultats['affiche'];
     45                }
    3546        }
    3647       
     
    3849        $meta_boussole = 'boussole_infos_' . $infos['boussole']['alias'];
    3950        // -- suppression au prealable des sites appartenant a la meme boussole si elle existe
    40         if (lire_meta($meta_boussole))
     51        //    et determination du type d'action (ajout ou actualisation)
     52        $actualisation = false;
     53        if (lire_meta($meta_boussole)) {
     54                $actualisation = true;
    4155                boussole_supprimer($infos['boussole']['alias']);
     56        }
    4257        // -- insertion de la nouvelle liste de sites pour cette boussole
    4358        if (!$ids = sql_insertq_multi('spip_boussoles', $infos['sites'])) {
    44                 $erreur = _T('boussole:message_nok_ecriture_bdd');
     59                $message = _T('boussole:message_nok_ecriture_bdd');
    4560                return false;
    4661        }
     
    4964        $infos['boussole']['xml'] = $url;
    5065        ecrire_meta($meta_boussole, serialize($infos['boussole']));
     66
     67        // On definit le message de retour ok (actualisation ou ajout)
     68        if ($actualisation)
     69                $message = _T('boussole:message_ok_boussole_actualisee', array('fichier' => $url));
     70        else
     71                $message = _T('boussole:message_ok_boussole_ajoutee', array('fichier' => $url));
    5172       
    5273        return true;
     
    5576
    5677/**
    57  * Suppression du depot et de ses extensions dans la base de donnees
     78 * Suppression de la boussole dans la base de donnees
    5879 *
    5980 * @param int $aka_boussole
  • _plugins_/boussole/lang/boussole_fr.php

    r42428 r42429  
    4343
    4444// I
    45         'info_ajouter_boussole' => 'En ajoutant des boussoles &agrave; votre base de donn&eacute;es, vous aurez la possiblit&eacute; d\'utiliser les mod&egrave;les fournis pour les afficher dans vos pages publiques.<br />Une boussole est d&eacute;crite par un fichier XML contenant les informations sur la boussole et ses sites.',
     45        'info_ajouter_boussole' => 'En ajoutant des boussoles &agrave; votre base de donn&eacute;es, vous aurez la possiblit&eacute; d\'utiliser les mod&egrave;les fournis pour les afficher dans vos pages publiques.<br />Une boussole est d&eacute;crite par un fichier XML contenant les informations sur la boussole et ses sites.<br /><br />Si la boussole existe d&eacute;j&agrave; ce formulaire permettra de la mettre &agrave; jour en conservant la configuration d\'affichage.',
    4646        'info_aucun_logo_boussole' => 'La boussole ne poss&egrave;de pas de logo',
    4747        'info_boite_boussoles_gerer' => '<strong>Cette page est uniquement accessible aux responsables du site.</strong><p>Elle permet l’ajout, la mise &agrave; jour et la suppression des boussoles. Il est aussi possible de se rendre sur la page de configuration de l\'affichage de chaque boussole.</p>',
     
    7575        'message_nok_xml_introuvable' => 'Le fichier &#171; @fichier@ &#187; est introuvable',
    7676        'message_nok_xml_invalide' => 'Le fichier XML &#171; @fichier@ &#187; de description de la boussole n\'est pas conforme &agrave; la DTD',
     77        'message_ok_boussole_actualisee' => 'La boussole &#171; @fichier@ &#187; a &eacute;t&eacute; mise &agrave; jour.',
    7778        'message_ok_boussole_ajoutee' => 'La boussole &#171; @fichier@ &#187; a &eacute;t&eacute; ajout&eacute;e.',
    7879
  • _plugins_/boussole/prive/liste/boussoles.html

    r42026 r42429  
    55                [<p><:boussole:info_liste_boussoles:></p>
    66                <div id="boussoles">
    7                         [(#CHEMIN{prive/themes/spip/images/boussole_icone-24.png}|debut_cadre_enfonce{#EVAL{true}})]
     7                        [(#VAL{1}|debut_cadre_enfonce{#EVAL{true}})]
    88                        [(#VAL{<:boussole:titre_bloc_boussoles:>}|bouton_block_depliable{#EVAL{true}, boussoles_depliable})]
    99                        <div id="boussoles_depliable" class="bloc_depliable blocdeplie">
Note: See TracChangeset for help on using the changeset viewer.