Index: /extensions/UserAdvManager/trunk/admin/UAM_admin.php
===================================================================
--- /extensions/UserAdvManager/trunk/admin/UAM_admin.php	(revision 12238)
+++ /extensions/UserAdvManager/trunk/admin/UAM_admin.php	(revision 12239)
@@ -109,5 +109,5 @@
   case 'global':
 
-	if (isset($_POST['submit']) and isset($_POST['UAM_Mail_Info']) and isset($_POST['UAM_Username_Char']) and isset($_POST['UAM_Confirm_Mail']) and isset($_POST['UAM_Password_Enforced']) and isset($_POST['UAM_AdminPassword_Enforced']) and isset($_POST['UAM_GhostUser_Tracker']) and isset($_POST['UAM_Admin_ConfMail']) and isset($_POST['UAM_RedirToProfile']) and isset($_POST['UAM_GTAuto']) and isset($_POST['UAM_GTAutoMail']) and isset($_POST['UAM_CustomPasswRetr']) and isset($_POST['UAM_USRAuto']) and isset($_POST['UAM_USRAutoMail']) and isset($_POST['UAM_Stuffs']) and isset($_POST['UAM_HidePassw']))
+	if (isset($_POST['submit']) and isset($_POST['UAM_Mail_Info']) and isset($_POST['UAM_Username_Char']) and isset($_POST['UAM_Confirm_Mail']) and isset($_POST['UAM_Password_Enforced']) and isset($_POST['UAM_AdminPassword_Enforced']) and isset($_POST['UAM_GhostUser_Tracker']) and isset($_POST['UAM_Admin_ConfMail']) and isset($_POST['UAM_RedirToProfile']) and isset($_POST['UAM_GTAuto']) and isset($_POST['UAM_GTAutoMail']) and isset($_POST['UAM_CustomPasswRetr']) and isset($_POST['UAM_USRAuto']) and isset($_POST['UAM_USRAutoMail']) and isset($_POST['UAM_Stuffs']) and isset($_POST['UAM_HidePassw']) and isset($_POST['UAM_PwdReset']))
   {
 
@@ -194,4 +194,5 @@
       (isset($_POST['UAM_Valid_Level'])?$_POST['UAM_Valid_Level']:''),
       (isset($_POST['UAM_Downgrade_Level'])?$_POST['UAM_Downgrade_Level']:''),
+      $_POST['UAM_PwdReset'],
       );
 
@@ -243,5 +244,5 @@
     $dump_download = (isset($_POST['dump_download'])) ? 'true' : 'false';
     
