/** * Deletes all new user invitations corresponding to a group. * * @param GroupDao $group * @throws Zend_Exception */ public function deleteByGroup($group) { if (!$group instanceof GroupDao) { throw new Zend_Exception('Must pass a group dao'); } Zend_Registry::get('dbAdapter')->delete($this->_name, 'group_id = ' . $group->getKey()); }
/** * Deletes all folderpolicygroup rows associated with the passed in group. * * @param GroupDao $group * @throws Zend_Exception */ public function deleteGroupPolicies($group) { if (!$group instanceof GroupDao) { throw new Zend_Exception('Should be a group.'); } $clause = 'group_id = ' . $group->getKey(); Zend_Registry::get('dbAdapter')->delete($this->_name, $clause); }
/** * Create an invitation record for the user into the given group. * * @param GroupDao $groupDao The group to invite the user to * @param UserDao $userDao The user performing the invitation (typically the session user) * @param UserDao $invitedUserDao The user being invited to the group * @return false|CommunityInvitationDao * @throws Zend_Exception */ public function createInvitation($groupDao, $userDao, $invitedUserDao) { $communityDao = $groupDao->getCommunity(); $invitations = $invitedUserDao->getInvitations(); foreach ($invitations as $invitation) { if ($invitation->getCommunityId() == $communityDao->getKey()) { return false; } } /** @var CommunityInvitationDao $invitationDao */ $invitationDao = MidasLoader::newDao('CommunityInvitationDao'); $invitationDao->setCommunityId($communityDao->getKey()); $invitationDao->setGroupId($groupDao->getKey()); $invitationDao->setUserId($invitedUserDao->getKey()); $this->save($invitationDao); /** @var FeedModel $feedModel */ $feedModel = MidasLoader::loadModel('Feed'); /** @var FeedpolicyuserModel $feedpolicyuserModel */ $feedpolicyuserModel = MidasLoader::loadModel('Feedpolicyuser'); $feed = $feedModel->createFeed($userDao, MIDAS_FEED_COMMUNITY_INVITATION, $invitationDao, $communityDao); $feedpolicyuserModel->createPolicy($invitedUserDao, $feed, MIDAS_POLICY_ADMIN); return $invitationDao; }