Esempio n. 1
0
 function display()
 {
     global $roster;
     $raids = array("Mogu'shan Vaults" => array('boss_count' => '6', 'image' => 'mv', 'cfg' => 'mv'), 'Heart of Fear' => array('boss_count' => '6', 'image' => 'hf', 'cfg' => 'hof'), 'Terrace of Endless Spring' => array('boss_count' => '4', 'image' => 'tes', 'cfg' => 'toes'), 'Throne of Thunder' => array('boss_count' => '13', 'image' => 'tot', 'cfg' => 'tot'), 'Siege of Orgrimmar' => array('boss_count' => '14', 'image' => 'soo', 'cfg' => 'soo'), 'Blackrock Foundry' => array('boss_count' => '10', 'image' => 'achievement_boss_blackhand', 'cfg' => 'brf'), 'Highmaul' => array('boss_count' => '7', 'image' => 'achievement_boss_highmaul_king', 'cfg' => 'hml'));
     $addon = getaddon('raidbox');
     //echo '<prE>';
     //print_r($addon);
     $down = 0;
     $bosses = '';
     foreach ($raids as $name => $det) {
         $down = 0;
         $per = 0;
         $bosses = $name . '<br />';
         for ($t = 1; $t < $det['boss_count'] + 1; $t++) {
             $down = $down + $addon['config']['' . $det['cfg'] . '_boss_' . $t . ''];
             $color = 'ff0000';
             if ($addon['config']['' . $det['cfg'] . '_boss_' . $t . ''] == 1) {
                 $color = '7eff00';
             }
             $e = $addon['config']['' . $det['cfg'] . '_boss_' . $t . ''] == 1 ? 'Down' : 'Up';
             //$bosses .= ''.$roster->locale->act[''.$det['cfg'].'_boss_'.$t.''].' - '.$e.'</span><br />';
             $bosses .= '<span style="color:#' . $color . ';font-size:12px;font-weight:bold;"><div style="width:250px;"><span style="float:right;">' . $e . '</span>' . $roster->locale->act['' . $det['cfg'] . '_boss_' . $t . ''] . '</div></span>';
             //$bosses .= $roster->locale->act[''.$det['cfg'].'_boss_'.$t.''].' - '.($addon['config'][''.$det['cfg'].'_boss_'.$t.''] == 1 ? 'Up' : 'Down').'<br />';
         }
         $tooltip = makeOverlib($bosses, '', '#8000ff', 0, '', ', WIDTH, 275');
         $per = $down / $det['boss_count'] * 100;
         if ($per == 0) {
             $per = '1';
         }
         $roster->tpl->assign_block_vars('raidbox', array('TITLE' => $name, 'IMG' => $addon['image_url'] . $det['image'], 'COUNT' => $det['boss_count'], 'TOOLTIP' => $tooltip, 'DOWN' => $down, 'PER' => $per, 'XPER' => 100 - $per));
     }
     $roster->tpl->set_filenames(array('rbpannle' => $addon['basename'] . '/raidbox.html'));
     $this->output = $roster->tpl->fetch('rbpannle');
 }
Esempio n. 2
0
 /**
  * Constructor
  *
  * @param array $options
  *		Override any of the default options, like client/server sorting, alt
  *		grouping, or pagination.
  * @param array $addon
  *		If the MembersList addon array has already been loaded, pass it here
  *		for efficiency. if the addon array is not available, omit it, and it
  *		will be loaded automatically.
  */
 function memberslist($options = array(), $addon = array())
 {
     global $roster;
     $basename = basename(dirname(dirname(__FILE__)));
     // --[ Get addon array only if not passed ]--
     if (!empty($addon)) {
         $this->addon = $addon;
     } else {
         // Get our addon name using our file loc.
         $this->addon = getaddon($basename);
     }
     // Select the template to use, so other addons can make their own memberslist templates
     $roster->tpl->set_handle('memberslist', 'memberslist/memberslist.html');
     // Set the js in the roster header
     $roster->output['html_head'] .= '<script type="text/javascript" src="' . ROSTER_PATH . 'addons/' . $basename . '/js/sorttable.js"></script>';
     // Merge in the override options from the calling file
     if (!empty($options)) {
         $this->addon['config'] = array_merge($this->addon['config'], $options);
     }
     // Overwrite some options if they're specified by the client
     if (isset($_GET['style'])) {
         $this->addon['config']['nojs'] = $_GET['style'] == 'server' ? 1 : 0;
     }
     if (isset($_GET['alts'])) {
         $this->addon['config']['group_alts'] = $_GET['alts'] == 'open' ? 2 : $_GET['alts'] == 'close' ? 1 : 0;
     }
 }
