Index: extensions/meta/admin/admin.php
===================================================================
--- extensions/meta/admin/admin.php	(revision 4173)
+++ extensions/meta/admin/admin.php	(revision 4174)
@@ -1,4 +1,3 @@
 <?php
-
 if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
 global $template, $conf, $user;
@@ -13,4 +12,83 @@
 
 //-------------------------------------------------------- sections definitions
+
+//Gestion MAJ
+$majm='meta 2.0.5';
+$query = '
+select param,value
+	FROM ' . CONFIG_TABLE . '
+  WHERE param = \''.$majm.'\'
+	;';
+$result = pwg_query($query);
+
+$row = mysql_fetch_array($result);
+$majparam=$row['param'];
+$majvalue=$row['value'];
+
+if (!$majvalue==1 and !is_adviser())
+	{
+$maj = 'maj';
+$template->assign(
+	$maj,
+	array(
+	  'meta'=>l10n('meta_name'),
+	  ));
+if (isset($_POST['maj']) and !is_adviser())
+		{
+    global $prefixeTable;
+if (!defined('meta_img_TABLE')) define('meta_img_TABLE', $prefixeTable.'meta_img');
+	$query = "CREATE TABLE IF NOT EXISTS ". meta_img_TABLE ." (
+id SMALLINT( 5 ) UNSIGNED NOT NULL ,
+metaKeyimg VARCHAR( 255 ) NOT NULL ,
+PRIMARY KEY (id))DEFAULT CHARSET=utf8;";
+	$result = pwg_query($query);
+
+if (!defined('meta_cat_TABLE')) define('meta_cat_TABLE', $prefixeTable.'meta_cat');	
+	$query = "CREATE TABLE IF NOT EXISTS ". meta_cat_TABLE ." (
+id SMALLINT( 5 ) UNSIGNED NOT NULL ,
+metaKeycat VARCHAR( 255 ) NOT NULL ,
+PRIMARY KEY (id))DEFAULT CHARSET=utf8;";
+	$result = pwg_query($query);
+
+	$query = '
+select id
+  FROM ' . CATEGORIES_TABLE . '
+  ORDER BY id DESC;';
+$result = pwg_query($query);
+$row = mysql_fetch_array($result);
+
+$comp=$row['id']+1;	
+$i=1;
+
+	while($i < $comp)
+{
+	$query = '
+select id,metaKeywords
+  FROM ' . CATEGORIES_TABLE . '
+  WHERE id = \''.$i.'\'';
+$result = pwg_query($query);
+$row = mysql_fetch_array($result);
+
+		if(!$row['id']==0 and !$row['metaKeywords']==0)
+		{
+	$query = '
+INSERT INTO ' . $prefixeTable . 'meta_cat(id,metaKeycat)VALUES ('.$row['id'].',"'.$row['metaKeywords'].'");';
+	$result = pwg_query($query);
+		}
+	++$i;
+}
+	
+	$query = ' ALTER TABLE '. CATEGORIES_TABLE .' DROP COLUMN `metaKeywords`';
+    pwg_query($query);
+	
+	$query = 'INSERT INTO ' . CONFIG_TABLE . ' (param,value,comment) VALUES ("'.$majm.'",1,"MAJ meta");';
+    pwg_query($query);
+		array_push($page['infos'], l10n('meta_majt'));
+	$majvalue==1;
+		$maj =0;
+		}
+	}
+	else{
+
 // Gestion des onglets
 if (!isset($_GET['tab']))
@@ -26,4 +104,7 @@
                l10n('meta_onglet_categorie'),
                $my_base_url.'&amp;tab=categorie');
