Ejemplo n.º 1
0
 public function removeMember(\thebuggenie\core\entities\User $user)
 {
     if ($this->_members !== null) {
         unset($this->_members[$user->getID()]);
     }
     if ($this->_num_members !== null) {
         $this->_num_members--;
     }
 }
Ejemplo n.º 2
0
 /**
  * Load user fixtures for a specified scope
  *
  * @param Scope $scope
  * @param Group $admin_group
  * @param Group $user_group
  * @param Group $guest_group
  */
 public static function loadFixtures(Scope $scope, Group $admin_group, Group $user_group, Group $guest_group)
 {
     $adminuser = new User();
     $adminuser->setUsername('administrator');
     $adminuser->setRealname('Administrator');
     $adminuser->setBuddyname('Admin');
     $adminuser->setGroup($admin_group);
     $adminuser->setPassword('admin');
     $adminuser->setActivated();
     $adminuser->setEnabled();
     $adminuser->setAvatar('admin');
     $adminuser->save();
     $guestuser = new User();
     $guestuser->setUsername('guest');
     $guestuser->setRealname('Guest user');
     $guestuser->setBuddyname('Guest user');
     $guestuser->setGroup($guest_group);
     $guestuser->setPassword('password');
     // Settings not active yet
     $guestuser->setActivated();
     $guestuser->setEnabled();
     $guestuser->save();
     framework\Settings::saveSetting('defaultuserid', $guestuser->getID(), 'core', $scope->getID());
     return array($guestuser->getID(), $adminuser->getID());
 }
Ejemplo n.º 3
0
 protected function _getArticleRelatedUsers(Article $article, User $triggered_by_user = null)
 {
     $u_id = $triggered_by_user instanceof User ? $triggered_by_user->getID() : $triggered_by_user;
     $users = $article->getSubscribers();
     foreach ($users as $key => $user) {
         if ($user->getNotificationSetting(self::NOTIFY_SUBSCRIBED_ARTICLES, true, 'mailing')->isOff()) {
             unset($users[$key]);
         }
         if ($user->getNotificationSetting(self::NOTIFY_UPDATED_SELF, true, 'mailing')->isOff() && $user->getID() == $u_id) {
             unset($users[$key]);
         }
         if ($user->getNotificationSetting(self::NOTIFY_ITEM_ONCE, false, 'mailing')->isOn() && $user->getNotificationSetting(self::NOTIFY_ITEM_ONCE . '_article_' . $article->getID(), false, 'mailing')->isOn()) {
             unset($users[$key]);
         }
     }
     return $users;
 }
Ejemplo n.º 4
0
 /**
  * @param \thebuggenie\core\entities\User $user
  * @return array
  */
 public function getPlanningColumns(\thebuggenie\core\entities\User $user)
 {
     $columns = framework\Settings::get('planning_columns_' . $this->getID(), 'project', framework\Context::getScope()->getID(), $user->getID());
     $columns = explode(',', $columns);
     if (empty($columns) || isset($columns[0]) && empty($columns[0])) {
         // Default values
         $columns = array('priority', 'estimated_time', 'spent_time');
     }
     // Set array keys to equal array values
     $columns = array_combine($columns, $columns);
     return $columns;
 }
Ejemplo n.º 5
0
 /**
  * Check if the given user is a friend of this user
  *
  * @param \thebuggenie\core\entities\User $user The user to check
  *
  * @return boolean
  */
 public function isFriend($user)
 {
     $this->_setupFriends();
     if (empty($this->_friends)) {
         return false;
     }
     return array_key_exists($user->getID(), $this->_friends);
 }
Ejemplo n.º 6
0
 public function removeMember(\thebuggenie\core\entities\User $user)
 {
     if ($this->_members !== null) {
         unset($this->_members[$user->getID()]);
     }
     if ($this->_num_members !== null) {
         $this->_num_members--;
     }
     tables\TeamMembers::getTable()->removeUserFromTeam($user->getID(), $this->getID());
 }
Ejemplo n.º 7
0
 /**
  * Populate the array of starred articles
  */
 protected function User__populateStarredArticles(User $user)
 {
     if ($user->_isset('publish', 'starredarticles') === null) {
         $articles = UserArticles::getTable()->getUserStarredArticles($user->getID());
         $user->_store('publish', 'starredarticles', $articles);
     }
 }
Ejemplo n.º 8
0
 /**
  * Register a user as working on the issue
  *
  * @param \thebuggenie\core\entities\User $user
  */
 public function startWorkingOnIssue(User $user)
 {
     $this->_addChangedProperty('_being_worked_on_by_user', $user->getID());
     $this->_being_worked_on_by_user_since = NOW;
 }
Ejemplo n.º 9
0
 /**
  * Return if the specified user can view this comment
  *
  * @param \thebuggenie\core\entities\User $user A User
  *
  * @return boolean
  */
 public function isViewableByUser(\thebuggenie\core\entities\User $user)
 {
     $can_view = false;
     try {
         // Show comment if valid user and...
         if ($user instanceof \thebuggenie\core\entities\User) {
             if (!$this->isPublic() && $user->canSeeNonPublicComments() || $this->isPublic() && $user->canViewComments() || $this->postedByUser($user->getID())) {
                 $can_view = true;
             }
             //endif
         }
         //endif
     } catch (\Exception $e) {
     }
     return $can_view;
 }
Ejemplo n.º 10
0
 protected function _getArticleRelatedUsers(Article $article, User $triggered_by_user = null)
 {
     $u_id = $triggered_by_user instanceof User ? $triggered_by_user->getID() : $triggered_by_user;
     $subscribers = $article->getSubscribers();
     $users = array();
     foreach ($subscribers as $user) {
         if ($user->getNotificationSetting(self::NOTIFY_SUBSCRIBED_ARTICLES, true, 'mailing')->isOff()) {
             unset($users[$user->getID()]);
         }
         if ($user->getNotificationSetting(self::NOTIFY_UPDATED_SELF, true, 'mailing')->isOff() && $user->getID() == $u_id) {
             unset($users[$user->getID()]);
         }
         if ($user->getNotificationSetting(self::NOTIFY_ITEM_ONCE, false, 'mailing')->isOn() && $user->getNotificationSetting(self::NOTIFY_ITEM_ONCE . '_article_' . $article->getID(), false, 'mailing')->isOn()) {
             unset($users[$user->getID()]);
         }
         if ($user->getNotificationSetting(framework\Settings::SETTINGS_USER_NOTIFY_ONLY_IN_BOX_WHEN_ACTIVE, false, 'core')->isOn() && $user->isActive()) {
             unset($users[$user->getID()]);
         }
     }
     $mentioned_users = $article->getMentionedUsers();
     foreach ($mentioned_users as $user) {
         $users[$user->getID()] = $user;
         if ($user->getNotificationSetting(self::NOTIFY_MENTIONED, true, 'mailing')->isOff()) {
             unset($users[$user->getID()]);
         }
         if ($user->getNotificationSetting(self::NOTIFY_ITEM_ONCE, false, 'mailing')->isOn() && $user->getNotificationSetting(self::NOTIFY_ITEM_ONCE . '_article_' . $article->getID(), false, 'mailing')->isOn()) {
             unset($users[$user->getID()]);
         }
         if ($user->getNotificationSetting(framework\Settings::SETTINGS_USER_NOTIFY_ONLY_IN_BOX_WHEN_ACTIVE, false, 'core')->isOn() && $user->isActive()) {
             unset($users[$user->getID()]);
         }
     }
     return $users;
 }