Esempio n. 3
0
 /**
  * Constructor
  *
  * @param array $options
  *		Override any of the default options, like client/server sorting, alt
  *		grouping, or pagination.
  * @param array $addon
  *		If the MembersList addon array has already been loaded, pass it here
  *		for efficiency. if the addon array is not available, omit it, and it
  *		will be loaded automatically.
  */
 function memberslist($options = array(), $addon = array())
 {
     global $roster, $addon;
     $basename = basename(dirname(dirname(__FILE__)));
     // --[ Get addon array only if not passed ]--
     if (!empty($addon)) {
         $this->addon = $addon;
     } else {
         // Get our addon name using our file loc.
         $this->addon = getaddon($basename);
     }
     // Set the js in the roster header
     roster_add_js('addons/' . $basename . '/js/alts.js');
     // Merge in the override options from the calling file
     if (!empty($options)) {
         $this->addon['config'] = array_merge($this->addon['config'], $options);
     }
     // Select the template to use, so other addons can make their own memberslist templates
     if (isset($this->addon['config']['template'])) {
         $roster->tpl->set_handle('memberslist', $this->addon['config']['template']);
     } else {
         $roster->tpl->set_handle('memberslist', $basename . '/memberslist.html');
     }
     // Overwrite some options if they're specified by the client
     if (isset($_GET['alts'])) {
         $this->addon['config']['group_alts'] = $_GET['alts'] == 'open' ? 2 : ($_GET['alts'] == 'close' ? 1 : 0);
     }
     if (isset($_GET['filter'])) {
         $this->addon['config']['openfilter'] = $_GET['filter'] == 'open' ? 1 : 0;
     }
     $this->_initPlugins();
 }
Esempio n. 4
0
 /**
  * Collect info on what files are used
  */
 function fetchAddonData()
 {
     global $roster;
     // Add roster-used tables
     $this->files[] = 'wowrcp';
     if (!$roster->config['use_update_triggers']) {
         return;
     }
     if (!empty($roster->addon_data)) {
         foreach ($roster->addon_data as $row) {
             $hookfile = ROSTER_ADDONS . $row['basename'] . DIR_SEP . 'inc' . DIR_SEP . 'update_hook.php';
             if (file_exists($hookfile)) {
                 // Check if this addon is in the process of an upgrade and deny access if it hasn't yet been upgraded
                 $installfile = ROSTER_ADDONS . $row['basename'] . DIR_SEP . 'inc' . DIR_SEP . 'install.def.php';
                 $install_class = $row['basename'] . 'Install';
                 if (file_exists($installfile)) {
                     include_once $installfile;
                     if (class_exists($install_class)) {
                         $addonstuff = new $install_class();
                         // -1 = overwrote newer version
                         //  0 = same version
                         //  1 = upgrade available
                         if (version_compare($addonstuff->version, $row['version'])) {
                             $this->setError(sprintf($roster->locale->act['addon_upgrade_notice'], $row['basename']), $roster->locale->act['addon_error']);
                             continue;
                         }
                         unset($addonstuff);
                     }
                 }
                 $addon = getaddon($row['basename']);
                 include_once $hookfile;
                 $updateclass = $row['basename'] . 'Update';
                 // Save current locale array
                 // Since we add all locales for localization, we save the current locale array
                 // This is in case one addon has the same locale strings as another, and keeps them from overwritting one another
                 $localetemp = $roster->locale->wordings;
                 foreach ($roster->multilanguages as $lang) {
                     $roster->locale->add_locale_file(ROSTER_ADDONS . $addon['basename'] . DIR_SEP . 'locale' . DIR_SEP . $lang . '.php', $lang);
                 }
                 $addon['fullname'] = isset($roster->locale->act[$addon['fullname']]) ? $roster->locale->act[$addon['fullname']] : $addon['fullname'];
                 if (class_exists($updateclass)) {
                     $this->addons[$row['basename']] = new $updateclass($addon);
                     $this->files = array_merge($this->files, $this->addons[$row['basename']]->files);
                 } else {
                     $this->setError('Failed to load update trigger for ' . $row['basename'] . ': Update class did not exist', $roster->locale->act['addon_error']);
                 }
                 // Restore our locale array
                 $roster->locale->wordings = $localetemp;
                 unset($localetemp);
             }
         }
     }
     // Remove duplicates
     $this->files = array_unique($this->files);
     // Make all the file names requested lower case
     $this->files = array_flip($this->files);
     $this->files = array_change_key_case($this->files);
     $this->files = array_flip($this->files);
 }
