/** * lists all my characters * */ private function listmychars() { global $db, $user, $auth, $template, $config, $phpbb_root_path, $phpEx; $members = new \bbdkp\controller\members\Members(); $mycharacters = $members->getmemberlist(0, 0, false, false, '', '', 0, 0, 0, 0, 200, true, '', 1); $lines = 0; foreach ($mycharacters[0] as $char) { $template->assign_block_vars('members_row', array('U_EDIT' => append_sid("{$phpbb_root_path}ucp.{$phpEx}", "i=dkp&mode=characteradd&" . URI_NAMEID . '=' . $char['member_id']), 'GAME' => $char['game_id'], 'COLORCODE' => $char['colorcode'], 'CLASS' => $char['class_name'], 'NAME' => $char['member_name'], 'RACE' => $char['race_name'], 'GUILD' => $char['guildname'], 'REALM' => $char['realm'], 'REGION' => $char['region'], 'RANK' => $char['member_rank'], 'LEVEL' => $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'])); $sql_array2 = array('SELECT' => ' d.dkpsys_id, d.dkpsys_name, SUM(m.member_earned + m.member_adjustment) AS ep, SUM(m.member_spent - m.member_item_decay + ( ' . max(0, $config['bbdkp_basegp']) . ')) AS gp, SUM(m.member_earned + m.member_adjustment - m.member_spent + m.member_item_decay - ( ' . max(0, $config['bbdkp_basegp']) . ') ) AS member_current, CASE WHEN SUM(m.member_spent - m.member_item_decay) <= 0 THEN SUM(m.member_earned + m.member_adjustment) ELSE ROUND( SUM(m.member_earned + m.member_adjustment) / SUM(' . max(0, $config['bbdkp_basegp']) . ' + m.member_spent - m.member_item_decay) ,2) END AS pr', 'FROM' => array(MEMBER_DKP_TABLE => 'm', DKPSYS_TABLE => 'd', MEMBER_LIST_TABLE => 'l'), 'WHERE' => "l.member_id = m.member_id and l.member_status = 1 and m.member_dkpid = d.dkpsys_id and d.dkpsys_status='Y' and m.member_id = " . $char['member_id'], 'GROUP_BY' => " d.dkpsys_id, d.dkpsys_name ", 'ORDER_BY' => " d.dkpsys_name "); $sql2 = $db->sql_build_query('SELECT', $sql_array2); $dkp_result = $db->sql_query($sql2); while ($row2 = $db->sql_fetchrow($dkp_result)) { $template->assign_block_vars('members_row.dkp_row', array('DKPSYS' => $row2['dkpsys_name'], 'U_VIEW_MEMBER' => append_sid("{$phpbb_root_path}dkp.{$phpEx}", "page=member&" . URI_NAMEID . '=' . $char['member_id'] . '&' . URI_DKPSYS . '= ' . $row2['dkpsys_id']), 'EARNED' => $row2['ep'], 'SPENT' => $row2['gp'], 'PR' => $row2['pr'], 'CURRENT' => $row2['member_current'])); } $db->sql_freeresult($dkp_result); } $template->assign_vars(array('S_SHOWEPGP' => $config['bbdkp_epgp'] == '1' ? true : false)); }
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); }