-    if(uam_dump($dump_download) and $dump_download == 'false')
+    if(UAM_dump($dump_download) and $dump_download == 'false')
     {
       array_push($page['infos'], l10n('UAM_Dump_OK'));
@@ -524,4 +525,6 @@
 		'UAM_VALID_LEVEL'                => $conf_UAM[36],
     'UAM_DOWNGRADE_LEVEL'            => $conf_UAM[37],
+    'UAM_PWDRESET_TRUE'              => $conf_UAM[38]=='true' ?  'checked="checked"' : '' ,
+    'UAM_PWDRESET_FALSE'             => $conf_UAM[38]=='false' ?  'checked="checked"' : '' ,
 		'UAM_PASSWORD_TEST_SCORE'        => $UAM_Password_Test_Score,
     'UAM_ERROR_REPORTS1'             => $UAM_Exclusionlist_Error,
Index: /extensions/UserAdvManager/trunk/admin/template/global.tpl
===================================================================
--- /extensions/UserAdvManager/trunk/admin/template/global.tpl	(revision 12238)
+++ /extensions/UserAdvManager/trunk/admin/template/global.tpl	(revision 12239)
@@ -745,4 +745,17 @@
             <br><br>
             </li>
+
+            <li>
+              <label class="cluetip" title="{'UAM_PwdResetTitle'|translate}|{'UAM_PwdResetTitle_d'|translate}">
+                {'UAM_PwdReset'|@translate}
+              </label>
+            <br><br>
+              <input type="radio" value="false" {$UAM_PWDRESET_FALSE} name="UAM_PwdReset">
+                {'UAM_Disable'|@translate}
+            <br>
+              <input type="radio" value="true" {$UAM_PWDRESET_TRUE} name="UAM_PwdReset">
+                {'UAM_Enable'|@translate}
+            <br><br>
+            </li>
           </ul>
         </fieldset>
Index: /extensions/UserAdvManager/trunk/changelog.txt.php
===================================================================
--- /extensions/UserAdvManager/trunk/changelog.txt.php	(revision 12238)
+++ /extensions/UserAdvManager/trunk/changelog.txt.php	(revision 12239)
@@ -264,4 +264,5 @@
             Piwigo 2.3.0 compliant
             Bug 2415 fixed - New feature : Set automatically privacy level for users who have validated or not their registration. Automated task available.
+            Bug 2437 fixed - New feature : Request password renewal for selected users in Piwigo's users management panel.
             Bug 2445 fixed - Duplicate key MySql error when a user tries to validate his registration twice.
             Help files remaned and relocated in the language root directory (no more "help" subdirectory) for compliance with the new online translation tool.
Index: /extensions/UserAdvManager/trunk/include/functions.inc.php
===================================================================
--- /extensions/UserAdvManager/trunk/include/functions.inc.php	(revision 12238)
+++ /extensions/UserAdvManager/trunk/include/functions.inc.php	(revision 12239)
@@ -223,5 +223,6 @@
 
   $conf_UAM = unserialize($conf['UserAdvManager']);
-    
+
+  // Update first redirection parameter
   if ((isset($conf_UAM[20]) and $conf_UAM[20] == 'true'))
   {
@@ -240,4 +241,14 @@
   }
 
+  // Special message display for password reset
+  if ((isset($conf_UAM[38]) and $conf_UAM[38] == 'true'))
+  {
+    if (UAM_check_pwgreset($user['id']))
+    {
+      $template->append('errors', l10n('UAM_Password_Reset_Msg'));
+    }
+  }
+
+  // Controls on profile page submission
   if (isset($_POST['validate']) and !is_admin())
   {
@@ -249,4 +260,20 @@
         $template->append('errors', l10n('UAM_reg_err_login5')."'".$conf_UAM[11]."'");
         unset($_POST['validate']);
+      }
+    }
+
+    // Password reset control
+    if (isset($conf_UAM[38]) and $conf_UAM[38] == 'true' and UAM_check_pwgreset($user['id']))
+    {
+      // if password not changed then pwdreset filed = true else pwdreset field = false
+      if (!empty($_POST['use_new_pwd']))
+      {
+        $query = '
+UPDATE '.USERS_TABLE.'
+SET UAM_pwdreset = "false"
+WHERE id = '.$user['id'].'
+LIMIT 1
+;';
+        pwg_query($query);
       }
     }
@@ -341,7 +368,7 @@
   }
 
+  // Performing redirection to profile page on first login
   if ((isset($conf_UAM[20]) and $conf_UAM[20] == 'true'))
-  {
-    // Performing redirection  
+  {  
     $query ='
 SELECT user_id, status
@@ -351,9 +378,28 @@
     $data = pwg_db_fetch_assoc(pwg_query($query));
 
-    if ($data['status'] <> "admin" and $data['status'] <> "webmaster" and $data['status'] <> "generic")
+    if ($data['status'] <> "admin" and $data['status'] <> "webmaster" and $data['status'] <> "generic") // Exclusion of specific accounts
     {
       $user_idsOK = array();
       if (!UAM_check_profile($user['id'], $user_idsOK))
         redirect(PHPWG_ROOT_PATH.'profile.php');
+    }
+  }
+
+  // Performing redirection to profile page for password reset
+  if ((isset($conf_UAM[38]) and $conf_UAM[38] == 'true'))
+  {
+    $query ='
+SELECT user_id, status
+FROM '.USER_INFOS_TABLE.'
+WHERE user_id = '.$user['id'].'
+;';
+    $data = pwg_db_fetch_assoc(pwg_query($query));
+
+    if ($data['status'] <> "admin" and $data['status'] <> "webmaster" and $data['status'] <> "generic") // Exclusion of specific accounts
+    {
+      if (UAM_check_pwgreset($user['id']))
+      {
+        redirect(PHPWG_ROOT_PATH.'profile.php');
+      }
     }
   }
@@ -2465,4 +2511,8 @@
         @unlink($path);
       }
