예제 #1
0
파일: index.php 프로젝트: Sajaki/wowroster
 *
 *
 * @copyright  2002-2011 WoWRoster.net
 * @license    http://www.gnu.org/licenses/gpl.html   Licensed under the GNU General Public License v3.
 * @version    SVN: $Id$
 * @link       http://www.wowroster.net
 * @package    MembersList
*/
if (!defined('IN_ROSTER')) {
    exit('Detected invalid access to this file!');
}
if (!isset($roster->data['guild_id'])) {
    return;
}
include_once $addon['inc_dir'] . 'memberslist.php';
$memberlist = new memberslist();
$members_list_select = $memberlist->members_list_select;
$members_list_table = $memberlist->members_list_table;
$members_list_where = $memberlist->members_list_where;
$members_list_fields = $memberlist->members_list_fields;
$mainQuery = 'SELECT ' . '`members`.`member_id`, ' . '`members`.`name`, ' . '`members`.`class`, ' . '`members`.`classid`, ' . '`members`.`level`, ' . '`members`.`zone`, ' . '`members`.`online`, ' . '`members`.`last_online`, ' . "UNIX_TIMESTAMP(`members`.`last_online`) AS 'last_online_stamp', " . "DATE_FORMAT(  DATE_ADD(`members`.`last_online`, INTERVAL " . $roster->config['localtimeoffset'] . " HOUR ), '" . $roster->locale->act['timeformat'] . "' ) AS 'last_online_format', " . '`members`.`note`, ' . '`members`.`guild_title`, ' . '`alts`.`main_id`, ' . '`guild`.`update_time`, ' . '`guild`.`factionEn`, ' . "IF( `members`.`note` IS NULL OR `members`.`note` = '', 1, 0 ) AS 'nisnull', " . '`members`.`officer_note`, ' . "IF( `members`.`officer_note` IS NULL OR `members`.`officer_note` = '', 1, 0 ) AS 'onisnull', " . "{$members_list_select}" . '`members`.`guild_rank`, ' . '`players`.`server`, ' . '`players`.`race`, ' . '`players`.`sex`, ' . '`players`.`exp`, ' . '`players`.`clientLocale`, ' . '`players`.`lifetimeRankName`, ' . '`players`.`lifetimeHighestRank`, ' . "IF( `players`.`lifetimeHighestRank` IS NULL OR `players`.`lifetimeHighestRank` = '0', 1, 0 ) AS 'risnull', " . '`players`.`hearth`, ' . "IF( `players`.`hearth` IS NULL OR `players`.`hearth` = '', 1, 0 ) AS 'hisnull', " . "UNIX_TIMESTAMP( `players`.`dateupdatedutc`) AS 'last_update_stamp', " . "DATE_FORMAT(  DATE_ADD(`players`.`dateupdatedutc`, INTERVAL " . $roster->config['localtimeoffset'] . " HOUR ), '" . $roster->locale->act['timeformat'] . "' ) AS 'last_update_format', " . "IF( `players`.`dateupdatedutc` IS NULL OR `players`.`dateupdatedutc` = '', 1, 0 ) AS 'luisnull', " . "GROUP_CONCAT( DISTINCT CONCAT( `proftable`.`skill_name` , '|', `proftable`.`skill_level` ) ORDER BY `proftable`.`skill_order`) as professions, " . "GROUP_CONCAT( DISTINCT CONCAT( `talenttable`.`build`, '|', `talenttable`.`tree` , '|', `talenttable`.`pointsspent` , '|', `talenttable`.`background`,'|', `talenttable`.`order` ) ORDER BY `talenttable`.`order`, `talenttable`.`build`) AS 'talents', " . "GROUP_CONCAT( DISTINCT CONCAT( `talenttre`.`tree` , '|', `talenttre`.`roles` , '|', `talenttre`.`icon` ) ORDER BY `talenttre`.`tree`) AS 'talents2' " . 'FROM `' . $roster->db->table('members') . '` AS members ' . 'LEFT JOIN `' . $roster->db->table('players') . '` AS players ON `members`.`member_id` = `players`.`member_id` ' . 'LEFT JOIN `' . $roster->db->table('skills') . '` AS proftable ON `members`.`member_id` = `proftable`.`member_id` ' . 'LEFT JOIN `' . $roster->db->table('talenttree') . '` AS talenttable ON `members`.`member_id` = `talenttable`.`member_id` ' . 'LEFT JOIN `' . $roster->db->table('talenttree_data') . '` AS talenttre ON `members`.`classid` = `talenttre`.`class_id` ' . '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` ' . $members_list_table;
$where[] = '`members`.`guild_id` = "' . $roster->data['guild_id'] . '" ';
if (!empty($members_list_where)) {
    foreach ($members_list_where as $piwhere => $str) {
        foreach ($str as $e) {
            $where[] = $e;
        }
    }
}
$group[] = '`members`.`member_id`';
$order_first[] = 'IF(`members`.`member_id` = `alts`.`member_id`,1,0)';
예제 #2
0
 * WoWRoster.net WoWRoster
 *
 * LICENSE: Licensed under the Creative Commons
 *          "Attribution-NonCommercial-ShareAlike 2.5" license
 *
 * @copyright  2002-2008 WoWRoster.net
 * @license    http://creativecommons.org/licenses/by-nc-sa/2.5   Creative Commons "Attribution-NonCommercial-ShareAlike 2.5"
 * @version    SVN: $Id: honorlist.php 1920 2008-11-23 23:55:21Z Zanix $
 * @link       http://www.wowroster.net
 * @package    MembersList
