OCA\Richdocuments\Db\Op::canInsertOp PHP Method

canInsertOp() protected method

protected canInsertOp ( $esId, $memberId, $op )
    protected function canInsertOp($esId, $memberId, $op)
    {
        $cursorOps = array('AddCursor', 'RemoveCursor');
        $memberOps = array('AddMember', 'RemoveMember');
        $result = true;
        switch ($op['optype']) {
            case 'AddCursor':
                $ops = $this->getFilteredMemberOps($esId, $memberId, $cursorOps);
                $result = !count($ops) || $ops[0]['optype'] === 'RemoveCursor';
                break;
            case 'RemoveCursor':
                $ops = $this->getFilteredMemberOps($esId, $memberId, $cursorOps);
                $result = count($ops) && $ops[0]['optype'] === 'AddCursor';
                break;
            case 'AddMember':
                $ops = $this->getFilteredMemberOps($esId, $memberId, $memberOps);
                $result = !count($ops) || $ops[0]['optype'] === 'RemoveMember';
                break;
            case 'RemoveMember':
                $ops = $this->getFilteredMemberOps($esId, $memberId, $memberOps);
                $result = count($ops) && $ops[0]['optype'] === 'AddMember';
                break;
        }
        return $result;
    }