+$tabsheet->add('image',
+               l10n('meta_onglet_image'),
+               $my_base_url.'&amp;tab=image');
 $tabsheet->add('description',
                l10n('meta_onglet_description'),
@@ -105,4 +186,5 @@
 
     break;
+
 // Onglet gestion des meta categorie
   case 'categorie':
@@ -142,5 +224,5 @@
 $lire=$_POST['metacat'];
 	$query = '
-select id,name,metaKeywords
+select id,name
   FROM ' . CATEGORIES_TABLE . '
   WHERE id = \''.$lire.'\'
@@ -151,5 +233,14 @@
 $idcat=$row['id'];
 $chnamecat=$row['name'];
-$chvalcat=$row['metaKeywords'];
+
+$query = '
+select id,metaKeycat
+  FROM ' . meta_cat_TABLE . '
+  WHERE id = \''.$lire.'\'
+  ;';
+$result = pwg_query($query);
+$row = mysql_fetch_array($result);
+$idmetaKeycat=$row['id'];
+$chvalcat=$row['metaKeycat'];
 
   $selected3 = 0;
@@ -169,12 +260,100 @@
 	{
 	$query = '
-UPDATE ' . CATEGORIES_TABLE . '
-  SET metaKeywords= \''.$_POST['inser'].'\'
+DELETE 
+  FROM ' . meta_cat_TABLE . '
   WHERE id = \''.$_POST['invisible'].'\'
-    ;';
-$result = pwg_query($query);
+  ;';
+$result = pwg_query($query);
+	$q = '
+INSERT INTO ' . $prefixeTable . 'meta_cat(id,metaKeycat)VALUES ('.$_POST['invisible'].',"'.$_POST['inser'].'");';
+    pwg_query($q);
 	}
  
     break;
+
+// Onglet gestion des meta keywords images
+  case 'image':
+
+//charge la liste des images
+$groups = array();
+$query = '
+select id,name
+  FROM ' . IMAGES_TABLE . '
+  ORDER BY id ASC;';
+$result = pwg_query($query);
+
+while ($row = mysql_fetch_array($result))
+	{
+  $groups[$row['id']] = $row['id'].' : '.$row['name'];
+	}
+	
+	$selected = 0;
+	$options[] = l10n('meta_selecti3');
+	$options['a'] = '----------------------';
+	
+foreach($groups as $listid => $listid2)
+	{
+    $options[$listid] = $listid2;
+	}
+  $template->assign(
+    'gestionC',
+    array(
+	  'OPTIONS' => $options,
+      'SELECTED' => $selected
+      ));
+	
+//edit de la meta l'image
+if (isset($_POST['submitchoiximg'])and is_numeric($_POST['metaimg']) and (!$_POST['metaimg'])==0 and !is_adviser())
+	{
+$lire=$_POST['metaimg'];
+	$query = '
+select id,name
+  FROM ' . IMAGES_TABLE . '
+  WHERE id = \''.$lire.'\'
+  ;';
+$result = pwg_query($query);
+
+$row = mysql_fetch_array($result);
+$idimg=$row['id'];
+$chnameimg=$row['name'];
+
+$query = '
+select id,metaKeyimg
+  FROM ' . meta_img_TABLE . '
+  WHERE id = \''.$lire.'\'
+  ;';
+$result = pwg_query($query);
+$row = mysql_fetch_array($result);
+$idmetaKeyimg=$row['id'];
+$chvalimg=$row['metaKeyimg'];
+
+  $selected3 = 0;
+  
+  $template->assign(
+    'img_edit',
+    array(
+      'VALUE' => $idimg,
+	  'VALUEN' => $chnameimg,
+      'CONTENT' => $chvalimg,
+      'SELECTED' => $selected3
+      ));
+	}
+
+//insértion de meta img dans la table img
+if (isset($_POST['submitinsimg']) and !is_adviser())
+	{
+	$query = '
+DELETE 
+  FROM ' . meta_img_TABLE . '
+  WHERE id = \''.$_POST['invisible'].'\'
+  ;';
+$result = pwg_query($query);
+	$q = '
+INSERT INTO ' . $prefixeTable . 'meta_img(id,metaKeyimg)VALUES ('.$_POST['invisible'].',"'.$_POST['inser'].'");';
+    pwg_query($q);
+	}
+	
+    break;
+
 // Onglet  description
   case 'description':
@@ -187,6 +366,7 @@
 	  ));
 	break;
+	
 } 
-
+}
 $template->set_filenames(array('plugin_admin_content' => dirname(__FILE__) . '/admin.tpl')); 
 $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
