Index: /extensions/Icy_Picture_Modify/README
===================================================================
--- /extensions/Icy_Picture_Modify/README	(revision 12817)
+++ /extensions/Icy_Picture_Modify/README	(revision 12818)
@@ -13,6 +13,10 @@
 USAGE
 
-  1. Install and enable the plugin "community" which allows users to upload pictures
-  2. Install and enable this extension
+  1. Install and enable the plugin "community" which allows users to
+     upload pictures to some albums. Please configure the plugin before
+     you install "icy_picture_modify".
+
+  2. Install and enable this plugin
+
   3. When users view a picture they uploaded, they will be provided a link
      to modify that picture's information.
@@ -20,23 +24,17 @@
 FEATURES
 
-  Users can modify the following information of a picture
-    * Author
-    * Description
-    * Picture's date
-    * Tags
-    * ACL
-    * Synchronize meta data
-    * Delete picture
-    * Associcate/Dissociated image to/from uploadable category
-    * Use image to represent for uploadable category
+  Users can delete image or modify image's properties (author, date, tags,
+  description, metada, associcate/aissociated/represented categories).
 
 KNOWN PROBLEMS
 
+  * If an image is replaced by other version (using plugin 'Photo update')
+    the author of (new) image will be owned by administrator, not the
+    current user. Hence the image won't be editable anymore
   * This plugin doesn't support all known templates
-  * This plugin may not work smoothly without plugin 'community'
+  * This plugin may not work smoothly without the plugin 'community'
   * User can delete an image which is associated to some albums to which
-    the user doesn't have permission to write/access. When the plugin
-    'community' isn't installed, user can create image's link and/or
-    represents for any visible albums in the gallery.
+    the user doesn't have permission to write/access. This is true as the
+    plugin only checks owner of the image.
 
 AUTHOR
@@ -51,4 +49,4 @@
 
   At Github.com:  https://github.com/icy/icy_picture_modify
-  At Piwigo.com:   http://piwigo.org/ext/extension_view.php?eid=563
-  SVN repository:  http://piwigo.org/svn/extensions/Icy_Picture_Modify/
+  At Piwigo.com:  http://piwigo.org/ext/extension_view.php?eid=563
+  SVN repository: http://piwigo.org/svn/extensions/Icy_Picture_Modify/
Index: /extensions/Icy_Picture_Modify/icy_picture_modify.php
===================================================================
--- /extensions/Icy_Picture_Modify/icy_picture_modify.php	(revision 12817)
+++ /extensions/Icy_Picture_Modify/icy_picture_modify.php	(revision 12818)
@@ -95,9 +95,10 @@
 
 // * Purpose: Find all categories that are reachable for the current user.
-// * FIXME:   This query will include all readable categories, those ones
-//            use can't write to them.
+// * FIXME:   This query will include all readable categories, included
+//            the ones user can't write to them.
 
 $my_categories = array();
 $my_permissions = null;
+$has_plugin_community = false;
 
 // <community support>
@@ -105,4 +106,6 @@
 {
   include_once(PHPWG_PLUGINS_PATH.'community/include/functions_community.inc.php');
+  $has_plugin_community = true;
+
   $user_permissions = community_get_user_permissions($user['id']);
   $my_categories = $user_permissions['upload_categories'];
@@ -110,8 +113,5 @@
 // </community support>
 
-// FIXME: what happens if both of the following conditions are true
-// FIXME:    * true == $user_permissions['create_whole_gallery']
-// FIXME:    * 0    <  count($my_categories)
-if (empty($user_permissions) or $user_permissions['create_whole_gallery'])
+if (($has_plugin_community == false) or $user_permissions['create_whole_gallery'])
 {
   $query = '
@@ -120,5 +120,5 @@
   ;';
 
-  // list of categories to which the user can access
+  // list of categories to which the user can read
   $my_categories = array_diff(
     array_from_query($query, 'category_id'),
@@ -270,4 +270,5 @@
 //
 if (isset($_POST['associate'])
+    and ($has_plugin_community == true)
     and isset($_POST['cat_dissociated'])
     and count($_POST['cat_dissociated']) > 0
@@ -283,4 +284,5 @@
 // dissociate the element from categories (but not from its storage category)
 if (isset($_POST['dissociate'])
+    and ($has_plugin_community == true)
     and isset($_POST['cat_associated'])
     and count($_POST['cat_associated']) > 0
@@ -297,6 +299,12 @@
   update_category($arr_dissociate);
 }
+
+// +-----------------------------------------------------------------------+
+// |                              representation                           |
+// +-----------------------------------------------------------------------+
+
 // select the element to represent the given categories
 if (isset($_POST['elect'])
+    and ($has_plugin_community == true)
     and isset($_POST['cat_dismissed'])
     and count($_POST['cat_dismissed']) > 0
@@ -318,6 +326,8 @@
   }
 }
+
 // dismiss the element as representant of the given categories
 if (isset($_POST['dismiss'])
+    and ($has_plugin_community == true)
     and isset($_POST['cat_elected'])
     and count($_POST['cat_elected']) > 0
@@ -331,5 +341,8 @@
 }
 
-// tags
+// +-----------------------------------------------------------------------+
+// |                             tagging support                           |
+// +-----------------------------------------------------------------------+
+
 if (version_compare(PHPWG_VERSION, '2.2.5', '<')) {
   $q_tag_selection = "tag_id, name AS tag_name";
@@ -594,5 +607,5 @@
 display_select_cat_wrapper($query, array(), 'dissociated_options');
 
-// representing
+// display list of categories for representing
 $query = '
 SELECT id,name,uppercats,global_rank