Esempio n. 5
0
 /**
  * Guild_pre trigger, set out guild id here
  *
  * @param array $guild
  * 		CP.lua guild data
  */
 function guild_post($guild)
 {
     global $roster, $update;
     $addon = getaddon('raidbox');
     //echo '<pre>';
     //print_r($addon);
     //echo '</pre>';
     //build critera data
     $query = "SELECT * FROM `" . $roster->db->table('g_criteria', 'achievements') . "`";
     // WHERE `cid` = '15079'";
     $result = $roster->db->query($query) or die_quietly($roster->db->error(), 'Database Error', basename(__FILE__), __LINE__, $query);
     $crit = array();
     while ($row = $roster->db->fetch($result)) {
         $crit[$row['crit_id']] = array('crit_id' => $row['crit_id'], 'crit_date' => $row['crit_date'], 'crit_value' => $row['crit_value']);
     }
     //build achievement data
     $query1 = "SELECT * FROM `" . $roster->db->table('g_achievements', 'achievements') . "`";
     // WHERE `cid` = '15079'";
     $result1 = $roster->db->query($query1) or die_quietly($roster->db->error(), 'Database Error', basename(__FILE__), __LINE__, $query);
     $achi = array();
     while ($row = $roster->db->fetch($result1)) {
         $achi[$row['achie_id']] = array('achie_id' => $row['achie_id'], 'achie_date' => $row['achie_date']);
     }
     // this loops each raid
     foreach ($this->raids as $raid => $rinfo) {
         $overide = false;
         if (isset($achi[$rinfo['id']]['achie_date'])) {
             $overide = true;
         }
         $this->messages .= '<br/>' . $rinfo['title'] . '<ul>';
         //echo $rinfo['title'].' <img src="'.$roster->config['img_url'].'interface/icons/'.$rinfo['icon'].'"></a><br>';
         foreach ($rinfo['criteria'] as $id => $boss) {
             if (isset($crit[$boss['id']]['crit_value'])) {
                 $down = $crit[$boss['id']]['crit_value'];
             } else {
                 $down = '0';
             }
             if ($overide or $down >= 1) {
                 $down = 1;
             }
             //echo $boss['description'] . ' x' . $down . '<br>';
             $this->messages .= '<li>' . $boss['description'] . ' - ' . $down . '</li>';
             $querystr = "UPDATE `" . $roster->db->table('addon_config') . "` SET `config_value` = '" . $down . "'  WHERE `config_name` = '" . $raid . '_boss_' . ($id + 1) . "'";
             //$this->messages .= $querystr.'<br>';
             $result = $roster->db->query($querystr);
         }
         $this->messages .= '</ul>';
     }
     return true;
 }
Esempio n. 6
0
 /**
  * Constructor
  *
  * @param array $options
  *		Override any of the default options, like client/server sorting, alt
  *		grouping, or pagination.
  * @param array $addon
  *		If the SortMembers addon array has already been loaded, pass it here
  *		for efficiency. if the addon array is not available, omit it, and it
  *		will be loaded automatically.
  */
 function memberslist($options = array(), $addon = array())
 {
     global $roster;
     $basename = 'memberslist';
     // --[ Get addon array ]--
     $this->addon = getaddon($basename);
     // Set the js in the roster header
     $roster->output['html_head'] .= '<script type="text/javascript" src="' . ROSTER_PATH . 'addons/' . $basename . '/js/sorttable.js"></script>';
     // Merge in the override options from the calling file
     if (!empty($options)) {
         $this->addon['config'] = array_merge($this->addon['config'], $options);
     }
     // Overwrite some options if they're specified by the client
     if (isset($_GET['style'])) {
         $this->addon['config']['nojs'] = $_GET['style'] == 'server' ? 1 : 0;
     }
     if (isset($_GET['alts'])) {
         $this->addon['config']['group_alts'] = $_GET['alts'] == 'open' ? 2 : $_GET['alts'] == 'close' ? 1 : 0;
     }
 }