Index: extensions/meta/admin/admin.tpl
===================================================================
--- extensions/meta/admin/admin.tpl	(revision 4173)
+++ extensions/meta/admin/admin.tpl	(revision 4174)
@@ -2,5 +2,11 @@
   <h2>meta</h2>
 </div>
-
+{if isset ($maj)}
+		<form method="post" >
+			<div style="text-align:center;">
+				<input class="submit" name="maj" type="submit" value="{'meta_maj'|@translate}" {$TAG_INPUT_ENABLED} />
+			</div>
+		</form>
+{/if}
 {if isset ($gestionA)}
 		  <h3>{'meta_desh3'|@translate}</h3>
@@ -70,5 +76,37 @@
 	{/if}
 {/if}
-
+{if isset ($gestionC)}
+	  <h3>{'meta_img'|@translate}</h3>
+	<div>
+		<form method="post" >
+			<fieldset>
+				<legend>{'meta_selectimg'|@translate}</legend>
+				{'meta_listimg'|@translate}	
+		{html_options name="metaimg" options=$gestionC.OPTIONS selected=$gestionC.SELECTED}
+				<br>	
+				<br>
+					<div style="text-align:center;">
+					<input class="submit" name="submitchoiximg" type="submit" value="{'meta_choiximg'|@translate}" {$TAG_INPUT_ENABLED} />
+					</div>
+			</fieldset>
+		</form>
+	</div>
+	{if isset ($img_edit)}
+	<div>
+		<form method="post" >
+			<fieldset>
+				<legend>{'meta_compimg'|@translate}</legend>
+					<input type="hidden" name="invisible" value="{$img_edit.VALUE}">
+					id&nbsp;:&nbsp;{$img_edit.VALUE}&nbsp;->&nbsp;{$img_edit.VALUEN}&nbsp;&nbsp;<input type="text" name="inser" value="{$img_edit.CONTENT}" size="110" maxlenght="110">
+				<br>	
+				<br>
+					<div style="text-align:center;">
+					<input class="submit" name="submitinsimg" type="submit" value="{'meta_inscat'|@translate}" {$TAG_INPUT_ENABLED} />
+					</div>
+			</fieldset>
+		</form>
+	</div>
+	{/if}
+{/if}
 {if isset ($description)}
 	<div class="comment">
@@ -89,2 +127,9 @@
 	</div>
 {/if}
+{if isset ($MAJ)}
+	<div class="comment">
+		<div style="text-align:center;">
+		<input class="submit" name="submitMAJ" type="submit" value="{'meta_onglet_maj'|@translate}" {$TAG_INPUT_ENABLED} />
+		</div>	
+	</div>
+{/if}
Index: extensions/meta/language/en_UK/description.txt
===================================================================
--- extensions/meta/language/en_UK/description.txt	(revision 4174)
+++ extensions/meta/language/en_UK/description.txt	(revision 4174)
@@ -0,0 +1,1 @@
+Allows you to add metadata on every page, categories and images
Index: extensions/meta/language/en_UK/plugin.lang.php
===================================================================
--- extensions/meta/language/en_UK/plugin.lang.php	(revision 4173)
+++ extensions/meta/language/en_UK/plugin.lang.php	(revision 4174)
@@ -16,11 +16,20 @@
 //onglet description categorie
 $lang['meta_onglet_categorie'] = 'Categorie\'s Metadata';
-$lang['meta_cath3'] = 'Add meta keywords to the categories';
-$lang['meta_select3'] = 'Select the category';
-$lang['meta_selectcat'] = 'Select the name of the category to be edit';
+$lang['meta_cath3'] = 'Add meta keywords to categories';
+$lang['meta_select3'] = 'Select category';
+$lang['meta_selectcat'] = 'Select name of category to be edit';
 $lang['meta_listcat'] = 'List categories :';
-$lang['meta_choixcat'] = 'Edit the category';
-$lang['meta_compcat'] = 'Keywords of the category to be completed';
+$lang['meta_choixcat'] = 'Edit categorie\'s Metadata';
+$lang['meta_compcat'] = 'Keywords of category to be completed';
 $lang['meta_inscat'] = 'Insert Keywords into the base ';
