Exemplo n.º 1
0
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++;
     }
 }