+      elseif (is_dir($path))
+      {
+        @rmdir($path);
+      }
     }
   }
@@ -2489,9 +2539,9 @@
   $v = false;
   
-  $query = "
+  $query = '
 SELECT value
-FROM ".CONFIG_TABLE."
-WHERE param = 'UserAdvManager_Redir'
-;";
+FROM '.CONFIG_TABLE.'
+WHERE param = "UserAdvManager_Redir"
+;';
   
   if ($v = (($t = pwg_db_fetch_row(pwg_query($query))) !== false))
@@ -2505,4 +2555,97 @@
 
 /**
+ * UAM_check_pwdreset
+ * checks if a user id is registered as having already
+ * changed their password.
+ * 
+ * @uid        : the user id
+ * 
+ * @returns    : true or false whether the users has already changed his password
+ * 
+ */
+function UAM_check_pwgreset($uid)
+{
+  $query = '
+SELECT UAM_pwdreset
+FROM '.USERS_TABLE.'
+WHERE id='.$uid.'
+;';
+
+  $result = pwg_db_fetch_assoc(pwg_query($query));
+  
+  if($result['UAM_pwdreset'] == 'true')
+  {
+    return true;
+  }
+  else return false; 
+}
+
+/**
+ * UAM_Set_PwdReset
+ * Action in user_list to set a password reset for a user
+ */
+function UAM_Set_PwdReset($uid)
+{
+  $query ='
+UPDATE '.USERS_TABLE.'
+SET UAM_pwdreset = "true"
+WHERE id = '.$uid.'
+LIMIT 1
+;';
+
+  pwg_query($query);
+}
+
+
+/**
+ * UAM_loc_visible_user_list
+ * Adds a new feature in user_list to allow password reset for selected users by admin
+ * 
+ */
+function UAM_loc_visible_user_list($visible_user_list)
+{
+  global $template;
+  
+  $template->append('plugin_user_list_column_titles', l10n('UAM_PwdReset'));
+  
+  $user_ids = array();
+  
+  foreach ($visible_user_list as $i => $user)
+  {
+    $user_ids[$i] = $user['id'];
+  }
+  
+  $user_nums = array_flip($user_ids);
+
+  // Query to get informations in database
+  if (!empty($user_ids))
+  {
+    $query = '
+SELECT DISTINCT id, UAM_pwdreset
+  FROM '.USERS_TABLE.'
+  WHERE id IN ('.implode(',', $user_ids).')
+;';
+    $result = pwg_query($query);
+    
+    while ($row = mysql_fetch_array($result))
+    {
+      if ($row['UAM_pwdreset'] == 'false')
+      {
+        $pwdreset = l10n('UAM_PwdReset_Done');
+      }
+      else if ($row['UAM_pwdreset'] == 'true')
+      {
+        $pwdreset = l10n('UAM_PwdReset_Todo');
+      }
+      else $pwdreset = l10n('UAM_PwdReset_NA');
+      
+		  $visible_user_list[$user_nums[$row['id']]]['plugin_columns'][] = $pwdreset; // Shows users password state in user_list
+    }
+  }
+  return $visible_user_list;
+}
+
+
+/**
  * UAM specific database dump (only for MySql !)
  * Creates an SQL dump of UAM specific tables and configuration settings
@@ -2511,5 +2654,5 @@
  * 
  */
