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

getHeadSeq() public method

public getHeadSeq ( $esId )
    public function getHeadSeq($esId)
    {
        $query = \OC::$server->getDatabaseConnection()->prepare('
			SELECT `seq`
			FROM ' . $this->tableName . '
			WHERE `es_id`=?
			ORDER BY `seq` DESC
			', 1);
        $result = $query->execute([$esId]);
        return !$result ? "" : $query->fetchColumn();
    }

Usage Example

Ejemplo n.º 1
0
 /**
  * @NoAdminRequired
  */
 public function poll($command, $args)
 {
     $response = new JSONResponse();
     try {
         $esId = isset($args['es_id']) ? $args['es_id'] : null;
         $session = $this->loadSession($esId);
         $memberId = isset($args['member_id']) ? $args['member_id'] : null;
         $member = $this->loadMember($memberId);
         $this->validateSession($session);
         switch ($command) {
             case 'sync_ops':
                 $seqHead = (string) isset($args['seq_head']) ? $args['seq_head'] : null;
                 if (!is_null($seqHead)) {
                     $ops = isset($args['client_ops']) ? $args['client_ops'] : [];
                     $op = new Db\Op();
                     $currentHead = $op->getHeadSeq($esId);
                     try {
                         $member->updateActivity($memberId);
                     } catch (\Exception $e) {
                         //Db error. Not critical
                     }
                     $response->setData($session->syncOps($memberId, $currentHead, $seqHead, $ops));
                     $inactiveMembers = $member->updateByTimeout($esId);
                     foreach ($inactiveMembers as $inactive) {
                         $op->removeCursor($esId, $inactive);
                         $op->removeMember($esId, $inactive);
                     }
                 } else {
                     // Error - no seq_head passed
                     throw new BadRequestException();
                 }
                 break;
             default:
                 $ex = new BadRequestException();
                 $ex->setBody(implode(',', $this->request->getParams()));
                 throw $ex;
         }
     } catch (BadRequestException $e) {
         $response->setStatus(Http::STATUS_BAD_REQUEST);
         $response->setData(['err' => 'bad request:[' . $e->getBody() . ']']);
     }
     return $response;
 }