Changeset 75204 in spip-zone


Ignore:
Timestamp:
Sep 1, 2013, 5:03:21 PM (6 years ago)
Author:
eric@…
Message:

Les filtres sur les caches peuvent être utiles à tous.
Encore des améliorations de PHPdoc

Location:
_plugins_/boussole/trunk
Files:
1 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/boussole/trunk/base/boussole_declarer.php

    r75199 r75204  
    1010
    1111/**
    12  * Pipeline de déclaration des nouvelles tables de la base de données propres au plugin.
     12 * Déclaration des nouvelles tables de la base de données propres au plugin.
    1313 *
    1414 * Le plugin déclare deux nouvelles tables qui sont :
    1515 *
    16  * - spip_boussoles, qui contient les éléments constitutifs de toutes les boussoles;
    17  * - spip_boussoles_extras, qui contient les traductions de ces éléments.
     16 * - `spip_boussoles`, qui contient les éléments constitutifs de toutes les boussoles;
     17 * - `spip_boussoles_extras`, qui contient les traductions de ces éléments.
    1818 *
    1919 * @pipeline declarer_tables_principales
     
    6969
    7070/**
    71  * Pipeline de déclaration des informations tierces (alias, traitements, jointures, etc)
     71 * Déclaration des informations tierces (alias, traitements, jointures, etc)
    7272 * sur les tables de la base de données modifiées ou ajoutées par le plugin.
    7373 *
     
    7878 *
    7979 * @param array $interface
    80  *              Tableau global fournissant les informations tierces sur les tables de la base de données
     80 *              Tableau global des informations tierces sur les tables de la base de données
    8181 * @return array
    8282 *              Tableau fourni en entrée et mis à jour avec les nouvelles informations
  • _plugins_/boussole/trunk/boussole_administrations.php

    r75199 r75204  
    7979/**
    8080 * Suppression de l'ensemble du schéma de données propre au plugin, c'est-à-dire
    81  * les tables et les metas de configuration.
     81 * les tables et les variables de configuration.
    8282 *
    8383 * @api
     
    117117 * Migration du schéma 0.1 au 0.2.
    118118 *
    119  * Ajout de la table spip_boussoles_extras et suppression des boussoles autres que
    120  * la boussole spip car il n'est pas possible de les mettre à jour,
     119 * Ajout de la table spip_boussoles_extras` et suppression des boussoles autres que
     120 * la boussole 'spip' car il n'est pas possible de les mettre à jour,
    121121 * leur serveur n'étant pas connu.
    122122 *
     
    144144 * Migration du schéma 0.2 au 0.3.
    145145 *
    146  * Les globales $serveur_boussoles_disponibles et $client_serveurs_disponibles sont
     146 * Les globales `$serveur_boussoles_disponibles` et `$client_serveurs_disponibles` sont
    147147 * transférées dans des variables de configuration
    148148 *
     
    199199 * Migration du schéma 0.3 au 0.4.
    200200 *
    201  * La constante _BOUSSOLE_ALIAS_SERVEUR est transformée en deux variables de configuration,
     201 * La constante `_BOUSSOLE_ALIAS_SERVEUR` est transformée en deux variables de configuration,
    202202 * l'une pour l'activité de la fonction serveur et l'autre pour le nom du serveur.
    203203 *
  • _plugins_/boussole/trunk/boussole_fonctions.php

    r75126 r75204  
    1212 * - la liste de tous les tableaux d'infos des meta boussole_infos_xxxx sinon.
    1313 *
    14  * @balise boussole_infos
     14 * @balise BOUSSOLE_INFOS
    1515 *
    1616 * @param string $p
     
    2929}
    3030
     31/**
     32 * @param $alias
     33 *
     34 * @return array
     35 */
    3136function calcul_boussole_infos($alias) {
    3237
     
    6065
    6166/**
    62  * Renvoie la traduction d'un champ d'une boussole, d'un groupe ou d'un site
     67 * Traduction d'un champ d'une boussole, d'un groupe de sites ou d'un site
    6368 *
    6469 * @api
    6570 * @filtre boussole_traduire
    6671 *
    67  * @param string $aka_boussole  alias de la boussole
    68  * @param string $champ                 champ a traduire
    69  * @param string $alias                 alias du groupe ou du site
    70  * @return string                               champ traduit
     72 * @param string $aka_boussole
     73 *              Alias de la boussole
     74 * @param string $champ
     75 *              Champ à traduire
     76 * @param string $alias
     77 *              Identifiant du groupe ou du site
     78 * @return string
     79 *              Champ traduit dans la langue du site
    7180 */
    7281function boussole_traduire($aka_boussole, $champ, $alias='') {
     
    121130}
    122131
     132
     133/**
     134 * Liste des caches présents sur le site serveur complétée par des informations sur leur nature
     135 * et les boussoles associées.
     136 *
     137 * Cette fonction est utilisée pour l'affichage de la fonction serveur dans l'espace privé.
     138 *
     139 * @api
     140 * @filtre boussole_lister_caches
     141 *
     142 * @return array
     143 */
     144function boussole_lister_caches() {
     145        $caches = array();
     146
     147        $dir_caches = _DIR_VAR . 'cache-boussoles';
     148        if ($fichiers_cache = glob($dir_caches . "/boussole*.xml")) {
     149                include_spip('inc/config');
     150                $boussoles = lire_config('boussole/serveur/boussoles_disponibles');
     151                $boussoles = pipeline('declarer_boussoles', $boussoles);
     152
     153                foreach ($fichiers_cache as $_fichier) {
     154                        $cache = array();
     155                        $cache['fichier'] = $_fichier;
     156                        $cache['nom'] = basename($_fichier);
     157                        $cache['maj'] = date('Y-m-d H:i:s', filemtime($_fichier));
     158
     159                        $cache['sha'] = '';
     160                        $cache['plugin'] = '';
     161                        $cache['alias'] = '';
     162                        $cache['manuelle'] = false;
     163
     164                        lire_fichier($_fichier, $contenu);
     165                        $convertir = charger_fonction('simplexml_to_array', 'inc');
     166                        $converti = $convertir(simplexml_load_string($contenu), false);
     167                        $tableau = $converti['root'];
     168                        if ($cache['nom'] == 'boussoles.xml') {
     169                                // C'est le cache qui liste les boussoles hébergées
     170                                $cache['description'] = _T('boussole:info_cache_boussoles');
     171                                if  (isset($tableau['name'])
     172                                AND ($tableau['name'] == 'boussoles')) {
     173                                        $cache['sha'] = $tableau['attributes']['sha'];
     174                                }
     175                        }
     176                        else {
     177                                // C'est le cache d'une boussole hébergée
     178                                $alias_boussole = str_replace('boussole-', '', basename($_fichier, '.xml'));
     179                                $cache['alias'] = $alias_boussole;
     180                                $cache['description'] = _T('boussole:info_cache_boussole', array('boussole' => $alias_boussole));
     181                                if  (isset($tableau['name'])
     182                                AND ($tableau['name'] == 'boussole')) {
     183                                        $cache['sha'] = $tableau['attributes']['sha'];
     184                                        $cache['nom'] .= " ({$tableau['attributes']['version']})";
     185                                }
     186                                if (isset($boussoles[$alias_boussole]['prefixe'])
     187                                AND ($boussoles[$alias_boussole]['prefixe'])) {
     188                                        // Boussole utilisant un plugin
     189                                        $informer = charger_fonction('informer_plugin', 'inc');
     190                                        $infos = $informer($boussoles[$alias_boussole]['prefixe']);
     191                                        if ($infos)
     192                                                $cache['plugin'] = "{$infos['nom']} ({$boussoles[$alias_boussole]['prefixe']}/{$infos['version']})";
     193                                }
     194                                else {
     195                                        // Boussole n'utilisant pas un plugin, nommée boussole manuelle
     196                                        $cache['manuelle'] = true;
     197                                        $cache['plugin'] = _T('boussole:info_boussole_manuelle');
     198
     199                                        // Ajout de la version dans le fichier XML source de la boussole
     200                                        $fichier_source = find_in_path("boussole_traduite-${alias_boussole}.xml");
     201                                        lire_fichier($fichier_source, $contenu_source);
     202                                        $tableau_source = $convertir(simplexml_load_string($contenu_source), false);
     203                                        $tableau_source = $tableau_source['root'];
     204                                        if  (isset($tableau_source['name'])
     205                                        AND ($tableau_source['name'] == 'boussole')) {
     206                                                $cache['plugin'] .= " ({$tableau_source['attributes']['version']})";
     207                                        }
     208                                }
     209                        }
     210                        $caches[] = $cache;
     211                }
     212        }
     213
     214        return $caches;
     215}
     216
     217
     218/**
     219 * Récupération du nombre de boussoles hébergées sur le site serveur.
     220 *
     221 * @api
     222 * @filtre boussole_compteur_hebergement
     223 *
     224 * @return int
     225 */
     226function boussole_compteur_hebergement() {
     227        include_spip('inc/config');
     228        $boussoles = lire_config('boussole/serveur/boussoles_disponibles');
     229        $boussoles = pipeline('declarer_boussoles', $boussoles);
     230
     231        return count($boussoles);
     232}
     233
    123234?>
  • _plugins_/boussole/trunk/paquet.xml

    r75126 r75204  
    22        prefix="boussole"
    33        categorie="navigation"
    4         version="2.3.5"
     4        version="2.3.6"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.0.*]"
Note: See TracChangeset for help on using the changeset viewer.