public function toggleEventMember($memberId) { if ($this->isClosed()) { throw new opCommunityEventMemberAppendableException('This event has already been finished.'); } if ($this->isExpired()) { throw new opCommunityEventMemberAppendableException('This event has already been expired.'); } if ($this->isEventMember($memberId)) { $eventMember = Doctrine::getTable('CommunityEventMember')->retrieveByEventIdAndMemberId($this->getId(), $memberId); $eventMember->delete(); } else { if ($this->isAtCapacity()) { throw new opCommunityEventMemberAppendableException('This event has already been at capacity.'); } $eventMember = new CommunityEventMember(); $eventMember->setCommunityEventId($this->getId()); $eventMember->setMemberId($memberId); $eventMember->save(); } }
protected function execute($arguments = array(), $options = array()) { $databaseManager = new sfDatabaseManager($this->configuration); $this->conn = $databaseManager->getDatabase('doctrine')->getDoctrineConnection(); $communityIds = $this->getCommunityIds(); for ($i=0; $i < $options['communitynumber']; ++$i) { $communityId = $this->fetchRandomCommunityId($communityIds); $eventIds = $this->getEventIds($communityId); $memberIds = $this->getMemberIds($communityId); for ($j=0; $j < $options['eventnumber']; ++$j) { // イベントコメント for ($k=0; $k < $options['number']; ++$k) { $ctc = new CommunityEventComment(); $ctc->setMemberId(self::fetchRandomMemberId($memberIds)); $ctc->setCommunityEventId(self::fetchRandomEventId($eventIds)); $ctc->setBody('body'); $ctc->save(); $ctc->free(); $this->logSection('created a community event comment', sprintf("%s", $communityId)); } // イベント参加メンバー for ($k=0; $k < $options['member']; ++$k) { $ctm = new CommunityEventMember(); $ctm->setMemberId(self::fetchRandomMemberId($memberIds)); $ctm->setCommunityEventId(self::fetchRandomEventId($eventIds)); $ctm->save(); $ctm->free(); $this->logSection('created a community event member', sprintf("%s", $communityId)); } } } }