-function uam_dump($download)
+function UAM_dump($download)
 {
   global $conf;
Index: /extensions/UserAdvManager/trunk/include/upgradedb.inc.php
===================================================================
--- /extensions/UserAdvManager/trunk/include/upgradedb.inc.php	(revision 12238)
+++ /extensions/UserAdvManager/trunk/include/upgradedb.inc.php	(revision 12239)
@@ -515,8 +515,16 @@
   $Newconf_UAM[36] = '-1';
   $Newconf_UAM[37] = '-1';
-
-  $update_conf = serialize($Newconf_UAM);
-
-  conf_update_param('UserAdvManager', pwg_db_real_escape_string($update_conf));
+  $Newconf_UAM[38] = 'false';
+
+  $update_conf = serialize($Newconf_UAM);
+
+  conf_update_param('UserAdvManager', pwg_db_real_escape_string($update_conf));
+
+  // Piwigo's native tables modifications for password reset function - Add pwdreset column
+  $q = '
+ALTER TABLE '.USERS_TABLE.'
+ADD UAM_pwdreset enum("true","false") 
+;';
+  pwg_query($q);
 }
 ?>
Index: /extensions/UserAdvManager/trunk/language/en_UK/help.lang.php
===================================================================
--- /extensions/UserAdvManager/trunk/language/en_UK/help.lang.php	(revision 12238)
+++ /extensions/UserAdvManager/trunk/language/en_UK/help.lang.php	(revision 12239)
@@ -337,4 +337,11 @@
 ...
 ';
+$lang['UAM_PwdResetTitle'] = 'Password renewal';
+$lang['UAM_PwdResetTitle_d'] = 'Enabling this option will add a new feature in the Piwigo\'s user management panel (Users> Manage) that can apply to renew the password for selected users. In addition, a new column is added to show the status of passwords for each of them with the following values:<br>
+- Password to be renewed: A password renewal request has been planned.<br>
+- Password renewed: The password has been renewed after a request.<br>
+- Original Password: The original password chosen at account creation and has never been required for a renewal.<br>
+The webmaster, administrators and guest accounts are excluded from this function.<br>
+These users will be automatically redirected to their customization page at each of their connections until they changed their password and an explicit message will be displayed on this page.';
 // --------- End: New or revised $lang ---- from version 2.30.0
 ?>
Index: /extensions/UserAdvManager/trunk/language/en_UK/plugin.lang.php
===================================================================
--- /extensions/UserAdvManager/trunk/language/en_UK/plugin.lang.php	(revision 12238)
+++ /extensions/UserAdvManager/trunk/language/en_UK/plugin.lang.php	(revision 12239)
@@ -344,4 +344,17 @@
 $lang['UAM_Title3'] = 'Ghost users management';
 $lang['UAM_Title5'] = 'Other miscellaneous options';
+$lang['UAM_Password_Reset_Msg'] = 'Please, change your password!';
+$lang['UAM_PwdReset'] = 'Password renewal';
+$lang['UAM_Password reset selected users'] = 'Request password renewal for selected users';
+$lang['UAM_Guest cannot be pwdreset'] = 'Password renewal can\'t be set for guests account!';
+$lang['UAM_Default user cannot be pwgreset'] = 'Password renewal can\'t be set for default user account!';
+$lang['UAM_Webmaster cannot be pwdreset'] = 'Password renewal can\'t be set for the webmaster account!';
+$lang['UAM_You cannot pwdreset your account'] = 'Password renewal can\'t be set for your own account!';
+$lang['UAM_You need to confirm pwdreset'] = 'You must confirm password renewal (check box)!';
+$lang['UAM_PwdReset_Todo'] = 'Password to be renewed';
+$lang['UAM_PwdReset_Done'] = 'Password renewed';
+$lang['UAM_PwdReset_NA'] = 'Original password';
+$lang['UAM %d user pwdreseted'] = 'Password renewal required for %d user';
+$lang['UAM %d users pwdreseted'] = 'Password renewal required for %d users';
 // --------- End: New or revised $lang ---- from version 2.30.0
 ?>
Index: /extensions/UserAdvManager/trunk/language/fr_FR/help.lang.php
===================================================================
--- /extensions/UserAdvManager/trunk/language/fr_FR/help.lang.php	(revision 12238)
+++ /extensions/UserAdvManager/trunk/language/fr_FR/help.lang.php	(revision 12239)
@@ -333,4 +333,11 @@
 ...
 ';