+
+//onglet image
+$lang['meta_onglet_image'] = 'Picture\'s Metadata';
+$lang['meta_img'] = 'Add meta keywords to picture';
+$lang['meta_selectimg'] = 'Select name of picture to be edit';
+$lang['meta_listimg'] = 'List Picture';
+$lang['meta_choiximg'] = 'Edit Picture\'s Metadata';
+$lang['meta_selecti3'] = 'Select Picture';
+$lang['meta_compimg'] = 'Keywords of picture to be completed';
 
 //onglet description
@@ -45,5 +54,7 @@
 ';
 
-
+//upgrade
+$lang['meta_maj'] = 'Upgrade';
+$lang['meta_majt'] = 'Upgrade Complete<br>Please click on the menu meta to return to management plugin';
 
 
Index: extensions/meta/language/fr_FR/description.txt
===================================================================
--- extensions/meta/language/fr_FR/description.txt	(revision 4174)
+++ extensions/meta/language/fr_FR/description.txt	(revision 4174)
@@ -0,0 +1,1 @@
+Permet d'ajouter des métadonnées sur tous le site, les catégories et les images
Index: extensions/meta/language/fr_FR/plugin.lang.php
===================================================================
--- extensions/meta/language/fr_FR/plugin.lang.php	(revision 4173)
+++ extensions/meta/language/fr_FR/plugin.lang.php	(revision 4174)
@@ -14,13 +14,22 @@
 $lang['meta_insmeta'] = 'inserer la metadonnée dans la table';
 
-//onglet description categorie
+//onglet categorie
 $lang['meta_onglet_categorie'] = 'Metadonnée des Catégories';
 $lang['meta_cath3'] = 'Ajouter des meta keywords aux catégories';
 $lang['meta_select3'] = 'Sélectionnez la catégorie';
-$lang['meta_selectcat'] = 'Sélectionnez le nom de la catégorie à éditer';
+$lang['meta_selectcat'] = 'Sélectionnez le nom de la catégorie pour la méta keywords  à éditer';
 $lang['meta_listcat'] = 'Liste des catégories :';
-$lang['meta_choixcat'] = 'Éditer la catégorie';
+$lang['meta_choixcat'] = 'Éditer la Metadonnée de la catégorie';
 $lang['meta_compcat'] = 'Mots clés de la catégorie à complèter';
 $lang['meta_inscat'] = 'Insérer les Mots clés dans la base';
+
+//onglet image
+$lang['meta_onglet_image'] = 'Metadonnée des images';
+$lang['meta_img'] = 'Ajouter des meta keywords aux images';
+$lang['meta_selectimg'] = 'Sélectionnez le nom de l\'image pour la méta keywords  à éditer';
+$lang['meta_listimg'] = 'Liste des images';
+$lang['meta_choiximg'] = 'Éditer la Metadonnée de l\'image';
+$lang['meta_selecti3'] = 'Sélectionnez l\'image';
+$lang['meta_compimg'] = 'Mots clés de l\'image à complèter';
 
 //onglet description
@@ -45,4 +54,7 @@
 ';
 
