Ignore:
Timestamp:
Sep 30, 2011, 10:49:03 PM (13 years ago)
Author:
Eric
Message:

Bug 2450 fixed - New feature : Backup file restoration.

Location:
extensions/UserAdvManager/trunk
Files:
8 edited

Legend:

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

    r12271 r12275  
    260260    {
    261261      array_push($page['errors'], l10n('UAM_Dump_NOK'));
     262    }
     263  }
     264
     265  // Restoring UAM tables and configuration settings
     266  // -----------------------------------------------
     267  if (isset($_POST['restore']))
     268  {
     269    $Backup_File = UAM_PATH.'/include/backup/UAM_dbbackup.sql';
     270
     271    if (file_exists($Backup_File))
     272    {
     273      $restore = UAM_Restore_backup_file();
     274      if(empty($restore))
     275      {
     276        array_push($page['infos'], l10n('UAM_Restoration_OK'));
     277      }
     278      else
     279      {
     280        array_push($page['errors'], l10n('UAM_Restoration_NOK'));
     281      }
     282    }
     283    else
     284    {
     285      array_push($page['errors'], l10n('UAM_No_Backup_File'));
    262286    }
    263287  }
  • extensions/UserAdvManager/trunk/admin/template/global.tpl

    r12271 r12275  
    805805</form>
    806806</fieldset>
     807<fieldset>
     808<form method="post" action="" class="general">
     809  <p>
     810    {'UAM_Restore'|@translate}<br><br>
     811      <input class="submit" type="submit" value="{'UAM_Restore_File'|@translate}" name="restore" {$TAG_INPUT_ENABLED}>
     812  </p>
     813</form>
     814</fieldset>
    807815  </div>
    808816
  • extensions/UserAdvManager/trunk/changelog.txt.php

    r12271 r12275  
    267267            Bug 2445 fixed - Duplicate key MySql error when a user tries to validate his registration twice.
    268268            Bug 2447 fixed - Only for installation from scratch, all text fields pre-filled and given as examples are translated into the language of the webmaster (if the language is supported by the plugin). The default language remains English in case of any failure.
     269            Bug 2450 fixed - New feature : Backup file restoration.
    269270            Help files remaned and relocated in the language root directory (no more "help" subdirectory) for compliance with the new online translation tool.
    270271*/
  • extensions/UserAdvManager/trunk/include/functions.inc.php

    r12271 r12275  
    28402840        for ($i=0; $i<$nb_fields; $i++)
    28412841        {
    2842           $insertions .= '\'' . mysql_real_escape_string($line[$i]) . '\', ';
     2842          $insertions .= '\'' . pwg_db_real_escape_string($line[$i]) . '\', ';
    28432843        }
    28442844        $insertions = substr($insertions, 0, -2);
     
    28692869    for ($i=0; $i<$nb_fields; $i++)
    28702870    {
    2871       $insertions .= '\'' . mysql_real_escape_string($line[$i]) . '\', ';
     2871      $insertions .= '\'' . pwg_db_real_escape_string($line[$i]) . '\', ';
    28722872    }
    28732873    $insertions = substr($insertions, 0, -2);
     
    29042904  return true;
    29052905}
     2906
     2907
     2908/**
     2909 * UAM_Restore_backup_file
     2910 * Restore backup database file
     2911 *
     2912 * @returns : Boolean
     2913 */
     2914function UAM_Restore_backup_file()
     2915{
     2916  global $prefixeTable, $dblayer, $conf;
     2917 
     2918  define('DEFAULT_PREFIX_TABLE', 'piwigo_');
     2919 
     2920  $Backup_File = UAM_PATH.'/include/backup/UAM_dbbackup.sql';
     2921
     2922  // Cleanup database before restoring
     2923  // ---------------------------------
     2924
     2925  // Delete UserAdvManager global config in #_config table
     2926  $q = '
     2927DELETE FROM '.CONFIG_TABLE.'
     2928WHERE param="UserAdvManager"
     2929;';
     2930
     2931  pwg_query($q);
     2932
     2933  // Delete UserAdvManager_ConfirmMail global config in #_config table
     2934  $q = '
     2935DELETE FROM '.CONFIG_TABLE.'
     2936WHERE param="UserAdvManager_ConfirmMail"
     2937;';
     2938
     2939  pwg_query($q);
     2940
     2941  // Delete UserAdvManager_Redir config in #_config table
     2942  $q = '
     2943DELETE FROM '.CONFIG_TABLE.'
     2944WHERE param="UserAdvManager_Redir"
     2945;';
     2946
     2947  pwg_query($q);
     2948
     2949  // Delete UserAdvManager_Version config in #_config table
     2950  $q = '
     2951DELETE FROM '.CONFIG_TABLE.'
     2952WHERE param="UserAdvManager_Version"
     2953;';
     2954
     2955  pwg_query($q);
     2956
     2957  // Restore sql backup file - DROP TABLE queries are executed
     2958  // ---------------------------------------------------------
     2959  UAM_execute_sqlfile(
     2960    $Backup_File,
     2961    DEFAULT_PREFIX_TABLE,
     2962    $prefixeTable,
     2963    $dblayer
     2964  );
     2965}
     2966
     2967
     2968/**
     2969 * loads an sql file and executes all queries / Based on Piwigo's original install file
     2970 *
     2971 * Before executing a query, $replaced is... replaced by $replacing. This is
     2972 * useful when the SQL file contains generic words.
     2973 *
     2974 * @param string filepath
     2975 * @param string replaced
     2976 * @param string replacing
     2977 * @return void
     2978 */
     2979function UAM_execute_sqlfile($filepath, $replaced, $replacing, $dblayer)
     2980{
     2981  $sql_lines = file($filepath);
     2982  $query = '';
     2983  foreach ($sql_lines as $sql_line)
     2984  {
     2985    $sql_line = trim($sql_line);
     2986    if (preg_match('/(^--|^$)/', $sql_line))
     2987    {
     2988      continue;
     2989    }
     2990   
     2991    $query.= ' '.$sql_line;
     2992   
     2993    // if we reached the end of query, we execute it and reinitialize the
     2994    // variable "query"
     2995    if (preg_match('/;$/', $sql_line))
     2996    {
     2997      $query = trim($query);
     2998      $query = str_replace($replaced, $replacing, $query);
     2999      if ('mysql' == $dblayer)
     3000      {
     3001        if (preg_match('/^(CREATE TABLE .*)[\s]*;[\s]*/im', $query, $matches))
     3002        {
     3003          $query = $matches[1].' DEFAULT CHARACTER SET utf8'.';';
     3004        }
     3005      }
     3006      pwg_query($query);
     3007      $query = '';
     3008    }
     3009  }
     3010}
     3011
    29063012
    29073013
  • extensions/UserAdvManager/trunk/language/en_UK/help.lang.php

    r12271 r12275  
    167167
    168168
    169 // --------- Starting below: New or revised $lang ---- from version 2.20.3
    170 $lang['UAM_DumpTitle'] = 'Backup your configuration';
    171 $lang['UAM_DumpTitle_d'] = 'This allows you to save the entire configuration of the plugin in a file so you can restore it if something goes wrong (wrong manipulation or before an update, for example). By default, the file is stored in this folder ../plugins/UserAdvManager/include/backup/ and is called &quot;UAM_dbbackup.sql&quot;.
    172 <br><br>
    173 <b style=&quot;color: red;&quot;>Warning: The file is overwritten each backup action!</b>
    174 <br><br>
    175 It can sometimes be useful to retrieve the backup file on your computer. For example: To restore to another database, to outsource or to keep multiple save files. To do this, just check the box to download the file.
    176 <br><br>
    177 The recovery from this interface is not supported. Use tools like phpMyAdmin.';
    178 // --------- End: New or revised $lang ---- from version 2.20.3
    179 
    180 
    181169// --------- Starting below: New or revised $lang ---- from version 2.20.4
    182170$lang['UAM_HidePasswTitle'] = 'Password in clear text in the information email';
     
    344332The webmaster, administrators and guest accounts are excluded from this function.<br>
    345333These 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.';
     334$lang['UAM_DumpTitle'] = 'Backup and restore your configuration';
     335$lang['UAM_DumpTitle_d'] = 'This allows you to save the entire configuration of the plugin in a file so you can restore it if something goes wrong (wrong manipulation or before an update, for example). By default, the file is stored in this folder ../plugins/UserAdvManager/include/backup/ and is called &quot;UAM_dbbackup.sql&quot;.
     336<br><br>
     337<b style=&quot;color: red;&quot;>Warning: The file is overwritten each backup action!</b>
     338<br><br>
     339It can sometimes be useful to retrieve the backup file on your computer. For example: To restore to another database, to outsource or to keep multiple save files. To do this, just check the box to download the file.
     340<br><br>
     341The recovery from this interface is available only for the local backup file (../plugins/UserAdvManager/include/backup/UAM_dbbackup.sql). Downloaded backup file can\'t be restored by this way. To do this, please use your dedicated database management tool (like PhpMyAdmin for MySql database).
     342<br><br>
     343<b style=&quot;color: red;&quot;>Warning: After the restore, it is necessary to reload the administration page of the plugin to see the restored settings!</b>';
    346344// --------- End: New or revised $lang ---- from version 2.30.0
    347345?>
  • extensions/UserAdvManager/trunk/language/en_UK/plugin.lang.php

    r12271 r12275  
    314314
    315315// --------- Starting below: New or revised $lang ---- from version 2.20.3
    316 $lang['UAM_DumpTxt'] = 'Backup your configuration';
    317316$lang['UAM_Dump_Download'] = 'To download the backup file, please check this box:';
    318317$lang['UAM_Save'] = 'Run backup';
     
    392391$lang['UAM_Default_CfmMail_Custom_Txt1'] = 'Welcome [username]! You have confirmed that you are human and may now use [mygallery]!';
    393392$lang['UAM_Default_CfmMail_Custom_Txt2'] = 'Your activation key is incorrect or expired or you have already validated your account, please contact the webmaster to fix this problem.';
     393$lang['UAM_DumpTxt'] = 'Backup and restore your configuration';
     394$lang['UAM_No_Backup_File'] = 'No backup file available!';
     395$lang['UAM_Restoration_NOK'] = 'An error occurred while restoring the configuration. Please check the validity of your backup file.';
     396$lang['UAM_Restoration_OK'] = 'Restoring your configuration completed successfully! Please reload UAM\'s administration page to view the restored settings.';
    394397// --------- End: New or revised $lang ---- from version 2.30.0
    395398?>
  • extensions/UserAdvManager/trunk/language/fr_FR/help.lang.php

    r12271 r12275  
    163163
    164164
    165 // --------- Starting below: New or revised $lang ---- from version 2.20.3
    166 $lang['UAM_DumpTitle'] = 'Sauvegarde de votre configuration';
    167 $lang['UAM_DumpTitle_d'] = 'Ceci vous permet de sauvegarder la configuration complète du plugin dans un fichier afin de pouvoir la restaurer en cas de problème (fausse manipulation ou avant une mise à jour, par exemple). Par défaut, le fichier est stocké dans le dossier ../plugins/UserAdvManager/include/backup/ et se nomme &quot;UAM_dbbackup.sql&quot;.
    168 <br><br>
    169 <b style=&quot;color: red;&quot;>Attention : Le fichier est écrasé à chaque action de sauvegarde !</b>
    170 <br><br>
    171 Il peut être parfois utile de récupérer le fichier de sauvegarde sur votre ordinateur. Par exemple : Pour une restauration sur une autre base de données, pour externaliser la sauvegarder ou pour conserver plusieurs fichiers. Pour cela, il suffit de cocher la case correspondante au téléchargement du fichier.
    172 <br><br>
    173 La restauration à partir de cette interface n\'est pas prise en charge. Utilisez des outils comme PhpMyAdmin.';
    174 // --------- End: New or revised $lang ---- from version 2.20.3
    175 
    176 
    177165// --------- Starting below: New or revised $lang ---- from version 2.20.4
    178166$lang['UAM_HidePasswTitle'] = 'Mot de passe en clair dans le mail d\'information';
     
    340328Le compte du webmaster, des administrateurs et de l\'invité (Guest) sont exclus de cette fonction.<br><br>
    341329Ces 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.';
     330$lang['UAM_DumpTitle'] = 'Sauvegarde et restauration de votre configuration';
     331$lang['UAM_DumpTitle_d'] = 'Ceci vous permet de sauvegarder la configuration complète du plugin dans un fichier afin de pouvoir la restaurer en cas de problème (fausse manipulation ou avant une mise à jour, par exemple). Par défaut, le fichier est stocké dans le dossier ../plugins/UserAdvManager/include/backup/ et se nomme &quot;UAM_dbbackup.sql&quot;.
     332<br><br>
     333<b style=&quot;color: red;&quot;>Attention : Le fichier est écrasé à chaque action de sauvegarde !</b>
     334<br><br>
     335Il peut être parfois utile de récupérer le fichier de sauvegarde sur votre ordinateur. Par exemple : Pour une restauration sur une autre base de données, pour externaliser la sauvegarder ou pour conserver plusieurs fichiers. Pour cela, il suffit de cocher la case correspondante au téléchargement du fichier.
     336<br><br>
     337La restauration à partir de cette interface ne prend en charge que la sauvegarde effectuée localement (../plugins/UserAdvManager/include/backup/UAM_dbbackup.sql). Il n\'est pas possible, ici, de réinjecter un fichier de sauvegarde téléchargé. Pour cela, veuillez utiliser l\'outil de gestion de votre base de données (pour MySql, on trouvera généralement PhpMyAdmin).
     338<br><br>
     339<b style=&quot;color: red;&quot;>Attention : Après la restauration, il est nécessaire de recharger la page d\'administration du plugin pour voir les paramètres restaurés !</b>';
    342340// --------- End: New or revised $lang ---- from version 2.30.0
    343341?>
  • extensions/UserAdvManager/trunk/language/fr_FR/plugin.lang.php

    r12271 r12275  
    313313
    314314// --------- Starting below: New or revised $lang ---- from version 2.20.3
    315 $lang['UAM_DumpTxt'] = 'Sauvegarde de votre configuration';
    316315$lang['UAM_Dump_Download'] = 'Pour télécharger le fichier de sauvegarde, cochez cette case:';
    317316$lang['UAM_Save'] = 'Exécuter la sauvegarde';
     
    389388$lang['UAM_Default_CfmMail_Custom_Txt1'] = 'Bienvenue [username]! Vous avez confirmé que vous étiez bien un humain et non une machine. Vous pouvez maintenant profiter pleinement de [mygallery]!';
    390389$lang['UAM_Default_CfmMail_Custom_Txt2'] = 'Votre clé d\'activation est incorrecte ou expirée ou vous avez déjà validé votre inscription. Merci de contacter le webmestre de la galerie pour résoudre le problème.';
     390$lang['UAM_DumpTxt'] = 'Sauvegarde et restauration de votre configuration';
     391$lang['UAM_Restore'] = 'Pour restaurer le fichier de sauvegarde de votre configuration. Attention ! Seul le fichier sauvegardé sur le serveur est pris en compte.';
     392$lang['UAM_Restore_File'] = 'Restauration de la configuration';
     393$lang['UAM_No_Backup_File'] = 'Pas de fichier de sauvegarde présent !';
     394$lang['UAM_Restoration_NOK'] = 'Une erreur est survenue lors de la restauration de la configuration. Veuillez vérifier la validité de votre fichier de sauvegarde.';
     395$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.';
    391396// --------- End: New or revised $lang ---- from version 2.30.0
    392397?>
Note: See TracChangeset for help on using the changeset viewer.