Example #1
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);
     $compare_user = self::getByUsername($this->getUsername());
     if ($compare_user instanceof TBGUser && $compare_user->getID() && $compare_user->getID() != $this->getID()) {
         throw new Exception(TBGContext::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->_group_id === null) {
         $this->setGroup(TBGSettings::getDefaultGroup());
     }
     if ($this->_deleted) {
         try {
             if ($this->getGroup() instanceof TBGGroup) {
                 $this->getGroup()->removeMember($this);
             }
         } catch (Exception $e) {
         }
         $this->_group_id = null;
         $this->_buddyname = $this->_username;
         $this->_username = '';
         TBGTeamMembersTable::getTable()->clearTeamsByUserID($this->getID());
         TBGClientMembersTable::getTable()->clearClientsByUserID($this->getID());
         TBGUserScopesTable::getTable()->clearUserScopes($this->getID());
     }
 }
Example #2
0
 public function getNumberOfMembers()
 {
     if ($this->_members !== null) {
         return count($this->_members);
     } elseif ($this->_num_members === null) {
         $this->_num_members = TBGClientMembersTable::getTable()->getNumberOfMembersByClientID($this->getID());
     }
     return $this->_num_members;
 }
 /**
  * Populates client array when needed
  *
  */
 protected function _populateClients()
 {
     if ($this->clients === null) {
         $this->clients = array();
         TBGLogging::log('Populating user clients');
         if ($res = TBGClientMembersTable::getTable()->getClientIDsForUserID($this->getID())) {
             while ($row = $res->getNextRow()) {
                 $this->clients[$row->get(TBGClientsTable::ID)] = TBGContext::factory()->TBGClient($row->get(TBGClientsTable::ID), $row);
             }
         }
         TBGLogging::log('...done (Populating user clients)');
     }
 }