fix: PHP 7.4 compatibility

Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
Julius Härtl
2024-01-09 18:08:53 +01:00
parent 9119017ce8
commit 1f71d1ab78
4 changed files with 16 additions and 15 deletions

View File

@@ -69,16 +69,17 @@ jobs:
path: apps/activity path: apps/activity
- name: Set up php ${{ matrix.php-versions }} - name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.18.0 uses: shivammathur/setup-php@2.25.4
with: with:
php-version: ${{ matrix.php-versions }} php-version: ${{ matrix.php-versions }}
tools: phpunit extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite, mysql, pdo_mysql, pgsql, pdo_pgsql, apcu
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, mysql, pdo_mysql, pgsql, pdo_pgsql, ini-values:
apc.enable_cli=on
coverage: none coverage: none
- name: Set up PHPUnit - name: Set up dependencies
working-directory: apps/${{ env.APP_NAME }} working-directory: apps/${{ env.APP_NAME }}
run: composer i run: composer i --no-dev
- name: Set up Nextcloud - name: Set up Nextcloud
run: | run: |

View File

@@ -1,4 +1,4 @@
lib/Service/CardService.php<?php <?php
/** /**
* @copyright Copyright (c) 2016 Julius Härtl <jus@bitgrid.net> * @copyright Copyright (c) 2016 Julius Härtl <jus@bitgrid.net>
* *
@@ -264,7 +264,7 @@ class CardService {
public function update($id, $title, $stackId, $type, $owner, $description = '', $order = 0, $duedate = null, $deletedAt = null, $archived = null) { public function update($id, $title, $stackId, $type, $owner, $description = '', $order = 0, $duedate = null, $deletedAt = null, $archived = null) {
$this->cardServiceValidator->check(compact('id', 'title', 'stackId', 'type', 'owner', 'order')); $this->cardServiceValidator->check(compact('id', 'title', 'stackId', 'type', 'owner', 'order'));
$this->permissionService->checkPermission($this->cardMapper, $id, Acl::PERMISSION_EDIT, allowDeletedCard: true); $this->permissionService->checkPermission($this->cardMapper, $id, Acl::PERMISSION_EDIT, null, true);
$this->permissionService->checkPermission($this->stackMapper, $stackId, Acl::PERMISSION_EDIT); $this->permissionService->checkPermission($this->stackMapper, $stackId, Acl::PERMISSION_EDIT);
if ($this->boardService->isArchived($this->cardMapper, $id)) { if ($this->boardService->isArchived($this->cardMapper, $id)) {

View File

@@ -83,10 +83,6 @@ class CommentService {
} }
/** /**
* @param string $cardId
* @param string $message
* @param string $replyTo
* @return DataResponse
* @throws BadRequestException * @throws BadRequestException
* @throws NotFoundException|NoPermissionException * @throws NotFoundException|NoPermissionException
*/ */
@@ -142,7 +138,7 @@ class CommentService {
throw new NoPermissionException('Only authors are allowed to edit their comment.'); throw new NoPermissionException('Only authors are allowed to edit their comment.');
} }
if ($comment->getParentId() !== '0') { if ($comment->getParentId() !== '0') {
$this->permissionService->checkPermission($this->cardMapper, $comment->getParentId(), Acl::PERMISSION_READ); $this->permissionService->checkPermission($this->cardMapper, (int)$comment->getParentId(), Acl::PERMISSION_READ);
} }
$comment->setMessage($message); $comment->setMessage($message);

View File

@@ -98,7 +98,11 @@ class PermissionService {
* @param $boardId * @param $boardId
* @return bool|array * @return bool|array
*/ */
public function getPermissions($boardId) { public function getPermissions($boardId, ?string $userId = null) {
if ($userId === null) {
$userId = $this->userId;
}
if ($cached = $this->permissionCache->get($boardId)) { if ($cached = $this->permissionCache->get($boardId)) {
return $cached; return $cached;
} }
@@ -113,7 +117,7 @@ class PermissionService {
Acl::PERMISSION_SHARE => ($owner || $this->userCan($acls, Acl::PERMISSION_SHARE)) Acl::PERMISSION_SHARE => ($owner || $this->userCan($acls, Acl::PERMISSION_SHARE))
&& (!$this->shareManager->sharingDisabledForUser($this->userId)) && (!$this->shareManager->sharingDisabledForUser($this->userId))
]; ];
$this->permissionCache->set($boardId, $permissions); $this->permissionCache->set((string)$boardId, $permissions);
return $permissions; return $permissions;
} }
@@ -169,7 +173,7 @@ class PermissionService {
} }
try { try {
$acls = $this->getBoard($boardId)->getAcl() ?? []; $acls = $this->getBoard((int)$boardId)->getAcl() ?? [];
$result = $this->userCan($acls, $permission, $userId); $result = $this->userCan($acls, $permission, $userId);
if ($result) { if ($result) {
return true; return true;