+$lang['UAM_PwdResetTitle'] = 'Renouvellement du mot de passe';
+$lang['UAM_PwdResetTitle_d'] = 'L\'activation de cette option ajoutera une nouvelle fonction dans le panneau de gestion de utilisateurs (Utilisateurs > Gérer) de Piwigo qui permet de demander le renouvellement du mot de passe pour les utilisateurs sélectionnés. De plus, une nouvelle colonne s\'ajoutera pour présenter le statut des mots de passe pour chacun d\'eux avec les valeurs suivantes :<br>
+- Mot de passe à changer : Une demande de changement de mot de passe a été programmée.<br>
+- Mot de passe modifié : Le mot de passe a été changé suite à une demande.<br>
+- Mot de passe original : Le mot de passe est celui choisi à la création du compte et n\'a jamais fait l\'objet d\'une demande de changement.<br>
+Le compte du webmaster, des administrateurs et de l\'invité (Guest) sont exclus de cette fonction.<br><br>
+Ces utilisateurs seront alors systématiquement redirigés vers leur page de personnalisation à chacune de leurs connexions tant qu\'ils n\'auront pas modifié leur mot de passe. Un message explicite sera affiché sur cette page.';
 // --------- End: New or revised $lang ---- from version 2.30.0
 ?>
Index: /extensions/UserAdvManager/trunk/language/fr_FR/plugin.lang.php
===================================================================
--- /extensions/UserAdvManager/trunk/language/fr_FR/plugin.lang.php	(revision 12238)
+++ /extensions/UserAdvManager/trunk/language/fr_FR/plugin.lang.php	(revision 12239)
@@ -341,4 +341,17 @@
 $lang['UAM_Title3'] = 'Gestion des utilisateurs fantômes';
 $lang['UAM_Title5'] = 'Autres options diverses';
+$lang['UAM_Password_Reset_Msg'] = 'Veuillez modifier votre mot de passe !';
+$lang['UAM_PwdReset'] = 'Renouvellement du mot de passe';
+$lang['UAM_Password reset selected users'] = 'Demander le renouvellement du mot de passe pour les utilisateurs sélectionnés';
+$lang['UAM_Guest cannot be pwdreset'] = 'Le renouvellement de mot de passe ne peut pas être demandé pour les invités !';
+$lang['UAM_Default user cannot be pwgreset'] = 'Le renouvellement de mot de passe ne peut pas être demandé pour l\'utilisateur par défaut !';
+$lang['UAM_Webmaster cannot be pwdreset'] = 'Le renouvellement de mot de passe ne peut pas être demandé pour le webmaster !';
+$lang['UAM_You cannot pwdreset your account'] = 'Le renouvellement de mot de passe ne peut pas être demandé pour votre propre compte utilisateur !';
+$lang['UAM_You need to confirm pwdreset'] = 'Vous devez confirmer la demande de renouvellement de mot de passe (case à cocher) !';
+$lang['UAM_PwdReset_Todo'] = 'Mot de passe à changer';
+$lang['UAM_PwdReset_Done'] = 'Mot de passe modifié';
+$lang['UAM_PwdReset_NA'] = 'Mot de passe original';
+$lang['UAM %d user pwdreseted'] = 'Renouvellement de mot de passe demandé pour %d utilisateur';
+$lang['UAM %d users pwdreseted'] = 'Renouvellement de mot de passe demandé pour %d utilisateurs';
 // --------- End: New or revised $lang ---- from version 2.30.0
 ?>
Index: /extensions/UserAdvManager/trunk/main.inc.php
===================================================================
--- /extensions/UserAdvManager/trunk/main.inc.php	(revision 12238)
+++ /extensions/UserAdvManager/trunk/main.inc.php	(revision 12239)
@@ -62,3 +62,134 @@
   add_event_handler('get_stuffs_modules', 'register_UAM_stuffs_module');
 }
