tools-backups.html.twig 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <div class="backups-content">
  2. {% set data = admin.data('config/backups') %}
  3. {% set backups = grav.backups.getAvailableBackups() %}
  4. {% set profiles = grav.backups.getBackupProfiles() %}
  5. {% set purge_config = grav.backups.getPurgeConfig() %}
  6. {% set newest_date = (backups|first).date %}
  7. {% set newest_backup = newest_date ? newest_date|nicetime(false, false) : 'none' %}
  8. {% set oldest_date = (backups|last).date %}
  9. {% set oldest_backup = oldest_date ? oldest_date|nicetime(false, false) : 'none' %}
  10. {% switch purge_config.trigger %}
  11. {% case 'number' %}
  12. {% set count = backups|count %}
  13. {% set max_backups = purge_config.max_backups_count %}
  14. {% if max_backups > 0 %}
  15. {% set percent_used = count == 0 ? 0 : 100 - (count / max_backups * 100) %}
  16. {% else %}
  17. {% set percent_used = 100 %}
  18. {% endif %}
  19. {% set bar_msg = "PLUGIN_ADMIN.BACKUPS_PURGE_NUMBER"|t(count, purge_config.max_backups_count) %}
  20. {% case 'time' %}
  21. {% set last = backups|last %}
  22. {% set days = last == null ? 0 : (date('now')).diff(last.time).days %}
  23. {% set percent_used = days == 0 ? 0 : 100 - (days / purge_config.max_backups_time * 100) %}
  24. {% set bar_msg = "PLUGIN_ADMIN.BACKUPS_PURGE_TIME"|t(purge_config.max_backups_time - days) %}
  25. {% default %}
  26. {% set space_used = grav.backups.getTotalBackupsSize() %}
  27. {% set space_available = purge_config.max_backups_space * 1024 * 1024 * 1024 %}
  28. {% set percent_used = space_used == 0 ? 0 : 100 - (space_used / space_available * 100) %}
  29. {% set bar_msg = "PLUGIN_ADMIN.BACKUPS_PURGE_SPACE"|t(space_used|nicefilesize, space_available|nicefilesize) %}
  30. {% endswitch %}
  31. <div id="admin-dashboard">
  32. <div id="backups-stats" class="dashboard-item">
  33. <div class="primary-accent default-box-shadow">
  34. <h1>{{ "PLUGIN_ADMIN.BACKUPS_STATS"|t }}</h1>
  35. <div class="admin-statistics-chart">
  36. <div class="stats-info">
  37. <div id="backups-usage">
  38. <div class="backups-usage-wrapper">
  39. {% if percent_used >= 100 %}
  40. <div class="usage full"></div>
  41. {% else %}
  42. <div class="usage" style="width:{{ percent_used }}%"></div>
  43. {% endif %}
  44. </div>
  45. <h1>{{ bar_msg }}</h1>
  46. </div>
  47. </div>
  48. <div class="flush-bottom button-bar stats-bar">
  49. <span class="stat">
  50. <b>{{ backups|length }}</b>
  51. <i>{{ "PLUGIN_ADMIN.BACKUPS_COUNT"|t }}</i>
  52. </span>
  53. <span class="stat">
  54. <b>{{ profiles|count }}</b>
  55. <i>{{ "PLUGIN_ADMIN.BACKUPS_PROFILES_COUNT"|t }}</i>
  56. </span>
  57. <span class="stat">
  58. <b>{{ newest_backup }}</b>
  59. <i>{{ "PLUGIN_ADMIN.BACKUPS_NEWEST"|t }}</i>
  60. </span>
  61. <span class="stat">
  62. <b>{{ oldest_backup }}</b>
  63. <i>{{ "PLUGIN_ADMIN.BACKUPS_OLDEST"|t }}</i>
  64. </span>
  65. </div>
  66. </div>
  67. </div>
  68. </div>
  69. </div>
  70. {% include 'partials/blueprints.html.twig' with { blueprints: data.blueprints, data: data } %}
  71. {% include 'partials/modal-changes-detected.html.twig' %}
  72. </div>