Esempio n. 1
0
 /**
  * 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);
 }
Esempio n. 2
0
 /**
  *
  * 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";
 }