+//upgrade
+$lang['meta_maj'] = 'Mise à jour';
+$lang['meta_majt'] = 'Mise à jour terminée<br> Faites un clic sur le menu meta pour revenir à la gestion du plugin';
 
 
Index: extensions/meta/main.inc.php
===================================================================
--- extensions/meta/main.inc.php	(revision 4173)
+++ extensions/meta/main.inc.php	(revision 4174)
@@ -2,5 +2,5 @@
 /*
 Plugin Name: meta
-Version: 2.0.0.c
+Version: 2.0.5
 Description: Allows to add metadata
 Plugin URI: http://piwigo.org/ext/extension_view.php?eid=220
@@ -16,4 +16,6 @@
 define('meta_PATH' , PHPWG_PLUGINS_PATH . meta_DIR . '/');
 define('meta_TABLE' , $prefixeTable . 'meta');
+define('meta_img_TABLE' , $prefixeTable . 'meta_img');
+define('meta_cat_TABLE' , $prefixeTable . 'meta_cat');
 
 add_event_handler('get_admin_plugin_menu_links', 'meta_admin_menu');
@@ -82,23 +84,37 @@
 
   //meta categories
-  if ( !empty($page['category']['name']) )   
+  if ( !empty($page['category']['id']) )   
   {
-    $page['category']['info'] = get_cat_info($page['category']['id']);
-    $page['category']['name'] = $page['category']['info']['name'];
 
     $query = '
-    select id,name,metakeywords,comment
-      FROM ' . CATEGORIES_TABLE . '
+    select id,metaKeycat
+      FROM ' . meta_cat_TABLE . '
       WHERE id = \''.$page['category']['id'].'\'
       ;';
     $result = pwg_query($query);
     $row = mysql_fetch_array($result);
-    if (!empty($row['metakeywords']))
+    if (!empty($row['metaKeycat']))
     {
-      $template->append('related_tags', array('name' => $row['metakeywords']));
+      $template->append('related_tags', array('name' => $row['metaKeycat']));
+    }
+  }
+
+
+  //meta images
+  if ( !empty($page['image_id']) )   
+  {
+    $query = '
+    select id,metaKeyimg
+      FROM ' . meta_img_TABLE . '
+      WHERE id = \''.$page['image_id'].'\'
+      ;';
+    $result = pwg_query($query);
+    $row = mysql_fetch_array($result);
+    if (!empty($row['metaKeyimg']))
+    {
+      $template->append('related_tags', array('name' => $row['metaKeyimg']));
     }
   }
 }
-
 
 add_event_handler('loc_after_page_header', 'set_meta_back');
Index: extensions/meta/maintain.inc.php
===================================================================
--- extensions/meta/maintain.inc.php	(revision 4173)
+++ extensions/meta/maintain.inc.php	(revision 4174)
@@ -2,4 +2,6 @@
 
 if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
+
+$majm='meta 2.0.5';
 
 function plugin_install()
@@ -27,12 +29,24 @@
     pwg_query($q);
 	
-		$q = '
+	$q = '
 INSERT INTO ' . $prefixeTable . 'meta(id,metaname,metaval,metatype)VALUES (4,"robots","follow","name");';
     pwg_query($q);
 
-	$q = '
-ALTER TABLE '. CATEGORIES_TABLE.' ADD COLUMN `metaKeywords` VARCHAR( 255 )';	
-    pwg_query($q);
+if (!defined('meta_img_TABLE')) define('meta_img_TABLE', $prefixeTable.'meta_img');
+	$query = "CREATE TABLE IF NOT EXISTS ". meta_img_TABLE ." (
+id SMALLINT( 5 ) UNSIGNED NOT NULL ,
+metaKeyimg VARCHAR( 255 ) NOT NULL ,
+PRIMARY KEY (id))DEFAULT CHARSET=utf8;";
+	$result = pwg_query($query);
+
+if (!defined('meta_cat_TABLE')) define('meta_cat_TABLE', $prefixeTable.'meta_cat');	
+	$query = "CREATE TABLE IF NOT EXISTS ". meta_cat_TABLE ." (
+id SMALLINT( 5 ) UNSIGNED NOT NULL ,
+metaKeycat VARCHAR( 255 ) NOT NULL ,
+PRIMARY KEY (id))DEFAULT CHARSET=utf8;";
+	$result = pwg_query($query);
 	
+	$query = 'INSERT INTO ' . CONFIG_TABLE . ' (param,value,comment) VALUES ("'.$majm.'",1,"MAJ meta");';
+    pwg_query($query);	
 }
 
@@ -44,9 +58,12 @@
     pwg_query($q);
 
-	$q = 'DELETE FROM ' . CONFIG_TABLE . ' WHERE param="meta" LIMIT 1;';
+	$q = 'DELETE FROM ' . CONFIG_TABLE . ' WHERE param="'.$majm.'" LIMIT 1;';
     pwg_query($q);
 	
-	$q = ' ALTER TABLE '. CATEGORIES_TABLE .' DROP COLUMN `metaKeywords`';
-	pwg_query( $q );
+	$q = 'DROP TABLE ' . $prefixeTable . 'meta_img;';
+    pwg_query($q);
+
+	$q = 'DROP TABLE ' . $prefixeTable . 'meta_cat;';
+    pwg_query($q);
 }
 
