예제 #1
0
}
$color = array(array(0, $user->lang['CLOSED'], "#AAAAAA", "rec_closed.png"), array(1, $user->lang['LOW'], "#FFBB44", "rec_low.png"), array(2, $user->lang['MEDIUM'], "#FF3300", "rec_med.png"), array(3, $user->lang['HIGH'], "#AA00AA", "rec_high.png"));
$recruit = new \bbdkp\controller\guilds\Recruitment();
$guildrecruitingresult = $recruit->get_recruiting_guilds();
$this->apply_installed = false;
$plugin_versioninfo = (array) parent::get_plugin_info(request_var('versioncheck_force', false));
if (isset($plugin_versioninfo['apply'])) {
    $this->apply_installed = true;
}
while ($row = $db->sql_fetchrow($guildrecruitingresult)) {
    $guild_id = $row['id'];
    $template->assign_block_vars('guild', array('EMBLEM' => $row['emblemurl'], 'NAME' => $row['name'], 'S_CLOSED' => $row['rec_status'] == 0 ? true : false));
    $recruit->setGuildId($guild_id);
    $Guild = new \bbdkp\controller\guilds\Guilds();
    $Guild->guildid = $guild_id;
    $Guild->Getguild();
    $blockresult = $recruit->ListRecruitments(1);
    while ($row = $db->sql_fetchrow($blockresult)) {
        switch ($row['positions']) {
            case 0:
                $pos_icon = 'rec_closed.png';
                break;
            case 1:
                $pos_icon = 'rec_low.png';
                break;
            case 2:
                $pos_icon = 'rec_med.png';
                break;
            default:
                $pos_icon = 'rec_high.png';
                break;
예제 #2
0
 /**
  * Call the Character API
  *
  */
 private function CallCharacterAPI()
 {
     global $db;
     $Guild = new \bbdkp\controller\guilds\Guilds();
     $Guild->guildid = request_var('hidden_guildid', 0);
     $Guild->Getguild();
     $minlevel = request_var('hidden_minlevel', 0);
     $maxlevel = request_var('hidden_maxlevel', 200);
     $selectactive = request_var('hidden_active', 0);
     $selectnonactive = request_var('hidden_nonactive', 0);
     $member_filter = utf8_normalize_nfc(request_var('hidden_member_name', '', true));
     $members_result = $Guild->listmembers('member_id', 0, 0, $minlevel, $maxlevel, $selectactive, $selectnonactive, $member_filter, true);
     $log = '';
     $i = 0;
     $j = 0;
     while ($row = $db->sql_fetchrow($members_result)) {
         if ($j > 100) {
             break;
         }
         $member = new \bbdkp\controller\members\Members($row['member_id']);
         $last_update = $member->last_update;
         $diff = \round(\abs(\time() - $last_update) / 86400, 2);
         // 1 days ago ? call armory
         if ($diff > 1) {
             $i += 1;
             if ($log != '') {
                 $log .= ', ';
             }
             $old_member = new \bbdkp\controller\members\Members($row['member_id']);
             if (isset($member)) {
                 if ($member->member_rank_id < 90) {
                     $member->Armory_getmember();
                 }
                 $member->Updatemember($old_member);
             }
             unset($old_member);
             $log .= $row['member_name'];
         }
         unset($member);
         $j++;
     }
     $db->sql_freeresult($members_result);
     unset($members_result);
     return array($i, $log);
 }
예제 #3
0
 public function main($id, $mode)
 {
     global $user, $template, $phpEx, $phpbb_admin_path, $phpbb_root_path, $db;
     $user->add_lang(array('mods/dkp_admin', 'mods/dkp_common', 'mods/dkp_gameworld'));
     $this->tpl_name = 'dkp/acp_bossprogress';
     switch ($mode) {
         case 'guildprogress':
             $selectguild = isset($_POST['member_guild_id']) ? true : false;
             $submit = isset($_POST['bpsave']) ? true : false;
             $Guild = new \bbdkp\controller\guilds\Guilds();
             $guildlist = $Guild->guildlist(1);
             if (count((array) $guildlist) == 0) {
                 trigger_error('ERROR_NOGUILD', E_USER_WARNING);
             }
             if ($selectguild) {
                 $Guild->guildid = request_var('member_guild_id', 0);
             } else {
                 $Guild->guildid = request_var('hidden_guild_id', request_var('guild_id', 0));
             }
             $Guild->Getguild();
             if ($submit) {
                 $selectgame = request_var('hidden_game_id', '');
                 $krequest = new \bbdkp\admin\krequest();
                 $zones = $krequest->variable('boss', array('' => array('' => array('' => ''))), true, \bbdkp\admin\krequest::POST);
                 $krequest->enable_super_globals();
                 unset($krequest);
                 foreach ($zones as $bosses) {
                     $boss_ids = array();
                     foreach ($bosses as $id => $boss) {
                         if (isset($boss['killed']) || $boss['killdate'] != '' && $this->validateDate($boss['killdate'])) {
                             if ($boss['killdate'] != '') {
                                 $kd = \date_create($boss['killdate']);
                                 $kd = date_format($kd, 'U');
                             } else {
                                 $kd = time();
                             }
                             $sql_ary[] = array('guild_id' => $Guild->guildid, 'boss_id' => $id, 'bosskilled' => 1, 'bosskilldate' => $kd, 'bosscounter' => 1);
                             unset($kd);
                         }
                         $boss_ids[] = $id;
                     }
                     $sql = 'DELETE FROM ' . GUILD_BOSS . ' WHERE guild_id = ' . $Guild->guildid . ' AND ' . $db->sql_in_set('boss_id', $boss_ids);
                     $db->sql_query($sql);
                     $db->sql_multi_insert(GUILD_BOSS, $sql_ary);
                     unset($boss, $boss_ids, $sql_ary, $sql);
                 }
             }
             foreach ($guildlist as $g) {
                 if ($Guild->guildid == 0) {
                     $Guild->guildid = $g['id'];
                     $Guild->name = $g['name'];
                     $Guild->Getguild();
                 }
                 if ($Guild->guildid == 0 && $Guild->name == 'Guildless') {
                     trigger_error('ERROR_NOGUILD', E_USER_WARNING);
                 }
                 break;
             }
             foreach ($guildlist as $g) {
                 $template->assign_block_vars('guild_row', array('VALUE' => $g['id'], 'SELECTED' => $g['id'] == $Guild->guildid ? ' selected="selected"' : '', 'OPTION' => !empty($g['name']) ? $g['name'] : '(None)'));
             }
             $this->igame = new games\Game();
             $this->igame->game_id = $Guild->game_id;
             $this->igame->Get();
             $bp = new \bbdkp\controller\Raids\GuildProgress();
             $data = $bp->GetProgress($Guild);
             $numzones = 0;
             foreach ($data as $zone_id => $zone) {
                 $numzones += 1;
             }
             $start = request_var('start', 0);
             $template->assign_vars(array('PAGINATION' => generate_pagination(append_sid("{$phpbb_admin_path}index.{$phpEx}", "i=dkp_bossprogress&amp;mode=guildprogress&amp;guild_id=" . $Guild->guildid), $numzones, 2, $start, true), 'PAGE_NUMBER' => on_page($numzones, 2, $start), 'F_CONFIG' => append_sid("{$phpbb_admin_path}index.{$phpEx}", "i=dkp_bossprogress&amp;mode=guildprogress&amp;guild_id=" . $Guild->guildid), 'GUILD_ID' => $Guild->guildid, 'GAME_ID' => $Guild->game_id));
             $i = 0;
             $j = 0;
             foreach ($data as $zone_id => $zone) {
                 $i += 1;
                 if ($i >= $start) {
                     $j += 1;
                     //show max 2 zones per page
                     if ($j <= 2) {
                         $template->assign_block_vars('zone', array('ZONE_NAME' => $zone['zonename'], 'ZONE_ID' => $zone['zoneid'], 'ZONE_PROGRESSIMG' => $zone['zoneimage'], 'ZONE_BACKGROUNDIMG' => $zone['zonebackground'], 'ZONECOMPLETE' => $zone['zonecomplete'], 'ZONESTATS' => $zone['zonestats']));
                         foreach ($zone['bosses'] as $boss_id => $boss) {
                             $killdate = '';
                             if ($boss['bosskilldate'] != '') {
                                 $killdate = date('d-m-y', $boss['bosskilldate']);
                                 // convert UNIX timestamp to PHP DateTime
                             }
                             $template->assign_block_vars('zone.boss', array('BOSS_NAME' => $boss['bossname'], 'BOSS_IMAGENAME' => $phpbb_root_path . "images/bbdkp/gameworld/" . $Guild->game_id . "/bosses/" . $boss['imagename'] . ".png", 'BOSS_ID' => $boss['id'], 'BOSS_WEBID' => $boss['webid'], 'BOSS_TYPE' => $boss['type'], 'BOSS_URL' => sprintf($this->igame->getBossbaseurl(), $boss['webid']), 'BOSS_URLVIEW' => $phpbb_root_path . "images/bbdkp/icons/view.gif", 'BOSS_KILLED' => $boss['bosskilled'] == 1 ? 'checked="checked"' : '', 'BOSS_SHOW' => $boss['bossshow'] == 1 ? "checked=checked" : '', 'BOSS_KILLDATE' => $killdate, 'BOSS_COUNTER' => $boss['bosscounter'], 'S_BOSS_KILLED' => $boss['bosskilled']));
                         }
                     }
                 }
             }
             break;
     }
 }