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 $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); }