Index: extensions/nbc_ThemeChanger/Version.txt
===================================================================
--- extensions/nbc_ThemeChanger/Version.txt	(revision 3954)
+++ extensions/nbc_ThemeChanger/Version.txt	(revision 3954)
@@ -0,0 +1,17 @@
+Version 2.0.1.b
+
+Ajout de la possibilité d'appliquer la modification du thème à toutes les sous-catégories de celle séléctionné
+Ajout de la hierarchie dans le nom des catégories ("Photo/Nuit" au lieu de "Nuit" seule)
+Correction de la fonctionnalité modifiée (lorsqu'on clique sur "modifier l'association",  la catégorie sélectionnée par défaut est celle à modifier (et non plus la première de la liste))
+Ajout la langue italienne
+
+Fichiers impactés :
+	language/*
+	admin/nbc_ThemeChanger_admin.php
+	admin/nbc_ThemeChanger_admin.tpl
+
+
+--------------------------------------------------
+Version 2.0.1.a
+
+Portage plugin piwigo 2.0.x
Index: extensions/nbc_ThemeChanger/admin/nbc_ThemeChanger_admin.php
===================================================================
--- extensions/nbc_ThemeChanger/admin/nbc_ThemeChanger_admin.php	(revision 3910)
+++ extensions/nbc_ThemeChanger/admin/nbc_ThemeChanger_admin.php	(revision 3954)
@@ -55,61 +55,82 @@
 ));
 
-
 // Mise a jour de la base de donnee
 if (isset($_POST['submit']) and !is_adviser())
-  if ( (isset($_POST['categorychoise']) or isset($_POST['category_id'])) and isset($_POST['template']) )
-  {
-    $conf_nbc_ThemeChanger = isset($conf['nbc_ThemeChanger']) ? explode(";" , $conf['nbc_ThemeChanger']) : array();
-
-    $newconf_nbc_ThemeChanger = '';
-    $theme = explode("/" , $_POST['template']);
-    $add_ok = false;
-
-    $thecategory = isset($_POST['categorychoise']) ? $_POST['categorychoise'] : ( isset($_POST['category_id']) ? $_POST['category_id'] : '');
-
-    $_POST['categorychoise'] = '';
-    $_POST['category_id'] = '';
-    $_POST['template'] = '';
-    $_GET['action'] = '';
-
-    foreach ($conf_nbc_ThemeChanger as $Theme_Cat)
-    {
-      $element_ThemeChanger = explode("," , $Theme_Cat);
-
-      if ($newconf_nbc_ThemeChanger <> '')
-        $newconf_nbc_ThemeChanger .= ';';
-
-      if ($element_ThemeChanger[0] == $thecategory)
-      {
-        $newconf_nbc_ThemeChanger .= $thecategory.','.$theme[0].','.$theme[1];
-        $add_ok = true;
-      }
-      else if ($element_ThemeChanger[0] <> '')
-      {
-        $newconf_nbc_ThemeChanger .= $element_ThemeChanger[0].','.$element_ThemeChanger[1].','.$element_ThemeChanger[2];
-      }
-    }
-
-    if ($add_ok == false)
-    {
-      if ($newconf_nbc_ThemeChanger <> '')
-        $newconf_nbc_ThemeChanger .= ';';
-
-      $newconf_nbc_ThemeChanger .= $thecategory.','.$theme[0].','.$theme[1];
-    }
-
-    $conf['nbc_ThemeChanger'] = $newconf_nbc_ThemeChanger;
-
-    $query = '
-      UPDATE '.CONFIG_TABLE.'
-      SET value="'.$newconf_nbc_ThemeChanger.'"
-      WHERE param="nbc_ThemeChanger"
-      LIMIT 1';
-    pwg_query($query);
-
-    array_push($page['infos'], l10n('nbc_ThemeChanger_save_config'));
-}
-
-
+	if ( (isset($_POST['categorychoise']) or isset($_POST['category_id'])) and isset($_POST['template']))
+	{
+		$conf_nbc_ThemeChanger = isset($conf['nbc_ThemeChanger']) ? explode(";" , $conf['nbc_ThemeChanger']) : array();
+		$listcategory = array();
+		$newconf_nbc_ThemeChanger = '';
+		$theme = explode("/" , $_POST['template']);
+		$add_ok = false;
+
+		$applysubcategory = isset($_POST['ApplySubCategories']) ? $_POST['ApplySubCategories'] : '';
+		$thecategory = isset($_POST['categorychoise']) ? $_POST['categorychoise'] : ( isset($_POST['category_id']) ? $_POST['category_id'] : '');
+
+		$_POST['categorychoise'] = '';
+		$_POST['category_id'] = '';
+		$_POST['template'] = '';
+		$_GET['action'] = '';
+		$_POST['ApplySubCategories'] = '';
+
+		if ($applysubcategory <> '') {
+			foreach ($categories as $icat) {
+				$tmp = explode("," , $icat['uppercats']);
+				if (in_array ($thecategory, $tmp))
+					array_push($listcategory ,$icat['id']);
+			}
+		}
+		else
+			array_push($listcategory ,$thecategory);
+
+		foreach ($conf_nbc_ThemeChanger as $Theme_Cat)
+		{
+			$add_ok = false;
+			$element_ThemeChanger = explode("," , $Theme_Cat);
+			$i = 0;
+			foreach ($listcategory as $thecategory)
+			{
+				if ($element_ThemeChanger[0] == $thecategory) //MAJ de la nouvelle category déjà présente dans la liste
+				{
+					//echo ' MAJ: '.$element_ThemeChanger[0];
+					if ($newconf_nbc_ThemeChanger <> '')
+						$newconf_nbc_ThemeChanger .= ';';
+					$newconf_nbc_ThemeChanger .= $thecategory.','.$theme[0].','.$theme[1];
+					$listcategory[$i] = -1;
+					$add_ok = true;
+					break;
+				}
+				$i += 1;
+			}
+			if ($add_ok == false){
+				//récupération des catégories qui n'ont pas été modifié.
+				if ($element_ThemeChanger[0] <> '') {
+					if ($newconf_nbc_ThemeChanger <> '')
+						$newconf_nbc_ThemeChanger .= ';';
+					//echo ' Recup : '.$element_ThemeChanger[0];
+					$newconf_nbc_ThemeChanger .= $element_ThemeChanger[0].','.$element_ThemeChanger[1].','.$element_ThemeChanger[2];
+				}
+			}
+		}
+		//insertion des nouvelles catégories
+		foreach ($listcategory as $thecategory) {
+			if ($newconf_nbc_ThemeChanger <> '')
+				$newconf_nbc_ThemeChanger .= ';';
+			//echo ' Nouveau: '.$thecategory;
+			if ($thecategory <> -1)
+				$newconf_nbc_ThemeChanger .= $thecategory.','.$theme[0].','.$theme[1];
+		}
+
+		$conf['nbc_ThemeChanger'] = $newconf_nbc_ThemeChanger;
+
+		$query = '
+		  UPDATE '.CONFIG_TABLE.'
+		  SET value="'.$newconf_nbc_ThemeChanger.'"
+		  WHERE param="nbc_ThemeChanger"
+		  LIMIT 1';
+		pwg_query($query);
+
+		array_push($page['infos'], l10n('nbc_ThemeChanger_save_config'));
+	}
 
 $conf_nbc_ThemeChanger = isset($conf['nbc_ThemeChanger']) ? explode(";" , $conf['nbc_ThemeChanger']) : array();
@@ -141,7 +162,4 @@
   }
 }
-
-
-
 
 //delete an association
@@ -185,5 +203,5 @@
     'IDTOMODIFY' => $_GET['id_cat'],
   ));
-	
+
   $template->assign('formulaire.categoryfield', array(
     'NAME' => $assoc_ThemeChanger[$_GET['id_cat']]['CATEGORY_NAME'],
@@ -203,5 +221,5 @@
       $selected = '';
     }
-	
+
 	$template->assign(
       $blockname,
Index: extensions/nbc_ThemeChanger/admin/nbc_ThemeChanger_admin.tpl
===================================================================
--- extensions/nbc_ThemeChanger/admin/nbc_ThemeChanger_admin.tpl	(revision 3910)
+++ extensions/nbc_ThemeChanger/admin/nbc_ThemeChanger_admin.tpl	(revision 3954)
@@ -2,5 +2,4 @@
 	<h3>Theme Changer</h3>
 </div>
-
 <ul class="categoryActions">
 	<li><a href="{$params.U_HELP}" onclick="popuphelp(this.href); return false;" title="{'HELP'|@translate}"><img src="{$themeconf.icon_dir}/help.png" class="button" alt="(?)"></a></li>
@@ -41,4 +40,5 @@
         <th>{'categories'|@translate}</th>
         <th>{'theme'|@translate}</th>
+		<th>{'subCategoriesApply'|@translate}</th>
       </tr>
       <tr>
@@ -67,5 +67,10 @@
 			</select>
         </td>
-      </tr>
+		<td>
+			<div align="center"><input type="checkbox" name="ApplySubCategories" value="true">
+			</div>
+		</td>
+	  </tr>
+	  
     </table>
   	
Index: extensions/nbc_ThemeChanger/language/en_UK/plugin.lang.php
===================================================================
--- extensions/nbc_ThemeChanger/language/en_UK/plugin.lang.php	(revision 3910)
+++ extensions/nbc_ThemeChanger/language/en_UK/plugin.lang.php	(revision 3954)
@@ -7,4 +7,5 @@
 $lang['delete_assoc']='Delete the association';
 $lang['nbc_ThemeChanger_save_config']='Configuration saved.';
+$lang['subCategoriesApply']='Apply into the Sub-Categories?';
 
 ?>
Index: extensions/nbc_ThemeChanger/language/fr_FR/plugin.lang.php
===================================================================
--- extensions/nbc_ThemeChanger/language/fr_FR/plugin.lang.php	(revision 3910)
+++ extensions/nbc_ThemeChanger/language/fr_FR/plugin.lang.php	(revision 3954)
@@ -7,4 +7,4 @@
 $lang['delete_assoc']='Supprimer l\'association';
 $lang['nbc_ThemeChanger_save_config']='Configuration enregistrée.';
-
+$lang['subCategoriesApply']='Appliquer aux sous-Catégories?';
 ?>
Index: extensions/nbc_ThemeChanger/language/it_IT/plugin.lang.php
===================================================================
--- extensions/nbc_ThemeChanger/language/it_IT/plugin.lang.php	(revision 3910)
+++ extensions/nbc_ThemeChanger/language/it_IT/plugin.lang.php	(revision 3954)
@@ -6,3 +6,4 @@
 $lang['delete_assoc']='Sopprimere l\'associazione';
 $lang['nbc_ThemeChanger_save_config']='Configurazione salvata.';
+$lang['subCategoriesApply']='Applicare alle Sotto-Categorie?';
 ?>