Esempio n. 7
0
 /**
  * Constructor for Roster Login class
  * Accepts an action for the form
  * And an array of additional fields
  *
  * @param string $script_filename
  * @param array $fields
  * @return RosterLogin
  */
 function RosterLogin($script_filename = '')
 {
     global $roster;
     $this->setAction($script_filename);
     $this->allow_login = 0;
     $this->message = '<span style="font-size:10px;color:red;">Not logged in</span><br />';
     $query = "SELECT `account_id`, `name` FROM `" . $roster->db->table('account') . "`;";
     $result = $roster->db->query($query);
     if (!$result) {
         die_quietly($roster->db->error, 'Roster Auth', __FILE__, __LINE__, $query);
     }
     $this->levels[0] = 'Public';
     $this->login_levels['Public'] = 0;
     while ($row = $roster->db->fetch($result)) {
         $this->levels[$row['account_id']] = $row['name'];
         $this->login_levels[$row['name']] = $row['account_id'];
     }
     $addon_data = getaddon('phpBB_login');
     $this->roster_phpbb_admin_groups = $addon_data['config']['phpbb_admin_groups'];
     $this->roster_phpbb_officer_groups = $addon_data['config']['phpbb_officer_groups'];
     $this->roster_phpbb_guild_groups = $addon_data['config']['phpbb_guild_groups'];
     $this->checkLogin();
     $this->checkLogout();
 }
