/*
1 - on teste s'il y a un nouveau répertoire à insérer à $tab_repertoire_fichier_plan_site
après lecture du tableau $tab_liste_repertoire_actuel
*/
foreach ($tab_liste_repertoire_actuel as $key1 => $val)
{
$visible_actuel=$tab_liste_repertoire_actuel[$key1]["visible"];
$traduction_actuel=$tab_liste_repertoire_actuel[$key1]["traduction"];
$repertoire_actuel=$tab_liste_repertoire_actuel[$key1]["repertoire"];
/* recherche le nom du dernier sous-répertoire d'une ligne */
$nbr_slash_actuel=substr_count($repertoire_actuel,'/');
$position_avant_dernier_repertoire_actuel=$nbr_slash_actuel-2;
//echo "L310 nbr_slash_actuel = $nbr_slash_actuel
";
$tab_repertoire_actuel='';
$tab_repertoire_actuel=explode('/',$repertoire_actuel);
$dernier_repertoire_actuel=$tab_repertoire_actuel[$position_avant_dernier_repertoire_actuel+1];
$dernier_repertoire_actuel='/'. $dernier_repertoire_actuel . '/';
$avant_dernier_repertoire_actuel=$tab_repertoire_actuel[$position_avant_dernier_repertoire_actuel];
$avant_dernier_repertoire_actuel='/'. $avant_dernier_repertoire_actuel . '/';
$chemin_avant_dernier_repertoire_actuel=@eregi_replace($dernier_repertoire_actuel,'',$repertoire_actuel).'/';
//echo "L455 liste_repertoire_actuel = $visible_actuel || $traduction_actuel || $repertoire_actuel || $avant_dernier_repertoire_actuel || $chemin_avant_dernier_repertoire_actuel
\n";
/* il y a un nx répertoire : on l'insère au bon endroit */
if ((repertoire_dans_tableau($repertoire_actuel,$tab_repertoire_fichier_plan_site)=='false') &&
($repertoire_actuel))
{
//echo "L456 ... nx répertoire $repertoire_actuel !
";
/* on cherche dans le tableau tab_repertoire_fichier_plan_site ou est le dernier sous-repertoire du même nom et on rajoute la nlle ligne à la suite */
$cle_repertoire_actuel=cle_repertoire_tableau($repertoire_actuel,$tab_liste_repertoire_actuel);
//echo "L458 clé repertoire actuel= " . $cle_repertoire_actuel . "
";
$cle_repertoire_fichier_plan_site=cle_repertoire_tableau($chemin_avant_dernier_repertoire_actuel,$tab_repertoire_fichier_plan_site);
$datas_repertoire_actuel=$tab_liste_repertoire_actuel[$cle_repertoire_actuel]["repertoire"];
//echo "L449 datas_repertoire_actuel = " . $datas_repertoire_actuel . "
";
//echo "L458 clé an. dernier repertoire fichier = " . $cle_repertoire_fichier_plan_site . "
";
if ($cle_repertoire_fichier_plan_site)
{
//echo "L468 clé an. dernier repertoire fichier = " . $cle_repertoire_fichier_plan_site . "
";
$tab_repertoire_fichier_plan_site=
insere_repertoire_tab_repertoire_fichier_plan_site($tab_repertoire_fichier_plan_site,$cle_repertoire_fichier_plan_site,$datas_repertoire_actuel);
$datas_plan_site=formate_datas_plansite($tab_repertoire_fichier_plan_site);
$modification_repertoire='true';
//echo "L473 datas_plan_site : un répertoire $repertoire_actuel a été ajouté
";
/* appel récursif */
mise_a_jour_fichier_traduction_repertoires($tab_liste_repertoire_actuel,$tab_repertoire_fichier_plan_site);
}
/* cas ou le sous-répértoire précédent n'existe pas */
else
{
$cle_repertoire_fichier_plan_site=sizeof($tab_repertoire_fichier_plan_site)-2;
if ($cle_repertoire_fichier_plan_site<0)
{
$cle_repertoire_fichier_plan_site=1;
}
/*
echo "L483 cle_repertoire_fichier_plan_site = " . $cle_repertoire_fichier_plan_site . "
";
echo "L484 datas_repertoire_actuel = " . $datas_repertoire_actuel . "
";
*/
$tab_repertoire_fichier_plan_site=
insere_repertoire_tab_repertoire_fichier_plan_site($tab_repertoire_fichier_plan_site,$cle_repertoire_fichier_plan_site,$datas_repertoire_actuel);
$datas_plan_site=formate_datas_plansite($tab_repertoire_fichier_plan_site);
$modification_repertoire='true';
//echo "L488 datas_plan_site : un répertoire $repertoire_actuel a été ajouté
";
/* appel récursif */
mise_a_jour_fichier_traduction_repertoires($tab_liste_repertoire_actuel,$tab_repertoire_fichier_plan_site);
//echo "L491 datas_plan_site = ". nl2br($datas_plan_site). "
";
}
/* test afficha nx tableau plan site avec insertion d'un répertoire : */
echo "
L510
affichage tab_fichier_plan_site avec insertion d'un répertoire :
";
foreach ($tab_repertoire_fichier_plan_site as $key1 => $val)
{
//echo "$key1 = $val
\n";
foreach ($val as $cle => $valeur)
{
echo "L406 key = $key1 clé = $cle : valeur = $valeur
\n";
}
echo "
";
}
echo "
";
}
}
/*
2 - un répertoire a été supprimé : on compare les tableaux $tab_liste_repertoire_actuel et $tab_repertoire_fichier_plan_site pour voir si un répertoire à été supprimé
et on l'efface dans $tab_repertoire_fichier_plan_site
*/
foreach ($tab_repertoire_fichier_plan_site as $key => $val)
{
if ((isset($tab_repertoire_fichier_plan_site))&&
(isset($tab_repertoire_fichier_plan_site[$key]["visible"]))&&
(isset($tab_repertoire_fichier_plan_site[$key]["traduction"]))&&
(isset($tab_repertoire_fichier_plan_site[$key]["repertoire"])) )
{
$visible_plan_site=$tab_repertoire_fichier_plan_site[$key]["visible"];
$traduction_plan_site=$tab_repertoire_fichier_plan_site[$key]["traduction"];
$repertoire_plan_site=$tab_repertoire_fichier_plan_site[$key]["repertoire"];
/* recherche le nom du dernier sous-répertoire d'une ligne */
$nbr_slash_plan_site=substr_count($repertoire_plan_site,'/');
$position_avant_dernier_repertoire_plan_site=$nbr_slash_plan_site-2;
//echo "L310 nbr_slash_plan_site = $nbr_slash_plan_site
";
//echo ".........L519 key rep supprimé = " . $key . ".........
";
$tab_repertoire_plan_site=explode('/',$repertoire_plan_site);
if ((isset($tab_repertoire_plan_site))&&
($position_avant_dernier_repertoire_plan_site>=0) )
{
$dernier_repertoire_plan_site=$tab_repertoire_plan_site[$position_avant_dernier_repertoire_plan_site+1];
$dernier_repertoire_plan_site='/'. $dernier_repertoire_plan_site . '/';
$avant_dernier_repertoire_plan_site=$tab_repertoire_plan_site[$position_avant_dernier_repertoire_plan_site];
$avant_dernier_repertoire_plan_site='/'. $avant_dernier_repertoire_plan_site . '/';
$chemin_avant_dernier_repertoire_plan_site=@eregi_replace($dernier_repertoire_plan_site,'',$repertoire_plan_site).'/';
/* un répertoire a été supprimé : on l'efface des $datas_plan_site */
if ((repertoire_dans_tableau($repertoire_plan_site,$tab_liste_repertoire_actuel)=='false') &&
($repertoire_plan_site))
{
//echo "
L513 répertoire $repertoire_plan_site supprimé
";
/* on supprime la ligne des datas du plan de site avec le répertoire qui n'existe plus */
$tab_repertoire_fichier_plan_site=supprime_datas_repertoire_plan_site($tab_repertoire_fichier_plan_site,$repertoire_plan_site);
$datas_plan_site=formate_datas_plansite($tab_repertoire_fichier_plan_site);
$modification_repertoire='true';
//echo "L518 un répertoire $repertoire_plan_site a été supprimé
";
//echo "L519 affichage supprime tab_fichier_plan_site :
";
//echo nl2br($datas_plan_site);
/* appel récursif */
mise_a_jour_fichier_traduction_repertoires($tab_liste_repertoire_actuel,$tab_repertoire_fichier_plan_site);
}
/* plus rien à supprimer */
else
{
//echo "
L526 plus rien à supprimer :
";
//echo nl2br($datas_plan_site);
//break;
}
}
}
}