Changeset 75008 in spip-zone


Ignore:
Timestamp:
Aug 27, 2013, 4:37:44 PM (8 years ago)
Author:
eric@…
Message:

Mise au point de la déclaration des boussoles manuelles pour remplacer la globale supprimée lors du précédent commit:

  • ajout d'un formulaire de déclaration dans la page serveur
  • ajout d'un bouton d'action pour retirer une boussole déclarée

Des améliorations de traductions, de traitements des erreurs et des messages.

Location:
_plugins_/boussole/trunk
Files:
5 added
2 deleted
10 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/boussole/trunk/action/client_retirer_serveur.php

    r74974 r75008  
    44
    55/**
    6  * Action de retrait d'un serveur de la liste des serveurs configurés
    7  * comme disponibles pour le site client
     6 * Action de retrait d'un serveur de la liste des serveurs accessibles
     7 * par le site client
     8 * *
     9 * @package BOUSSOLE\Client\Action
    810 *
     11 * @return void
    912 */
    1013function action_client_retirer_serveur_dist(){
     
    2730                $serveurs = lire_config('boussole/client/serveurs_disponibles');
    2831                if (isset($serveurs[$alias_serveur])) {
     32                        // Retrait du serveur de la configuration client
    2933                        unset($serveurs[$alias_serveur]);
    3034                        ecrire_config('boussole/client/serveurs_disponibles', $serveurs);
     35
    3136                        spip_log("ACTION RETRAIT SERVEUR : alias = ". $alias_serveur, 'boussole' . _LOG_INFO);
    3237                }
  • _plugins_/boussole/trunk/boussole_fonctions.php

    r70354 r75008  
    5656 *
    5757 * @api
     58 * @filtre boussole_traduire
    5859 *
    5960 * @param string $aka_boussole  alias de la boussole
  • _plugins_/boussole/trunk/formulaires/ajouter_boussole.php

    r74974 r75008  
    1010                        '_boussoles' => $boussoles,
    1111                        'message_erreur' => $message,
    12                         'editable' => ($message ? false : true));
     12                        'editable' => (count($boussoles)==0 ? false : true));
    1313}
    1414
  • _plugins_/boussole/trunk/lang

    • Property svn:ignore set to
      boussole_fr copie.php
  • _plugins_/boussole/trunk/lang/boussole_fr.php

    r74983 r75008  
    1010        'bouton_actualiser_caches' => 'Actualiser les caches',
    1111        'bouton_boussole' => 'Boussole',
     12        'bouton_retirer_boussole' => 'Retirer la boussole',
    1213        'bouton_retirer_serveur' => 'Retirer le serveur',
    1314        'bouton_supprimer' => 'Supprimer',
     
    3839        // I
    3940        'info_ajouter_boussole' => 'En ajoutant des boussoles à votre base de données, vous aurez la possiblité d\'utiliser les modèles fournis pour les afficher dans vos pages publiques.<br />Si la boussole existe déjà ce formulaire permettra de la mettre à jour en conservant la configuration d\'affichage.',
    40         'info_ajouter_serveur' => 'Ce formulaire vous permet d\'ajouter un serveur de boussoles. Par défaut, le serveur «spip» est toujours disponible sur les sites client. La liste des serveurs disponibles est affichée ci-dessus et permet aussi de retirer un serveur configuré.',
    41         'info_boite_boussoles_gerer_client' => '<strong>Cette page est uniquement accessible aux responsables du site.</strong><p>Elle permet l’ajout, la mise à jour et la suppression des boussoles en base de données en vue de leur affichage sur ce site. Il est aussi possible de se rendre sur la page de configuration de l\'affichage de chaque boussole en cliquant sur son nom dans la liste.</p>',
    42         'info_boite_boussoles_gerer_serveur' => '<strong>Cette page est uniquement accessible aux responsables du site.</strong><p>Elle permet de mettre à jour manuellement le cache des boussoles hébergées par ce site serveur. Il est possible de télécharger les caches en cliquant sur leur nom dans la liste.</p>',
     41        'info_boite_boussoles_gerer_client' => '<strong>Cette page est uniquement accessible aux responsables du site.</strong><p>Elle permet l’ajout, la mise à jour et la suppression des boussoles en base de données en vue de leur affichage sur ce site. Il est aussi possible de se rendre sur la page de configuration de l\'affichage de chaque boussole en cliquant sur son nom dans la liste.</p><p>Un formulaire permet également de configurer les serveurs de boussoles accessibles depuis le site.</p>',
     42        'info_boite_boussoles_gerer_serveur' => '<strong>Cette page est uniquement accessible aux responsables du site.</strong><p>Elle permet de mettre à jour manuellement le cache des boussoles hébergées par ce site serveur. Il est possible de télécharger les caches en cliquant sur leur nom dans la liste.</p><p>Un formulaire permet également de déclarer des boussoles manuelles hébergées sur le site.</p>',
    4343        'info_boussole_manuelle' => 'Boussole Manuelle',
    44         'info_cache_boussole' => 'Cache de la boussole «@boussole@»',
     44        'info_cache_boussole' => 'Cache de la boussole «&nbsp;@boussole@&nbsp;»',
    4545        'info_cache_boussoles' => 'Cache des boussoles hébergées',
    4646        'info_configurer_boussole' => 'Ce formulaire vous permet de configurer l\'affichage de la boussole en choisissant les sites à afficher ou pas et l\'ordre d\'affichage dans un groupe. Les sites non affichés sont repérés par un fond hachuré et une police grise.',
     47        'info_ajouter_serveur' => 'Ce formulaire vous permet de déclarer un serveur de boussoles. Par défaut, le serveur «spip» est toujours accessible depuis les sites client.',
     48        'info_declarer_boussole_manuelle' => 'Ce formulaire vous permet de déclarer une boussole manuelle hébergée par ce site. Une fois déclarée, la boussole deviendra accessible par les sites client utilisant ce serveur.',
    4749        'info_fichier_boussole' => 'Saisissez l\'url du fichier de description de votre boussole',
    48         'info_liste_aucun_cache' => 'Aucun cache n\'a encore été créé pour les boussoles hébérgées. Utilisez le bouton «actualiser les caches» pour les générer.',
     50        'info_liste_aucun_cache' => 'Aucun cache n\'a encore été créé pour les boussoles hébergées. Utilisez le bouton «actualiser les caches» pour les générer.',
     51        'info_liste_aucun_hebergement' => 'Aucune boussole n\'est encore hébergée sur ce serveur. Utilisez le formulaire ci-dessous pour déclarer une boussole manuelle ou activez un plugin de boussole sur ce site.',
    4952        'info_liste_aucun_serveur' => 'Aucun serveur n\'a encore été configuré pour le site client.',
    5053        'info_liste_aucune_boussole' => 'Aucune boussole n\'a encore été chargée dans votre base. Utilisez le formulaire ci-dessous pour en ajouter.',
    5154        'info_site_boussole' => 'Ce site fait partie de la boussole :',
    5255        'info_site_boussoles' => 'Ce site fait partie des boussoles :',
    53         'info_url_serveur' => 'Saisissez l\'URL du serveur pour l\'ajouter à la liste.',
     56        'info_url_serveur' => 'Saisissez l\'URL du site serveur.',
     57        'info_alias_boussole_manuelle' => 'Saisissez l\'alias de la boussole manuelle telle que définie dans son fichier XML.',
    5458
    5559        // L
     60        'label_alias_boussole' => 'Alias de la boussole',
    5661        'label_1_boussole' => '@nb@ boussole',
    5762        'label_1_site' => '@nb@ site',
     
    7580        'label_max_sites' => 'Nombre max de sites',
    7681        'label_mode' => 'Choisissez une boussole',
    77         'label_mode_standard' => '« @boussole@ », boussole officielle des sites SPIP',
     82        'label_mode_standard' => '«&nbsp;@boussole@&nbsp;», boussole officielle des sites SPIP',
    7883        'label_modele' => 'Modèle d\'affichage',
    7984        'label_n_boussoles' => '@nb@ boussoles',
     
    98103
    99104        // M
    100         'message_nok_aucune_boussole_hebergee' => 'Aucune boussole n\'est encore hébergée sur le serveur «@serveur@».',
    101         'message_nok_boussole_inconnue' => 'Aucune boussole ne correspond à l\'alias «@alias@».',
    102         'message_nok_boussole_non_hebergee' => 'La boussole «@alias@» n\'est pas hébergée sur le serveur «@serveur@».',
    103         'message_nok_cache_boussole_indisponible' => 'Le fichier cache de la boussole «@alias@» n\'est pas disponible sur le serveur «@serveur@».',
    104         'message_nok_cache_liste_indisponible' => 'Le fichier cache de la liste des boussoles n\'est pas disponible sur le serveur «@serveur@».',
     105        'message_nok_aucune_boussole_hebergee' => 'Aucune boussole n\'est encore hébergée sur le serveur «&nbsp;@serveur@&nbsp;».',
     106        'message_nok_boussole_inconnue' => 'Aucune boussole ne correspond à l\'alias «&nbsp;@alias@&nbsp;».',
     107        'message_nok_boussole_non_hebergee' => 'La boussole «&nbsp;@alias@&nbsp;» n\'est pas hébergée sur le serveur «&nbsp;@serveur@&nbsp;».',
     108        'message_nok_cache_boussole_indisponible' => 'Le fichier cache de la boussole «&nbsp;@alias@&nbsp;» n\'est pas disponible sur le serveur «&nbsp;@serveur@&nbsp;».',
     109        'message_nok_cache_liste_indisponible' => 'Le fichier cache de la liste des boussoles n\'est pas disponible sur le serveur «&nbsp;@serveur@&nbsp;».',
    105110        'message_nok_ecriture_bdd' => 'Erreur d\'écriture en base de données (table @table@).',
    106         'message_nok_reponse_invalide' => 'La réponse du serveur «@serveur@» est mal formée.',
    107         'message_ok_boussole_actualisee' => 'La boussole « @fichier@ » a été mise à jour.',
    108         'message_ok_boussole_ajoutee' => 'La boussole « @fichier@ » a été ajoutée.',
    109         'message_ok_serveur_ajoute' => 'Le serveur « @serveur@ » a été ajouté (@url@).',
     111        'message_nok_reponse_invalide' => 'La réponse du serveur «&nbsp;@serveur@&nbsp;» est mal formée.',
     112        'message_nok_declaration_boussole_xml' => 'La boussole manuelle «&nbsp;@boussole@&nbsp;» ne peut pas être déclarée car son fichier XML est introuvable.',
     113        'message_ok_boussole_actualisee' => 'La boussole «&nbsp;@fichier@&nbsp;» a été mise à jour.',
     114        'message_ok_boussole_ajoutee' => 'La boussole «&nbsp;@fichier@&nbsp;» a été ajoutée.',
     115        'message_ok_serveur_ajoute' => 'Le serveur «&nbsp;@serveur@&nbsp;» a été ajouté (@url@).',
     116        'message_ok_boussole_manuelle_ajoutee' => 'La boussole manuelle «&nbsp;@boussole@&nbsp;» a été déclarée au serveur et les caches ont été mis à jour.',
    110117        'modele_boussole_liste_avec_logo' => 'Liste de liens avec noms, logos et description',
    111118        'modele_boussole_liste_par_groupe' => 'Liste de liens textuels par groupe',
     
    128135        'titre_boite_logo_boussole' => 'LOGO DE LA BOUSSOLE',
    129136        'titre_form_ajouter_boussole' => 'Ajouter ou mettre à jour une boussole',
    130         'titre_form_ajouter_serveur' => 'Ajouter un serveur de boussoles',
     137        'titre_form_ajouter_serveur' => 'Déclarer un serveur de boussoles',
     138        'titre_form_boussole_manuelle' => 'Déclarer une boussole manuelle',
    131139        'titre_formulaire_configurer' => 'Configuration de l\'affichage de la boussole',
    132140        'titre_liste_boussoles' => 'Liste des boussoles disponibles à l\'affichage',
    133141        'titre_liste_caches' => 'Liste des caches des boussoles hébergées',
    134         'titre_liste_serveurs' => 'Liste des serveurs disponibles',
     142        'titre_liste_serveurs' => 'Liste des serveurs accessible depuis le site',
    135143        'titre_page_boussole' => 'Gestion des boussoles'
    136144);
  • _plugins_/boussole/trunk/paquet.xml

    r74974 r75008  
    22        prefix="boussole"
    33        categorie="navigation"
    4         version="2.2.0"
     4        version="2.2.1"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.0.*]"
  • _plugins_/boussole/trunk/prive/squelettes/contenu/boussoles.html

    r74974 r75008  
    2727                env, ajax} />
    2828
    29         [(#REM) <!-- Formulaire d'ajout d'un serveur de boussoles --> ]
     29        [(#REM) <!-- Formulaire de déclaration d'un serveur de boussoles --> ]
    3030        <div class="noajax">
    31                 #FORMULAIRE_AJOUTER_SERVEUR_BOUSSOLES
     31                #FORMULAIRE_DECLARER_SERVEUR_BOUSSOLES
    3232        </div>
    3333]
     
    3939                pas=10,
    4040                env, ajax} />
     41
     42        [(#REM) <!-- Déclarer une boussole manuelle hébergée par le site --> ]
     43        <div class="noajax">
     44                #FORMULAIRE_DECLARER_BOUSSOLE_MANUELLE
     45        </div>
    4146]
  • _plugins_/boussole/trunk/prive/squelettes/liste/caches.html

    r74709 r75008  
    1414<B_liste_caches>
    1515#ANCRE_PAGINATION
    16 <div class="liste-objets boussoles">
     16<div class="liste-objets caches">
    1717        <table class="spip liste">
    1818                [<caption><strong class="caption">(#ENV*{titre})</strong></caption>]
     
    2323                                <th class="texte" scope="col"><:boussole:colonne_description_cache:></th>
    2424                                <th class="texte" scope="col"><:boussole:colonne_prefixe_plugin:></th>
     25                                <th class="lien" scope="col">&nbsp;</th>
    2526                        </tr>
    2627                </thead>
    2728                <tbody>
    28 <BOUCLE_liste_caches(DATA) {source table, #VAL|lister_caches}{where?}{tri #ENV{par, maj}, #GET{sens_tri}}{pagination #ENV{pas, 5}}>
     29<BOUCLE_liste_caches(DATA) {source table, #VAL|boussole_lister_caches}{where?}{tri #ENV{par, maj}, #GET{sens_tri}}{pagination #ENV{pas, 5}}>
    2930                        <tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd, row_even})]">
    3031                                <td class="titre principale">
     
    3637                                <td class="texte">[(#VALEUR|table_valeur{description})]</td>
    3738                                <td class="texte">[(#VALEUR|table_valeur{plugin})]</td>
     39                                <td class="action">
     40                                        [(#VALEUR|table_valeur{manuelle}|?{
     41                                                [(#BOUTON_ACTION{
     42                                                        <:boussole:bouton_retirer_boussole:>,
     43                                                        #URL_ACTION_AUTEUR{serveur_retirer_boussole, #VALEUR|table_valeur{alias}, #SELF},
     44                                                        '', '', ''})],
     45                                                        &nbsp;
     46                                        })]
     47                                </td>
    3848                        </tr>
    3949</BOUCLE_liste_caches>
     
    4454</B_liste_caches>
    4555        #BOITE_OUVRIR{'','notice'}
    46                 <p><:boussole:info_liste_aucun_cache:></p>
     56                <p>
     57                        [(#VAL|boussole_compteur_hebergement|>{0}|?{
     58                        <:boussole:info_liste_aucun_cache:>,
     59                        <:boussole:info_liste_aucun_hebergement:>})]
     60                </p>
    4761        #BOITE_FERMER
    4862<//B_liste_caches>
  • _plugins_/boussole/trunk/prive/squelettes/liste/caches_fonctions.php

    r74974 r75008  
    33
    44
    5 function lister_caches() {
     5function boussole_lister_caches() {
    66        $caches = array();
    77
    88        $dir_caches = _DIR_VAR . 'cache-boussoles';
    99        if ($fichiers_cache = glob($dir_caches . "/boussole*.xml")) {
    10                 // (on sait déjà que le mode serveur est actif)
    1110                include_spip('inc/config');
    1211                $boussoles = lire_config('boussole/serveur/boussoles_disponibles');
     
    2120                        $cache['sha'] = '';
    2221                        $cache['plugin'] = '';
     22                        $cache['alias'] = '';
     23                        $cache['manuelle'] = false;
    2324
    2425                        lire_fichier($_fichier, $contenu);
     
    3738                                // C'est le cache d'une boussole hébergée
    3839                                $alias_boussole = str_replace('boussole-', '', basename($_fichier, '.xml'));
     40                                $cache['alias'] = $alias_boussole;
    3941                                $cache['description'] = _T('boussole:info_cache_boussole', array('boussole' => $alias_boussole));
    4042                                if  (isset($tableau['name'])
     
    5254                                }
    5355                                else {
    54                                         // Boussole utilisant un plugin
     56                                        // Boussole n'utilisant pas un plugin, nommée boussole manuelle
     57                                        $cache['manuelle'] = true;
    5558                                        $cache['plugin'] = _T('boussole:info_boussole_manuelle');
    5659
     
    7376}
    7477
     78
     79function boussole_compteur_hebergement() {
     80        include_spip('inc/config');
     81        $boussoles = lire_config('boussole/serveur/boussoles_disponibles');
     82        $boussoles = pipeline('declarer_boussoles', $boussoles);
     83
     84        return count($boussoles);
     85}
    7586?>
  • _plugins_/boussole/trunk/prive/squelettes/liste/serveurs.html

    r74974 r75008  
    33        Les parametres d'environnement specifiques sont :
    44        - titre     : le titre de la liste
    5         - par       : le champ tri principal
    65        - pas       : le pas de pagination
    76        - where         : condition supplementaire construite par l'appelant (exclusion de certaines lignes par ex)
    87 -->]
    98
    10 [(#SET{sens_tri,#ARRAY{
    11         nom, 1,
    12         url, 1
    13 }})]
    149<B_liste_serveurs>
    1510#ANCRE_PAGINATION
     
    1914                <thead>
    2015                        <tr class="first_row">
    21                                 <th class="titre" scope="col">[(#TRI{nom, <:boussole:colonne_serveur:>, ajax})]</th>
    22                                 <th class="url principale" scope="col">[(#TRI{url, <:boussole:colonne_url:>, ajax})]</th>
    23                                 <th class="lien" scope="col"></th>
     16                                <th class="titre" scope="col"><:boussole:colonne_serveur:></th>
     17                                <th class="url principale" scope="col"><:boussole:colonne_url:></th>
     18                                <th class="lien" scope="col">&nbsp;</th>
    2419                        </tr>
    2520                </thead>
    2621                <tbody>
    27 <BOUCLE_liste_serveurs(DATA) {source table, #CONFIG{boussole/client/serveurs_disponibles}}{where?}{tri #ENV{par, nom}, #GET{sens_tri}}{pagination #ENV{pas, 5}}>
     22<BOUCLE_liste_serveurs(DATA) {source table, #CONFIG{boussole/client/serveurs_disponibles}}{where?}{par cle}{pagination #ENV{pas, 5}}>
    2823                        <tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd, row_even})]">
    2924                                <td class="titre">#CLE</td>
Note: See TracChangeset for help on using the changeset viewer.