Changeset 12314


Ignore:
Timestamp:
10/02/11 19:14:27 (8 years ago)
Author:
Eric
Message:

Bug 2455 fixed - Exclusion of specific users (généric and admins users) for password reset function.
Bug 2451 fixed - Unable to handle Sql errors but control of backup file validity have been enforced.

Location:
extensions/UserAdvManager/trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • extensions/UserAdvManager/trunk/admin/UAM_admin.php

    r12275 r12314  
    269269    $Backup_File = UAM_PATH.'/include/backup/UAM_dbbackup.sql'; 
    270270 
    271     if (file_exists($Backup_File)) 
    272     { 
    273       $restore = UAM_Restore_backup_file(); 
    274       if(empty($restore)) 
     271    if (file_exists($Backup_File) and $file = file($Backup_File, FILE_IGNORE_NEW_LINES) and !empty($file)) 
     272    { 
     273      // Check backup file version 
     274      // ------------------------- 
     275      if ($file[0] == "-- ".$version." --") 
    275276      { 
    276         array_push($page['infos'], l10n('UAM_Restoration_OK')); 
     277        $restore = UAM_Restore_backup_file(); 
     278        if(empty($restore)) 
     279        { 
     280          array_push($page['infos'], l10n('UAM_Restoration_OK')); 
     281        } 
     282        else 
     283        { 
     284          array_push($page['errors'], l10n('UAM_Restoration_NOK')); 
     285        } 
    277286      } 
    278       else 
    279       { 
    280         array_push($page['errors'], l10n('UAM_Restoration_NOK')); 
    281       } 
     287      else array_push($page['errors'], l10n('UAM_Bad_version_backup')); 
    282288    } 
    283289    else 
  • extensions/UserAdvManager/trunk/changelog.txt.php

    r12280 r12314  
    261261-- 2.20.11 : Bug 2336 fixed - New feature : Add [Kdays] autotext flag to insert the number of days until expiration. 
    262262 
    263 -- 2.30.0 : 
    264             Piwigo 2.3.0 compliant 
     263************************************************************** 
     264***** Plugin history (branch 2.30 - Piwigo 2.3 compliant)***** 
     265************************************************************** 
     266-- 2.30.0 : Piwigo 2.3.0 compliant 
    265267            Bug 2415 fixed - New feature : Set automatically privacy level for users who have validated or not their registration. Automated task available. 
    266268            Bug 2437 fixed - New feature : Request password renewal for selected users in Piwigo's users management panel. 
     
    269271            Bug 2450 fixed - New feature : Backup file restoration. 
    270272            Help files remaned and relocated in the language root directory (no more "help" subdirectory) for compliance with the new online translation tool. 
     273 
     274-- 2.30.1 : Bug 2455 fixed - Exclusion of specific users (généric and admins users) for password reset function. 
     275            Bug 2451 fixed - Unable to handle Sql errors but control of backup file validity have been enforced. 
    271276*/ 
    272277?> 
  • extensions/UserAdvManager/trunk/include/functions.inc.php

    r12275 r12314  
    399399  // ----------------------------------------------------- 
    400400  if ((isset($conf_UAM[20]) and $conf_UAM[20] == 'true')) 
    401   {   
     401  { 
    402402    $query =' 
    403403SELECT user_id, status 
     
    426426    $data = pwg_db_fetch_assoc(pwg_query($query)); 
    427427 
    428     if ($data['status'] <> "admin" and $data['status'] <> "webmaster" and $data['status'] <> "generic") // Exclusion of specific accounts 
     428    if ($data['status'] <> "webmaster" and $data['status'] <> "generic") // Exclusion of specific accounts 
    429429    { 
    430430      if (UAM_check_pwgreset($user['id'])) 
     
    28002800{ 
    28012801  global $conf; 
    2802    
     2802 
     2803  $plugin =  PluginInfos(UAM_PATH); 
     2804  $version = $plugin['version']; 
     2805 
    28032806  // Initial backup folder creation and file initialisation 
    28042807  // ------------------------------------------------------ 
     
    28102813  $fp = fopen($Backup_File, 'w'); 
    28112814 
     2815  // Writing plugin version 
     2816  $insertions = "-- ".$version." --\n\n"; 
     2817  fwrite($fp, $insertions); 
    28122818 
    28132819  // Saving UAM specific tables 
  • extensions/UserAdvManager/trunk/language/en_UK/help.lang.php

    r12275 r12314  
    330330- Password renewed: The password has been renewed after a request.<br> 
    331331- Original Password: The original password chosen at account creation and has never been required for a renewal.<br> 
    332 The webmaster, administrators and guest accounts are excluded from this function.<br> 
     332Webmaster, generic and guest accounts are excluded from this function.<br> 
    333333These 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.'; 
    334334$lang['UAM_DumpTitle'] = 'Backup and restore your configuration'; 
  • extensions/UserAdvManager/trunk/language/en_UK/plugin.lang.php

    r12277 r12314  
    7676/* Action button names */ 
    7777$lang['UAM_audit'] = 'Audit settings'; 
    78 $lang['UAM_submit'] = 'Save settings'; 
    7978// --------- End: New or revised $lang ---- from version 2.12.0 and 2.12.1 
    8079 
     
    400399$lang['UAM_Restoration_OK'] = 'Restoring your configuration completed successfully! Please reload UAM\'s administration page to view the restored settings.'; 
    401400// --------- End: New or revised $lang ---- from version 2.30.0 
     401 
     402 
     403// --------- Starting below: New or revised $lang ---- from version 2.30.1 
     404$lang['UAM_submit'] = 'Submit settings'; 
     405$lang['UAM_Generic cannot be pwdreset'] = 'Password renewal can\'t be set for generic accounts!'; 
     406$lang['UAM_Admins cannot be pwdreset'] = 'Password renewal can\'t be set for admins account!'; 
     407$lang['UAM_Bad_version_backup'] = 'The version of the backup file does not match the version of the plugin! The restoration was not performed.'; 
     408// --------- End: New or revised $lang ---- from version 2.30.1 
    402409?> 
  • extensions/UserAdvManager/trunk/language/fr_FR/help.lang.php

    r12275 r12314  
    326326- Mot de passe modifié : Le mot de passe a été changé suite à une demande.<br> 
    327327- 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> 
    328 Le compte du webmaster, des administrateurs et de l\'invité (Guest) sont exclus de cette fonction.<br><br> 
     328Le compte webmaster, génériques et invités (Guest) sont exclus de cette fonction.<br><br> 
    329329Ces 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.'; 
    330330$lang['UAM_DumpTitle'] = 'Sauvegarde et restauration de votre configuration'; 
  • extensions/UserAdvManager/trunk/language/fr_FR/plugin.lang.php

    r12277 r12314  
    7676/* Action button names */ 
    7777$lang['UAM_audit'] = 'Auditer les paramètres'; 
    78 $lang['UAM_submit'] = 'Sauvegarder les paramètres'; 
    7978// --------- End: New or revised $lang ---- from version 2.12.0 and 2.12.1 
    8079 
     
    397396$lang['UAM_Restoration_OK'] = 'La restauration de votre configuration s\'est terminée avec succès ! Veuillez recharger la page d\'administration de UAM pour voir les paramètres restaurés.'; 
    398397// --------- End: New or revised $lang ---- from version 2.30.0 
     398 
     399 
     400// --------- Starting below: New or revised $lang ---- from version 2.30.1 
     401$lang['UAM_submit'] = 'Enregistrer les paramètres'; 
     402$lang['UAM_Generic cannot be pwdreset'] = 'Le renouvellement de mot de passe ne peut pas être demandé pour un compte générique !'; 
     403$lang['UAM_Admins cannot be pwdreset'] = 'Le renouvellement de mot de passe ne peut pas être demandé pour un compte d\'administrateur !'; 
     404$lang['UAM_Bad_version_backup'] = 'La version du fichier de sauvegarde ne correspond pas à la version du plugin ! La restauration n\'a pas été réalisée.'; 
     405// --------- End: New or revised $lang ---- from version 2.30.1 
    399406?> 
  • extensions/UserAdvManager/trunk/main.inc.php

    r12271 r12314  
    131131      { 
    132132        array_push($page['errors'], l10n('UAM_Guest cannot be pwdreset')); 
    133         $template->append('errors', l10n('UAM_Guest cannot be pwdreset')); 
     133        $errors = l10n('UAM_Guest cannot be pwdreset'); 
    134134      } 
    135135      if (($conf['guest_id'] != $conf['default_user_id']) and 
     
    137137      { 
    138138        array_push($page['errors'], l10n('UAM_Default user cannot be pwgreset')); 
    139         $template->append('errors', l10n('UAM_Default user cannot be pwgreset')); 
     139        $errors = l10n('UAM_Default user cannot be pwgreset'); 
    140140      } 
    141141      if (in_array($conf['webmaster_id'], $collection)) 
    142142      { 
    143143        array_push($page['errors'], l10n('UAM_Webmaster cannot be pwdreset')); 
    144         $template->append('errors', l10n('UAM_Webmaster cannot be pwdreset')); 
     144        $errors = l10n('UAM_Webmaster cannot be pwdreset'); 
    145145      } 
    146146      if (in_array($user['id'], $collection)) 
    147147      { 
    148148        array_push($page['errors'], l10n('UAM_You cannot pwdreset your account')); 
    149         $template->append('errors', l10n('UAM_You cannot pwdreset your account')); 
    150       } 
     149        $errors = l10n('UAM_You cannot pwdreset your account'); 
     150      } 
     151 
     152      // Generic accounts exclusion (including Adult_Content generic users) 
     153      // ------------------------------------------------------------------ 
     154      $query =' 
     155SELECT u.id 
     156FROM '.USERS_TABLE.' AS u 
     157INNER JOIN '.USER_INFOS_TABLE.' AS ui 
     158  ON u.id = ui.user_id 
     159WHERE ui.status = "generic" 
     160;'; 
     161 
     162            $result = pwg_query($query); 
     163 
     164      while ($row = pwg_db_fetch_assoc($result)) 
     165      { 
     166        if (in_array($row['id'], $collection)) 
     167        { 
     168          array_push($page['errors'], l10n('UAM_Generic cannot be pwdreset')); 
     169          $errors = l10n('UAM_Generic cannot be pwdreset'); 
     170        } 
     171      } 
     172 
     173      // Admins accounts exclusion 
     174      // -------------------------- 
     175      $query =' 
     176SELECT u.id 
     177FROM '.USERS_TABLE.' AS u 
     178INNER JOIN '.USER_INFOS_TABLE.' AS ui 
     179  ON u.id = ui.user_id 
     180WHERE ui.status = "admin" 
     181;'; 
     182 
     183            $result = pwg_query($query); 
     184 
     185      while ($row = pwg_db_fetch_assoc($result)) 
     186      { 
     187        if (in_array($row['id'], $collection)) 
     188        { 
     189          array_push($page['errors'], l10n('UAM_Admins cannot be pwdreset')); 
     190          $errors = l10n('UAM_Admins cannot be pwdreset'); 
     191        } 
     192      } 
     193 
     194      $template->append('errors', $errors); 
    151195 
    152196      if (count($page['errors']) == 0) 
    153       {   
     197      { 
    154198        if (isset($_POST['confirm_pwdreset']) and 1 == $_POST['confirm_pwdreset']) 
    155199        { 
     
    182226        } 
    183227      } 
    184     }   
     228    } 
     229 
     230$page['order_by_items'] = array( 
     231  'id' => l10n('registration date'), 
     232  'username' => l10n('Username'), 
     233  'level' => l10n('Privacy level'), 
     234  'Language' => l10n('Language'), 
     235  'UAM_pwdreset' => l10n('UAM_PwdReset'), 
     236  ); 
     237 
     238// Filter order options 
     239$template->assign('order_options', $page['order_by_items']); 
     240$template->assign('order_selected', 
     241    isset($_GET['order_by']) ? $_GET['order_by'] : ''); 
     242 
    185243    $template->set_prefilter('user_list', 'UAM_PwdReset_Prefilter'); 
    186244  } 
Note: See TracChangeset for help on using the changeset viewer.