Beispiel #1
0
 /**
  * Clear this users clients
  */
 public function clearClients()
 {
     \thebuggenie\core\entities\tables\ClientMembers::getTable()->clearClientsByUserID($this->getID());
 }
Beispiel #2
0
 /**
  * Pre-save function to check for conflicting usernames and to make
  * sure some properties are set
  *
  * @param boolean $is_new Whether this is a new user object
  */
 protected function _preSave($is_new)
 {
     parent::_preSave($is_new);
     if (!framework\Context::isInstallmode() && !framework\Context::isUpgrademode()) {
         $compare_user = self::getByUsername($this->getUsername());
         if ($compare_user instanceof User && $compare_user->getID() && $compare_user->getID() != $this->getID()) {
             throw new \Exception(framework\Context::getI18n()->__('This username already exists'));
         }
     }
     if ($is_new) {
         // In case the postsave event isn't processed we automatically enable the user
         // since we can't be sure that an activation email has been sent out
         $this->setEnabled();
         $this->setActivated();
     }
     if (!$this->_realname) {
         $this->_realname = $this->_username;
     }
     if (!$this->_buddyname) {
         $this->_buddyname = $this->_username;
     }
     if (is_object($this->_timezone)) {
         $this->_timezone = $this->_timezone->getName();
     }
     if ($is_new && $this->_joined === 0) {
         $this->_joined = NOW;
     }
     if ($is_new && $this->_group_id === null) {
         $this->setGroup(framework\Settings::getDefaultGroup());
     }
     if ($this->_deleted) {
         try {
             if ($this->getGroup() instanceof \thebuggenie\core\entities\Group) {
                 $this->getGroup()->removeMember($this);
             }
         } catch (\Exception $e) {
         }
         $this->_group_id = null;
         $this->_buddyname = $this->_username;
         $this->_username = '';
         if (!$is_new) {
             tables\TeamMembers::getTable()->clearTeamsByUserID($this->getID());
             tables\ClientMembers::getTable()->clearClientsByUserID($this->getID());
             tables\UserScopes::getTable()->clearUserScopes($this->getID());
         }
     }
 }
Beispiel #3
0
 public function getNumberOfMembers()
 {
     if ($this->_members !== null) {
         return count($this->_members);
     } elseif ($this->_num_members === null) {
         $this->_num_members = tables\ClientMembers::getTable()->getNumberOfMembersByClientID($this->getID());
     }
     return $this->_num_members;
 }