Пример #1
0
	'filt_field' => '`rep`.`name`',
	'order'      => array( '`rep`.`curr_rep` DESC' ),
	'order_d'    => array( '`rep`.`curr_rep` ASC' ),
	'value'      => array($memberlist,'guild_rep'),
	'display'    => $addon['config']['member_level'],
);
*/
$FIELD['zone'] = array('lang_field' => 'lastzone', 'order' => array('`members`.`zone` ASC'), 'order_d' => array('`members`.`zone` DESC'), 'display' => $addon['config']['member_zone']);
$FIELD['note'] = array('lang_field' => 'note', 'order' => array('nisnull', '`members`.`note` ASC'), 'order_d' => array('nisnull', '`members`.`note` DESC'), 'value' => 'note_value', 'display' => $addon['config']['member_note']);
$FIELD['officer_note'] = array('lang_field' => 'onote', 'order' => array('onisnull', '`members`.`note` ASC'), 'order_d' => array('onisnull', '`members`.`note` DESC'), 'value' => 'note_value', 'display' => $addon['config']['member_onote']);
foreach ($members_list_fields as $pifield => $data) {
    foreach ($data as $name => $d) {
        $FIELD[$name] = $d;
    }
}
$memberlist->prepareData($mainQuery, $where, $group, $order_first, $order_last, $FIELD, 'memberslist');
// Start output
if ($addon['config']['member_motd'] == 1) {
    echo $memberlist->makeMotd();
}
if ($addon['config']['member_hslist'] == 1 || $addon['config']['member_pvplist'] == 1) {
    echo "<table style=\"width:100%\">\n  <tr>\n";
    if ($addon['config']['member_hslist'] == 1) {
        echo '    <td valign="top">';
        include_once ROSTER_LIB . 'hslist.php';
        echo generateHsList();
        echo "    </td>\n";
    }
    if (active_addon('pvplog') && $addon['config']['honor_pvplist'] == 1) {
        echo '    <td valign="top">';
        include_once ROSTER_ADDONS . 'pvplog' . DIR_SEP . 'inc' . DIR_SEP . 'pvplist.php';
Пример #2
0
include_once $addon['inc_dir'] . 'memberslist.php';
$memberlist = new memberslist();
$mainQuery = 'SELECT ' . '`members`.`member_id`, ' . '`members`.`name`, ' . '`members`.`class`, ' . '`members`.`classid`, ' . '`members`.`level`, ' . '`members`.`zone`, ' . "(UNIX_TIMESTAMP( `members`.`last_online`)*1000+" . $roster->config['localtimeoffset'] * 3600000 . ") AS 'last_online_stamp', " . "DATE_FORMAT(  DATE_ADD(`members`.`last_online`, INTERVAL " . $roster->config['localtimeoffset'] . " HOUR ), '" . $roster->locale->act['timeformat'] . "' ) AS 'last_online', " . '`members`.`note`, ' . "IF( `members`.`note` IS NULL OR `members`.`note` = '', 1, 0 ) AS 'nisnull', " . '`members`.`guild_title`, ' . '`alts`.`main_id`, ' . '`players`.`server`, ' . '`players`.`race`, ' . '`players`.`sex`, ' . '`players`.`exp`, ' . '`players`.`clientLocale`, ' . '`players`.`sessionHK`, ' . '`players`.`sessionCP`, ' . '`players`.`yesterdayHK`, ' . '`players`.`yesterdayContribution`, ' . '`players`.`lifetimeHK`, ' . '`players`.`lifetimeRankName`, ' . '`players`.`lifetimeHighestRank`, ' . "IF( `players`.`lifetimeHighestRank` IS NULL OR `players`.`lifetimeHighestRank` = '0', 1, 0 ) AS 'risnull', " . '`players`.`honorpoints`, ' . '`players`.`arenapoints`, ' . "GROUP_CONCAT( DISTINCT CONCAT( `talenttable`.`tree` , '|', `talenttable`.`pointsspent` , '|', `talenttable`.`background` ) ORDER BY `talenttable`.`order`) AS 'talents' " . 'FROM `' . $roster->db->table('members') . '` AS members ' . 'INNER JOIN `' . $roster->db->table('players') . '` AS players ON `members`.`member_id` = `players`.`member_id` ' . 'LEFT JOIN `' . $roster->db->table('alts', $addon['basename']) . '` AS alts ON `members`.`member_id` = `alts`.`member_id` ' . 'LEFT JOIN `' . $roster->db->table('talenttree') . '` AS talenttable ON `members`.`member_id` = `talenttable`.`member_id` ' . 'WHERE `members`.`guild_id` = "' . $roster->data['guild_id'] . '" ' . 'GROUP BY `members`.`member_id` ' . 'ORDER BY IF(`members`.`member_id` = `alts`.`member_id`,1,0), ';
$always_sort = ' `members`.`level` DESC, `members`.`name` ASC';
$FIELD['name'] = array('lang_field' => 'name', 'order' => array('`members`.`name` ASC'), 'order_d' => array('`members`.`name` DESC'), 'value' => array($memberlist, 'name_value'), 'js_type' => 'ts_string', 'display' => 3);
$FIELD['class'] = array('lang_field' => 'class', 'order' => array('`members`.`class` ASC'), 'order_d' => array('`members`.`class` DESC'), 'value' => array($memberlist, 'class_value'), 'js_type' => 'ts_string', 'display' => $addon['config']['honor_class']);
$FIELD['level'] = array('lang_field' => 'level', 'order_d' => array('`members`.`level` ASC'), 'value' => array($memberlist, 'level_value'), 'js_type' => 'ts_number', 'display' => $addon['config']['honor_level']);
$FIELD['sessionHK'] = array('lang_field' => 'todayhk', 'order' => array('`players`.`sessionHK` DESC'), 'order_d' => array('`players`.`sessionHK` ASC'), 'js_type' => 'ts_number', 'display' => $addon['config']['honor_thk']);
$FIELD['sessionCP'] = array('lang_field' => 'todaycp', 'order' => array('`players`.`sessionCP` DESC'), 'order_d' => array('`players`.`sessionCP` ASC'), 'js_type' => 'ts_number', 'display' => $addon['config']['honor_tcp']);
$FIELD['yesterdayHK'] = array('lang_field' => 'yesthk', 'order' => array('`players`.`yesterdayHK` DESC'), 'order_d' => array('`players`.`yesterdayHK` ASC'), 'js_type' => 'ts_number', 'display' => $addon['config']['honor_yhk']);
$FIELD['yesterdayContribution'] = array('lang_field' => 'yestcp', 'order' => array('`players`.`yesterdayContribution` DESC'), 'order_d' => array('`players`.`yesterdayContribution` ASC'), 'js_type' => 'ts_number', 'display' => $addon['config']['honor_ycp']);
$FIELD['lifetimeHK'] = array('lang_field' => 'lifehk', 'order' => array('`players`.`lifetimeHK` DESC'), 'order_d' => array('`players`.`lifetimeHK` ASC'), 'js_type' => 'ts_number', 'display' => $addon['config']['honor_lifehk']);
$FIELD['lifetimeRankName'] = array('lang_field' => 'highestrank', 'order' => array('risnull', '`players`.`lifetimeHighestRank` DESC'), 'order_d' => array('risnull', '`players`.`lifetimeHighestRank` ASC'), 'value' => array($memberlist, 'honor_value'), 'js_type' => 'ts_number', 'display' => $addon['config']['honor_hrank']);
$FIELD['honorpoints'] = array('lang_field' => 'honorpoints', 'order' => array('`players`.`honorpoints` DESC'), 'order_d' => array('`players`.`honorpoints` ASC'), 'js_type' => 'ts_number', 'display' => $addon['config']['honor_hp']);
$FIELD['arenapoints'] = array('lang_field' => 'arenapoints', 'order' => array('`players`.`arenapoints` DESC'), 'order_d' => array('`players`.`arenapoints` ASC'), 'js_type' => 'ts_number', 'display' => $addon['config']['honor_ap']);
$memberlist->prepareData($mainQuery, $always_sort, $FIELD, 'memberslist');
// Start output
$menu = '';
if ($addon['config']['honor_update_inst']) {
    $menu .= '            <a href="' . makelink('#update') . '"><span style="font-size:20px;">' . $roster->locale->act['update_link'] . '</span></a><br /><br />';
}
if ($addon['config']['honor_motd'] == 1) {
    $menu .= $memberlist->makeMotd();
}
$roster->output['before_menu'] .= $menu;
if ($addon['config']['honor_hslist'] == 1 || $addon['config']['honor_pvplist'] == 1) {
    echo "<table>\n  <tr>\n";
    if ($addon['config']['honor_hslist'] == 1) {
        echo '    <td valign="top">';
        include_once ROSTER_LIB . 'hslist.php';
        echo generateHsList();
Пример #3
0
}
include_once $addon['inc_dir'] . 'memberslist.php';
$memberlist = new memberslist(array('group_alts' => -1, 'page_size' => 25));
$mainQuery = 'SELECT `members`.*, `guild`.`guild_name`, DATE_FORMAT( `members`.`update_time`, "' . $roster->locale->act['timeformat'] . '" ) AS date, ' . "IF( `members`.`note` IS NULL OR `members`.`note` = '', 1, 0 ) AS 'nisnull', " . 'UNIX_TIMESTAMP(`members`.`update_time`) AS date_stamp ' . 'FROM `' . $roster->db->table('memberlog') . '` AS members ' . 'LEFT JOIN `' . $roster->db->table('alts', $addon['basename']) . '` AS alts ON `members`.`member_id` = `alts`.`member_id` ' . 'LEFT JOIN `' . $roster->db->table('guild') . '` AS guild ON `members`.`guild_id` = `guild`.`guild_id` ';
$where[] = '`members`.`server` = "' . $roster->db->escape($roster->data['server']) . '"';
$order_last[] = '`date_stamp` DESC';
$FIELD['name'] = array('lang_field' => 'name', 'order' => array('`name` ASC'), 'order_d' => array('`name` DESC'), 'display' => 3);
$FIELD['class'] = array('lang_field' => 'class', 'order' => array('`class` ASC'), 'order_d' => array('`class` DESC'), 'value' => array($memberlist, 'class_value'), 'display' => $addon['config']['log_class']);
$FIELD['level'] = array('lang_field' => 'level', 'order_d' => array('`level` DESC'), 'order_d' => array('`level` ASC'), 'value' => array($memberlist, 'level_value'), 'display' => $addon['config']['log_level']);
$FIELD['guild_name'] = array('lang_field' => 'guild', 'order' => array('`guild`.`guild_name` ASC'), 'order_d' => array('`guild`.`guild_name` DESC'), 'display' => 2);
$FIELD['guild_title'] = array('lang_field' => 'title', 'order' => array('`guild_rank` ASC'), 'order_d' => array('`guild_rank` DESC'), 'display' => $addon['config']['log_gtitle']);
$FIELD['type'] = array('lang_field' => 'type', 'order' => array('`type` ASC'), 'order_d' => array('`type` DESC'), 'value' => 'type_value', 'display' => $addon['config']['log_type']);
$FIELD['date'] = array('lang_field' => 'date', 'order' => array('`date_stamp` DESC'), 'order_d' => array('`date_stamp` ASC'), 'display' => $addon['config']['log_date']);
$FIELD['note'] = array('lang_field' => 'note', 'order' => array('nisnull', '`note` ASC'), 'order_d' => array('nisnull', '`note` DESC'), 'value' => 'note_value', 'display' => $addon['config']['log_note']);
$FIELD['officer_note'] = array('lang_field' => 'onote', 'order' => array('onisnull', '`note` ASC'), 'order_d' => array('onisnull', '`note` DESC'), 'value' => 'note_value', 'display' => $addon['config']['log_onote']);
$memberlist->prepareData($mainQuery, $where, null, null, $order_last, $FIELD, 'memberslist');
// Start output
echo $memberlist->makeMembersList('syellow');
/**
 * Controls Output of a Note Column
 *
 * @param array $row - of character data
 * @return string - Formatted output
 */
function note_value($row, $field)
{
    global $roster, $addon;
    if (!empty($row[$field])) {
        $note = htmlspecialchars(nl2br($row[$field]));
        if ($addon['config']['compress_note']) {
            $note = '<img src="' . $roster->config['theme_path'] . '/images/note.gif" style="cursor:help;" ' . makeOverlib($note, $roster->locale->act['note'], '', 1, '', ',WRAP') . ' alt="[]" />';
Пример #4
0
    $key_name = $key_data['key_name'];
    $mainSelect .= 'GROUP_CONCAT( IF( `keycache`.`key_name` = \'' . $key_name . '\', `stage`, NULL) ) AS `' . $key_name . '_stages`, ' . 'MAX( IF( `keycache`.`key_name` = \'' . $key_name . '\', `stage`, NULL) ) AS `' . $key_name . '_latest`, ';
    $FIELD[$key_name] = array('lang_field' => $key_name, 'order' => array('`' . $key_name . '_latest` ASC'), 'order_d' => array('`' . $key_name . '_latest` DESC'), 'value' => 'key_value', 'filter' => false, 'display' => 2, 'passthrough' => $key_data);
}
$roster->db->free_result($keyResult);
$stageQuery = "SELECT * FROM `" . $roster->db->table('stages', $addon['basename']) . "` WHERE `locale` = '" . $roster->locale->curlocale . "' AND `faction` = '" . substr($roster->data['faction'], 0, 1) . "';";
$stageResult = $roster->db->query($stageQuery);
while ($row = $roster->db->fetch($stageResult, SQL_ASSOC)) {
    if (isset($FIELD[$row['key_name']])) {
        $FIELD[$row['key_name']]['passthrough']['stages'][$row['stage']] = $row;
    }
}
$roster->db->free_result($stageResult);
// Combine the main query. The '1' is to fix the trailing comma for the fields list.
$mainQuery = $mainSelect . '1 ' . $mainTables;
$memberlist->prepareData($mainQuery, $where, $group, null, $order_last, $FIELD, 'keyslist');
// Start output
$roster->output['show_menu']['keypane'] = 1;
echo $memberlist->makeMembersList('syellow');
// Key display logic
function key_value($row, $field, $data)
{
    global $roster, $addon;
    $key_data = $data['stages'];
    if ($row[$field . '_stages'] === null) {
        return '&nbsp;';
    } else {
        $active_stages = explode(',', $row[$field . '_stages']);
    }
    $last_stage = max(array_keys($key_data));
    $num_completed_stages = 0;
Пример #5
0
}
if ($roster_conf['index_zone'] == 1) {
    $FIELD['zone'] = array('lang_field' => 'zone');
}
if ($roster_conf['index_lastonline'] == 1) {
    $FIELD['last_online'] = array('lang_field' => 'lastonline', 'jsort' => 'last_online_stamp');
}
if ($roster_conf['index_lastupdate'] == 1) {
    $FIELD['last_update_format'] = array('lang_field' => 'lastupdate', 'jsort' => 'last_update_stamp');
}
if ($roster_conf['index_note'] == 1 && $roster_conf['compress_note'] == 1) {
    $FIELD['note'] = array('lang_field' => 'note', 'value' => 'note_value');
}
include_once $addonDir . 'inc/memberslist.php';
$memberlist = new memberslist();
$memberlist->prepareData($mainQuery, $FIELD, 'memberslist');
$html_head = '<script type="text/javascript" src="' . $roster_conf['roster_url'] . 'addons/' . $_GET['roster_addon_name'] . '/js/sorttable.js"></script>';
// Start output
if ($roster_conf['index_update_inst']) {
    print '            <a href="#update"><font size="4">' . $wordings[$roster_conf['roster_lang']]['update_link'] . '</font></a><br /><br />';
}
if ($roster_conf['index_motd'] == 1) {
    print $memberlist->makeMotd();
}
include_once ROSTER_LIB . 'menu.php';
if ($roster_conf['hspvp_list_disp'] == 'hide') {
    $pvp_hs_colapse = ' style="display:none;"';
    $pvp_hs_image = 'plus';
} else {
    $pvp_hs_colapse = '';
    $pvp_hs_image = 'minus';
Пример #6
0
 function realmsPage()
 {
     global $roster, $addon, $accounts;
     // Disallow viewing of the page
     if (!$roster->auth->getAuthorized($addon['config']['acc_min_access'])) {
         print '<span class="title_text">' . $roster->locale->act['acc_page']['realms'] . '</span><br />' . $roster->auth->getMessage() . $roster->auth->getLoginForm();
     } else {
         include_once 'memberslist.php';
         $realmlist = new memberslist(array('group_alts' => -1));
         $uid = $accounts->session->getVal('uid');
         $mainQuery = 'SELECT ' . '`user_link`.`uid`, ' . '`user_link`.`member_id`, ' . '`user_link`.`realm`, ' . '`members`.`member_id`, ' . '`members`.`server`, ' . '`realm`.`server_name`, ' . '`realm`.`server_region`, ' . '`realm`.`servertype`, ' . '`realm`.`serverstatus`, ' . '`realm`.`serverpop` ' . 'FROM `' . $roster->db->table('user_link', 'accounts') . '` AS user_link ' . 'LEFT JOIN `' . $roster->db->table('members') . '` AS members ON `user_link`.`member_id` = `members`.`member_id` ' . 'LEFT JOIN `' . $roster->db->table('realmstatus') . '` AS realm ON `members`.`server` = `realm`.`server_name` ' . 'WHERE `user_link`.`uid` = "' . $uid . '" ' . 'ORDER BY IF(`realm`.`server_name` = `user_link`.`realm`,1,0),';
         $always_sort = ' `realm`.`server_name` ASC';
         $FIELD['realm_name'] = array('lang_field' => 'realm', 'order' => array('`realm`.`server_name` ASC'), 'order_d' => array('`realm`.`server_name` DESC'), 'value' => 'realm_value', 'js_type' => 'ts_string', 'display' => 3);
         $FIELD['realm_region'] = array('lang_field' => 'region', 'order' => array('`realm`.`server_region` ASC'), 'order_d' => array('`realm`.`server_region` DESC'), 'value' => 'region_value', 'js_type' => 'ts_string', 'display' => 2);
         $FIELD['servertype'] = array('lang_field' => 'servertype', 'order' => array('`realm`.`servertype` ASC'), 'order_d' => array('`realm`.`servertype` DESC'), 'value' => 'servertype_value', 'js_type' => 'ts_string', 'display' => 2);
         $FIELD['serverstatus'] = array('lang_field' => 'serverstatus', 'order' => array('`realm`.`serverstatus` ASC'), 'order_d' => array('`realm`.`serverstatus` DESC'), 'value' => 'serverstatus_value', 'js_type' => 'ts_string', 'display' => 2);
         $FIELD['serverpop'] = array('lang_field' => 'serverpop', 'order' => array('`realm`.`serverpop` ASC'), 'order_d' => array('`realm`.`serverpop` DESC'), 'value' => 'serverpop_value', 'js_type' => 'ts_string', 'display' => 2);
         $realmlist->prepareData($mainQuery, $always_sort, $FIELD, 'realmlist');
         $roster->output['show_menu']['acc_menu'] = 1;
         // Display the button listing
         $roster->tpl->assign_block_vars('accounts_realms', array('MESSAGE' => $accounts->message, 'BORDER_START' => border('sblue', 'start', $roster->locale->act['acc_page']['realms']), 'REALMS_LIST' => $realmlist->makeMembersList(), 'BORDER_END' => border('sblue', 'end')));
         $roster->tpl->set_filenames(array('accounts_realms' => $addon['basename'] . '/realms.html'));
         $roster->tpl->display('accounts_realms');
     }
 }