Author: cedric@yterium.com
Date: Wed Jul 12 11:46:33 2006
New Revision: 3947
Log:
voila la racine est bien prise en compte aussi
Modified:
_plugins_/_ze_laboratoire_/plugins/exec/admin_plugin.php
Modified: _plugins_/_ze_laboratoire_/plugins/exec/admin_plugin.php
--- _plugins_/_ze_laboratoire_/plugins/exec/admin_plugin.php (original)
+++ _plugins_/_ze_laboratoire_/plugins/exec/admin_plugin.php Wed Jul 12 11:46:33 2006
@@ -162,7 +162,9 @@
$output .= fin_block();
$output .= "</ul></li>\n";
}
- $chemin = implode("/",$tcom)."/";
+ $chemin = "";
+ if (count($tcom))
+ $chemin .= implode("/",$tcom)."/";
// ouvrir les repertoires jusqu'a la cible
while($open = array_shift($ttarg)){
$chemin .= $open . "/";
@@ -177,25 +179,36 @@
}
function affiche_arbre_plugins($liste_plugins,$liste_plugins_actifs){
+ $racine = basename(_DIR_PLUGINS);
$init_dir = $current_dir = "";
// liste des repertoires deplies : construit en remontant l'arbo de chaque plugin actif
$deplie = array();
- foreach($liste_plugins_actifs as $plug){
- $dir = dirname($plug);$maxiter=100;
- while(strlen($dir) && $dir!='.' && $maxiter-->0){
+ foreach($liste_plugins_actifs as $key=>$plug){
+ $liste_plugins_actifs[$key] = "$racine/$plug";
+ $dir = dirname("$racine/$plug");$maxiter=100;
$deplie[] = $dir;
+ while(strlen($dir) && $dir!='.' && $maxiter-->0){
$dir = dirname($dir);
+ $deplie[] = $dir;
}
}
// index repertoires --> plugin
$dir_index=array();
foreach($liste_plugins as $key=>$plug){
- $dir_index[dirname($plug)][] = $key;
+ $liste_plugins[$key] = "$racine/$plug";
+ $dir_index[dirname("$racine/$plug")][] = $key;
}
$visible = @in_array($current_dir,$deplie);
- while (count($liste_plugins)){
+ $maxiter=1000;
+ while (count($liste_plugins) && $maxiter--){
+ // le rep suivant
+ $dir = dirname(reset($liste_plugins));
+ $visible = @in_array($dir,$deplie);
+ if ($dir != $current_dir)
+ echo tree_open_close_dir($current_dir,$dir,$visible);
+
// d'abord tous les plugins du rep courant
if (isset($dir_index[$current_dir]))
foreach($dir_index[$current_dir] as $key){
@@ -203,15 +216,10 @@
$actif = @in_array($plug,$liste_plugins_actifs);
$id = substr(md5($plug),0,16);
echo "<li>";
- echo ligne_plug($plug, $actif, $id);
+ echo ligne_plug(substr($plug,strlen($racine)+1), $actif, $id);
echo "</li>\n";
unset($liste_plugins[$key]);
}
- // le rep suivant
- $dir = dirname(reset($liste_plugins));
- $visible = @in_array($dir,$deplie);
- if ($dir != $current_dir)
- echo tree_open_close_dir($current_dir,$dir,$visible);
}
echo tree_open_close_dir($current_dir,$init_dir);
}