Changeset 51635 in spip-zone for _plugins_/zen-garden


Ignore:
Timestamp:
Sep 20, 2011, 3:06:27 PM (8 years ago)
Author:
cedric@…
Message:

Il est maintenant possible de ranger les themes :
dans themes/ a la racine
dans squelettes/themes/ (ou le sous dossier themes/ de son dossier squelettes personalise)
dans plugins/

Ils sont tous detectes et proposes dans zen-garden

Location:
_plugins_/zen-garden/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/zen-garden/trunk/inc/zengarden.php

    r51634 r51635  
    1010        define('_DIR_THEMES',_DIR_RACINE."themes/");
    1111
    12 function zengarden_charge_themes($dir = _DIR_THEMES, $tous = false){
     12function zengarden_charge_themes($dir = _DIR_THEMES, $tous = false, $force = false){
    1313        $themes = array();
    1414
     
    1818                $get_infos = charger_fonction('get_infos','plugins');
    1919                foreach($files as $k=>$file){
    20                         $files[$k] = substr(dirname($file),strlen(_DIR_RACINE));
     20                        $files[$k] = substr(dirname($file),strlen($dir));
    2121                }
    2222
    23                 $themes = $get_infos($files,false,_DIR_RACINE);
     23                $t = $get_infos($files,$force,$dir);
     24                $themes = array();
    2425
    25                 foreach($themes as $d=>$info){
    26                         if ($info['categorie']!='theme'
    27                           OR (!$tous AND $info['etat']!=='stable'))
    28                                 unset($themes[$d]);
    29                         else
    30                                 $themes[$d]['tri'] = strtolower($dir);
     26                foreach($t as $d=>$info){
     27                        if ($info['categorie']=='theme'
     28                          AND ($tous OR $info['etat']=='stable')){
     29                                $info['tri'] = strtolower($dir);
     30                                $themes[substr($dir.$d,strlen(_DIR_RACINE))] = $info;
     31                        }
     32                        unset($t[$d]);
    3133                }
    3234        }
  • _plugins_/zen-garden/trunk/paquet.xml

    r51634 r51635  
    22        prefix="zengarden"
    33        categorie="maintenance"
    4         version="2.1.0"
     4        version="2.2.0"
    55        etat="test"
    66        compatibilite="[3.0.0-alpha2;["
  • _plugins_/zen-garden/trunk/zengarden_fonctions.php

    r50866 r51635  
    3636function        zengarden_liste_themes($tous){
    3737        include_spip('inc/zengarden');
    38         return zengarden_charge_themes(_DIR_THEMES,$tous);
     38
     39        $themes = array();
     40
     41        // charger les themes de themes/
     42        if (is_dir(_DIR_THEMES))
     43                $themes = array_merge($themes,zengarden_charge_themes(_DIR_THEMES,$tous));
     44
     45        // ceux de squelettes/themes/
     46        if (is_dir($skels=_DIR_RACINE."squelettes/themes/"))
     47                $themes = array_merge($themes,zengarden_charge_themes($skels,$tous));
     48
     49        // ceux de chaque  dossier_squelettes/themes/
     50        if (strlen($GLOBALS['dossier_squelettes'])){
     51                $s = explode(":",$GLOBALS['dossier_squelettes']);
     52                foreach($s as $d){
     53                        if (_DIR_RACINE AND strncmp($d,_DIR_RACINE,strlen(_DIR_RACINE))!==0)
     54                                $d = _DIR_RACINE . $d;
     55                        if (is_dir($f="$d/themes/") AND $f!=$skels)
     56                                $themes = array_merge($themes,zengarden_charge_themes($f,$tous));
     57                }
     58        }
     59
     60        // ceux de plugins/
     61        $themes = array_merge($themes,zengarden_charge_themes(_DIR_PLUGINS,$tous));
     62
     63        // et voila
     64        return $themes;
    3965}
    4066
Note: See TracChangeset for help on using the changeset viewer.