Changeset 49191 in spip-zone


Ignore:
Timestamp:
Jun 30, 2011, 1:13:37 PM (10 years ago)
Author:
paladin@…
Message:

Inventaire des squelettes accessibles via l'url ?page=<mon_squelette>

Location:
_plugins_/get_info_spip
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/get_info_spip/exec/get_infos_spip.php

    r44373 r49191  
    117117                );
    118118
     119                /**
     120                 * Inventaire des squelettes disponibles
     121                 * dans l'ordre utilisé par find_in_path()
     122                 */
     123                $ii = 'squelettes';
     124                $chemins = array();
     125                /**
     126                 * le répertoire des squelettes nommés par la variable
     127                 * globale $dossier_squelettes dans l’ordre de déclaration
     128                 * s’il y en a plusieurs ;
     129                 */
     130                if (isset($GLOBALS['dossier_squelettes']))
     131                {
     132                        foreach(explode(':',
     133                                                         $GLOBALS['dossier_squelettes']
     134                                                ) as $chemin) {
     135                                $chemins[] = _DIR_RACINE . $chemin;
     136                        }
     137                }
     138                /**
     139                 * le répertoire nommé ’squelettes’ s’il existe ;
     140                 */
     141                $chemins[] = _DIR_RACINE . 'squelettes';
     142                /**
     143                 * le répertoire extensions/compresseur ;
     144                 */
     145                $chemins[] = _DIR_EXTENSIONS . 'compresseur';
     146                /**
     147                 * le répertoire racine des plugins activés ;
     148                 */
     149                if (isset($GLOBALS['meta']['plugin']))
     150                {
     151                        $res = liste_chemin_plugin_actifs();
     152                        if($res)
     153                        {
     154                                foreach ($res as $chemin)
     155                                {
     156                                        $chemins[] = _DIR_PLUGINS.$chemin;
     157                                }
     158                        }
     159                }
     160                /**
     161                 * le répertoire extensions/vertebres ;
     162                 */
     163                $chemins[] = _DIR_EXTENSIONS . 'vertebres';
     164                /**
     165                 * le répertoire extensions/safehtml ;
     166                 */
     167                $chemins[] = _DIR_EXTENSIONS . 'safehtml';
     168                /**
     169                 * le répertoire extensions/porte_plume ;
     170                 */
     171                $chemins[] = _DIR_EXTENSIONS . 'porte_plume';
     172                /**
     173                 * le répertoire extensions/msie_compat ;
     174                 */
     175                $chemins[] = _DIR_EXTENSIONS . 'msie_compat';
     176                /**
     177                 * le répertoire extensions/filtres_images ;
     178                 */
     179                $chemins[] = _DIR_EXTENSIONS . 'filtres_images';
     180                /**
     181                 * dans les répertoires déclarés par _chemin() dans l’ordre inverse
     182                 * d’appel à cette fonction (le dernier déclaré sera le premier scruté) ;
     183                 * @todo
     184                 */
     185                /**
     186                 * la racine du site (WROOT) ;
     187                 */
     188                $chemins[] = rtrim(_DIR_RACINE, '/');
     189                /**
     190                 * le répertoire ’squelettes-dist’ ;
     191                 */
     192                $chemins[] = _DIR_RACINE . 'squelettes-dist';
     193                /**
     194                 * le répertoire ’ecrire’ ;
     195                 */
     196                $chemins[] = _DIR_RACINE . 'ecrire';
     197                /**
     198                 * le répertoire ’prive’ ;
     199                 */
     200                $chemins[] = _DIR_RACINE . 'prive';
     201               
     202                $squelettes = array();
     203                $url = $GLOBALS['meta']['adresse_site'];
     204                foreach ($chemins as $chemin)
     205                {
     206                        if (is_dir($chemin))
     207                        {
     208                                if ($dh = opendir($chemin))
     209                                {
     210                                        while (($file = readdir($dh)) !== FALSE)
     211                                        {
     212                                                if (substr($file, -5) == '.html')
     213                                                {
     214                                                        if (!isset($squelettes[$file]))
     215                                                        {
     216                                                                $filename = $chemin.'/'.$file;
     217                                                               
     218                                                                $squelettes[$file] = array(
     219                                                                        'chemin' => $filename .
     220                                                                                (filesize ($filename) ? '' : ' <span class="size">vide</span>'),
     221                                                                        'url' => $url.'?page='.substr($file, 0, -5)
     222                                                                        );
     223                                                        }
     224                                                }
     225                                        }
     226                                        closedir($dh);
     227                                }
     228                                ksort ($squelettes);
     229                                $res = array();
     230                                foreach ($squelettes as $key => $value)
     231                                {
     232                                        $res[$key] =
     233                                                '<dl>' . PHP_EOL .
     234                                                '<df>chemin: </df><dd class"chemin">' . $value['chemin'] . '</dd>' . PHP_EOL .
     235                                                '<df>url: </df><dd class"url"><a href="'.$value['url'].'">' . $value['url'] . '</a></dd>' . PHP_EOL .
     236                                                '</dl>' . PHP_EOL
     237                                                ;
     238                                }
     239                        }
     240                }
     241               
     242                if (isset($res) && count($res))
     243                {
     244                        $corps[$ii] = gins_lister_values(
     245                                        $res,
     246                                        _T('gins:'.$ii)
     247                        );
     248                }
     249                unset($res);
     250               
    119251                //////////
    120252                // Audit systeme
     
    266398 * @return string html code
    267399 **/
    268 function gins_lister_values($array, $titre, $stitre = '')
     400function gins_lister_values($array, $titre, $stitre = '', $legend = '')
    269401{
    270402        $eol = PHP_EOL;
     
    277409        $result = ''
    278410                . debut_cadre_trait_couleur($icone, true, '', $titre.$stitre)
     411                . $legend
    279412                . '<ul>' . $eol
    280413                . $result
  • _plugins_/get_info_spip/gins_prive.css

    r41354 r49191  
    8181        color:grey;
    8282}
     83#gins-squelettes df {
     84        width:12ex;
     85        float:left;
     86}
     87#gins-squelettes dd span.size {
     88        font-weight:700;
     89        background-color:#999;
     90        color:#fff;
     91        padding:0 1ex;
     92}
  • _plugins_/get_info_spip/lang/gins_fr.php

    r41355 r49191  
    2020
    2121        'configspip' => 'Infos SPIP',
     22        'squelettes' => 'Squelettes',
    2223        'configsyst' => 'Infos Syst&#232;me',
    2324        'phpconfig' => 'Configuration PHP',
  • _plugins_/get_info_spip/plugin.xml

    r44373 r49191  
    2525        <lien>http://www.quesaco.org/Informations-SPIP-Get-Info-GInS</lien>
    2626       
    27         <version>1.2.5</version>
     27        <version>1.3.0</version>
    2828        <etat>stable</etat>
    2929       
Note: See TracChangeset for help on using the changeset viewer.