function display_bpblock($guild_id)
{
    global $config, $user, $phpbb_root_path, $template, $phpEx;
    //include the guilds class
    if (!class_exists('\\bbdkp\\controller\\guilds\\Guilds')) {
        require "{$phpbb_root_path}includes/bbdkp/controller/guilds/Guilds.{$phpEx}";
    }
    $Guild = new \bbdkp\controller\guilds\Guilds($guild_id);
    if (!class_exists('\\bbdkp\\controller\\raids\\GuildProgress')) {
        require "{$phpbb_root_path}includes/bbdkp/controller/raids/BossProgress.{$phpEx}";
    }
    $bp = new \bbdkp\controller\Raids\GuildProgress();
    $igame = new \bbdkp\controller\games\Game();
    $igame->game_id = $Guild->game_id;
    $igame->Get();
    $data = $bp->GetProgress($Guild);
    //loop the zones
    foreach ($data as $zone_id => $zone) {
        if ((int) $zone['zonecomplete'] <= 0) {
            $cssclass = 'bpprogress00';
        } elseif ((int) $zone['zonecomplete'] <= 25) {
            $cssclass = 'bpprogress25';
        } elseif ((int) $zone['zonecomplete'] <= 50) {
            $cssclass = 'bpprogress50';
        } elseif ((int) $zone['zonecomplete'] <= 75) {
            $cssclass = 'bpprogress75';
        } elseif ((int) $zone['zonecomplete'] <= 99) {
            $cssclass = 'bpprogress99';
        } elseif ((int) $zone['zonecomplete'] >= 100) {
            $cssclass = 'bpprogress100';
        }
        $template->assign_block_vars('zone', array('ZONE_NAME' => $zone['zonename'], 'ZONE_ID' => $zone['zoneid'], 'ZONECOMPLETE' => $zone['zonecomplete'], 'ZONEKILLS' => $zone['zonekills'], 'BOSSCOUNT' => $zone['zonebosses'], 'ZONE_URL' => sprintf($igame->getZonebaseurl(), $zone['webid']), 'CSSCLASS' => $cssclass));
        foreach ($zone['bosses'] as $boss_id => $boss) {
            $template->assign_block_vars('zone.boss', array('BOSS_NAME' => $boss['bossname'], 'BOSS_URL' => sprintf($igame->getBossbaseurl(), $boss['webid']), 'BOSS_KILLED' => $boss['bosskilled'] == "1" ? "1" : "0"));
        }
    }
}