/** * deletes a dkp account * @param int $member_id * @uses called by acp_dkp_mkdkp */ public function delete_dkpaccount($member_id) { global $user, $phpbb_admin_path, $phpbb_root_path, $phpEx; $member = new \bbdkp\controller\members\Members($member_id); //delete player from raiddetail table if (!class_exists('\\bbdkp\\controller\\raids\\Raiddetail')) { require "{$phpbb_root_path}includes/bbdkp/controller/raids/Raiddetail.{$phpEx}"; } $raiddetail = new \bbdkp\controller\raids\Raiddetail(); $raiddetail->deleteaccount($member_id, $this->dkpsys_id); //delete player from adjustments table if (!class_exists('\\bbdkp\\controller\\adjustments\\Adjust')) { require "{$phpbb_root_path}includes/bbdkp/controller/adjustments/Adjust.{$phpEx}"; } $Adjust = new \bbdkp\controller\adjustments\Adjust($this->dkpsys_id); $Adjust->setMemberId($member_id); $Adjust->setAdjustmentDkpid($this->dkpsys_id); $Adjust->delete_memberadjustments(); //delete player dkp points $oldpoints = new \bbdkp\controller\points\Points($member_id, $this->dkpsys_id); $oldpoints->dkpid = $this->dkpsys_id; $oldpoints->member_id = $member_id; $oldpoints->delete_account(); $log_action = array('header' => 'ACTION_MEMBERDKP_DELETED', 'L_NAME' => $member->member_name, 'L_EARNED' => $oldpoints->raid_value + $oldpoints->time_bonus + $oldpoints->zerosum_bonus, 'L_SPENT' => $oldpoints->spent, 'L_ADJUSTMENT' => $oldpoints->adjustment); $this->log_insert(array('log_type' => $log_action['header'], 'log_action' => $log_action)); $success_message = sprintf($user->lang['ADMIN_DELETE_MEMBERDKP_SUCCESS'], $member->member_name, $this->dkpsys_id); unset($member); unset($raiddetail); unset($Adjust); unset($oldpoints); $link = '<br /><a href="' . append_sid("{$phpbb_admin_path}index.{$phpEx}", "i=dkp_mdkp&mode=mm_listmemberdkp") . '"><h3>' . $user->lang['RETURN_DKPINDEX'] . '</h3></a>'; trigger_error($success_message . ' ' . $link, E_USER_NOTICE); }
/** * * adds new members to listmembers table, adds dkp */ private function handle_new_members() { global $db, $user, $config, $phpbb_root_path, $phpEx; $membersadded = 0; $attendee = new \bbdkp\controller\members\Members(0, $this->guildlist); foreach ($this->allplayerinfo as $playerid => $player) { $member_id = $attendee->get_member_id($player['playername'], 'wow', $player['realm']); if ($member_id != 0) { // existing bbdkp member $attendee->member_id = $member; $attendee->Getmember(); $this->allplayerinfo[$playerid]['member_id'] = $attendee->member_id; $this->allplayerinfo[$playerid]['rank_id'] = $attendee->member_rank_id; $this->allplayerinfo[$playerid]['guild_id'] = $attendee->member_guild_id; } else { // player in dkp string is unknown $attendee = new \bbdkp\controller\members\Members(0, $this->guildlist); $attendee->game_id = 'wow'; $attendee->member_name = $player['playername']; $attendee->member_realm = $player['realm'] == '' ? $config['bbdkp_default_region'] : $player['realm']; $attendee->member_region = $config['bbdkp_default_region']; $attendee->member_guild_id = $this->guild->guildid; $attendee->member_rank_id = $this->defaultrank_id; $attendee->member_level = $player['level']; if (!in_array($attendee->member_region, $attendee->regionlist)) { $attendee->member_region = ''; } $attendee->member_race_id = $player['race']; $attendee->member_class_id = $player['class']; $attendee->member_gender_id = $player['sex']; $attendee->member_comment = "Member inserted " . $user->format_date($this->time) . ' by RaidTracker'; // take two days ago from raid start (3600*24*-2 = -172800) $attendee->member_joindate = $this->raidbegin - 172800; $attendee->member_outdate = 0; $attendee->member_achiev = 0; if ($attendee->Armory_getmember() == -1) { //no armory response //do checks on guild name from dkp string $found = false; foreach ($this->guildlist as $guild) { // has dkpstringguild a match in guildlist ? if ($guild['name'] == $player['guild']) { $found = true; //is the form guild different from the dkpstring guild ? then override guild ! if ($this->guild->guildid != $guild['id']) { $attendee->member_guild_id = $guild['id']; $attendee->member_guild_name = $player['guild']; $attendee->member_rank_id = $guild['joinrank']; } break; } } if ($found == false) { // if dkpstring guild not in database then assign to noguild $attendee->member_guild_id = 0; $attendee->member_rank_id = 99; } } switch ($config['bbdkp_rt_noguild']) { case 0: //RT_NOGUILD_IGNORE // if we ignore no guild then skip this member if he's got no guild if ($attendee->member_guild_id != 0) { $this->allplayerinfo[$playerid]['member_id'] = $attendee->Makemember(); if ($this->allplayerinfo[$playerid]['member_id'] > 0) { $membersadded += 1; } } break; case 1: //RT_NOGUILD_ADDNONE $this->allplayerinfo[$playerid]['member_id'] = $attendee->Makemember(); if ($this->allplayerinfo[$playerid]['member_id'] > 0) { $membersadded += 1; } break; } } if ($attendee->member_id == 0) { //skipped $this->allplayerinfo[$playerid]['skipped'] = true; } else { $this->acceptedraiders += 1; $this->allplayerinfo[$playerid]['skipped'] = false; $Points = new \bbdkp\controller\points\Points($attendee->member_id, $this->dkp); // check if player has dkp record for pool if (!$Points->has_account($attendee->member_id, $this->dkp)) { $Points->member_id = $attendee->member_id; $Points->dkpid = $this->dkp; $Points->raid_value = 0.0; $Points->time_bonus = 0.0; $Points->zerosum_bonus = 0.0; $Points->earned_decay = 0.0; $Points->spent = 0.0; $Points->item_decay = 0.0; $Points->adjustment = 0.0; $Points->adj_decay = 0.0; $Points->firstraid = $this->raidbegin; $Points->lastraid = $this->raidbegin; $Points->raidcount = 1; $Points->status = 1; $Points->open_account(); unset($Points); //add starting adjustment that can never decay $newadjust = new \bbdkp\controller\adjustments\Adjust($this->dkp); $newadjust->member_id = $attendee->member_id; $newadjust->adjustment_dkpid = $this->dkp; $newadjust->adjustment_value = floatval($config['bbdkp_starting_dkp']); $newadjust->adjustment_reason = $user->lang['RT_STARTING_DKP']; $newadjust->can_decay = 0; $newadjust->adj_decay = 0; $newadjust->decay_time = 0; $newadjust->adjustment_date = $this->raidbegin; $newadjust->adjustment_groupkey = $this->gen_group_key($this->raidbegin, $newadjust->adjustment_reason, $newadjust->adjustment_value); $newadjust->adjustment_added_by = $user->data['username']; $newadjust->add(); unset($newadjust); } } } $a = "debug"; }