public static function get_backup_information_from_mbz($filepath, file_progress $progress = null) {
        global $CFG;
        if (!is_readable($filepath)) {
            throw new backup_helper_exception('missing_moodle_backup_file', $filepath);
        }

        // Extract moodle_backup.xml.
        $tmpname = 'info_from_mbz_' . time() . '_' . random_string(4);
        $tmpdir = make_backup_temp_directory($tmpname);
        $fp = get_file_packer('application/vnd.moodle.backup');

        $extracted = $fp->extract_to_pathname($filepath, $tmpdir, array('moodle_backup.xml'), $progress);
        $moodlefile =  $tmpdir . '/' . 'moodle_backup.xml';
        if (!$extracted || !is_readable($moodlefile)) {
            throw new backup_helper_exception('missing_moodle_backup_xml_file', $moodlefile);
        }

        // Read the information and delete the temporary directory.
        $info = self::get_backup_information($tmpname);
        remove_dir($tmpdir);
        return $info;
    }