public function getSettingsForScope($scope, $uid = 0) { $crit = $this->getCriteria(); if (framework\Context::isUpgrademode()) { $crit->addSelectionColumn(self::NAME); $crit->addSelectionColumn(self::MODULE); $crit->addSelectionColumn(self::VALUE); $crit->addSelectionColumn(self::UID); $crit->addSelectionColumn(self::SCOPE); } $ctn = $crit->returnCriterion(self::SCOPE, $scope); $ctn->addOr(self::SCOPE, 0); $crit->addWhere($ctn); $crit->addWhere(self::UID, $uid); $res = $this->doSelect($crit, 'none'); return $res; }
/** * 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()); } } }