function pm_on_join() { global $mybb, $db, $cache, $user_info, $lang; if ($mybb->settings['rpgsuite_approval']) { $user = new GroupMember($mybb, $db, $cache, $user_info); $user->update_member(array('usergroup' => Groups::WAITING)); if (!empty($mybb->settings['rpgsuite_approval_registerpm'])) { $pm_handler = new PMDataHandler(); $pm_handler->admin_override = true; $pm = array("subject" => $mybb->settings['rpgsuite_approval_registerpm_subj'], "message" => $mybb->settings['rpgsuite_approval_registerpm'], "fromid" => Accounts::ADMIN, "options" => array("savecopy" => "0")); $pm['to'] = array($user_info['username']); $pm_handler->set_data($pm); if (!$pm_handler->validate_pm()) { //bad pm. oops. lol } else { $pm_handler->insert_pm(); } } } }
/** Add a new member to the group */ public function add_member($uid) { // Set display group $member = new GroupMember($this->mybb, $this->db, $this->cache); if ($member->initialize($uid)) { $user = $member->get_info(); // If they are a pm of their old group, they won't be now! $this->demote_member($uid); // If they are in a group currently, remove it from additional leave_usergroup($user['uid'], $user['displaygroup']); // add new to additional groups join_usergroup($user['uid'], $this->info['gid']); $updatearray = array('displaygroup' => $this->info['gid'], 'group_dateline' => time()); $member->update_member($updatearray); $member->update_rank($this->info['defaultrank']); } }