function __construct(viewNavigation $Navigation) { global $phpbb_root_path, $phpEx; $this->Raids = new \bbdkp\controller\raids\Raids(); $this->PointsController = new \bbdkp\controller\points\PointsController(); $this->PointsController->guild_id = $Navigation->getGuildId(); $this->PointsController->query_by_pool = $Navigation->getQueryByPool(); $this->PointsController->dkpsys_id = $Navigation->getDkpsysId(); $this->PointsController->show_inactive = $Navigation->getShowAll(); $this->PointsController->query_by_armor = $Navigation->getQueryByArmor(); $this->PointsController->armor_filter = ''; if ($this->PointsController->query_by_armor) { $this->PointsController->armor_filter = $Navigation->getFilter(); } $this->PointsController->query_by_class = $Navigation->getQueryByClass(); $this->PointsController->class_id = 0; if ($this->PointsController->query_by_class) { $this->PointsController->class_id = $Navigation->getClassId(); } $this->PointsController->query_by_rank = false; $this->PointsController->rankfilter = ''; if (request_var('rank', '') != '') { $this->PointsController->query_by_rank = true; $this->PointsController->rankfilter = request_var('rank', ''); } $this->PointsController->member_filter = utf8_normalize_nfc(request_var('member_name', '', true)); $this->PointsController->query_by_name = false; if ($this->PointsController->member_filter != '') { $this->PointsController->query_by_name = true; } $this->start = request_var('start', 0, false); $this->u_listmemberdkp = append_sid("{$phpbb_root_path}dkp.{$phpEx}", 'page=standings' . '&guild_id=' . $Navigation->getGuildId() . '&' . URI_DKPSYS . '=' . $this->PointsController->dkpsys_id . '&member_name=' . urlencode($this->PointsController->member_filter)); $this->buildpage($Navigation); }
public function buildpage(viewNavigation $Navigation) { global $db, $config, $phpbb_root_path, $phpEx, $user, $template; $loot = new \bbdkp\controller\loot\Loot(); $total_items = $loot->countloot('history', $Navigation->getGuildId(), $Navigation->getDkpsysId()); if ($Navigation->getDkpsysId() > 0) { $u_list_items = append_sid("{$phpbb_root_path}dkp.{$phpEx}", 'page=loothistory&guild_id=' . $Navigation->getGuildId() . '&' . URI_DKPSYS . '=' . $Navigation->getDkpsysId()); } else { $u_list_items = append_sid("{$phpbb_root_path}dkp.{$phpEx}", 'page=loothistory&guild_id=' . $Navigation->getGuildId()); } $listitems_footcount = sprintf($user->lang['LISTPURCHASED_FOOTCOUNT'], $total_items, $config['bbdkp_user_ilimit']); $sort_order = array(0 => array('item_date desc, item_value desc', 'item_date asc, item_value desc'), 1 => array('member_name asc, item_value desc', 'member_name desc, item_value desc'), 2 => array('item_name asc, item_value desc', 'item_name desc, item_value desc'), 3 => array('event_name asc, item_value desc', 'event_name desc, item_value desc'), 4 => array('item_value desc', 'item_value asc')); $current_order = $Navigation->switch_order($sort_order); $start = request_var('start', 0); $pagination = generate_pagination($u_list_items . '&o=' . $current_order['uri']['current'], $total_items, $config['bbdkp_user_ilimit'], $start, true); $items_result = $loot->GetAllLoot($current_order['sql'], $Navigation->getGuildId(), $Navigation->getDkpsysId(), 0, $start, 0); $number_items = 0; $item_value = 0.0; $item_decay = 0.0; $item_total = 0.0; while ($item = $db->sql_fetchrow($items_result)) { if ($Navigation->bbtips == true && $item['item_gameid'] == 'wow') { $valuename = '<strong>' . $Navigation->bbtips->parse('[itemdkp]' . $item['item_name'] . '[/itemdkp]') . '</strong>'; } else { $valuename = $item['item_name']; } $member = new \bbdkp\controller\members\Members($item['member_id']); $template->assign_block_vars('items_row', array('DATE' => !empty($item['item_date']) ? date($config['bbdkp_date_format'], $item['item_date']) : ' ', 'ITEMNAME' => $valuename, 'U_VIEW_ITEM' => append_sid("{$phpbb_root_path}dkp.{$phpEx}", "page=item&" . URI_ITEM . '=' . $item['item_id']), 'RAID' => !empty($item['event_name']) ? $item['event_name'] : '<<i>' . $user->lang['NOT_AVAILABLE'] . '</i>>', 'U_VIEW_RAID' => append_sid("{$phpbb_root_path}dkp.{$phpEx}", "page=raid&" . URI_RAID . '=' . $item['raid_id']), 'EVENT_COLOR' => !empty($item['event_color']) ? $item['event_color'] : '#254689', 'ITEMVALUE' => sprintf("%.2f", $item['item_value']), 'DECAYVALUE' => sprintf("%.2f", $item['item_decay']), 'TOTAL' => sprintf("%.2f", $item['item_net']), 'BUYER' => $item['member_name'], 'U_VIEW_BUYER' => append_sid("{$phpbb_root_path}dkp.{$phpEx}", "page=member&" . URI_NAMEID . '=' . $item['member_id'] . '&' . URI_DKPSYS . '=' . $item['event_dkpid']), 'RACE_IMAGE' => $member->race_image, 'S_RACE_IMAGE_EXISTS' => strlen($member->race_image) > 1 ? true : false, 'CLASSCOLOR' => $member->colorcode, 'CLASS_IMAGE' => $member->class_image, 'S_CLASS_IMAGE_EXISTS' => strlen($member->class_image) > 1 ? true : false)); unset($member); $number_items++; $item_value += $item['item_value']; $item_decay += $item['item_decay']; $item_total += $item['item_net']; } $db->sql_freeresult($items_result); // breadcrumbs menu $navlinks_array = array(array('DKPPAGE' => $user->lang['MENU_ITEMHIST'], 'U_DKPPAGE' => $u_list_items)); foreach ($navlinks_array as $name) { $template->assign_block_vars('dkpnavlinks', array('DKPPAGE' => $name['DKPPAGE'], 'U_DKPPAGE' => $name['U_DKPPAGE'])); } $template->assign_vars(array('F_LISTITEM' => $u_list_items, 'O_DATE' => $u_list_items . '&o=' . $current_order['uri'][0] . '&start=' . $start, 'O_BUYER' => $u_list_items . '&o=' . $current_order['uri'][1] . '&start=' . $start, 'O_ITEMNAME' => $u_list_items . '&o=' . $current_order['uri'][2] . '&start=' . $start, 'O_RAID' => $u_list_items . '&o=' . $current_order['uri'][3] . '&start=' . $start, 'O_VALUE' => $u_list_items . '&o=' . $current_order['uri'][4] . '&start=' . $start, 'S_SHOWTIME' => $config['bbdkp_timebased'] == '1' ? true : false, 'S_SHOWDECAY' => $config['bbdkp_decay'] == '1' ? true : false, 'S_SHOWEPGP' => $config['bbdkp_epgp'] == '1' ? true : false, 'TOTAL_ITEMVALUE' => sprintf("%.2f", $item_value), 'TOTAL_ITEMDECAY' => sprintf("%.2f", $item_decay), 'TOTAL_ITEMTOTAL' => sprintf("%.2f", $item_total), 'LISTITEMS_FOOTCOUNT' => $listitems_footcount, 'ITEM_PAGINATION' => $pagination, 'S_DISPLAY_LOOTHISTORY' => true)); $title = $user->lang['MENU_ITEMHIST']; // Output page page_header($title); }
public function buildpage(viewNavigation $Navigation) { global $phpbb_root_path, $phpEx, $user, $template; $u_listevents = append_sid("{$phpbb_root_path}dkp.{$phpEx}", 'page=listevents&guild_id=' . $Navigation->getGuildId()); $navlinks_array = array(array('DKPPAGE' => $user->lang['MENU_EVENTS'], 'U_DKPPAGE' => $u_listevents)); foreach ($navlinks_array as $name) { $template->assign_block_vars('dkpnavlinks', array('DKPPAGE' => $name['DKPPAGE'], 'U_DKPPAGE' => $name['U_DKPPAGE'])); } if (!class_exists('\\bbdkp\\controller\\raids\\Events')) { require "{$phpbb_root_path}includes/bbdkp/controller/raids/Events.{$phpEx}"; } $event = new \bbdkp\controller\raids\Events(); $event->countevents($Navigation->getDkpsysId()); $event->viewlistevents($Navigation->getGuildId()); $template->assign_vars(array('U_LIST_EVENTS' => $u_listevents, 'S_DISPLAY_LISTEVENTS' => true)); $title = $user->lang['EVENTS']; // Output page page_header($title); }
/** * View Bossprogress page * @param viewNavigation $Navigation */ public function buildpage(viewNavigation $Navigation) { global $phpbb_root_path, $phpEx, $user, $template, $config; $igame = new \bbdkp\controller\games\Game(); $igame->game_id = $Navigation->getGameId(); $igame->Get(); $Guild = new \bbdkp\controller\guilds\Guilds($Navigation->getGuildId()); $bp = new \bbdkp\controller\Raids\GuildProgress(); $data = $bp->GetProgress($Guild); $numzones = 0; foreach ($data as $zone_id => $zone) { $numzones += 1; } $start = request_var('start', 0); $template->assign_vars(array('S_STYLE' => $config['bbdkp_zone_style'], 'S_BPSHOW' => true, 'GAMELOGO' => $phpbb_root_path . 'images/bbdkp/gameworld/' . $Guild->game_id . '/' . $Guild->game_id . '.png', 'F_BP' => \append_sid("{$phpbb_root_path}dkp.{$phpEx}", 'page=bossprogress&guild_id=' . $Navigation->getGuildId()), 'GAME_ID' => $Navigation->getGameId(), 'GAME_NAME' => $igame->getName(), 'GUILD_ID' => $Guild->guildid, 'PAGE_NUMBER' => \on_page($numzones, 2, $start), 'PAGINATION' => \generate_pagination(append_sid("{$phpbb_root_path}dkp.{$phpEx}", "page=bossprogress&guild_id=" . $Guild->guildid), $numzones, 2, $start, true), 'U_BPIMG' => "{$phpbb_root_path}images/bbdkp/gameworld/{$Navigation->getGameId()}/{$Navigation->getGameId()}.png")); $i = 0; $j = 0; //loop the zones foreach ($data as $zone_id => $zone) { $i += 1; if ($i >= $start) { $j += 1; //show max 2 zones per page if ($j <= 2) { $template->assign_block_vars('zone', array('ZONE_NAME' => $zone['zonename'], 'ZONE_ID' => $zone['zoneid'], 'ZONE_PROGRESSIMG' => $zone['zoneimage'], 'ZONE_BACKGROUNDIMG' => $zone['zonebackground'], 'ZONECOMPLETE' => $zone['zonecomplete'], 'ZONESTATS' => $zone['zonestats'])); foreach ($zone['bosses'] as $boss_id => $boss) { $killdate = ''; if ($boss['bosskilldate'] != '') { $killdate = date($config['bbdkp_date_format'], $boss['bosskilldate']); // convert UNIX timestamp to PHP DateTime } if ($boss['bosskilled'] == 0) { $bossimg = "{$phpbb_root_path}images/bbdkp/gameworld/" . $Guild->game_id . '/bosses/' . $boss['imagename'] . '_b.png'; } else { $bossimg = "{$phpbb_root_path}images/bbdkp/gameworld/" . $Guild->game_id . '/bosses/' . $boss['imagename'] . '.png'; } $template->assign_block_vars('zone.boss', array('BOSS_NAME' => $boss['bossname'], 'BOSS_IMAGENAME' => $bossimg, 'BOSS_ID' => $boss['id'], 'BOSS_WEBID' => $boss['webid'], 'BOSS_TYPE' => $boss['type'], 'BOSS_URL' => sprintf($igame->getBossbaseurl(), $boss['webid']), 'BOSS_URLVIEW' => $phpbb_root_path . "images/bbdkp/icons/view.gif", 'BOSS_KILLED' => $boss['bosskilled'] == 1 ? 'checked="checked"' : '', 'BOSS_SHOW' => $boss['bossshow'] == 1 ? "checked=checked" : '', 'BOSS_KILLDATE' => $killdate, 'BOSS_COUNTER' => $boss['bosscounter'], 'S_BOSS_KILLED' => $boss['bosskilled'])); } } } } page_header($user->lang['MENU_BOSS']); }
public function buildpage(viewNavigation $Navigation) { global $db, $config, $phpbb_root_path, $phpEx, $user, $template; $raids = new \bbdkp\controller\raids\Raids(); $start = request_var('start', 0); // get sort order $sort_order = array(0 => array('raid_start desc', 'raid_start'), 1 => array('dkpsys_name', 'dkpsys_name desc'), 2 => array('event_name', 'event_name desc'), 3 => array('raid_note', 'raid_note desc'), 4 => array('raid_value desc', 'raid_value')); $current_order = $Navigation->switch_order($sort_order); //total raids in the last year $total_raids = $raids->raidcount($Navigation->getDkpsysId(), 365, 0, 1, true, $Navigation->getGuildId()); if ($Navigation->getQueryByPool()) { $pagination = generate_pagination(append_sid("{$phpbb_root_path}dkp.{$phpEx}", 'page=listraids&' . URI_DKPSYS . '=' . $Navigation->getDkpsysId() . '&o=' . $current_order['uri']['current']), $total_raids, $config['bbdkp_user_rlimit'], $start, true); $u_list_raids = append_sid("{$phpbb_root_path}dkp.{$phpEx}", 'page=listraids&' . URI_DKPSYS . '=' . $Navigation->getDkpsysId() . '&guild_id=' . $Navigation->getGuildId()); } else { $pagination = generate_pagination(append_sid("{$phpbb_root_path}dkp.{$phpEx}", 'page=listraids&' . URI_DKPSYS . '=All&o=' . $current_order['uri']['current']), $total_raids, $config['bbdkp_user_rlimit'], $start, true); $u_list_raids = append_sid("{$phpbb_root_path}dkp.{$phpEx}", 'page=listraids&guild_id=' . $Navigation->getGuildId()); } $raids_result = $raids->getRaids('r.raid_start DESC', $Navigation->getDkpsysId(), 0, $start, 0, $Navigation->getGuildId()); while ($raid = $db->sql_fetchrow($raids_result)) { $template->assign_block_vars('raids_row', array('DATE' => !empty($raid['raid_start']) ? date($config['bbdkp_date_format'], $raid['raid_start']) : ' ', 'NAME' => $raid['event_name'], 'U_VIEW_RAID' => append_sid("{$phpbb_root_path}dkp.{$phpEx}", 'page=raid&' . URI_RAID . '=' . $raid['raid_id'] . '&guild_id=' . $Navigation->getGuildId()), 'U_VIEW_EVENT' => append_sid("{$phpbb_root_path}dkp.{$phpEx}", 'page=event&' . URI_EVENT . '=' . $raid['event_id'] . '&' . URI_DKPSYS . '=' . $raid['event_dkpid'] . '&guild_id=' . $Navigation->getGuildId()), 'POOL' => $Navigation->getDkpsysName(), 'EVENTCOLOR' => !empty($raid['event_color']) ? $raid['event_color'] : '#254689', 'NOTE' => !empty($raid['raid_note']) ? $raid['raid_note'] : ' ', 'ATTENDEES' => $raid['attendees'], 'RAIDVALUE' => $raid['raid_value'], 'TIMEBONUS' => $raid['time_value'], 'ZSBONUS' => $raid['zs_value'], 'DECAYVALUE' => $raid['raiddecay'], 'TOTAL' => $raid['net_earned'])); } $sortlink = array(); for ($i = 0; $i <= 4; $i++) { if ($Navigation->getQueryByPool()) { $sortlink[$i] = append_sid($phpbb_root_path . 'dkp.' . $phpEx, 'page=listraids&o=' . $current_order['uri'][$i] . '&start=' . $start . '&' . URI_DKPSYS . '=' . $Navigation->getDkpsysId()); } else { $sortlink[$i] = append_sid($phpbb_root_path . 'dkp.' . $phpEx, 'page=listraids&o=' . $current_order['uri'][$i] . '&start=' . $start . '&' . URI_DKPSYS . '=All'); } } // breadcrumbs $template->assign_block_vars('dkpnavlinks', array('DKPPAGE' => $user->lang['MENU_RAIDS'], 'U_DKPPAGE' => $u_list_raids)); $template->assign_vars(array('S_SHOWZS' => $config['bbdkp_zerosum'] == '1' ? true : false, 'S_SHOWTIME' => $config['bbdkp_timebased'] == '1' ? true : false, 'S_SHOWDECAY' => $config['bbdkp_decay'] == '1' ? true : false, 'S_EPGP' => $config['bbdkp_epgp'] == '1' ? true : false, 'O_DATE' => $sortlink[0], 'O_POOL' => $sortlink[1], 'O_NAME' => $sortlink[2], 'O_NOTE' => $sortlink[3], 'O_VALUE' => $sortlink[4], 'U_LIST_RAIDS' => $u_list_raids, 'LISTRAIDS_FOOTCOUNT' => sprintf($user->lang['LISTRAIDS_FOOTCOUNT'], $total_raids, $config['bbdkp_user_rlimit']), 'START' => $start, 'RAID_PAGINATION' => $pagination, 'S_DISPLAY_RAIDS' => true)); // Output page page_header($user->lang['RAIDS']); }
public function buildpage(viewNavigation $Navigation) { global $config, $phpbb_root_path, $phpEx, $user, $template; $classes = array(); $members = new \bbdkp\controller\members\Members(); $members->game_id = $Navigation->getGameId(); $start = request_var('start', 0); $mode = request_var('rosterlayout', 0); $member_filter = utf8_normalize_nfc(request_var('member_name', '', true)); $url = append_sid("{$phpbb_root_path}dkp.{$phpEx}", 'page=roster&rosterlayout=' . $mode . '&guild_id=' . $Navigation->getGuildId()); $characters = $members->getmemberlist($start, $mode, $Navigation->getQueryByArmor(), $Navigation->getQueryByClass(), $Navigation->getFilter(), $Navigation->getGameId(), $Navigation->getGuildId(), $Navigation->getClassId(), $Navigation->getRaceId(), $Navigation->getLevel1(), $Navigation->getLevel2(), false, $member_filter, 0); $rosterlayoutlist = array(0 => $user->lang['ARM_STAND'], 1 => $user->lang['ARM_CLASS']); foreach ($rosterlayoutlist as $lid => $lname) { $template->assign_block_vars('rosterlayout_row', array('VALUE' => $lid, 'SELECTED' => $lid == $mode ? ' selected="selected"' : '', 'OPTION' => $lname)); } if ($mode == 0) { /* * Displays the listing */ // use pagination foreach ($characters[0] as $char) { $template->assign_block_vars('members_row', array('MEMBER_ID' => $char['member_id'], 'U_VIEW_MEMBER' => append_sid("{$phpbb_root_path}dkp.{$phpEx}", 'page=member&' . URI_NAMEID . '=' . $char['member_id'] . '&' . URI_DKPSYS . '=' . 0), 'GAME' => $char['game_id'], 'COLORCODE' => $char['colorcode'], 'CLASS' => $char['class_name'], 'NAME' => $char['member_name'], 'RACE' => $char['race_name'], 'RANK' => $char['member_rank'], 'LVL' => $char['member_level'], 'ARMORY' => $char['member_armory_url'], 'PHPBBUID' => $char['username'], 'PORTRAIT' => $char['member_portrait_url'], 'ACHIEVPTS' => $char['member_achiev'], 'CLASS_IMAGE' => $char['class_image'], 'RACE_IMAGE' => $char['race_image'])); } $rosterpagination = $Navigation->generate_pagination2($url . '&o=' . $characters[1]['uri']['current'], $characters[2], $config['bbdkp_user_llimit'], $start, true, 'start'); // add navigationlinks $navlinks_array = array(array('DKPPAGE' => $user->lang['MENU_ROSTER'], 'U_DKPPAGE' => $url)); foreach ($navlinks_array as $name) { $template->assign_block_vars('dkpnavlinks', array('DKPPAGE' => $name['DKPPAGE'], 'U_DKPPAGE' => $name['U_DKPPAGE'])); } $template->assign_vars(array('ROSTERPAGINATION' => $rosterpagination, 'O_NAME' => $url . '&' . URI_ORDER . '=' . $characters[1]['uri'][0], 'O_CLASS' => $url . '&' . URI_ORDER . '=' . $characters[1]['uri'][2], 'O_RANK' => $url . '&' . URI_ORDER . '=' . $characters[1]['uri'][3], 'O_LEVEL' => $url . '&' . URI_ORDER . '=' . $characters[1]['uri'][4], 'O_PHPBB' => $url . '&' . URI_ORDER . '=' . $characters[1]['uri'][5], 'O_ACHI' => $url . '&' . URI_ORDER . '=' . $characters[1]['uri'][6])); // add template constants $template->assign_vars(array('S_RSTYLE' => '0', 'S_SHOWACH' => $config['bbdkp_show_achiev'], 'LISTMEMBERS_FOOTCOUNT' => 'Total members : ' . $characters[2], 'S_DISPLAY_ROSTERLISTING' => true)); } elseif ($mode == 1) { //display grid $classgroup = $members->get_classes($Navigation->getFilter(), $Navigation->getQueryByArmor(), $Navigation->getClassId(), $Navigation->getGameId(), $Navigation->getGuildId(), $Navigation->getRaceId(), $Navigation->getLevel1(), $Navigation->getLevel2()); if (count($classgroup) > 0) { foreach ($classgroup as $row1) { $classes[$row1['class_id']]['name'] = $row1['class_name']; $classes[$row1['class_id']]['imagename'] = $row1['imagename']; $classes[$row1['class_id']]['colorcode'] = $row1['colorcode']; } foreach ($classes as $classid => $class) { $classimgurl = $phpbb_root_path . "images/bbdkp/roster_classes/" . $class['imagename'] . '.png'; $classcolor = $class['colorcode']; $template->assign_block_vars('class', array('CLASSNAME' => $class['name'], 'CLASSIMG' => $classimgurl, 'COLORCODE' => $classcolor)); $classmembers = 1; foreach ($characters[0] as $row2) { if ($row2['member_class_id'] == $classid) { $template->assign_block_vars('class.members_row', array('MEMBER_ID' => $row2['member_id'], 'GAME' => $row2['game_id'], 'COLORCODE' => $row2['colorcode'], 'CLASS' => $row2['class_name'], 'NAME' => $row2['member_name'], 'RACE' => $row2['race_name'], 'RANK' => $row2['member_rank'], 'LVL' => $row2['member_level'], 'ARMORY' => $row2['member_armory_url'], 'PHPBBUID' => $row2['username'], 'PORTRAIT' => $row2['member_portrait_url'], 'ACHIEVPTS' => $row2['member_achiev'], 'CLASS_IMAGE' => $row2['class_image'], 'RACE_IMAGE' => $row2['race_image'])); $classmembers++; } } } $rosterpagination = $Navigation->generate_pagination2($url . '&o=' . $characters[1]['uri']['current'], count($characters[0]), $config['bbdkp_user_llimit'], $start, true, 'start'); if (isset($characters[1]) && sizeof($characters[1]) > 0) { $template->assign_vars(array('ROSTERPAGINATION' => $rosterpagination, 'U_LIST_MEMBERS0' => $url . '&' . URI_ORDER . '=' . $characters[1]['uri'][0], 'U_LIST_MEMBERS1' => $url . '&' . URI_ORDER . '=' . $characters[1]['uri'][1], 'U_LIST_MEMBERS2' => $url . '&' . URI_ORDER . '=' . $characters[1]['uri'][2], 'U_LIST_MEMBERS3' => $url . '&' . URI_ORDER . '=' . $characters[1]['uri'][3], 'U_LIST_MEMBERS4' => $url . '&' . URI_ORDER . '=' . $characters[1]['uri'][4])); } // add template constants $template->assign_vars(array('S_SHOWACH' => $config['bbdkp_show_achiev'], 'LISTMEMBERS_FOOTCOUNT' => 'Total members : ' . count($characters[0]), 'S_DISPLAY_ROSTERGRID' => true)); } // add menu navigationlinks $navlinks_array = array(array('DKPPAGE' => $user->lang['MENU_ROSTER'], 'U_DKPPAGE' => $url)); foreach ($navlinks_array as $name) { $template->assign_block_vars('dkpnavlinks', array('DKPPAGE' => $name['DKPPAGE'], 'U_DKPPAGE' => $name['U_DKPPAGE'])); } $template->assign_vars(array('S_RSTYLE' => '1')); } $template->assign_vars(array('MEMBER_NAME' => $member_filter, 'S_MULTIGAME' => sizeof($Navigation->games) > 1 ? true : false, 'S_DISPLAY_ROSTER' => true, 'F_ROSTER' => $url, 'S_GAME' => $members->game_id)); $header = $user->lang['GUILDROSTER']; page_header($header); }
public function buildpage(viewNavigation $Navigation) { global $db, $config, $phpbb_root_path, $phpEx, $user, $template; $raids = array(); if (!(isset($_GET[URI_EVENT]) && isset($_GET[URI_DKPSYS]))) { trigger_error($user->lang['ERROR_EVENT_UNKNOWN']); } if (!class_exists('\\bbdkp\\controller\\raids\\Events')) { require "{$phpbb_root_path}includes/bbdkp/controller/raids/Events.{$phpEx}"; } $event_id = request_var(URI_EVENT, 0); $url = append_sid("{$phpbb_root_path}dkp.{$phpEx}", 'page=event&' . URI_EVENT . '=' . $event_id . '&' . URI_DKPSYS . '=' . $Navigation->getDkpsysId()); $event = new \bbdkp\controller\raids\Events(); $event->get($event_id); if (strlen($event->event_imagename) > 0) { $eventimg = $phpbb_root_path . "images/bbdkp/event_images/" . $event->event_imagename . ".png"; } else { $eventimg = $phpbb_root_path . "images/bbdkp/event_images/dummy.png"; } $template->assign_vars(array('EVENTNAME' => $event->event_name, 'VALUE' => $event->event_value, 'IMAGEPATH' => $eventimg, 'RECORDED_RAID_HISTORY' => sprintf($user->lang['RECORDED_RAID_HISTORY'], $event->event_name))); $sort_order = array(0 => array('raid_start desc', 'raid_start'), 1 => array('raid_note', 'raid_note desc'), 2 => array('raid_value desc', 'raid_value')); $current_order = $Navigation->switch_order($sort_order); $sql_array = array('SELECT' => ' e.event_dkpid, e.event_name, r.raid_id, r.raid_start, r.raid_note, r.raid_added_by, r.raid_updated_by, SUM(ra.raid_value) as raid_value, SUM(ra.time_bonus) as time_value, SUM(ra.zerosum_bonus) as zs_value, SUM(ra.raid_decay) as raiddecay, SUM(ra.raid_value + ra.time_bonus + ra.zerosum_bonus - ra.raid_decay) as total', 'FROM' => array(EVENTS_TABLE => 'e', RAIDS_TABLE => 'r', RAID_DETAIL_TABLE => 'ra', MEMBER_LIST_TABLE => 'l'), 'WHERE' => ' ra.raid_id = r.raid_id AND r.event_id = e.event_id AND e.event_id = ' . (int) $event_id . ' AND ra.member_id = l.member_id AND l.member_guild_id = ' . $Navigation->getGuildId(), 'GROUP_BY' => 'e.event_dkpid, e.event_name, r.raid_id, r.raid_start, r.raid_note, r.raid_added_by, r.raid_updated_by', 'ORDER_BY' => $current_order['sql']); $sql = $db->sql_build_query('SELECT', $sql_array); $result = $db->sql_query($sql); $raid_count = 0; while ($row = $db->sql_fetchrow($result)) { $raid_count++; } if ($raid_count > 0) { $startr = request_var('startr', 0); // get requested window $raid_ids = array(); $result = $db->sql_query_limit($sql, $config['bbdkp_user_rlimit'], $startr); while ($row = $db->sql_fetchrow($result)) { $raids[$row['raid_id']] = array('event_name' => $row['event_name'], 'raid_id' => $row['raid_id'], 'raid_start' => $row['raid_start'], 'raid_note' => $row['raid_note'], 'raid_value' => $row['raid_value'], 'time_value' => $row['time_value'], 'zs_value' => $row['zs_value'], 'raiddecay' => $row['raiddecay'], 'total' => $row['total']); $raid_ids[] = $row['raid_id']; } $db->sql_freeresult($result); // Find the attendees at each raid $sql = 'SELECT raid_id, count(member_id) AS countatt FROM ' . RAID_DETAIL_TABLE . ' WHERE ' . $db->sql_in_set('raid_id', $raid_ids) . ' GROUP BY raid_id'; $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) { $raids[$row['raid_id']]['numattendees'] = $row['countatt']; } $db->sql_freeresult($result); //calculate the average event attendance and droprate // Find the item drops for each raid $sql = 'SELECT raid_id, count(item_id) AS countatt FROM ' . RAID_ITEMS_TABLE . ' WHERE ' . $db->sql_in_set('raid_id', $raid_ids) . ' GROUP BY raid_id'; $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) { $raids[$row['raid_id']]['numitems'] = $row['countatt']; } $db->sql_freeresult($result); $total_drop_count = 0; $total_attendees_count = 0; $total_earned = 0; // Loop through the raids for this event $total_raid_count = sizeof($raids); foreach ($raids as $raid_id => $raid) { $drop_count = isset($raid['numitems']) ? $raid['numitems'] : 0; $attendees_count = isset($raid['numattendees']) ? $raid['numattendees'] : 0; $template->assign_block_vars('raids_row', array('U_VIEW_RAID' => append_sid("{$phpbb_root_path}dkp.{$phpEx}", 'page=raid&' . URI_RAID . '=' . $raid['raid_id']), 'DATE' => date($config['bbdkp_date_format'], $raid['raid_start']), 'ATTENDEES' => $attendees_count, 'DROPS' => $drop_count, 'NOTE' => !empty($raid['raid_note']) ? $raid['raid_note'] : ' ', 'RAIDVALUE' => $raid['raid_value'], 'TIMEVALUE' => $raid['time_value'], 'ZSVALUE' => $raid['zs_value'], 'DECAYVALUE' => $raid['raiddecay'], 'TOTAL' => $raid['total'])); $total_drop_count += $drop_count; $total_attendees_count += $attendees_count; $total_earned += $raid['raid_value']; } // Prevent div by 0 $average_attendees = $total_raid_count > 0 ? round($total_attendees_count / $total_raid_count, 2) : 0; $average_drops = $total_drop_count > 0 ? round($total_drop_count / $total_raid_count, 2) : 0; $raidpagination = $Navigation->generate_pagination2($url . '&o1=' . $current_order['uri']['current'], $raid_count, $config['bbdkp_user_rlimit'], $startr, true, 'startr'); $start = request_var('start', 0); // item selection $sql_array = array('SELECT' => 'i.item_id, i.item_gameid, i.item_name, i.item_gameid, i.member_id, i.item_zs, l.member_name, c.colorcode, c.imagename, l.member_gender_id, a.image_female, a.image_male, i.item_date, i.raid_id, i.item_value, i.item_decay, i.item_value - i.item_decay as item_total', 'FROM' => array(CLASS_TABLE => 'c', RACE_TABLE => 'a', MEMBER_LIST_TABLE => 'l', RAID_ITEMS_TABLE => 'i'), 'WHERE' => 'c.class_id = l.member_class_id AND c.game_id = l.game_id AND l.member_race_id = a.race_id AND a.game_id = l.game_id and l.member_id = i.member_id AND ' . $db->sql_in_set('raid_id', $raid_ids)); $sql = $db->sql_build_query('SELECT', $sql_array); $result = $db->sql_query_limit($sql, $config['bbdkp_user_ilimit'], $start); $number_items = 0; $item_value = 0.0; $item_decay = 0.0; $item_total = 0.0; while ($row = $db->sql_fetchrow($result)) { if ($Navigation->bbtips == true && $row['item_gameid'] == 'wow') { $item_name = '<strong>' . $Navigation->bbtips->parse('[itemdkp]' . $row['item_name'] . '[/itemdkp]') . '</strong>'; } else { $item_name = '<strong>' . $row['item_name'] . '</strong>'; } $race_image = (string) ($row['member_gender_id'] == 0 ? $row['image_male'] : $row['image_female']); $template->assign_block_vars('items_row', array('DATE' => date($config['bbdkp_date_format'], $row['item_date']), 'U_VIEW_RAID' => append_sid("{$phpbb_root_path}dkp.{$phpEx}", 'page=raid&' . URI_RAID . '=' . $row['raid_id']), 'COLORCODE' => $row['colorcode'] == '' ? '#254689' : $row['colorcode'], 'CLASS_IMAGE' => strlen($row['imagename']) > 1 ? $phpbb_root_path . "images/bbdkp/class_images/" . $row['imagename'] . ".png" : '', 'S_CLASS_IMAGE_EXISTS' => strlen($row['imagename']) > 1 ? true : false, 'RACE_IMAGE' => strlen($race_image) > 1 ? $phpbb_root_path . "images/bbdkp/race_images/" . $race_image . ".png" : '', 'S_RACE_IMAGE_EXISTS' => strlen($race_image) > 1 ? true : false, 'BUYER' => !empty($row['member_name']) ? $row['member_name'] : '<<i>Not Found</i>>', 'U_VIEW_MEMBER' => append_sid("{$phpbb_root_path}dkp.{$phpEx}", 'page=member&' . URI_NAMEID . '=' . $row['member_id'] . '&' . URI_DKPSYS . '=' . $Navigation->getDkpsysId()), 'ITEMNAME' => $item_name, 'U_VIEW_ITEM' => append_sid("{$phpbb_root_path}dkp.{$phpEx}", 'page=item&' . URI_ITEM . '=' . $row['item_id']), 'ITEM_ZS' => $row['item_zs'] == 1 ? ' checked="checked"' : '', 'ITEMVALUE' => $row['item_value'], 'DECAYVALUE' => $row['item_decay'], 'TOTAL' => $row['item_total'])); $number_items++; $item_value += $row['item_value']; $item_decay += $row['item_decay']; $item_total += $row['item_total']; } $itempagination = generate_pagination($url, $total_drop_count, $config['bbdkp_user_ilimit'], $start, true); $template->assign_vars(array('RAIDPAGINATION' => $raidpagination, 'O_DATE' => $current_order['uri'][0], 'O_NOTE' => $current_order['uri'][1], 'O_VALUE' => $current_order['uri'][2], 'DKPPOOL' => $event->dkpsys_name, 'AVERAGE_ATTENDEES' => $average_attendees, 'AVERAGE_DROPS' => $average_drops, 'TOTAL_EARNED' => sprintf("%.2f", $total_earned), 'VIEWEVENT_FOOTCOUNT' => sprintf($user->lang['VIEWEVENT_FOOTCOUNT'], $total_raid_count), 'S_SHOWZS' => $config['bbdkp_zerosum'] == '1' ? true : false, 'S_SHOWTIME' => $config['bbdkp_timebased'] == '1' ? true : false, 'S_SHOWDECAY' => $config['bbdkp_decay'] == '1' ? true : false, 'L_RECORDED_DROP_HISTORY' => sprintf($user->lang['RECORDED_DROP_HISTORY'], $event->event_name), 'ITEM_FOOTCOUNT' => sprintf($user->lang['VIEWITEM_FOOTCOUNT'], $total_drop_count, $total_drop_count), 'START' => $start, 'ITEM_PAGINATION' => $itempagination, 'S_DISPLAY_VIEWEVENT' => true, 'S_EPGP' => $config['bbdkp_epgp'] == '1' ? true : false)); } else { $template->assign_vars(array('S_DISPLAY_VIEWEVENT' => true, 'U_VIEW_EVENT' => $url)); } // build breadcrumbs menu $navlinks_array = array(array('DKPPAGE' => $user->lang['MENU_EVENTS'], 'U_DKPPAGE' => append_sid("{$phpbb_root_path}dkp.{$phpEx}", 'page=listevents&guild_id=' . $Navigation->getGuildId())), array('DKPPAGE' => $event->event_name, 'U_DKPPAGE' => $url)); foreach ($navlinks_array as $name) { $template->assign_block_vars('dkpnavlinks', array('DKPPAGE' => $name['DKPPAGE'], 'U_DKPPAGE' => $name['U_DKPPAGE'])); } // Output page page_header($user->lang['MENU_VIEWEVENT'] . ' ' . $event->event_name); }
public function buildpage(viewNavigation $Navigation) { global $db, $config, $phpbb_root_path, $phpEx, $user, $template; if (!isset($_GET[URI_RAID])) { trigger_error($user->lang['RNOTFOUND']); } $raid_id = request_var(URI_RAID, 0); // breadcrumbs $navlinks_array = array(array('DKPPAGE' => $user->lang['MENU_RAIDS'], 'U_DKPPAGE' => append_sid("{$phpbb_root_path}dkp.{$phpEx}", '&page=listraids&guild_id=' . $Navigation->getGuildId())), array('DKPPAGE' => $user->lang['MENU_VIEWRAID'], 'U_DKPPAGE' => append_sid("{$phpbb_root_path}dkp.{$phpEx}", '&page=listraids&' . URI_RAID . '=' . $raid_id . '&guild_id=' . $Navigation->getGuildId()))); foreach ($navlinks_array as $name) { $template->assign_block_vars('dkpnavlinks', array('DKPPAGE' => $name['DKPPAGE'], 'U_DKPPAGE' => $name['U_DKPPAGE'])); } //Raid information block $raid = new \bbdkp\controller\raids\Raids($raid_id); $title = sprintf($user->lang['RAID_ON'], $raid->event_name, date('F j, Y', $raid->raid_start)); $template->assign_vars(array('S_DISPLAY_VIEWRAIDS' => true, 'L_RAID_ON' => sprintf($user->lang['RAID_ON'], $raid->event_name, date('F j, Y', $raid->raid_start)), 'RAIDSTART' => date('H:i:s', $raid->raid_start), 'RAIDEND' => date('H:i:s', $raid->raid_end), 'DURATION' => $raid->raid_duration, 'RAID_ADDED_BY' => sprintf($user->lang['ADDED_BY'], $raid->raid_added_by), 'RAID_UPDATED_BY' => trim($raid->raid_updated_by) != '' ? sprintf($user->lang['UPDATED_BY'], $raid->raid_updated_by) : ' ', 'RAID_NOTE' => $raid->raid_note, 'IMAGEPATH' => $phpbb_root_path . "images/bbdkp/event_images/" . $raid->event_imagename . ".png", 'S_EVENT_IMAGE_EXISTS' => strlen($raid->event_imagename) > 1 ? true : false, 'S_SHOWZS' => $config['bbdkp_zerosum'] == '1' ? true : false, 'S_SHOWTIME' => $config['bbdkp_timebased'] == '1' ? true : false, 'S_SHOWDECAY' => $config['bbdkp_decay'] == '1' ? true : false, 'S_SHOWEPGP' => $config['bbdkp_epgp'] == '1' ? true : false, 'F_RAID' => append_sid("{$phpbb_root_path}dkp.{$phpEx}", 'page=raid&' . URI_RAID . '=' . request_var(URI_RAID, 0)))); // point listing $sort_order = array(0 => array('member_name asc', 'member_name desc'), 1 => array('raid_value asc', 'raid_value desc'), 2 => array('time_bonus asc', 'time_bonus desc'), 3 => array('zerosum_bonus asc', 'zerosum_bonus desc'), 4 => array('raid_decay asc', 'raid_decay desc'), 5 => array('total asc', 'total desc')); $current_order = $Navigation->switch_order($sort_order); $raid_details = new \bbdkp\controller\raids\Raiddetail($raid_id); $raid->raid_details = (array) $raid_details->raid_details; $raid_value = 0.0; $time_bonus = 0.0; $zerosum_bonus = 0.0; $raid_decay = 0.0; $raid_total = 0.0; $countattendees = 0; foreach ($raid->raid_details as $raid_detail) { // fill attendees table $template->assign_block_vars('raids_row', array('U_VIEW_ATTENDEE' => append_sid("{$phpbb_root_path}dkp.{$phpEx}", 'page=member&' . URI_NAMEID . "={$raid_detail['member_id']}&" . URI_DKPSYS . "=" . $raid->event_dkpid), 'NAME' => $raid_detail['member_name'], 'COLORCODE' => $raid_detail['colorcode'] == '' ? '#254689' : $raid_detail['colorcode'], 'CLASS_IMAGE' => strlen($raid_detail['imagename']) > 1 ? $phpbb_root_path . "images/bbdkp/class_images/" . $raid_detail['imagename'] . ".png" : '', 'S_CLASS_IMAGE_EXISTS' => strlen($raid_detail['imagename']) > 1 ? true : false, 'RACE_IMAGE' => strlen($raid_detail['raceimage']) > 1 ? $phpbb_root_path . "images/bbdkp/race_images/" . $raid_detail['raceimage'] . ".png" : '', 'S_RACE_IMAGE_EXISTS' => strlen($raid_detail['raceimage']) > 1 ? true : false, 'CLASS_NAME' => $raid_detail['classname'], 'RAIDVALUE' => $raid_detail['raid_value'], 'TIMEVALUE' => $raid_detail['time_bonus'], 'ZSVALUE' => $raid_detail['zerosum_bonus'], 'DECAYVALUE' => $raid_detail['raid_decay'], 'TOTAL' => $raid_detail['raid_value'] + $raid_detail['time_bonus'] + $raid_detail['zerosum_bonus'] - $raid_detail['raid_decay'])); $raid_value += $raid_detail['raid_value']; $time_bonus += $raid_detail['time_bonus']; $zerosum_bonus += $raid_detail['zerosum_bonus']; $raid_decay += $raid_detail['raid_decay']; $countattendees += 1; } $raid_total = $raid_value + $time_bonus + $zerosum_bonus - $raid_decay; //reset the keys $raid->raid_details = array_values($raid->raid_details); // count blocks $blocksize = 7; $x = ceil(count($raid->raid_details) / $blocksize); //loop blocks for ($i = 0; $i < $x; $i++) { $block_vars = array(); //loop columns for ($j = 0; $j < $blocksize; $j++) { $offset = $i + $x * $j; $attendee = isset($raid->raid_details[$offset]) ? $raid->raid_details[$offset] : ''; if ($attendee != '') { $block_vars += array('COLUMN' . $j . '_NAME' => '<strong><a style="color: ' . $raid->raid_details[$offset]['colorcode'] . ';" href="' . append_sid("{$phpbb_root_path}dkp.{$phpEx}", "page=member&" . URI_NAMEID . '=' . $raid->raid_details[$offset]['member_id'] . '&' . URI_DKPSYS . '=' . $Navigation->getDkpsysId()) . '">' . $raid->raid_details[$offset]['member_name'] . '</a></strong>'); } else { $block_vars += array('COLUMN' . $j . '_NAME' => ''); } // Are we showing this column? $s_column = 's_column' . $j; ${$s_column} = true; } $template->assign_block_vars('attendees_row', $block_vars); } $column_width = floor(100 / $blocksize); $template->assign_vars(array('O_NAME' => $current_order['uri'][0], 'O_RAIDVALUE' => $current_order['uri'][1], 'O_TIMEVALUE' => $current_order['uri'][2], 'O_ZSVALUE' => $current_order['uri'][3], 'O_DECAYVALUE' => $current_order['uri'][4], 'O_TOTALVALUE' => $current_order['uri'][5], 'RAIDVALUE' => sprintf("%.2f", $raid_value), 'TIMEVALUE' => sprintf("%.2f", $time_bonus), 'ZSVALUE' => sprintf("%.2f", $zerosum_bonus), 'RAIDDECAY' => sprintf("%.2f", $raid_decay), 'TOTAL' => sprintf("%.2f", $raid_total), 'S_COLUMN0' => isset($s_column0) ? true : false, 'S_COLUMN1' => isset($s_column1) ? true : false, 'S_COLUMN2' => isset($s_column2) ? true : false, 'S_COLUMN3' => isset($s_column3) ? true : false, 'S_COLUMN4' => isset($s_column4) ? true : false, 'S_COLUMN5' => isset($s_column5) ? true : false, 'S_COLUMN6' => isset($s_column6) ? true : false, 'S_COLUMN7' => isset($s_column7) ? true : false, 'S_COLUMN8' => isset($s_column8) ? true : false, 'S_COLUMN9' => isset($s_column9) ? true : false, 'COLUMN_WIDTH' => isset($column_width) ? $column_width : 0, 'COLSPAN' => $blocksize, 'ATTENDEES_FOOTCOUNT' => sprintf($user->lang['VIEWRAID_ATTENDEES_FOOTCOUNT'], $countattendees))); //drops block //prepare item list sql $isort_order = array(0 => array('m.member_name', 'm.member_name desc'), 1 => array('i.item_name', 'item_name desc'), 2 => array('i.item_value ', 'item_value desc')); $icurrent_order = $Navigation->switch_order($isort_order, 'ui'); $loot = new \bbdkp\controller\loot\Loot(); $raid->loot_details = $loot->GetAllLoot($icurrent_order['sql'], 0, $Navigation->getDkpsysId(), $raid_id, 0, 0); $number_items = 0; $item_value = 0.0; $item_decay = 0.0; $item_total = 0.0; while ($item = $db->sql_fetchrow($raid->loot_details)) { if ($Navigation->bbtips == true && $item['item_gameid'] == 'wow') { $item_name = '<strong>' . $Navigation->bbtips->parse('[itemdkp]' . $item['item_name'] . '[/itemdkp]') . '</strong>'; } else { $item_name = '<strong>' . $item['item_name'] . '</strong>'; } $buyer = new \bbdkp\controller\members\Members($item['member_id']); $template->assign_block_vars('items_row', array('DATE' => !empty($item['item_date']) ? $user->format_date($item['item_date']) : ' ', 'COLORCODE' => $buyer->colorcode, 'CLASS_IMAGE' => $buyer->class_image, 'S_CLASS_IMAGE_EXISTS' => strlen($buyer->class_image) > 1 ? true : false, 'RACE_IMAGE' => $buyer->race_image, 'S_RACE_IMAGE_EXISTS' => strlen($buyer->race_image) > 1 ? true : false, 'BUYER' => $buyer->member_name, 'ITEMNAME' => $item_name, 'ITEM_ID' => $item['item_id'], 'ITEM_ZS' => $item['item_zs'] == 1 ? ' checked="checked"' : '', 'U_VIEW_BUYER' => append_sid("{$phpbb_root_path}dkp.{$phpEx}", "page=member&" . URI_NAMEID . "={$item['member_id']}&" . URI_DKPSYS . "=" . $raid->event_dkpid), 'ITEMVALUE' => $item['item_value'], 'DECAYVALUE' => $item['item_decay'], 'TOTAL' => $item['item_net'])); unset($buyer); $number_items++; $item_value += $item['item_value']; $item_decay += $item['item_decay']; $item_total += $item['item_net']; } $template->assign_vars(array('S_SHOWITEMPANE' => $number_items > 0 ? true : false, 'ITEM_VALUE' => $item_value, 'ITEMDECAYVALUE' => $item_decay, 'ITEMTOTAL' => $item_total, 'RAIDNET' => $raid_total - $item_total, 'ITEM_FOOTCOUNT' => sprintf($user->lang['VIEWRAID_DROPS_FOOTCOUNT'], $number_items))); // Class statistics $LootStats = new \bbdkp\controller\loot\LootController(); $LootStats->ClassLootStats($raid, 0, true, $Navigation->getDkpsysId(), false); // Output page page_header($title); }