*/
if (!defined('IN_ROSTER')) {
    exit('Detected invalid access to this file!');
}
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
예제 #3
0
파일: log.php 프로젝트: Sajaki/wowroster
/**
 * WoWRoster.net WoWRoster
 *
 *
 * @copyright  2002-2011 WoWRoster.net
 * @license    http://www.gnu.org/licenses/gpl.html   Licensed under the GNU General Public License v3.
 * @version    SVN: $Id$
 * @link       http://www.wowroster.net
 * @package    MembersList
 */
if (!defined('IN_ROSTER')) {
    exit('Detected invalid access to this file!');
}
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');
예제 #4
0
    exit('Detected invalid access to this file!');
}
$query = "SELECT `config_name`, `config_value` " . "FROM `" . $roster->db->table('config_guild', $addon['basename']) . "` " . "WHERE `guild_id` = " . $roster->data['guild_id'] . ";";
$result = $roster->db->query($query);
while ($row = $roster->db->fetch($result, SQL_ASSOC)) {
    $addon['rules'][$row['config_name']] = $row['config_value'];
}
$mainQuery = 'SELECT ' . '`members`.`member_id`, ' . '`members`.`name`, ' . '`members`.`note`, ' . "IF( `members`.`note` IS NULL OR `members`.`note` = '', 1, 0 ) AS 'nisnull', " . '`members`.`officer_note`, ' . "IF( `members`.`officer_note` IS NULL OR `members`.`officer_note` = '', 1, 0 ) AS 'onisnull', " . '`alts`.`main_id`, ' . '`alts`.`alt_type`, ' . '`mains`.`name` AS main_name ' . 'FROM `' . $roster->db->table('members') . '` AS members ' . 'LEFT JOIN `' . $roster->db->table('alts', $addon['basename']) . '` AS alts ON `members`.`member_id` = `alts`.`member_id` ' . 'LEFT JOIN `' . $roster->db->table('members') . '` AS mains ON `alts`.`main_id` = `mains`.`member_id` ' . 'WHERE `members`.`guild_id` = "' . $roster->data['guild_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'), 'js_type' => 'ts_string', 'display' => 3);
$FIELD['main_name'] = array('lang_field' => 'main_name', 'order' => array('`mains`.`name` ASC'), 'order_d' => array('`mains`.`name` DESC'), 'js_type' => 'ts_string', 'display' => 3);
$FIELD['alt_type'] = array('lang_field' => 'alt_type', 'order' => array('`alts`.`alt_type` ASC'), 'order_d' => array('`alts`.`alt_type` DESC'), 'js_type' => 'ts_number', 'display' => 3);
$FIELD['note'] = array('lang_field' => 'note', 'order' => array('nisnull', '`members`.`note` ASC'), 'order_d' => array('nisnull', '`members`.`note` DESC'), 'js_type' => 'ts_string', 'display' => 3, 'value' => 'debugNote');
$FIELD['officer_note'] = array('lang_field' => 'officer_note', 'order' => array('onisnull', '`members`.`note` ASC'), 'order_d' => array('onisnull', '`members`.`note` DESC'), 'js_type' => 'ts_string', 'display' => $addon['config']['member_onote'] ? 3 : 0, 'value' => 'debugNote');
include_once $addon['inc_dir'] . 'memberslist.php';
$memberlist = new memberslist();
$memberlist->prepareData($mainQuery, $always_sort, $FIELD, 'memberslist');
$memberlist->makeFilterBox();
echo $memberlist->makeMembersList('syellow');
echo "<br />\n" . scrollbox(aprint($addon, '$addon', true), 'Config data', 'sgray');
function debugNote($row, $field, $data)
{
    global $addon;
    $rules = $addon['rules']['use_global'] ? $addon['config'] : $addon['rules'];
    if (preg_match($rules['getmain_regex'], $row[$field], $regs)) {
        $tooltip_h = $regs[$rules['getmain_match']];
        $tooltip = aprint($regs, '', true);
    } else {
        $tooltip_h = '';
        $tooltip = 'No main match';
    }
예제 #5
0
    $FIELD['hearth'] = array('lang_field' => 'hearthed');
}
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 = '';
예제 #6
0
파일: page.lib.php 프로젝트: Sajaki/addons
 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');
     }
 }