function backup_migrate_ui_destination_display_files

cis7 destinations.inc backup_migrate_ui_destination_display_files($destination_id = NULL)
cle7 destinations.inc backup_migrate_ui_destination_display_files($destination_id = NULL)
elmsmedia7 destinations.inc backup_migrate_ui_destination_display_files($destination_id = NULL)
icor7 destinations.inc backup_migrate_ui_destination_display_files($destination_id = NULL)
meedjum_blog7 destinations.inc backup_migrate_ui_destination_display_files($destination_id = NULL)
mooc7 destinations.inc backup_migrate_ui_destination_display_files($destination_id = NULL)

List the backup files in the given destination.

1 string reference to 'backup_migrate_ui_destination_display_files'
backup_migrate_destination::get_menu_items in sites/all/modules/ulmus/backup_migrate/includes/destinations.inc
Add the menu items specific to the destination type.

File

sites/all/modules/ulmus/backup_migrate/includes/destinations.inc, line 280
All of the destination handling code needed for Backup and Migrate.

Code

function backup_migrate_ui_destination_display_files($destination_id = NULL) {
  drupal_add_css(drupal_get_path('module', 'backup_migrate') . '/backup_migrate.css');

  $rows = $sort = array();
  if ($destination = backup_migrate_get_destination($destination_id)) {
    // Refresh the file listing cache if requested.
    if (isset($_GET['refresh'])) {
      $destination->file_cache_clear();
      drupal_goto($_GET['q']);
    }

    drupal_set_title(t('@title Files', array('@title' => $destination->get_name())));
    $headers = array(
      array(
        'data' => t('Filename'),
        'field' => 'filename',
      ),
      array(
        'data' => t('Date'),
        'field' => 'filetime',
      ),
      array(
        'data' => t('Age'),
        'field' => 'filetime',
        'sort' => 'desc',
      ),
      array(
        'data' => t('Size'),
        'field' => 'filesize',
      ),
    );

    $sort_order = tablesort_get_order($headers);
    $sort_key = $sort_order['sql'] ? $sort_order['sql'] : 'filetime';
    $sort_dir = tablesort_get_sort($headers) == 'desc' ? SORT_DESC : SORT_ASC;

    $files = $destination->list_files();

    $i = 0;
    $ops = 0;
    foreach ((array) $files as $file) {
      $info = $file->info();
      $operations = $destination->get_file_links($file->file_id());

      $description = '';
      // Add the description as a new row.
      if (!empty($info['description'])) {
        $description = ' <div title="' . check_plain($info['description']) . '" class="backup-migrate-description">' . $info['description'] . '</div>';
      }

      // Show only files that can be restored from.
      if ($file->is_recognized_type()) {
        $sort[] = $info[$sort_key];
        $rows[] = array_merge(array(
          check_plain($info['filename']) . $description,
          format_date($info['filetime'], 'small'),
          format_interval(time() - $info['filetime'], 1),
          format_size($info['filesize']),
        ), $operations);
      }
      $ops = max($ops, count($operations));
    }

    // Add the operations if any
    if ($ops) {
      $headers[] = array(
        'data' => t('Operations'),
        'colspan' => $ops,
      );
    }

    array_multisort($sort, $sort_dir, $rows);

    if ($rows) {
      $out = theme('table', array('header' => $headers, 'rows' => $rows));
    }
    else {
      $out = t('There are no backup files to display.');
    }
    if ($destination->cache_files && $destination->fetch_time) {
      drupal_add_css(drupal_get_path('module', 'backup_migrate') . '/backup_migrate.css');
      $out .= '<div class="backup-migrate-cache-time">' . t('This listing was fetched !time ago. !refresh', array('!time' => format_interval(time() - $destination->fetch_time, 1), '!refresh' => l(t('fetch now'), $_GET['q'], array('query' => array('refresh' => 'true'))))) . '</div>';
    }
    return $out;
  }
  drupal_goto(BACKUP_MIGRATE_MENU_PATH . "/destination");
}