Overview
Comment: | Sauvegarde et restauration par fichier local OK |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
435b8438fca405322de6e6774cc9d305 |
User & Date: | bohwaz on 2013-02-11 17:22:56 |
Other Links: | manifest | tags |
Context
2013-02-11
| ||
17:38 | Utilisation de DATA_ROOT plutôt que ROOT pour stocker toutes les données de l'appli check-in: 1cd81eacbd user: bohwaz tags: trunk | |
17:22 | Sauvegarde et restauration par fichier local OK check-in: 435b8438fc user: bohwaz tags: trunk | |
17:07 | Partie fonctionnelle de la gestion des sauvegardes check-in: 3006216dd1 user: bohwaz tags: trunk | |
Changes
Modified include/lib.template.php from [1298a5c695] to [8e38845515].
︙ | ︙ | |||
532 533 534 535 536 537 538 539 540 541 542 543 544 545 | $tpl->register_modifier('format_sqlite_date_to_french', function ($d) { if (strlen($d) == 10) return \DateTime::createFromFormat('Y-m-d', $d)->format('d/m/Y'); else return \DateTime::createFromFormat('Y-m-d H:i:s', $d)->format('d/m/Y H:i'); }); //$tpl->register_modifier('retard_cotisation', array('Membres', 'checkCotisation')); $tpl->register_modifier('strftime_fr', 'Garradin\tpl_strftime_fr'); $tpl->register_modifier('date_fr', 'Garradin\tpl_date_fr'); ?> | > > > > > > > > > | 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 | $tpl->register_modifier('format_sqlite_date_to_french', function ($d) { if (strlen($d) == 10) return \DateTime::createFromFormat('Y-m-d', $d)->format('d/m/Y'); else return \DateTime::createFromFormat('Y-m-d H:i:s', $d)->format('d/m/Y H:i'); }); $tpl->register_modifier('format_bytes', function ($size) { if ($size > (1024 * 1024)) return round($size / 1024 / 1024, 2) . ' Mo'; elseif ($size > 1024) return round($size / 1024, 2) . ' Ko'; else return $size . ' ob_get_contents(oid)'; }); //$tpl->register_modifier('retard_cotisation', array('Membres', 'checkCotisation')); $tpl->register_modifier('strftime_fr', 'Garradin\tpl_strftime_fr'); $tpl->register_modifier('date_fr', 'Garradin\tpl_date_fr'); ?> |
Modified include/lib.utils.php from [611f01c8e1] to [ab237ec0bb].
︙ | ︙ | |||
567 568 569 570 571 572 573 574 575 576 | $out .= $get_ini_line($key, $value) . "\n"; } } return $out; } } ?> | > > > > > > > > > > > > > > > > > > > > | 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 | $out .= $get_ini_line($key, $value) . "\n"; } } return $out; } static public function getMaxUploadSize() { return min(array( self::return_bytes(ini_get('upload_max_filesize')), self::return_bytes(ini_get('post_max_size')), self::return_bytes(ini_get('memory_limit')) )); } static public function return_bytes ($size_str) { switch (substr($size_str, -1)) { case 'G': case 'g': return (int)$size_str * pow(1024, 3); case 'M': case 'm': return (int)$size_str * pow(1024, 2); case 'K': case 'k': return (int)$size_str * 1024; default: return $size_str; } } } ?> |
Modified templates/admin/config/donnees.tpl from [e5cf7f264c] to [3a3bc53e67].
︙ | ︙ | |||
102 103 104 105 106 107 108 | <p> {csrf_field key="backup_download"} <input type="submit" name="download" value="Télécharger une copie des données sur mon ordinateur" /> </p> </fieldset> </form> | | > > | | 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | <p> {csrf_field key="backup_download"} <input type="submit" name="download" value="Télécharger une copie des données sur mon ordinateur" /> </p> </fieldset> </form> <form method="post" action="{$self_url|escape}" enctype="multipart/form-data"> <fieldset> <legend><label for="f_file">Restaurer depuis un fichier</label></legend> <p class="alert"> Attention, l'intégralité des données courantes seront effacées et remplacées par celles contenues dans le fichier fourni. </p> <p class="help"> Une sauvegarde des données courantes sera effectuée avant le remplacement, en cas de besoin d'annuler cette restauration. </p> <p> {csrf_field key="backup_restore"} <input type="hidden" name="MAX_FILE_SIZE" value="{$max_file_size|escape}" /> <input type="file" name="file" id="f_file" /> (maximum {$max_file_size|format_bytes}) <input type="submit" name="restore_file" value="Restaurer depuis le fichier sélectionné →" /> </p> </fieldset> </form> {include file="admin/_foot.tpl"} |
Modified www/admin/config/donnees.php from [975fa1c668] to [c5c4df3394].
︙ | ︙ | |||
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | { if (!utils::CSRF_check('backup_config')) { $error = 'Une erreur est survenue, merci de renvoyer le formulaire.'; } else { $config->set('frequence_sauvegardes', utils::post('frequence_sauvegardes')); $config->set('nombre_sauvegardes', utils::post('nombre_sauvegardes')); $config->save(); utils::redirect('/admin/config/donnees.php?ok=config'); } } elseif (utils::post('create')) { if (!utils::CSRF_check('backup_create')) { $error = 'Une erreur est survenue, merci de renvoyer le formulaire.'; } else { $s->create(); utils::redirect('/admin/config/donnees.php?ok=create'); } } elseif (utils::post('download')) { if (!utils::CSRF_check('backup_download')) { $error = 'Une erreur est survenue, merci de renvoyer le formulaire.'; | > > > > > > > > | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | { if (!utils::CSRF_check('backup_config')) { $error = 'Une erreur est survenue, merci de renvoyer le formulaire.'; } else { try { $config->set('frequence_sauvegardes', utils::post('frequence_sauvegardes')); $config->set('nombre_sauvegardes', utils::post('nombre_sauvegardes')); $config->save(); utils::redirect('/admin/config/donnees.php?ok=config'); } catch (UserException $e) { $error = $e->getMessage(); } } } elseif (utils::post('create')) { if (!utils::CSRF_check('backup_create')) { $error = 'Une erreur est survenue, merci de renvoyer le formulaire.'; } else { try { $s->create(); utils::redirect('/admin/config/donnees.php?ok=create'); } catch (UserException $e) { $error = $e->getMessage(); } } } elseif (utils::post('download')) { if (!utils::CSRF_check('backup_download')) { $error = 'Une erreur est survenue, merci de renvoyer le formulaire.'; |
︙ | ︙ | |||
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | { if (!utils::CSRF_check('backup_manage')) { $error = 'Une erreur est survenue, merci de renvoyer le formulaire.'; } else { $s->restoreFromLocal(utils::post('file')); utils::redirect('/admin/config/donnees.php?ok=restore'); } } elseif (utils::post('remove')) { if (!utils::CSRF_check('backup_manage')) { $error = 'Une erreur est survenue, merci de renvoyer le formulaire.'; } else { $s->remove(utils::post('file')); utils::redirect('/admin/config/donnees.php?ok=remove'); } } $tpl->assign('error', $error); $tpl->assign('ok', utils::get('ok')); $tpl->assign('liste', $s->getList()); $tpl->display('admin/config/donnees.tpl'); ?> | > > > > > > > > > > > > > > > > > > > > > > > > > | 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | { if (!utils::CSRF_check('backup_manage')) { $error = 'Une erreur est survenue, merci de renvoyer le formulaire.'; } else { try { $s->restoreFromLocal(utils::post('file')); utils::redirect('/admin/config/donnees.php?ok=restore'); } catch (UserException $e) { $error = $e->getMessage(); } } } elseif (utils::post('remove')) { if (!utils::CSRF_check('backup_manage')) { $error = 'Une erreur est survenue, merci de renvoyer le formulaire.'; } else { try { $s->remove(utils::post('file')); utils::redirect('/admin/config/donnees.php?ok=remove'); } catch (UserException $e) { $error = $e->getMessage(); } } } elseif (utils::post('restore_file')) { if (!utils::CSRF_check('backup_restore')) { $error = 'Une erreur est survenue, merci de renvoyer le formulaire.'; } else { try { $s->restoreFromUpload($_FILES['file']); utils::redirect('/admin/config/donnees.php?ok=restore'); } catch (UserException $e) { $error = $e->getMessage(); } } } $tpl->assign('error', $error); $tpl->assign('ok', utils::get('ok')); $tpl->assign('liste', $s->getList()); $tpl->assign('max_file_size', utils::getMaxUploadSize()); $tpl->display('admin/config/donnees.tpl'); ?> |