Beispiel #1
0
    /**
     * shows add/edit character form
     *
     * @param int $member_id
     * @param array $guildlist
     */
    private function fill_addmember($member_id, $guildlist)
    {
        global $db, $auth, $user, $template, $config, $phpbb_root_path;
        $members = new \bbdkp\controller\members\Members();
        // Attach the language file
        $user->add_lang('mods/dkp_common');
        $user->add_lang(array('mods/dkp_admin'));
        $show = true;
        if ($member_id == 0) {
            // check if user can add character
            if (!$auth->acl_get('u_dkp_charadd')) {
                trigger_error($user->lang['NOUCPADDCHARS']);
            }
            if (!$auth->acl_get('u_dkpucp')) {
                trigger_error($user->lang['NOUCPADDCHARS']);
            }
            if ($members->has_reached_maxbbdkpaccounts()) {
                $show = false;
                $template->assign_vars(array('MAX_CHARS_EXCEEDED' => sprintf($user->lang['MAX_CHARS_EXCEEDED'], $config['bbdkp_maxchars'])));
            }
            // set add mode
            $S_ADD = true;
        } else {
            $S_ADD = false;
            $members->member_id = $member_id;
            $members->Getmember();
        }
        foreach ($guildlist as $g) {
            //assign guild_id property
            if ($members->member_guild_id == 0) {
                //if there is a default guild
                if ($g['guilddefault'] == 1) {
                    $members->member_guild_id = $g['id'];
                }
                //if member count > 0
                if ($members->member_guild_id == 0 && $g['membercount'] > 1) {
                    $members->member_guild_id = $g['id'];
                }
                //if guild id field > 0
                if ($members->member_guild_id == 0 && $g['id'] > 0) {
                    $members->member_guild_id = $g['id'];
                }
            }
            //populate guild popup
            if ($g['id'] > 0) {
                $template->assign_block_vars('guild_row', array('VALUE' => $g['id'], 'SELECTED' => $g['id'] == $members->member_guild_id ? ' selected="selected"' : '', 'OPTION' => !empty($g['name']) ? $g['name'] : '(None)'));
            }
            $guilds = new \bbdkp\controller\guilds\Guilds($members->member_guild_id);
            $gamename = $this->games[$guilds->game_id];
        }
        // Rank drop-down -> for initial load
        // reloading is done from ajax to prevent redraw
        $Ranks = new \bbdkp\controller\guilds\Ranks($members->member_guild_id);
        $result = $Ranks->listranks();
        while ($row = $db->sql_fetchrow($result)) {
            $template->assign_block_vars('rank_row', array('VALUE' => $row['rank_id'], 'SELECTED' => $members->member_rank_id == $row['rank_id'] ? ' selected="selected"' : '', 'OPTION' => !empty($row['rank_name']) ? $row['rank_name'] : '(None)'));
        }
        //race dropdown
        $sql_array = array('SELECT' => '  r.race_id, l.name as race_name ', 'FROM' => array(RACE_TABLE => 'r', BB_LANGUAGE => 'l'), 'WHERE' => " r.race_id = l.attribute_id\n\t\t\t\t\t\tAND r.game_id = '" . $guilds->game_id . "'\n\t\t\t\t\t\tAND l.attribute='race'\n\t\t\t\t\t\tAND l.game_id = r.game_id\n\t\t\t\t\t\tAND l.language= '" . $config['bbdkp_lang'] . "'", 'ORDER_BY' => 'l.name asc');
        $sql = $db->sql_build_query('SELECT', $sql_array);
        $result = $db->sql_query($sql);
        if ($member_id > 0) {
            while ($row = $db->sql_fetchrow($result)) {
                $template->assign_block_vars('race_row', array('VALUE' => $row['race_id'], 'SELECTED' => $members->member_race_id == $row['race_id'] ? ' selected="selected"' : '', 'OPTION' => !empty($row['race_name']) ? $row['race_name'] : '(None)'));
            }
        } else {
            while ($row = $db->sql_fetchrow($result)) {
                $template->assign_block_vars('race_row', array('VALUE' => $row['race_id'], 'SELECTED' => '', 'OPTION' => !empty($row['race_name']) ? $row['race_name'] : '(None)'));
            }
        }
        // Class dropdown
        // reloading is done from ajax to prevent redraw
        $sql_array = array('SELECT' => ' c.class_id, l.name as class_name, c.class_hide,
							  c.class_min_level, class_max_level, c.class_armor_type , c.imagename ', 'FROM' => array(CLASS_TABLE => 'c', BB_LANGUAGE => 'l'), 'WHERE' => " l.game_id = c.game_id  AND c.game_id = '" . $guilds->game_id . "'\n\t\t\tAND l.attribute_id = c.class_id  AND l.language= '" . $config['bbdkp_lang'] . "' AND l.attribute = 'class' ", 'ORDER_BY' => 'l.name asc');
        $sql = $db->sql_build_query('SELECT', $sql_array);
        $result = $db->sql_query($sql);
        while ($row = $db->sql_fetchrow($result)) {
            if ($row['class_min_level'] <= 1) {
                $option = !empty($row['class_name']) ? $row['class_name'] . "\n\t\t\t\t Level (" . $row['class_min_level'] . " - " . $row['class_max_level'] . ")" : '(None)';
            } else {
                $option = !empty($row['class_name']) ? $row['class_name'] . "\n\t\t\t\t Level " . $row['class_min_level'] . "+" : '(None)';
            }
            if ($member_id > 0) {
                $template->assign_block_vars('class_row', array('VALUE' => $row['class_id'], 'SELECTED' => $members->member_class_id == $row['class_id'] ? ' selected="selected"' : '', 'OPTION' => $option));
            } else {
                $template->assign_block_vars('class_row', array('VALUE' => $row['class_id'], 'SELECTED' => '', 'OPTION' => $option));
            }
        }
        $db->sql_freeresult($result);
        //Role dropdown
        $Roles = new \bbdkp\controller\games\Roles();
        $Roles->game_id = $guilds->game_id;
        $Roles->guild_id = $members->member_guild_id;
        $listroles = $Roles->listroles();
        foreach ($listroles as $roleid => $Role) {
            $template->assign_block_vars('role_row', array('VALUE' => $Role['role_id'], 'SELECTED' => $members->member_role == $Role['role_id'] ? ' selected="selected"' : '', 'OPTION' => $Role['rolename']));
        }
        // build presets for joindate pulldowns
        $now = getdate();
        $s_memberjoin_day_options = '<option value="0"	>--</option>';
        for ($i = 1; $i < 32; $i++) {
            $day = isset($members->member_joindate_d) ? $members->member_joindate_d : $now['mday'];
            $selected = $i == $day ? ' selected="selected"' : '';
            $s_memberjoin_day_options .= "<option value=\"{$i}\"{$selected}>{$i}</option>";
        }
        $s_memberjoin_month_options = '<option value="0">--</option>';
        for ($i = 1; $i < 13; $i++) {
            $month = isset($members->member_joindate_mo) ? $members->member_joindate_mo : $now['mon'];
            $selected = $i == $month ? ' selected="selected"' : '';
            $s_memberjoin_month_options .= " <option value=\"{$i}\"{$selected}>{$i}</option>";
        }
        $s_memberjoin_year_options = '<option value="0">--</option>';
        for ($i = $now['year'] - 10; $i <= $now['year']; $i++) {
            $yr = isset($members->member_joindate_y) ? $members->member_joindate_y : $now['year'];
            $selected = $i == $yr ? ' selected="selected"' : '';
            $s_memberjoin_year_options .= "<option value=\"{$i}\"{$selected}>{$i}</option>";
        }
        // build presets for outdate pulldowns
        $s_memberout_day_options = '<option value="0"' . ($members->member_id > 0 ? $members->member_outdate != 0 ? '' : ' selected="selected"' : ' selected="selected"') . '>--</option>';
        for ($i = 1; $i < 32; $i++) {
            if ($members->member_id > 0 && $members->member_outdate != 0) {
                $day = $members->member_outdate_d;
                $selected = $i == $day ? ' selected="selected"' : '';
            } else {
                $selected = '';
            }
            $s_memberout_day_options .= "<option value=\"{$i}\"{$selected}>{$i}</option>";
        }
        $s_memberout_month_options = '<option value="0"' . ($members->member_id > 0 ? $members->member_outdate != 0 ? '' : ' selected="selected"' : ' selected="selected"') . '>--</option>';
        for ($i = 1; $i < 13; $i++) {
            if ($members->member_id > 0 && $members->member_outdate != 0) {
                $month = $members->member_outdate_mo;
                $selected = $i == $month ? ' selected="selected"' : '';
            } else {
                $selected = '';
            }
            $s_memberout_month_options .= "<option value=\"{$i}\"{$selected}>{$i}</option>";
        }
        $s_memberout_year_options = '<option value="0"' . ($members->member_id > 0 ? $members->member_outdate != 0 ? '' : ' selected="selected"' : ' selected="selected"') . '>--</option>';
        for ($i = $now['year'] - 10; $i <= $now['year'] + 10; $i++) {
            if ($members->member_id > 0 && $members->member_outdate != 0) {
                $yr = $members->member_outdate_y;
                $selected = $i == $yr ? ' selected="selected"' : '';
            } else {
                $selected = '';
            }
            $s_memberout_year_options .= "<option value=\"{$i}\"{$selected}>{$i}</option>";
        }
        // check if user can add character
        $S_UPDATE = true;
        if (!$auth->acl_get('u_dkp_charupdate')) {
            $S_UPDATE = false;
        }
        $S_DELETE = true;
        if (!$auth->acl_get('u_dkp_chardelete')) {
            $S_DELETE = false;
        }
        foreach ($this->regions as $key => $regionname) {
            $template->assign_block_vars('region_row', array('VALUE' => $key, 'SELECTED' => $members->member_region == $key ? ' selected="selected"' : '', 'OPTION' => !empty($regionname) ? $regionname : '(None)'));
        }
        $form_key = 'characteradd';
        add_form_key($form_key);
        $template->assign_vars(array('GAME_ID' => $guilds->game_id, 'GAME' => $gamename, 'STATUS' => $members->member_status == 1 ? ' checked="checked"' : '', 'MEMBER_NAME' => $members->member_name, 'MEMBER_TITLE' => $members->member_title, 'MEMBER_ID' => $members->member_id, 'MEMBER_LEVEL' => $members->member_level, 'MALE_CHECKED' => $members->member_gender_id == '0' ? ' checked="checked"' : '', 'FEMALE_CHECKED' => $members->member_gender_id == '1' ? ' checked="checked"' : '', 'MEMBER_COMMENT' => $members->member_comment, 'REALM' => $members->member_realm, 'S_CAN_HAVE_ARMORY' => $members->game_id == 'wow' || $members->game_id == 'aion' ? true : false, 'MEMBER_URL' => $members->member_armory_url, 'MEMBER_PORTRAIT' => $members->member_portrait_url, 'S_MEMBER_PORTRAIT_EXISTS' => strlen($members->member_portrait_url) > 1 ? true : false, 'S_CAN_GENERATE_ARMORY' => $members->game_id == 'wow' ? true : false, 'COLORCODE' => $members->colorcode == '' ? '#254689' : $members->colorcode, 'CLASS_IMAGE' => $members->class_image, 'S_CLASS_IMAGE_EXISTS' => strlen($members->class_image) > 1 ? true : false, 'RACE_IMAGE' => $members->race_image, 'S_RACE_IMAGE_EXISTS' => strlen($members->race_image) > 1 ? true : false, 'S_JOINDATE_DAY_OPTIONS' => $s_memberjoin_day_options, 'S_JOINDATE_MONTH_OPTIONS' => $s_memberjoin_month_options, 'S_JOINDATE_YEAR_OPTIONS' => $s_memberjoin_year_options, 'S_OUTDATE_DAY_OPTIONS' => $s_memberout_day_options, 'S_OUTDATE_MONTH_OPTIONS' => $s_memberout_month_options, 'S_OUTDATE_YEAR_OPTIONS' => $s_memberout_year_options, 'S_SHOW' => $show, 'S_ADD' => $S_ADD, 'S_CANDELETE' => $S_DELETE, 'S_CANUPDATE' => $S_UPDATE));
    }
Beispiel #2
0
    /**
     * Build addmember template
     *
     * @param $mode
     */
    private function BuildTemplateAddEditmembers($mode)
    {
        global $template, $db, $config, $user, $phpbb_admin_path, $phpEx;
        $member_id = request_var('hidden_member_id', request_var(URI_NAMEID, 0));
        $editmember = new \bbdkp\controller\members\Members($member_id);
        $S_ADD = $member_id > 0 ? false : true;
        if ($S_ADD) {
            // set defaults
            $editmember->member_guild_id = request_var(URI_GUILD, 0);
        }
        $Guild = new \bbdkp\controller\guilds\Guilds($editmember->member_guild_id);
        $guildlist = $Guild->guildlist();
        if ($S_ADD) {
            $editmember->game_id = $Guild->game_id;
            $editmember->member_rank_id = $Guild->raidtrackerrank;
            $editmember->member_status = 1;
            $editmember->member_gender_id = 0;
        }
        foreach ($guildlist as $g) {
            //populate guild popup
            $template->assign_block_vars('guild_row', array('VALUE' => $g['id'], 'SELECTED' => $g['id'] == $editmember->member_guild_id ? ' selected="selected"' : '', 'OPTION' => !empty($g['name']) ? $g['name'] : '(None)'));
        }
        // Game dropdown
        if (isset($this->games)) {
            foreach ($this->games as $gameid => $gamename) {
                $template->assign_block_vars('game_row', array('VALUE' => $gameid, 'SELECTED' => $editmember->game_id == $gameid ? ' selected="selected"' : '', 'OPTION' => $gamename));
            }
        } else {
            trigger_error('ERROR_NOGAMES', E_USER_WARNING);
        }
        foreach ($this->regions as $key => $regionname) {
            $template->assign_block_vars('region_row', array('VALUE' => $key, 'SELECTED' => $editmember->member_region == $key ? ' selected="selected"' : '', 'OPTION' => !empty($regionname) ? $regionname : '(None)'));
        }
        // Rank drop-down -> for initial load
        // reloading is done from ajax to prevent redraw
        $Ranks = new \bbdkp\controller\guilds\Ranks($editmember->member_guild_id);
        $result = $Ranks->listranks();
        while ($row = $db->sql_fetchrow($result)) {
            $template->assign_block_vars('rank_row', array('VALUE' => $row['rank_id'], 'SELECTED' => $editmember->member_rank_id == $row['rank_id'] ? ' selected="selected"' : '', 'OPTION' => !empty($row['rank_name']) ? $row['rank_name'] : '(None)'));
        }
        // Race dropdown
        // reloading is done from ajax to prevent redraw
        $sql_array = array('SELECT' => '  r.race_id, l.name as race_name ', 'FROM' => array(RACE_TABLE => 'r', BB_LANGUAGE => 'l'), 'WHERE' => " r.race_id = l.attribute_id\n\t\t\t\t\t\t\t\tAND r.game_id = '" . $editmember->game_id . "'\n\t\t\t\t\t\t\t\tAND l.attribute='race'\n\t\t\t\t\t\t\t\tAND l.game_id = r.game_id\n\t\t\t\t\t\t\t\tAND l.language= '" . $config['bbdkp_lang'] . "'", 'ORDER_BY' => 'l.name asc');
        $sql = $db->sql_build_query('SELECT', $sql_array);
        $result = $db->sql_query($sql);
        if ($editmember->member_id > 0) {
            while ($row = $db->sql_fetchrow($result)) {
                $template->assign_block_vars('race_row', array('VALUE' => $row['race_id'], 'SELECTED' => $editmember->member_race_id == $row['race_id'] ? ' selected="selected"' : '', 'OPTION' => !empty($row['race_name']) ? $row['race_name'] : '(None)'));
            }
        } else {
            while ($row = $db->sql_fetchrow($result)) {
                $template->assign_block_vars('race_row', array('VALUE' => $row['race_id'], 'SELECTED' => '', 'OPTION' => !empty($row['race_name']) ? $row['race_name'] : '(None)'));
            }
        }
        $db->sql_freeresult($result);
        //
        // Class dropdown
        // reloading is done from ajax to prevent redraw
        $sql_array = array('SELECT' => ' c.class_id, l.name as class_name, c.class_hide,
									  c.class_min_level, class_max_level, c.class_armor_type , c.imagename ', 'FROM' => array(CLASS_TABLE => 'c', BB_LANGUAGE => 'l'), 'WHERE' => " l.game_id = c.game_id  AND c.game_id = '" . $editmember->game_id . "'\n\t\t\t\t\tAND l.attribute_id = c.class_id  AND l.language= '" . $config['bbdkp_lang'] . "' AND l.attribute = 'class' ", 'ORDER_BY' => 'l.name asc');
        $sql = $db->sql_build_query('SELECT', $sql_array);
        $result = $db->sql_query($sql);
        while ($row = $db->sql_fetchrow($result)) {
            if ($row['class_min_level'] <= 1) {
                $option = !empty($row['class_name']) ? $row['class_name'] . "\n\t\t\t\t\t\t Level (" . $row['class_min_level'] . " - " . $row['class_max_level'] . ")" : '(None)';
            } else {
                $option = !empty($row['class_name']) ? $row['class_name'] . "\n\t\t\t\t\t\t Level " . $row['class_min_level'] . "+" : '(None)';
            }
            if ($editmember->member_id != 0) {
                $template->assign_block_vars('class_row', array('VALUE' => $row['class_id'], 'SELECTED' => $editmember->member_class_id == $row['class_id'] ? ' selected="selected"' : '', 'OPTION' => $option));
            } else {
                $template->assign_block_vars('class_row', array('VALUE' => $row['class_id'], 'SELECTED' => '', 'OPTION' => $option));
            }
        }
        $db->sql_freeresult($result);
        // get roles
        $Roles = new \bbdkp\controller\games\Roles();
        $Roles->game_id = $Guild->game_id;
        $Roles->guild_id = $editmember->member_guild_id;
        $listroles = $Roles->listroles();
        foreach ($listroles as $roleid => $Role) {
            $template->assign_block_vars('role_row', array('VALUE' => $Role['role_id'], 'SELECTED' => $editmember->member_role == $Role['role_id'] ? ' selected="selected"' : '', 'OPTION' => $Role['rolename']));
        }
        // build presets for joindate pulldowns
        $now = getdate();
        $s_memberjoin_day_options = '<option value="0"	>--</option>';
        for ($i = 1; $i < 32; $i++) {
            $day = $editmember->member_id > 0 ? $editmember->member_joindate_d : $now['mday'];
            $selected = $i == $day ? ' selected="selected"' : '';
            $s_memberjoin_day_options .= "<option value=\"{$i}\"{$selected}>{$i}</option>";
        }
        $s_memberjoin_month_options = '<option value="0">--</option>';
        for ($i = 1; $i < 13; $i++) {
            $month = $editmember->member_id > 0 ? $editmember->member_joindate_mo : $now['mon'];
            $selected = $i == $month ? ' selected="selected"' : '';
            $s_memberjoin_month_options .= "<option value=\"{$i}\"{$selected}>{$i}</option>";
        }
        $s_memberjoin_year_options = '<option value="0">--</option>';
        for ($i = $now['year'] - 10; $i <= $now['year']; $i++) {
            $yr = $editmember->member_id > 0 ? $editmember->member_joindate_y : $now['year'];
            $selected = $i == $yr ? ' selected="selected"' : '';
            $s_memberjoin_year_options .= "<option value=\"{$i}\"{$selected}>{$i}</option>";
        }
        // build presets for outdate pulldowns
        $s_memberout_day_options = '<option value="0"' . ($editmember->member_id > 0 ? $editmember->member_outdate != 0 ? '' : ' selected="selected"' : ' selected="selected"') . '>--</option>';
        for ($i = 1; $i < 32; $i++) {
            if ($editmember->member_id > 0 && $editmember->member_outdate != 0) {
                $day = $editmember->member_outdate_d;
                $selected = $i == $day ? ' selected="selected"' : '';
            } else {
                $selected = '';
            }
            $s_memberout_day_options .= "<option value=\"{$i}\"{$selected}>{$i}</option>";
        }
        $s_memberout_month_options = '<option value="0"' . ($editmember->member_id > 0 ? $editmember->member_outdate != 0 ? '' : ' selected="selected"' : ' selected="selected"') . '>--</option>';
        for ($i = 1; $i < 13; $i++) {
            if ($editmember->member_id > 0 && $editmember->member_outdate != 0) {
                $month = $editmember->member_outdate_mo;
                $selected = $i == $month ? ' selected="selected"' : '';
            } else {
                $selected = '';
            }
            $s_memberout_month_options .= "<option value=\"{$i}\"{$selected}>{$i}</option>";
        }
        $s_memberout_year_options = '<option value="0"' . ($editmember->member_id > 0 ? $editmember->member_outdate != 0 ? '' : ' selected="selected"' : ' selected="selected"') . '>--</option>';
        for ($i = $now['year'] - 10; $i <= $now['year'] + 10; $i++) {
            if ($editmember->member_id > 0 && $editmember->member_outdate != 0) {
                $yr = $editmember->member_outdate_y;
                $selected = $i == $yr ? ' selected="selected"' : '';
            } else {
                $selected = '';
            }
            $s_memberout_year_options .= "<option value=\"{$i}\"{$selected}>{$i}</option>";
        }
        // phpbb User dropdown
        $phpbb_user_id = $editmember->member_id > 0 ? $editmember->phpbb_user_id : 0;
        $sql_array = array('SELECT' => ' u.user_id, u.username ', 'FROM' => array(USERS_TABLE => 'u'), 'WHERE' => " u.group_id != 6 and u.group_id != 1 ", 'ORDER_BY' => " u.username ASC");
        $sql = $db->sql_build_query('SELECT', $sql_array);
        $result = $db->sql_query($sql);
        $s_phpbb_user = '******' . ($phpbb_user_id == 0 ? ' selected="selected"' : '') . '>--</option>';
        while ($row = $db->sql_fetchrow($result)) {
            $selected = $row['user_id'] == $phpbb_user_id ? ' selected="selected"' : '';
            $s_phpbb_user .= '<option value="' . $row['user_id'] . '"' . $selected . '>' . $row['username'] . '</option>';
        }
        unset($now);
        $form_key = 'mm_addmember';
        add_form_key($form_key);
        $template->assign_vars(array('L_TITLE' => $user->lang['ACP_MM_ADDMEMBER'], 'L_EXPLAIN' => $user->lang['ACP_MM_ADDMEMBER_EXPLAIN'], 'F_ADD_MEMBER' => append_sid("{$phpbb_admin_path}index.{$phpEx}", "i=dkp_mm&amp;mode=mm_addmember&amp;"), 'STATUS' => $editmember->member_status == 1 ? 'checked="checked"' : '', 'MEMBER_NAME' => $editmember->member_name, 'MEMBER_ID' => $editmember->member_id, 'MEMBER_LEVEL' => $editmember->member_level, 'REALM' => $editmember->member_realm, 'DEACTIVATE_REASON' => $editmember->deactivate_reason == '' ? '' : $user->lang[$editmember->deactivate_reason], 'STATUS_LOCK' => $editmember->deactivate_reason == '' ? false : true, 'MEMBER_ACHIEV' => $editmember->member_achiev, 'MEMBER_TITLE' => $editmember->member_title, 'MALE_CHECKED' => $editmember->member_gender_id == '0' ? ' checked="checked"' : '', 'FEMALE_CHECKED' => $editmember->member_gender_id == '1' ? ' checked="checked"' : '', 'MEMBER_COMMENT' => $editmember->member_comment, 'S_CAN_HAVE_ARMORY' => $editmember->game_id == 'wow' || $editmember->game_id == 'aion' ? true : false, 'MEMBER_URL' => $editmember->member_armory_url, 'MEMBER_PORTRAIT' => $editmember->member_portrait_url, 'S_MEMBER_PORTRAIT_EXISTS' => strlen($editmember->member_portrait_url) > 1 ? true : false, 'S_CAN_GENERATE_ARMORY' => $editmember->game_id == 'wow' ? true : false, 'COLORCODE' => $editmember->colorcode == '' ? '#254689' : $editmember->colorcode, 'CLASS_IMAGE' => $editmember->class_image, 'S_CLASS_IMAGE_EXISTS' => strlen($editmember->class_image) > 1 ? true : false, 'RACE_IMAGE' => $editmember->race_image, 'S_RACE_IMAGE_EXISTS' => strlen($editmember->race_image) > 1 ? true : false, 'S_JOINDATE_DAY_OPTIONS' => $s_memberjoin_day_options, 'S_JOINDATE_MONTH_OPTIONS' => $s_memberjoin_month_options, 'S_JOINDATE_YEAR_OPTIONS' => $s_memberjoin_year_options, 'S_OUTDATE_DAY_OPTIONS' => $s_memberout_day_options, 'S_OUTDATE_MONTH_OPTIONS' => $s_memberout_month_options, 'S_OUTDATE_YEAR_OPTIONS' => $s_memberout_year_options, 'S_PHPBBUSER_OPTIONS' => $s_phpbb_user, 'TITLE_NAME' => $editmember->game_id == 'wow' ? sprintf($editmember->member_title, $editmember->member_name) : '', 'LA_ALERT_AJAX' => $user->lang['ALERT_AJAX'], 'LA_ALERT_OLDBROWSER' => $user->lang['ALERT_OLDBROWSER'], 'LA_MSG_NAME_EMPTY' => $user->lang['FV_REQUIRED_NAME'], 'UA_FINDRANK' => append_sid($phpbb_admin_path . "style/dkp/findrank.{$phpEx}"), 'UA_FINDCLASSRACE' => append_sid($phpbb_admin_path . "style/dkp/findclassrace.{$phpEx}"), 'S_ADD' => $S_ADD));
        $this->page_title = 'ACP_MM_ADDMEMBER';
        $this->tpl_name = 'dkp/acp_' . $mode;
    }
Beispiel #3
0
    /**
     * updates a wow guild rank list from Battle.NET API -- except guildless
     *
     * @param array $memberdata
     * @param int $guild_id
     * @param string $region
     */
    public function WoWArmoryUpdate($memberdata, $guild_id, $region)
    {
        global $db;
        $newranks = array();
        //init the rank counts per rank
        foreach ($memberdata as $new) {
            $newranks[$new['rank']] = 0;
        }
        //count the number of members per rank
        foreach ($memberdata as $new) {
            $newranks[$new['rank']] += 1;
        }
        ksort($newranks);
        /* GET OLD RANKS */
        $sql = ' select rank_id from ' . MEMBER_RANKS_TABLE . ' WHERE
				 guild_id =  ' . (int) $guild_id . ' and rank_id < 90 order by rank_id ASC';
        $result = $db->sql_query($sql);
        $oldranks = array();
        while ($row = $db->sql_fetchrow($result)) {
            $oldranks[(int) $row['rank_id']] = 0;
        }
        $db->sql_freeresult($result);
        $result = $db->sql_query($sql);
        while ($row = $db->sql_fetchrow($result)) {
            $oldranks[(int) $row['rank_id']] += 1;
        }
        $db->sql_freeresult($result);
        // get the new ranks not yet created
        $diff = array_diff_key($newranks, $oldranks);
        foreach ($diff as $key => $count) {
            $newrank = new \bbdkp\controller\guilds\Ranks($guild_id);
            $newrank->RankName = 'Rank' . $key;
            $newrank->RankId = $key;
            $newrank->RankGuild = $guild_id;
            $newrank->RankHide = 0;
            $newrank->RankPrefix = '';
            $newrank->RankSuffix = '';
            $newrank->Makerank();
            unset($newrank);
        }
    }
Beispiel #4
0
 /**
  * fetch Guild API information
  * @param $data
  */
 private function ApiUpdateBattleNet($data, $params)
 {
     global $db, $phpbb_root_path, $phpEx;
     if ($this->armoryresult = 'KO') {
         return;
     }
     $this->achievementpoints = isset($data['achievementPoints']) ? $data['achievementPoints'] : 0;
     $this->level = isset($data['level']) ? $data['level'] : 0;
     $this->battlegroup = isset($data['battlegroup']) ? $data['battlegroup'] : '';
     $this->side = isset($data['side']) ? $data['side'] : '';
     if (isset($data['name'])) {
         $this->guildarmoryurl = sprintf('http://%s.battle.net/wow/en/', $this->region) . 'guild/' . $this->realm . '/' . $data['name'] . '/';
     } else {
         $this->guildarmoryurl = '';
     }
     $this->emblem = isset($data['emblem']) ? $data['emblem'] : '';
     $this->emblempath = isset($data['emblem']) ? $this->createEmblem(false) : '';
     $this->memberdata = isset($data['members']) ? $data['members'] : '';
     $query = $db->sql_build_array('UPDATE', array('achievementpoints' => $this->achievementpoints, 'level' => $this->level, 'guildarmoryurl' => $this->guildarmoryurl, 'emblemurl' => $this->emblempath, 'battlegroup' => $this->battlegroup, 'armoryresult' => $this->armoryresult));
     $db->sql_query('UPDATE ' . GUILD_TABLE . ' SET ' . $query . ' WHERE id= ' . $this->guildid);
     if (in_array("members", $params)) {
         // update ranks table
         if (!class_exists('\\bbdkp\\controller\\guilds\\Ranks')) {
             require "{$phpbb_root_path}includes/bbdkp/controller/guilds/Ranks.{$phpEx}";
         }
         $rank = new \bbdkp\controller\guilds\Ranks($this->guildid);
         $rank->WoWArmoryUpdate($this->memberdata, $this->guildid, $this->region);
         //update member table
         if (!class_exists('\\bbdkp\\controller\\members\\Members')) {
             require "{$phpbb_root_path}includes/bbdkp/controller/members/Members.{$phpEx}";
         }
         $mb = new \bbdkp\controller\members\Members();
         $mb->WoWArmoryUpdate($this->memberdata, $this->guildid, $this->region, $this->min_armory);
     }
 }
Beispiel #5
0
 /**
  * list the ranks for this guild
  * @param $updateguild
  */
 private function BuildTemplateEditGuildRanks($updateguild)
 {
     global $phpEx, $template, $db, $phpbb_admin_path, $user;
     // everything from rank 90 is readonly
     $listranks = new \bbdkp\controller\guilds\Ranks($updateguild->guildid);
     $listranks->game_id = $updateguild->game_id;
     $result = $listranks->listranks();
     while ($row = $db->sql_fetchrow($result)) {
         $prefix = $row['rank_prefix'];
         $suffix = $row['rank_suffix'];
         $template->assign_block_vars('ranks_row', array('RANK_ID' => $row['rank_id'], 'RANK_NAME' => $row['rank_name'], 'RANK_PREFIX' => $prefix, 'RANK_SUFFIX' => $suffix, 'HIDE_CHECKED' => $row['rank_hide'] == 1 ? 'checked="checked"' : '', 'S_READONLY' => $row['rank_id'] >= 90 ? true : false, 'U_DELETE_RANK' => append_sid("{$phpbb_admin_path}index.{$phpEx}", "i=dkp_guild&amp;mode=editguild&amp;deleterank=1&amp;ranktodelete=" . $row['rank_id'] . "&amp;" . URI_GUILD . "=" . $updateguild->guildid)));
     }
     $db->sql_freeresult($result);
     $game = new \bbdkp\controller\games\Game();
     $game->game_id = $updateguild->game_id;
     $game->Get();
     $template->assign_vars(array('S_GUILDLESS' => $updateguild->guildid == 0 ? true : false, 'F_ENABLGAMEEARMORY' => $game->getArmoryEnabled(), 'F_ENABLEARMORY' => $updateguild->armory_enabled, 'GAME_ID' => $updateguild->game_id, 'GUILDID' => $updateguild->guildid, 'GUILD_NAME' => $updateguild->name, 'U_ADD_RANK' => append_sid("{$phpbb_admin_path}index.{$phpEx}", "i=dkp_guild&amp;mode=editguild&amp;addrank=1&amp;guild=" . $updateguild->guildid), 'L_TITLE' => $this->url_id < 0 ? $user->lang['ACP_ADDGUILD'] : $user->lang['ACP_EDITGUILD'], 'L_EXPLAIN' => $this->url_id < 0 ? $user->lang['ACP_ADDGUILD_EXPLAIN'] : $user->lang['ACP_EDITGUILD_EXPLAIN'], 'L_ADD_GUILD_TITLE' => $this->url_id < 0 ? $user->lang['ADD_GUILD'] : $user->lang['EDIT_GUILD'], 'MSG_NAME_EMPTY' => $user->lang['FV_REQUIRED_NAME'], 'EMBLEM' => $updateguild->emblempath, 'EMBLEMFILE' => basename($updateguild->emblempath), 'S_ADD' => $this->url_id < 0 ? true : false, 'U_EDIT_GUILD' => append_sid("{$phpbb_admin_path}index.{$phpEx}", "i=dkp_guild&amp;mode=editguild&amp;action=editguild&amp;" . URI_GUILD . '=' . $updateguild->guildid), 'U_EDIT_GUILDRANKS' => append_sid("{$phpbb_admin_path}index.{$phpEx}", "i=dkp_guild&amp;mode=editguild&amp;action=guildranks&amp;" . URI_GUILD . '=' . $updateguild->guildid), 'U_EDIT_GUILDRECRUITMENT' => append_sid("{$phpbb_admin_path}index.{$phpEx}", "i=dkp_guild&amp;mode=editguild&amp;action=guildrecruitment&amp;" . URI_GUILD . '=' . $updateguild->guildid)));
     $form_key = 'editguildranks';
     add_form_key($form_key);
     $this->page_title = $user->lang['ACP_EDITGUILD'];
 }