+
+// Add new feature in user_list - Password Reset
+if ((isset($conf_UAM[38]) and $conf_UAM[38] == 'true'))
+{
+  // add new column on user_list
+  add_event_handler('loc_visible_user_list', 'UAM_loc_visible_user_list');
+
+  //add prefilter on user_list
+  add_event_handler('loc_begin_admin', 'UAM_PwdReset_Action',60);
+  
+  function UAM_PwdReset_Action()
+  {
+    global $conf, $user, $template, $lang, $errors;
+
+    $page['errors'] = array();
+    $page['infos'] = array();
+    $page['filtered_users'] = array();
+
+    if (isset($_POST['pwdreset']))
+    {
+      $collection = array();
+
+      switch ($_POST['target'])
+      {
+        case 'all' :
+        {
+          foreach($page['filtered_users'] as $local_user)
+          {
+            array_push($collection, $local_user['id']);
+          }
+          break;
+        }
+        case 'selection' :
+        {
+          if (isset($_POST['selection']))
+          {
+            $collection = $_POST['selection'];
+          }
+          break;
+        }
+      }
+
+      if (count($collection) == 0)
+      {
+        array_push($page['errors'], l10n('Select at least one user'));
+      }
+    }
+
+    if (isset($_POST['pwdreset']) and count($collection) > 0)
+    {
+      if (in_array($conf['guest_id'], $collection))
+      {
+        array_push($page['errors'], l10n('UAM_Guest cannot be pwdreset'));
+        $template->append('errors', l10n('UAM_Guest cannot be pwdreset'));
+      }
+      if (($conf['guest_id'] != $conf['default_user_id']) and
+        in_array($conf['default_user_id'], $collection))
+      {
+        array_push($page['errors'], l10n('UAM_Default user cannot be pwgreset'));
+        $template->append('errors', l10n('UAM_Default user cannot be pwgreset'));
+      }
+      if (in_array($conf['webmaster_id'], $collection))
+      {
+        array_push($page['errors'], l10n('UAM_Webmaster cannot be pwdreset'));
+        $template->append('errors', l10n('UAM_Webmaster cannot be pwdreset'));
+      }
+      if (in_array($user['id'], $collection))
+      {
+        array_push($page['errors'], l10n('UAM_You cannot pwdreset your account'));
+        $template->append('errors', l10n('UAM_You cannot pwdreset your account'));
+      }
+
+      if (count($page['errors']) == 0)
+      {  
+        if (isset($_POST['confirm_pwdreset']) and 1 == $_POST['confirm_pwdreset'])
+        {
+          foreach ($collection as $user_id)
+          {
+            UAM_Set_PwdReset($user_id);
+          }
+          array_push(
+            $page['infos'],
+            l10n_dec(
+              'UAM %d user pwdreseted', 'UAM %d users pwdreseted',
+              count($collection)
+              )
+            );
+          $template->append('infos', l10n_dec(
+              'UAM %d user pwdreseted', 'UAM %d users pwdreseted',
+              count($collection)));
+          foreach ($page['filtered_users'] as $filter_key => $filter_user)
+          {
+            if (in_array($filter_user['id'], $collection))
+            {
+              unset($page['filtered_users'][$filter_key]);
+            }
+          }
+        }
+        else
+        {
+          array_push($page['errors'], l10n('UAM_You need to confirm pwdreset'));
+          $template->append('errors', l10n('UAM_You need to confirm pwdreset'));
+        }
+      }
+    }  
+    $template->set_prefilter('user_list', 'UAM_PwdReset_Prefilter');
+  }
+
+  function UAM_PwdReset_Prefilter($content, &$smarty)
+  {
+    $search = '
+<fieldset>
+  <legend>{\'Deletions\'|@translate}</legend>
+  <label><input type="checkbox" name="confirm_deletion" value="1"> {\'confirm\'|@translate}</label>
+  <input class="submit" type="submit" value="{\'Delete selected users\'|@translate}" name="delete">
+</fieldset>
+';
+ 
+    $addon = '
+<fieldset>
+  <legend>{\'UAM_PwdReset\'|@translate}</legend>
+  <label><input type="checkbox" name="confirm_pwdreset" value="1"> {\'confirm\'|@translate}</label>
+  <input class="submit" type="submit" value="{\'UAM_Password reset selected users\'|@translate}" name="pwdreset">
+</fieldset>
+';
+
+    $replacement = $addon.$search;
+
+    return str_replace($search, $replacement, $content);
+  }
+}
 ?>
Index: /extensions/UserAdvManager/trunk/maintain.inc.php
===================================================================
--- /extensions/UserAdvManager/trunk/maintain.inc.php	(revision 12238)
+++ /extensions/UserAdvManager/trunk/maintain.inc.php	(revision 12239)
@@ -22,5 +22,5 @@
 Best regards,
 
-The admin of the gallery.','false','false','false','false','false','Sorry [username], your account has been deleted due to a too long time passed since your last visit at [mygallery].','Sorry [username], your account has been deprecated due to a too long time passed since your last visit at [mygallery]. Please, use the following link to revalidate your account.',-1,-1,'Thank you for registering at [mygallery]. Your account has been manually validated by _admin_. You may now log in at _link_to_site_ and make any appropriate changes to your profile. Welcome to _name_of_site_!','false','You have requested a password reset on our gallery. Please, find below your new connection settings.','false','Sorry, your account has been deleted because you have not validated your registration in requested time. Please, try registration with a valid and non blocked email account.','false','false','false',-1,-1,-1);
+The admin of the gallery.','false','false','false','false','false','Sorry [username], your account has been deleted due to a too long time passed since your last visit at [mygallery].','Sorry [username], your account has been deprecated due to a too long time passed since your last visit at [mygallery]. Please, use the following link to revalidate your account.',-1,-1,'Thank you for registering at [mygallery]. Your account has been manually validated by _admin_. You may now log in at _link_to_site_ and make any appropriate changes to your profile. Welcome to _name_of_site_!','false','You have requested a password reset on our gallery. Please, find below your new connection settings.','false','Sorry, your account has been deleted because you have not validated your registration in requested time. Please, try registration with a valid and non blocked email account.','false','false','false',-1,-1,-1,'false');
 
 	$query = '
@@ -126,4 +126,21 @@
 ENGINE=MyISAM;";
   pwg_query($q);
+
+  // Piwigo's native tables modifications for password reset function - Add pwdreset column
+  $query = '
+SHOW COLUMNS FROM '.USERS_TABLE.'
+LIKE "UAM_pwdreset"
+;';
+  
+  $result = pwg_query($query);
+
+  if(!pwg_db_fetch_row($result))
+  {
+    $q = '
+ALTER TABLE '.USERS_TABLE.'
+ADD UAM_pwdreset enum("true","false") 
+;';
+    pwg_query($q);
+  }
 }
 
@@ -326,9 +343,19 @@
   }
 
-  $q = 'DROP TABLE '.USER_CONFIRM_MAIL_TABLE.';';
+  $q = '
+DROP TABLE '.USER_CONFIRM_MAIL_TABLE.'
+;';
   pwg_query( $q );
 
-  $q = 'DROP TABLE '.USER_LASTVISIT_TABLE.';';
+  $q = '
+DROP TABLE '.USER_LASTVISIT_TABLE.'
+;';
   pwg_query( $q );
+
+  $q = '
+ALTER TABLE '.USERS_TABLE.'
+DROP UAM_pwdreset 
+;';
+  pwg_query($q);
 }
 ?>
Index: /extensions/UserAdvManager/trunk/obsolete.list
===================================================================
--- /extensions/UserAdvManager/trunk/obsolete.list	(revision 12239)
+++ /extensions/UserAdvManager/trunk/obsolete.list	(revision 12239)
@@ -0,0 +1,21 @@
+language/de_DE/help/index.php
+language/de_DE/help/plugin.lang.php
+language/de_DE/help/
+language/en_UK/help/index.php
+language/en_UK/help/plugin.lang.php
+language/en_UK/help/
+language/es_ES/help/index.php
+language/es_ES/help/plugin.lang.php
+language/es_ES/help/
+language/fr_FR/help/index.php
+language/fr_FR/help/plugin.lang.php
+language/fr_FR/help/
+language/hu_HU/help/index.php
+language/hu_HU/help/plugin.lang.php
+language/hu_HU/help/
+language/it_IT/help/index.php
+language/it_IT/help/plugin.lang.php
+language/it_IT/help/
+language/lv_LV/help/index.php
+language/lv_LV/help/plugin.lang.php
+language/lv_LV/help/
