function addFriend($memberId, $memberId2, $isAccessBlock = false) { $memberRelationship = Doctrine::getTable('MemberRelationship')->retrieveByFromAndTo($memberId, $memberId2); if (!$memberRelationship) { $memberRelationship = new MemberRelationship(); $memberRelationship->setMemberIdFrom($memberId); $memberRelationship->setMemberIdTo($memberId2); } $memberRelationship->setFriend(true); $memberRelationship->setIsAccessBlock($isAccessBlock); $memberRelationship->save(); }
public function saveConfig($name, $value) { if ('access_block' !== $name) { return parent::saveConfig($name, $value); } $value = $this->setBlockedIds; $key = 0; foreach ($value as $memberId) { $defaultId = 0; if ($key + 1 <= count($this->blockedId)) { $defaultId = $this->blockedId[$key]; } switch ($memberId) { case '': // delete if (!$defaultId) { break; } $relationship = Doctrine::getTable('MemberRelationship')->retrieveByFromAndTo($this->member->getId(), $defaultId); if (!$relationship) { break; } $relationship->setIsAccessBlock(false); $relationship->save(); break; case $defaultId: // equal break; default: $relationship = Doctrine::getTable('MemberRelationship')->retrieveByFromAndTo($this->member->getId(), $memberId); // update if ($defaultId) { if (!$relationship) { $relationship = Doctrine::getTable('MemberRelationship')->retrieveByFromAndTo($this->member->getId(), $defaultId); } } else { if (!$relationship) { $relationship = new MemberRelationship(); $relationship->setMemberIdFrom($this->member->getId()); } } $relationship->setMemberIdTo($memberId); $relationship->setIsAccessBlock(true); $relationship->save(); } if ($key >= count($this->blockedId)) { break; } $key++; } }