Esempio n. 8
0
            if ($roster->output['show_footer']) {
                include_once ROSTER_BASE . 'footer.php';
            }
            exit;
        } else {
            // Send a 404. Then the browser knows what's going on as well.
            header('HTTP/1.0 404 Not Found');
            roster_die(sprintf($roster->locale->act['module_not_exist'], ROSTER_PAGE_NAME), $roster->locale->act['roster_error']);
        }
}
if (empty($roster->pages[1])) {
    // Send a 404. Then the browser knows what's going on as well.
    header('HTTP/1.0 404 Not Found');
    roster_die(sprintf($roster->locale->act['module_not_exist'], ROSTER_PAGE_NAME), $roster->locale->act['roster_error']);
}
$addon = getaddon($roster->pages[1]);
//---[ Check if the module exists ]-----------------------
if (!file_exists($path)) {
    // Send a 404. Then the browser knows what's going on as well.
    header('HTTP/1.0 404 Not Found');
    roster_die(sprintf($roster->locale->act['module_not_exist'], ROSTER_PAGE_NAME), $roster->locale->act['roster_error']);
}
if (!$roster->auth->getAuthorized($addon['access'])) {
    roster_die(sprintf($roster->locale->act['addon_no_access'], $addon['basename']), $roster->locale->act['addon_error']);
}
if ($addon['active'] == '1') {
    // Check if this addon is in the process of an upgrade and deny access if it hasn't yet been upgraded
    $installfile = $addon['inc_dir'] . 'install.def.php';
    $install_class = $addon['basename'] . 'Install';
    if (file_exists($installfile)) {
        include_once $installfile;
Esempio n. 9
0
 function charsPage()
 {
     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']['chars'] . '</span><br />' . $roster->auth->getMessage() . $roster->auth->getLoginForm();
     } else {
         include_once 'memberslist.php';
         $charlist = new memberslist(array('group_alts' => -1));
         $uid = $accounts->session->getVal('uid');
         $mainQuery = 'SELECT ' . '`user_link`.`uid`, ' . '`user_link`.`member_id`, ' . '`members`.`member_id`, ' . '`members`.`name`, ' . '`members`.`class`, ' . '`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`, ' . '`guild`.`update_time`, ' . "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`.`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', " . '`proftable`.`professions`, ' . '`talenttable`.`talents` ' . '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('players') . '` AS players ON `members`.`member_id` = `players`.`member_id` ' . "LEFT JOIN (SELECT `member_id` , GROUP_CONCAT( CONCAT( `skill_name` , '|', `skill_level` ) ORDER BY `skill_order`) AS 'professions' " . 'FROM `' . $roster->db->table('skills') . '` ' . 'GROUP BY `member_id`) AS proftable ON `members`.`member_id` = `proftable`.`member_id` ' . "LEFT JOIN (SELECT `member_id` , GROUP_CONCAT( CONCAT( `tree` , '|', `pointsspent` , '|', `background` ) ORDER BY `order`) AS 'talents' " . 'FROM `' . $roster->db->table('talenttree') . '` ' . 'GROUP BY `member_id`) AS talenttable ON `members`.`member_id` = `talenttable`.`member_id` ' . 'LEFT JOIN `' . $roster->db->table('guild') . '` AS guild ON `members`.`guild_id` = `guild`.`guild_id` ' . 'WHERE `user_link`.`uid` = "' . $uid . '"' . 'ORDER BY IF(`members`.`member_id` = `user_link`.`member_id`,1,0), ';
         $always_sort = ' `members`.`level` DESC, `members`.`name` ASC';
         $addon = getaddon('memberslist');
         $FIELD['name'] = array('lang_field' => 'name', 'order' => array('`members`.`name` ASC'), 'order_d' => array('`members`.`name` DESC'), 'value' => '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' => 'class_value', 'js_type' => 'ts_string', 'display' => $addon['config']['member_class']);
         $FIELD['level'] = array('lang_field' => 'level', 'order_d' => array('`members`.`level` ASC'), 'value' => 'level_value', 'js_type' => 'ts_number', 'display' => $addon['config']['member_level']);
         $FIELD['guild_title'] = array('lang_field' => 'title', 'order' => array('`members`.`guild_rank` ASC'), 'order_d' => array('`members`.`guild_rank` DESC'), 'js_type' => 'ts_number', 'jsort' => 'guild_rank', 'display' => $addon['config']['member_gtitle']);
         $FIELD['lifetimeRankName'] = array('lang_field' => 'currenthonor', 'order' => array('risnull', '`players`.`lifetimeHighestRank` DESC'), 'order_d' => array('risnull', '`players`.`lifetimeHighestRank` ASC'), 'value' => 'honor_value', 'js_type' => 'ts_number', 'display' => $addon['config']['member_hrank']);
         $FIELD['professions'] = array('lang_field' => 'professions', 'value' => 'tradeskill_icons', 'js_type' => '', 'display' => $addon['config']['member_prof']);
         $FIELD['hearth'] = array('lang_field' => 'hearthed', 'order' => array('hisnull', 'hearth ASC'), 'order_d' => array('hisnull', 'hearth DESC'), 'js_type' => 'ts_string', 'display' => $addon['config']['member_hearth']);
         $FIELD['zone'] = array('lang_field' => 'lastzone', 'order' => array('`members`.`zone` ASC'), 'order_d' => array('`members`.`zone` DESC'), 'js_type' => 'ts_string', 'display' => $addon['config']['member_zone']);
         $FIELD['last_online'] = array('lang_field' => 'lastonline', 'order' => array('`members`.`last_online` DESC'), 'order_d' => array('`members`.`last_online` ASC'), 'value' => 'last_online_value', 'js_type' => 'ts_date', 'display' => $addon['config']['member_online']);
         $FIELD['last_update_format'] = array('lang_field' => 'lastupdate', 'order' => array('luisnull', '`players`.`dateupdatedutc` DESC'), 'order_d' => array('luisnull', '`players`.`dateupdatedutc` ASC'), 'jsort' => 'last_update_stamp', 'js_type' => 'ts_date', 'display' => $addon['config']['member_update']);
         $FIELD['note'] = array('lang_field' => 'note', 'order' => array('nisnull', '`members`.`note` ASC'), 'order_d' => array('nisnull', '`members`.`note` DESC'), 'value' => 'note_value', 'js_type' => 'ts_string', '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', 'js_type' => 'ts_string', 'display' => $addon['config']['member_onote']);
         $charlist->prepareData($mainQuery, $always_sort, $FIELD, 'charlist');
         $addon = getaddon('accounts');
         $roster->output['show_menu']['acc_menu'] = 1;
         // Display the button listing
         $roster->tpl->assign_block_vars('accounts_chars', array('MESSAGE' => $accounts->message, 'BORDER_START' => border('sblue', 'start', $roster->locale->act['acc_page']['chars']), 'CHARS_LIST' => $charlist->makeMembersList(), 'BORDER_END' => border('sblue', 'end')));
         $roster->tpl->set_filenames(array('accounts_chars' => $addon['basename'] . '/chars.html'));
         $roster->tpl->display('accounts_chars');
     }
 }
Esempio n. 10
0
 /**
  * Controls Output of the Faction Column
  *
  * @param array $row
  * @return string - Formatted output
  */
 function faction_value($row, $field)
 {
     global $roster;
     $addon = getaddon('memberslist');
     if ($row['factionEn']) {
         $faction = isset($row['factionEn']) ? $row['factionEn'] : '';
         switch (substr($faction, 0, 1)) {
             case 'A':
                 $icon = '<img src="' . $roster->config['img_url'] . 'icon_alliance.png" alt="" width="' . $addon['config']['icon_size'] . '" height="' . $addon['config']['icon_size'] . '"/> ';
                 break;
             case 'H':
                 $icon = '<img src="' . $roster->config['img_url'] . 'icon_horde.png" alt="" width="' . $addon['config']['icon_size'] . '" height="' . $addon['config']['icon_size'] . '"/> ';
                 break;
             default:
                 $icon = '<img src="' . $roster->config['img_url'] . 'icon_neutral.png" alt="" width="' . $addon['config']['icon_size'] . '" height="' . $addon['config']['icon_size'] . '"/> ';
                 break;
         }
     } else {
         $icon = '';
     }
     $cell_value = $icon . $row['faction'];
     return '<div style="display:none; ">' . $row['faction'] . '</div><center>' . $cell_value . '</center>';
 }
Esempio n. 11
0
    }
} else {
    $body = messagebox($roster->locale->act['roster_cp_invalid'], $roster->locale->act['roster_cp'], 'sred');
}
// Build the pagebar from admin/pages.php
foreach ($config_pages as $pindex => $data) {
    $pagename = $roster->pages[0] . ($page != 'roster' ? '-' . $page : '');
    if (!isset($data['special']) || $data['special'] != 'hidden') {
        $roster->tpl->assign_block_vars('pagebar', array('SPECIAL' => isset($data['special']) ? $data['special'] : '', 'SELECTED' => isset($data['href']) ? $pagename == $data['href'] ? true : false : '', 'LINK' => isset($data['href']) ? makelink($data['href']) : '', 'NAME' => isset($data['title']) ? isset($roster->locale->act[$data['title']]) ? $roster->locale->act[$data['title']] : $data['title'] : ''));
    }
}
// Refresh the addon list because we may have installed/uninstalled something
$roster->get_addon_data();
$roster->tpl->assign_var('ADDON_PAGEBAR', (bool) count($roster->addon_data));
foreach ($roster->addon_data as $row) {
    $addon = getaddon($row['basename']);
    updateCheck($addon);
    if (file_exists($addon['ucp_dir'] . 'index.php')) {
        // Save current locale array
        // Since we add all locales for localization, we save the current locale array
        // This is in case one addon has the same locale strings as another, and keeps them from overwritting one another
        $localetemp = $roster->locale->wordings;
        foreach ($roster->multilanguages as $lang) {
            $roster->locale->add_locale_file(ROSTER_ADDONS . $row['basename'] . DIR_SEP . 'locale' . DIR_SEP . $lang . '.php', $lang);
        }
        $roster->tpl->assign_block_vars('addon_pagebar', array('SELECTED' => isset($roster->pages[2]) && $roster->pages[2] == $row['basename'] ? true : false, 'LINK' => makelink('ucp-addon-' . $row['basename']), 'NAME' => isset($roster->locale->act[$row['fullname']]) ? $roster->locale->act[$row['fullname']] : $row['fullname']));
        // Restore our locale array
        $roster->locale->wordings = $localetemp;
        unset($localetemp);
    }
}
Esempio n. 12
0
 * @license    http://www.gnu.org/licenses/gpl.html   Licensed under the GNU General Public License v3.
 * @package    WoWRoster
 * @subpackage Search
*/
if (!defined('IN_ROSTER')) {
    exit('Detected invalid access to this file!');
}
require_once ROSTER_BASE . 'settings.php';
$roster->output['title'] = $roster->locale->act['search'];
$roster->tpl->assign_vars(array('S_NO_RESULTS' => false, 'S_RESULT' => false, 'U_SEARCH_LINK' => makelink('search'), 'SEARCH' => ''));
/**
 * We need all the addon data for search
 * So we inject the full addon data into the global array
 */
foreach ($roster->addon_data as $name => $data) {
    $roster->addon_data[$name] = getaddon($name);
    // Save current locale array
    // Since we add all locales for localization, we save the current locale array
    // This is in case one addon has the same locale strings as another, and keeps them from overwritting one another
    $localetemp = $roster->locale->wordings;
    foreach ($roster->multilanguages as $lang) {
        $roster->locale->add_locale_file(ROSTER_ADDONS . $data['basename'] . DIR_SEP . 'locale' . DIR_SEP . $lang . '.php', $lang);
    }
    $roster->addon_data[$name]['fullname'] = isset($roster->locale->act[$data['fullname']]) ? $roster->locale->act[$data['fullname']] : $data['fullname'];
    // Restore our locale array
    $roster->locale->wordings = $localetemp;
    unset($localetemp);
    if ($roster->auth->getAuthorized($roster->addon_data[$name]['access']) && file_exists($roster->addon_data[$name]['search_file'])) {
        include_once $roster->addon_data[$name]['search_file'];
    }
    // Open the lib/search directory for roster core search files
Esempio n. 13
0
 *
 *
 * @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    IntanceKeys
 */
if (!defined('IN_ROSTER')) {
    exit('Detected invalid access to this file!');
}
if (!active_addon('memberslist')) {
    // Memberslist not installed. Just die for now.
    roster_die("You will need to install memberslist to use the keys addon display component");
}
$memberslist_addon = getaddon('memberslist');
// Include addon's locale files if they exist
foreach ($roster->multilanguages as $lang) {
    $roster->locale->add_locale_file($memberslist_addon['locale_dir'] . $lang . '.php', $lang);
}
// Apply memberslist style
roster_add_css($memberslist_addon['tpl_css_url'], 'theme');
include_once $memberslist_addon['inc_dir'] . 'memberslist.php';
include_once ROSTER_LIB . 'item.php';
$memberlist = new memberslist(array(), $memberslist_addon);
// First define static data
$mainSelect = 'SELECT ' . '`members`.`member_id`, ' . '`members`.`name`, ' . '`members`.`class`, ' . '`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`, ' . "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`.`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', ";
$mainTables = 'FROM `' . $roster->db->table('members') . '` AS members ' . 'LEFT JOIN `' . $roster->db->table('alts', $memberslist_addon['basename']) . '` AS alts ON `members`.`member_id` = `alts`.`member_id` ' . 'INNER JOIN `' . $roster->db->table('players') . '` AS players ON `members`.`member_id` = `players`.`member_id` ' . 'INNER JOIN `' . $roster->db->table('guild') . '` AS guild ON `members`.`guild_id` = `guild`.`guild_id` ' . 'INNER JOIN `' . $roster->db->table('keycache', $addon['basename']) . '` AS keycache ON `members`.`member_id` = `keycache`.`member_id` ';
$where[] = '`members`.`guild_id` = "' . $roster->data['guild_id'] . '"';
$group[] = '`members`.`member_id`';
$order_last[] = '`members`.`level` DESC';
Esempio n. 14
0
<?php

/** 
 * 
 */
if (!defined('IN_ROSTER')) {
    exit('Detected invalid access to this file!');
}
if (!isset($addon)) {
    $addon = getaddon('user');
}
if (!isset($user)) {
    include_once $addon['inc_dir'] . 'users.lib.php';
    $user = new user();
    /*
    	if( !isset($user->form))
    	{
    		include_once( $addon['inc_dir'] . 'form.lib.php');
    		$user->form = new userForm;
    	}
    /*
    	if( !isset($user->admin))
    	{
    		include_once( $addon['inc_dir'] . 'admin.lib.php');
    		$user->admin = new userAdmin;
    	}
    
    	if( !isset($user->page))
    	{
    		include_once( $addon['inc_dir'] . 'page.lib.php');
    		$user->page = new userPage;
Esempio n. 15
0
 * 
 * LICENSE: Licensed under the Creative Commons 
 *          "Attribution-NonCommercial-ShareAlike 2.5" license 
 * 
 * @copyright  2005-2007 Pretty Kitty Development 
 * @author	   mdeshane
 * @license    http://creativecommons.org/licenses/by-nc-sa/2.5   Creative Commons "Attribution-NonCommercial-ShareAlike 2.5" 
 * @link       http://dev.pkcomp.net 
 * @package    Accounts 
 * @subpackage Conf File
 */
if (!defined('IN_ROSTER')) {
    exit('Detected invalid access to this file!');
}
if (!isset($addon)) {
    $addon = getaddon('accounts');
}
if (!isset($accounts)) {
    include_once $addon['inc_dir'] . 'accounts.lib.php';
    $accounts = new accounts();
    if (!isset($accounts->plugin)) {
        include_once $addon['inc_dir'] . 'plugin.lib.php';
        $accounts->plugin = new accountsPlugin();
    }
    if (!isset($accounts->session)) {
        include_once $addon['inc_dir'] . 'session.lib.php';
        $accounts->session = new accountsSession();
    }
    if (!isset($accounts->form)) {
        include_once $addon['inc_dir'] . 'form.lib.php';
        $accounts->form = new accountsForm();
Esempio n. 16
0
 function build_guild($content, $gid)
 {
     global $roster, $addon;
     $guild = $content->guildInfo->guild;
     $guildh = $content->guildInfo->guildHeader;
     $this->data['timestamp']['init']['datakey'] = $roster->data['3'];
     $this->data['Ranks'] = $this->_getGuildRanks($this->guildId);
     $this->data['timestamp']['init']['datakey'] = $roster->data['region'];
     $this->data['timestamp']['init']['TimeStamp'] = time();
     $this->data['timestamp']['init']['Date'] = date('Y-m-d H:i:s');
     $this->data['timestamp']['init']['DateUTC'] = gmdate('Y-m-d H:i:s');
     $this->data['GPprovider'] = "ApiSync";
     $this->data['FactionEn'] = $roster->locale->act['id_to_faction'][(string) $guildh["faction"]];
     $this->data["DBversion"] = $roster->config['minGPver'];
     $this->data["GPversion"] = $roster->config['minGPver'];
     $this->data["GuildName"] = $roster->data['guild_name'];
     $this->data['EventLog'] = array();
     $this->data['name'] = $this->memberName;
     $this->data['Info'] = '';
     $members = $this->_getGuildMembers($gid);
     $min = 60;
     $hour = 60 * $min;
     $day = 24 * $hour;
     $month = 30 * $day;
     $year = 365 * $day;
     foreach ($guild->members->character as $ch => $char) {
         $player = array();
         $player["name"] = '' . $char['name'] . '';
         $player["ClassId"] = '' . $char['classId'] . '';
         $player['Class'] = $roster->locale->act['id_to_class']['' . $player["ClassId"] . ''];
         //$char['class'];
         $player["ClassEn"] = $roster->locale->act['class_to_en']['' . $player["Class"] . ''];
         if (substr($player["Class"], 0, 1) == 'J' && substr($player["Class"], -3) == 'ger') {
             $player["Class"] = utf8_encode('Jäger');
         }
         $player['Level'] = '' . $char['level'] . '';
         $player['Rank'] = '' . $char['rank'] . '';
         if (array_key_exists('' . $char['name'] . '', $members)) {
             $player['Note'] = $members['' . $char['name'] . '']['note'];
             $player['Zone'] = $members['' . $char['name'] . '']['zone'];
             $player['Status'] = $members['' . $char['name'] . '']['status'];
             $player['Online'] = "0";
             $curtime = time();
             $diff = $curtime - strtotime($members['' . $char['name'] . '']['last_online']);
             $years = floor($diff / $year);
             $diff -= $years * $year;
             $months = floor($diff / $month);
             $diff -= $months * $month;
             $days = floor($diff / $day);
             $diff -= $days * $day;
             $hours = floor($diff / $hour);
             $player['LastOnline'] = $years . ":" . $months . ":" . $days . ":" . $hours;
             $members['' . $char['name'] . '']['done'] = 1;
         } else {
             $player['Online'] = "1";
         }
         $this->data['Members']['' . $char['name'] . ''] = $player;
         $this->status['guildInfo'] += 1;
     }
     if (isset($roster->addon_data['guildbank']) && $roster->addon_data['guildbank']['active'] == 1) {
         $guildbank = getaddon('guildbank');
     }
     foreach ($members as $member) {
         if (!array_key_exists('done', $member)) {
             if (is_int(array_search($member['guild_title'], explode(',', $addon['config']['ApiSync_protectedtitle']))) || isset($guildbank) && strstr($member[$guildbank['config']['banker_fieldname']], $guildbank['config']['banker_rankname'])) {
                 $player['name'] = $member['name'];
                 $player['Class'] = $roster->locale->act['enUS']['id_to_class'][$member['classid']];
                 //$member['class'];
                 $player['Level'] = $member['level'];
                 $player['Rank'] = $member['guild_rank'];
                 $player['Note'] = $member['note'];
                 $player['Zone'] = $member['zone'];
                 $player['Status'] = $member['status'];
                 $player['Online'] = $member['online'];
                 $curtime = time();
                 $diff = $curtime - strtotime($member['last_online']);
                 $years = floor($diff / $year);
                 $diff -= $years * $year;
                 $months = floor($diff / $month);
                 $diff -= $months * $month;
                 $days = floor($diff / $day);
                 $diff -= $days * $day;
                 $hours = floor($diff / $hour);
                 $player['LastOnline'] = $years . ":" . $months . ":" . $days . ":" . $hours;
                 $this->data['Members'][$member['name']] = $player;
             }
         }
     }
     $this->_debug(1, $this->data, 'Parsed guild info', 'OK');
 }
Esempio n. 17
0
<?php

///var/www/clients/client2/web19/web/wowroster/addons/ApiSync/guild
echo 'This is a cron charavter update file for apisync<br>';
define('IN_ROSTER', true);
require_once 'settings.php';
if (!defined('IN_ROSTER')) {
    exit('Detected invalid access to this file!');
}
$addon = getaddon('ApiSync');
require_once $addon['dir'] . 'inc/ApiSyncjob.class.php';
//$roster->output['show_header'] = false;
$roster->output['show_footer'] = false;
$roster->output['show_menu'] = false;
$job = new ApiSyncJob();
$job->is_cron = true;
$job->_startSyncing();
_run();
//$this->done, $this->total
function _run()
{
    global $roster, $job;
    echo '<br>' . $job->active_member['name'] . ' - ' . $job->done . ' - ' . $job->total . '<br>' . "\n";
    if ($job->done != $job->total) {
        $job->_startSyncing();
        _loop();
    } else {
        return true;
    }
}
function _loop()