Compare commits

...

8 Commits

Author SHA1 Message Date
Thibaut 670579e34f
Merge pull request #301 from arawa/chore/upgrade_psalm
chore: psalm bump 5.0
2024-10-28 08:55:37 +01:00
Thibaut d86e6ce8f3
Merge pull request #304 from arawa/fix/icon_and_dialog_style
style: missing icon and adapt dialog style to NC30
2024-10-28 08:54:55 +01:00
Nextcloud bot 787b0bd7eb
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-10-28 02:22:07 +00:00
Sebastien Marinier 7a27041500 style: missing icon and adapt dialog style to NC30
Signed-off-by: Sebastien Marinier <sebastien.marinier@arawa.fr>
2024-10-25 18:50:06 +02:00
Sebastien Marinier aa709d5f03 chore: psalm without 8.3 (until we upgrade more) 2024-10-25 18:05:05 +02:00
Sébastien Marinier 5a0aad717e
Merge branch 'master' into chore/upgrade_psalm 2024-10-25 18:00:15 +02:00
Sebastien Marinier accd65f6e1 chore: paslm bump need composer.lock 2024-10-25 17:01:59 +02:00
Sebastien Marinier 2b9267d04a chore: psalm bump 5.0 (warning webmozart/path-util is abandoned)
Signed-off-by: Sebastien Marinier <sebastien.marinier@arawa.fr>
2024-10-25 16:57:57 +02:00
19 changed files with 239 additions and 251 deletions

View File

@ -11,17 +11,8 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
php-versions: ['8.0', '8.1', '8.2', '8.3']
php-versions: ['8.0', '8.1', '8.2']
nextcloud-versions: ['stable26', 'stable27', 'stable28']
exclude:
- php-versions: '8.2'
nextcloud-versions: 'stable25'
- php-versions: '8.3'
nextcloud-versions: 'stable25'
- php-versions: '8.3'
nextcloud-versions: 'stable26'
- php-versions: '8.3'
nextcloud-versions: 'stable27'
name: php${{ matrix.php-versions }} on ${{ matrix.nextcloud-versions }} unit tests
env:
CI: true
@ -51,4 +42,4 @@ jobs:
run: php -f nextcloud/occ app:enable bbb
- name: Run tests
working-directory: nextcloud/apps/bbb
run: composer run test
run: composer run test

View File

@ -21,7 +21,7 @@ jobs:
- name: Install dependencies
run: composer i
- name: Install dependencies
run: composer require --dev nextcloud/ocp:${{ matrix.ocp-version }} psr/container symfony/service-contracts
run: composer require --dev nextcloud/ocp:${{ matrix.ocp-version }} symfony/service-contracts
- name: Run coding standards check
run: composer run psalm

View File

@ -17,7 +17,8 @@
"nextcloud/coding-standard": "^1.0.0",
"phpstan/phpstan": "^0.12.29",
"nextcloud/ocp": "^25.0 || ^26.0 || ^27.0",
"vimeo/psalm": "^4.5"
"vimeo/psalm": "^5.0",
"psr/container": "^1.1.2"
},
"config": {
"optimize-autoloader": true,

418
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "feb9af8a85a0a6dd2511e8dfb2546e38",
"content-hash": "03db1510cedc92e20b34bbd26ffdddbc",
"packages": [
{
"name": "littleredbutton/bigbluebutton-api-php",
@ -301,79 +301,6 @@
],
"time": "2021-03-30T17:13:30+00:00"
},
{
"name": "composer/package-versions-deprecated",
"version": "1.11.99.5",
"source": {
"type": "git",
"url": "https://github.com/composer/package-versions-deprecated.git",
"reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/b4f54f74ef3453349c24a845d22392cd31e65f1d",
"reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d",
"shasum": ""
},
"require": {
"composer-plugin-api": "^1.1.0 || ^2.0",
"php": "^7 || ^8"
},
"replace": {
"ocramius/package-versions": "1.11.99"
},
"require-dev": {
"composer/composer": "^1.9.3 || ^2.0@dev",
"ext-zip": "^1.13",
"phpunit/phpunit": "^6.5 || ^7"
},
"type": "composer-plugin",
"extra": {
"class": "PackageVersions\\Installer",
"branch-alias": {
"dev-master": "1.x-dev"
}
},
"autoload": {
"psr-4": {
"PackageVersions\\": "src/PackageVersions"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Marco Pivetta",
"email": "ocramius@gmail.com"
},
{
"name": "Jordi Boggiano",
"email": "j.boggiano@seld.be"
}
],
"description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)",
"support": {
"issues": "https://github.com/composer/package-versions-deprecated/issues",
"source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.5"
},
"funding": [
{
"url": "https://packagist.com",
"type": "custom"
},
{
"url": "https://github.com/composer",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/composer/composer",
"type": "tidelift"
}
],
"time": "2022-01-17T14:14:24+00:00"
},
{
"name": "composer/pcre",
"version": "3.0.0",
@ -949,6 +876,67 @@
},
"time": "2022-03-02T22:36:06+00:00"
},
{
"name": "fidry/cpu-core-counter",
"version": "0.5.1",
"source": {
"type": "git",
"url": "https://github.com/theofidry/cpu-core-counter.git",
"reference": "b58e5a3933e541dc286cc91fc4f3898bbc6f1623"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/b58e5a3933e541dc286cc91fc4f3898bbc6f1623",
"reference": "b58e5a3933e541dc286cc91fc4f3898bbc6f1623",
"shasum": ""
},
"require": {
"php": "^7.2 || ^8.0"
},
"require-dev": {
"fidry/makefile": "^0.2.0",
"phpstan/extension-installer": "^1.2.0",
"phpstan/phpstan": "^1.9.2",
"phpstan/phpstan-deprecation-rules": "^1.0.0",
"phpstan/phpstan-phpunit": "^1.2.2",
"phpstan/phpstan-strict-rules": "^1.4.4",
"phpunit/phpunit": "^9.5.26 || ^8.5.31",
"theofidry/php-cs-fixer-config": "^1.0",
"webmozarts/strict-phpunit": "^7.5"
},
"type": "library",
"autoload": {
"psr-4": {
"Fidry\\CpuCoreCounter\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Théo FIDRY",
"email": "theo.fidry@gmail.com"
}
],
"description": "Tiny utility to get the number of CPU cores.",
"keywords": [
"CPU",
"core"
],
"support": {
"issues": "https://github.com/theofidry/cpu-core-counter/issues",
"source": "https://github.com/theofidry/cpu-core-counter/tree/0.5.1"
},
"funding": [
{
"url": "https://github.com/theofidry",
"type": "github"
}
],
"time": "2022-12-24T12:35:10+00:00"
},
{
"name": "friendsofphp/php-cs-fixer",
"version": "v3.12.0",
@ -1191,16 +1179,16 @@
},
{
"name": "nextcloud/ocp",
"version": "v26.0.4",
"version": "v26.0.9",
"source": {
"type": "git",
"url": "https://github.com/nextcloud-deps/ocp.git",
"reference": "6f0ffec5ace13e71f50d0735c0258fc37f4ca562"
"reference": "43bc0a0267d97b02966e0270e00e9d51192564af"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/6f0ffec5ace13e71f50d0735c0258fc37f4ca562",
"reference": "6f0ffec5ace13e71f50d0735c0258fc37f4ca562",
"url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/43bc0a0267d97b02966e0270e00e9d51192564af",
"reference": "43bc0a0267d97b02966e0270e00e9d51192564af",
"shasum": ""
},
"require": {
@ -1228,9 +1216,9 @@
"description": "Composer package containing Nextcloud's public API (classes, interfaces)",
"support": {
"issues": "https://github.com/nextcloud-deps/ocp/issues",
"source": "https://github.com/nextcloud-deps/ocp/tree/v26.0.4"
"source": "https://github.com/nextcloud-deps/ocp/tree/v26.0.9"
},
"time": "2023-07-17T09:26:46+00:00"
"time": "2023-11-10T00:31:54+00:00"
},
{
"name": "nikic/php-parser",
@ -1288,59 +1276,6 @@
},
"time": "2022-09-04T07:30:47+00:00"
},
{
"name": "openlss/lib-array2xml",
"version": "1.0.0",
"source": {
"type": "git",
"url": "https://github.com/nullivex/lib-array2xml.git",
"reference": "a91f18a8dfc69ffabe5f9b068bc39bb202c81d90"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nullivex/lib-array2xml/zipball/a91f18a8dfc69ffabe5f9b068bc39bb202c81d90",
"reference": "a91f18a8dfc69ffabe5f9b068bc39bb202c81d90",
"shasum": ""
},
"require": {
"php": ">=5.3.2"
},
"type": "library",
"autoload": {
"psr-0": {
"LSS": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"Apache-2.0"
],
"authors": [
{
"name": "Bryan Tong",
"email": "bryan@nullivex.com",
"homepage": "https://www.nullivex.com"
},
{
"name": "Tony Butler",
"email": "spudz76@gmail.com",
"homepage": "https://www.nullivex.com"
}
],
"description": "Array2XML conversion library credit to lalit.org",
"homepage": "https://www.nullivex.com",
"keywords": [
"array",
"array conversion",
"xml",
"xml conversion"
],
"support": {
"issues": "https://github.com/nullivex/lib-array2xml/issues",
"source": "https://github.com/nullivex/lib-array2xml/tree/master"
},
"time": "2019-03-29T20:06:56+00:00"
},
{
"name": "phar-io/manifest",
"version": "2.0.3",
@ -3262,6 +3197,74 @@
],
"time": "2020-09-28T06:39:44+00:00"
},
{
"name": "spatie/array-to-xml",
"version": "3.3.0",
"source": {
"type": "git",
"url": "https://github.com/spatie/array-to-xml.git",
"reference": "f56b220fe2db1ade4c88098d83413ebdfc3bf876"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spatie/array-to-xml/zipball/f56b220fe2db1ade4c88098d83413ebdfc3bf876",
"reference": "f56b220fe2db1ade4c88098d83413ebdfc3bf876",
"shasum": ""
},
"require": {
"ext-dom": "*",
"php": "^8.0"
},
"require-dev": {
"mockery/mockery": "^1.2",
"pestphp/pest": "^1.21",
"spatie/pest-plugin-snapshots": "^1.1"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "3.x-dev"
}
},
"autoload": {
"psr-4": {
"Spatie\\ArrayToXml\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Freek Van der Herten",
"email": "freek@spatie.be",
"homepage": "https://freek.dev",
"role": "Developer"
}
],
"description": "Convert an array to xml",
"homepage": "https://github.com/spatie/array-to-xml",
"keywords": [
"array",
"convert",
"xml"
],
"support": {
"source": "https://github.com/spatie/array-to-xml/tree/3.3.0"
},
"funding": [
{
"url": "https://spatie.be/open-source/support-us",
"type": "custom"
},
{
"url": "https://github.com/spatie",
"type": "github"
}
],
"time": "2024-05-01T10:20:27+00:00"
},
{
"name": "symfony/console",
"version": "v6.0.14",
@ -4332,33 +4335,30 @@
},
{
"name": "symfony/service-contracts",
"version": "v2.5.2",
"version": "v3.5.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
"reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c"
"reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c",
"reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f",
"reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"psr/container": "^1.1",
"symfony/deprecation-contracts": "^2.1|^3"
"php": ">=8.1",
"psr/container": "^1.1|^2.0",
"symfony/deprecation-contracts": "^2.5|^3"
},
"conflict": {
"ext-psr": "<1.1|>=2"
},
"suggest": {
"symfony/service-implementation": ""
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "2.5-dev"
"dev-main": "3.5-dev"
},
"thanks": {
"name": "symfony/contracts",
@ -4368,7 +4368,10 @@
"autoload": {
"psr-4": {
"Symfony\\Contracts\\Service\\": ""
}
},
"exclude-from-classmap": [
"/Test/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@ -4395,7 +4398,7 @@
"standards"
],
"support": {
"source": "https://github.com/symfony/service-contracts/tree/v2.5.2"
"source": "https://github.com/symfony/service-contracts/tree/v3.5.0"
},
"funding": [
{
@ -4411,7 +4414,7 @@
"type": "tidelift"
}
],
"time": "2022-05-30T19:17:29+00:00"
"time": "2024-04-18T09:32:20+00:00"
},
{
"name": "symfony/stopwatch",
@ -4612,24 +4615,24 @@
},
{
"name": "vimeo/psalm",
"version": "4.29.0",
"version": "5.13.1",
"source": {
"type": "git",
"url": "https://github.com/vimeo/psalm.git",
"reference": "7ec5ffbd5f68ae03782d7fd33fff0c45a69f95b3"
"reference": "086b94371304750d1c673315321a55d15fc59015"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/7ec5ffbd5f68ae03782d7fd33fff0c45a69f95b3",
"reference": "7ec5ffbd5f68ae03782d7fd33fff0c45a69f95b3",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/086b94371304750d1c673315321a55d15fc59015",
"reference": "086b94371304750d1c673315321a55d15fc59015",
"shasum": ""
},
"require": {
"amphp/amp": "^2.4.2",
"amphp/byte-stream": "^1.5",
"composer/package-versions-deprecated": "^1.8.0",
"composer-runtime-api": "^2",
"composer/semver": "^1.4 || ^2.0 || ^3.0",
"composer/xdebug-handler": "^1.1 || ^2.0 || ^3.0",
"composer/xdebug-handler": "^2.0 || ^3.0",
"dnoegel/php-xdg-base-dir": "^0.1.1",
"ext-ctype": "*",
"ext-dom": "*",
@ -4638,35 +4641,35 @@
"ext-mbstring": "*",
"ext-simplexml": "*",
"ext-tokenizer": "*",
"felixfbecker/advanced-json-rpc": "^3.0.3",
"felixfbecker/language-server-protocol": "^1.5",
"felixfbecker/advanced-json-rpc": "^3.1",
"felixfbecker/language-server-protocol": "^1.5.2",
"fidry/cpu-core-counter": "^0.4.1 || ^0.5.1",
"netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0",
"nikic/php-parser": "^4.13",
"openlss/lib-array2xml": "^1.0",
"php": "^7.1|^8",
"sebastian/diff": "^3.0 || ^4.0",
"symfony/console": "^3.4.17 || ^4.1.6 || ^5.0 || ^6.0",
"symfony/polyfill-php80": "^1.25",
"webmozart/path-util": "^2.3"
"nikic/php-parser": "^4.14",
"php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0",
"sebastian/diff": "^4.0 || ^5.0",
"spatie/array-to-xml": "^2.17.0 || ^3.0",
"symfony/console": "^4.1.6 || ^5.0 || ^6.0",
"symfony/filesystem": "^5.4 || ^6.0"
},
"provide": {
"psalm/psalm": "self.version"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.2",
"brianium/paratest": "^4.0||^6.0",
"amphp/phpunit-util": "^2.0",
"bamarni/composer-bin-plugin": "^1.4",
"brianium/paratest": "^6.9",
"ext-curl": "*",
"mockery/mockery": "^1.5",
"nunomaduro/mock-final-classes": "^1.1",
"php-parallel-lint/php-parallel-lint": "^1.2",
"phpdocumentor/reflection-docblock": "^5",
"phpmyadmin/sql-parser": "5.1.0||dev-master",
"phpspec/prophecy": ">=1.9.0",
"phpstan/phpdoc-parser": "1.2.* || 1.6.4",
"phpunit/phpunit": "^9.0",
"psalm/plugin-phpunit": "^0.16",
"slevomat/coding-standard": "^7.0",
"squizlabs/php_codesniffer": "^3.5",
"symfony/process": "^4.3 || ^5.0 || ^6.0",
"weirdan/prophecy-shim": "^1.0 || ^2.0"
"phpstan/phpdoc-parser": "^1.6",
"phpunit/phpunit": "^9.6",
"psalm/plugin-mockery": "^1.1",
"psalm/plugin-phpunit": "^0.18",
"slevomat/coding-standard": "^8.4",
"squizlabs/php_codesniffer": "^3.6",
"symfony/process": "^4.4 || ^5.0 || ^6.0"
},
"suggest": {
"ext-curl": "In order to send data to shepherd",
@ -4682,17 +4685,14 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.x-dev",
"dev-master": "5.x-dev",
"dev-4.x": "4.x-dev",
"dev-3.x": "3.x-dev",
"dev-2.x": "2.x-dev",
"dev-1.x": "1.x-dev"
}
},
"autoload": {
"files": [
"src/functions.php",
"src/spl_object_id.php"
],
"psr-4": {
"Psalm\\": "src/Psalm/"
}
@ -4710,13 +4710,14 @@
"keywords": [
"code",
"inspection",
"php"
"php",
"static analysis"
],
"support": {
"issues": "https://github.com/vimeo/psalm/issues",
"source": "https://github.com/vimeo/psalm/tree/4.29.0"
"source": "https://github.com/vimeo/psalm/tree/5.13.1"
},
"time": "2022-10-11T17:09:17+00:00"
"time": "2023-06-27T16:39:49+00:00"
},
{
"name": "webmozart/assert",
@ -4775,57 +4776,6 @@
"source": "https://github.com/webmozarts/assert/tree/1.11.0"
},
"time": "2022-06-03T18:03:27+00:00"
},
{
"name": "webmozart/path-util",
"version": "2.3.0",
"source": {
"type": "git",
"url": "https://github.com/webmozart/path-util.git",
"reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/webmozart/path-util/zipball/d939f7edc24c9a1bb9c0dee5cb05d8e859490725",
"reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725",
"shasum": ""
},
"require": {
"php": ">=5.3.3",
"webmozart/assert": "~1.0"
},
"require-dev": {
"phpunit/phpunit": "^4.6",
"sebastian/version": "^1.0.1"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.3-dev"
}
},
"autoload": {
"psr-4": {
"Webmozart\\PathUtil\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Bernhard Schussek",
"email": "bschussek@gmail.com"
}
],
"description": "A robust cross-platform utility for normalizing, comparing and modifying file paths.",
"support": {
"issues": "https://github.com/webmozart/path-util/issues",
"source": "https://github.com/webmozart/path-util/tree/2.3.0"
},
"abandoned": "symfony/filesystem",
"time": "2015-12-17T08:42:14+00:00"
}
],
"aliases": [],
@ -4835,5 +4785,5 @@
"prefer-lowest": false,
"platform": [],
"platform-dev": [],
"plugin-api-version": "2.3.0"
"plugin-api-version": "2.2.0"
}

View File

@ -22,6 +22,7 @@ OC.L10N.register(
"API URL or secret not configured. Please contact your administrator." : "L'adresse ou le secret de l'API n'est pas configuré. Veuillez contacter votre administrateur.",
"BigBlueButton Integration" : "Intégration de BigBlueButton",
"BigBlueButton integration for Nextcloud" : "Intégration de BigBlueButton pour Nextcloud",
"This app allows to create meetings with an external installation of [BigBlueButton](https://bigbluebutton.org).\n\n* **Room setup** Create multiple room configurations with name, welcome message …\n* **Share guest link** Share the room link with all your guests\n* **Share moderator link** Invite moderators to the room\n* **Share rooms** Share rooms with members, groups or circles\n* **Custom presentation** Start a room with a selected presentation from your file browser\n* **Manage recordings** View, share and delete recordings for your rooms\n* **Restrictions** Restrict room creation to certain groups\n* **Activities** Get an overview of your room activities\n\nQuick start guide and further information in our [readme](https://github.com/littleredbutton/cloud_bbb).\nDo you like this application? Give something back to the open source community and checkout our\n[ways to contribute](https://github.com/littleredbutton/cloud_bbb/blob/master/.github/contributing.md).\n\nContributors are welcome! If you have time it would be awesome if you could help to enhance this application.\n\n*This app integrates BigBlueButton and is not endorsed or certified by BigBlueButton Inc. BigBlueButton and the BigBlueButton Logo are trademarks of BigBlueButton Inc.*" : "Cette application permet de créer des réunions avec une installation externe de [BigBlueButton](https://bigbluebutton.org).\n\n* **Configuration de la salle** Créez plusieurs configurations de salle avec nom, message de bienvenue…\n* **Partager un lien invité** Partagez un lien de la salle avec tous vos invités\n* **Partager le lien du modérateur** Inviter des modérateurs dans la salle\n* **Partager des salles** Partagez des salles avec des membres, des groupes ou des cercles\n* **Présentation personnalisée** Démarrez une salle avec une présentation sélectionnée à partir de votre navigateur de fichiers\n* **Gérer les enregistrements** Affichez, partagez et supprimez les enregistrements de vos salles\n* **Restrictions** Restreindre la création de salles à certains groupes\n* **Activités** Obtenez un aperçu des activités de votre salle\n\nGuide de démarrage rapide et informations complémentaires dans notre [lisser moi](https://github.com/littleredbutton/cloud_bbb).\nAimez-vous cette application? Redonnez quelque chose à la communauté open source et consultez notre\n[façons de contribuer](https://github.com/littleredbutton/cloud_bbb/blob/master/.github/contributing.md).\n\nLes contributeurs sont les bienvenus! Si vous avez le temps, ce serait génial si vous pouviez contribuer à améliorer cette application.\n\n*Cette application intègre BigBlueButton et n'est ni approuvée ni certifiée par BigBlueButton Inc. BigBlueButton et le logo BigBlueButton sont des marques commerciales de BigBlueButton Inc.*",
"Room not found" : "Salle non trouvée",
"The room could not be found. Maybe it was deleted?" : "Impossible de trouver cette salle. Peut-être a-t-elle été supprimée ?",
"Back to %s" : "Retourner à %s",

View File

@ -20,6 +20,7 @@
"API URL or secret not configured. Please contact your administrator." : "L'adresse ou le secret de l'API n'est pas configuré. Veuillez contacter votre administrateur.",
"BigBlueButton Integration" : "Intégration de BigBlueButton",
"BigBlueButton integration for Nextcloud" : "Intégration de BigBlueButton pour Nextcloud",
"This app allows to create meetings with an external installation of [BigBlueButton](https://bigbluebutton.org).\n\n* **Room setup** Create multiple room configurations with name, welcome message …\n* **Share guest link** Share the room link with all your guests\n* **Share moderator link** Invite moderators to the room\n* **Share rooms** Share rooms with members, groups or circles\n* **Custom presentation** Start a room with a selected presentation from your file browser\n* **Manage recordings** View, share and delete recordings for your rooms\n* **Restrictions** Restrict room creation to certain groups\n* **Activities** Get an overview of your room activities\n\nQuick start guide and further information in our [readme](https://github.com/littleredbutton/cloud_bbb).\nDo you like this application? Give something back to the open source community and checkout our\n[ways to contribute](https://github.com/littleredbutton/cloud_bbb/blob/master/.github/contributing.md).\n\nContributors are welcome! If you have time it would be awesome if you could help to enhance this application.\n\n*This app integrates BigBlueButton and is not endorsed or certified by BigBlueButton Inc. BigBlueButton and the BigBlueButton Logo are trademarks of BigBlueButton Inc.*" : "Cette application permet de créer des réunions avec une installation externe de [BigBlueButton](https://bigbluebutton.org).\n\n* **Configuration de la salle** Créez plusieurs configurations de salle avec nom, message de bienvenue…\n* **Partager un lien invité** Partagez un lien de la salle avec tous vos invités\n* **Partager le lien du modérateur** Inviter des modérateurs dans la salle\n* **Partager des salles** Partagez des salles avec des membres, des groupes ou des cercles\n* **Présentation personnalisée** Démarrez une salle avec une présentation sélectionnée à partir de votre navigateur de fichiers\n* **Gérer les enregistrements** Affichez, partagez et supprimez les enregistrements de vos salles\n* **Restrictions** Restreindre la création de salles à certains groupes\n* **Activités** Obtenez un aperçu des activités de votre salle\n\nGuide de démarrage rapide et informations complémentaires dans notre [lisser moi](https://github.com/littleredbutton/cloud_bbb).\nAimez-vous cette application? Redonnez quelque chose à la communauté open source et consultez notre\n[façons de contribuer](https://github.com/littleredbutton/cloud_bbb/blob/master/.github/contributing.md).\n\nLes contributeurs sont les bienvenus! Si vous avez le temps, ce serait génial si vous pouviez contribuer à améliorer cette application.\n\n*Cette application intègre BigBlueButton et n'est ni approuvée ni certifiée par BigBlueButton Inc. BigBlueButton et le logo BigBlueButton sont des marques commerciales de BigBlueButton Inc.*",
"Room not found" : "Salle non trouvée",
"The room could not be found. Maybe it was deleted?" : "Impossible de trouver cette salle. Peut-être a-t-elle été supprimée ?",
"Back to %s" : "Retourner à %s",

View File

@ -22,6 +22,7 @@ OC.L10N.register(
"API URL or secret not configured. Please contact your administrator." : "未設定 API URL 或密碼。請聯絡您的管理員。",
"BigBlueButton Integration" : "BigBlueButton 整合",
"BigBlueButton integration for Nextcloud" : "Nextcloud 的 BigBlueButton 整合",
"This app allows to create meetings with an external installation of [BigBlueButton](https://bigbluebutton.org).\n\n* **Room setup** Create multiple room configurations with name, welcome message …\n* **Share guest link** Share the room link with all your guests\n* **Share moderator link** Invite moderators to the room\n* **Share rooms** Share rooms with members, groups or circles\n* **Custom presentation** Start a room with a selected presentation from your file browser\n* **Manage recordings** View, share and delete recordings for your rooms\n* **Restrictions** Restrict room creation to certain groups\n* **Activities** Get an overview of your room activities\n\nQuick start guide and further information in our [readme](https://github.com/littleredbutton/cloud_bbb).\nDo you like this application? Give something back to the open source community and checkout our\n[ways to contribute](https://github.com/littleredbutton/cloud_bbb/blob/master/.github/contributing.md).\n\nContributors are welcome! If you have time it would be awesome if you could help to enhance this application.\n\n*This app integrates BigBlueButton and is not endorsed or certified by BigBlueButton Inc. BigBlueButton and the BigBlueButton Logo are trademarks of BigBlueButton Inc.*" : "此應用程式讓您可以使用外部安裝的 [BigBlueButton](https://bigbluebutton.org) 建立會議。\n\n* **聊天室設定** 使用名稱、歡迎訊息等設定建立多個聊天室\n* **分享訪客連結** 與您所有的訪客分享聊天室連結\n* **分享主持人連結** 邀請主持人至聊天室\n* **分享聊天室** 與成員、群組或小圈圈分享聊天室\n* **自訂簡報** 使用從您的檔案瀏覽程式選取的簡報開始聊天室\n* **管理錄製** 檢視、分享與刪除您聊天室的錄製\n* **限制** 限制僅特定群組可建立聊天室\n* **活動** 取得您聊天室活動的概覽\n\n我們的[讀我檔案](https://github.com/littleredbutton/cloud_bbb)有新手指南與進一步的資訊。\n您喜歡此應用程式嗎給開源社群一些東西並看看我們的\n[貢獻方式](https://github.com/littleredbutton/cloud_bbb/blob/master/.github/contributing.md)。\n\n歡迎貢獻如果您有時間並想要協助強化此應用程式那就太棒了。\n\n*此應用程式整合了 BigBlueButton但未經 BigBlueButton 公司認可或認證。BigBlueButton 與 BigBlueButton 圖示是 BigBlueButton 公司的商標。*",
"Room not found" : "找不到聊天室",
"The room could not be found. Maybe it was deleted?" : "找不到聊天室。或許它已經被刪除了?",
"Back to %s" : "回到 %s",

View File

@ -20,6 +20,7 @@
"API URL or secret not configured. Please contact your administrator." : "未設定 API URL 或密碼。請聯絡您的管理員。",
"BigBlueButton Integration" : "BigBlueButton 整合",
"BigBlueButton integration for Nextcloud" : "Nextcloud 的 BigBlueButton 整合",
"This app allows to create meetings with an external installation of [BigBlueButton](https://bigbluebutton.org).\n\n* **Room setup** Create multiple room configurations with name, welcome message …\n* **Share guest link** Share the room link with all your guests\n* **Share moderator link** Invite moderators to the room\n* **Share rooms** Share rooms with members, groups or circles\n* **Custom presentation** Start a room with a selected presentation from your file browser\n* **Manage recordings** View, share and delete recordings for your rooms\n* **Restrictions** Restrict room creation to certain groups\n* **Activities** Get an overview of your room activities\n\nQuick start guide and further information in our [readme](https://github.com/littleredbutton/cloud_bbb).\nDo you like this application? Give something back to the open source community and checkout our\n[ways to contribute](https://github.com/littleredbutton/cloud_bbb/blob/master/.github/contributing.md).\n\nContributors are welcome! If you have time it would be awesome if you could help to enhance this application.\n\n*This app integrates BigBlueButton and is not endorsed or certified by BigBlueButton Inc. BigBlueButton and the BigBlueButton Logo are trademarks of BigBlueButton Inc.*" : "此應用程式讓您可以使用外部安裝的 [BigBlueButton](https://bigbluebutton.org) 建立會議。\n\n* **聊天室設定** 使用名稱、歡迎訊息等設定建立多個聊天室\n* **分享訪客連結** 與您所有的訪客分享聊天室連結\n* **分享主持人連結** 邀請主持人至聊天室\n* **分享聊天室** 與成員、群組或小圈圈分享聊天室\n* **自訂簡報** 使用從您的檔案瀏覽程式選取的簡報開始聊天室\n* **管理錄製** 檢視、分享與刪除您聊天室的錄製\n* **限制** 限制僅特定群組可建立聊天室\n* **活動** 取得您聊天室活動的概覽\n\n我們的[讀我檔案](https://github.com/littleredbutton/cloud_bbb)有新手指南與進一步的資訊。\n您喜歡此應用程式嗎給開源社群一些東西並看看我們的\n[貢獻方式](https://github.com/littleredbutton/cloud_bbb/blob/master/.github/contributing.md)。\n\n歡迎貢獻如果您有時間並想要協助強化此應用程式那就太棒了。\n\n*此應用程式整合了 BigBlueButton但未經 BigBlueButton 公司認可或認證。BigBlueButton 與 BigBlueButton 圖示是 BigBlueButton 公司的商標。*",
"Room not found" : "找不到聊天室",
"The room could not be found. Maybe it was deleted?" : "找不到聊天室。或許它已經被刪除了?",
"Back to %s" : "回到 %s",

View File

@ -6,11 +6,15 @@ use OCA\BigBlueButton\AppInfo\Application;
use OCA\BigBlueButton\Event\MeetingEndedEvent;
use OCA\BigBlueButton\Event\MeetingStartedEvent;
use OCA\BigBlueButton\Event\RecordingReadyEvent;
use OCA\BigBlueButton\Event\RoomEvent;
use OCP\Activity\IManager as IActivityManager;
use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventListener;
use OCP\IUserSession;
/**
* @template-implements IEventListener<RoomEvent>
*/
class MeetingListener implements IEventListener {
/** @var IActivityManager */
private $activityManager;

View File

@ -5,10 +5,14 @@ namespace OCA\BigBlueButton\Activity;
use OCA\BigBlueButton\AppInfo\Application;
use OCA\BigBlueButton\Event\RoomCreatedEvent;
use OCA\BigBlueButton\Event\RoomDeletedEvent;
use OCA\BigBlueButton\Event\RoomEvent;
use OCP\Activity\IManager as IActivityManager;
use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventListener;
/**
* @template-implements IEventListener<RoomEvent>
*/
class RoomListener implements IEventListener {
/** @var IActivityManager */
private $activityManager;

View File

@ -5,6 +5,7 @@ namespace OCA\BigBlueButton\Activity;
use OCA\BigBlueButton\AppInfo\Application;
use OCA\BigBlueButton\Db\Room;
use OCA\BigBlueButton\Db\RoomShare;
use OCA\BigBlueButton\Event\RoomEvent;
use OCA\BigBlueButton\Event\RoomShareCreatedEvent;
use OCA\BigBlueButton\Event\RoomShareDeletedEvent;
use OCA\BigBlueButton\Service\RoomService;
@ -13,6 +14,9 @@ use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventListener;
use OCP\IGroupManager;
/**
* @template-implements IEventListener<RoomEvent>
*/
class RoomShareListener implements IEventListener {
/** @var IActivityManager */
private $activityManager;

View File

@ -7,6 +7,9 @@ use OCP\AppFramework\Db\QBMapper;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\IDBConnection;
/**
* @template-extends QBMapper<Restriction>
*/
class RestrictionMapper extends QBMapper {
public function __construct(IDBConnection $db) {
parent::__construct($db, 'bbb_restrictions', Restriction::class);

View File

@ -7,6 +7,9 @@ use OCP\AppFramework\Db\QBMapper;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\IDBConnection;
/**
* @template-extends QBMapper<Room>
*/
class RoomMapper extends QBMapper {
public function __construct(IDBConnection $db) {
parent::__construct($db, 'bbb_rooms', Room::class);

View File

@ -7,6 +7,9 @@ use OCP\AppFramework\Db\QBMapper;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\IDBConnection;
/**
* @template-extends QBMapper<RoomShare>
*/
class RoomShareMapper extends QBMapper {
public function __construct(IDBConnection $db) {
parent::__construct($db, 'bbb_room_shares', RoomShare::class);

View File

@ -9,6 +9,9 @@ use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventListener;
use OCP\User\Events\UserDeletedEvent;
/**
* @template-implements IEventListener<UserDeletedEvent>
*/
class UserDeletedListener implements IEventListener {
/** @var IActivityManager */
private $activityManager;

View File

@ -6,6 +6,8 @@
xmlns="https://getpsalm.org/schema/config"
xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
errorBaseline="tests/psalm-baseline.xml"
findUnusedCode="false"
findUnusedBaselineEntry="false"
>
<projectFiles>
<directory name="lib" />

View File

@ -16,7 +16,22 @@
.oc-dialog.bbb-dialog {
max-height: calc(100% - 70px);
margin-top: 25px;
margin-top: 0;
padding: 4px 24px;
}
.bbb-dialog {
.oc-dialog-title {
font-size: 21px;
text-align: center;
margin-top: 0;
}
.oc-dialog-close {
padding: 0;
top: 0;
}
}
.bbb-mb-1 {

View File

@ -180,7 +180,7 @@ const RoomRow: React.FC<Props> = (props) => {
function accessToIcon(access: string) {
switch(access) {
case Access.Public:
return <span className="icon icon-visible icon-link" title={AccessOptions[access]} />;
return <span className="icon icon-visible icon-public" title={AccessOptions[access]} />;
case Access.Password:
return <span className="icon icon-visible icon-password" title={AccessOptions[access]} />;
case Access.Internal:
@ -188,6 +188,7 @@ const RoomRow: React.FC<Props> = (props) => {
case Access.InternalRestricted:
return <span className="icon icon-visible icon-user" title={AccessOptions[access]} />;
case Access.WaitingRoom:
case Access.WaitingRoomAll:
return <span className="icon icon-visible icon-timezone" title={AccessOptions[access]} />;
}

View File

@ -106,9 +106,9 @@ const ShareWith: React.FC<Props> = ({ room, permission, shares: allShares, setSh
{share.shareType === ShareType.Circle && <span className="icon-circle-white"></span>}
</div>
<div className="bbb-shareWith__item__label">
<h5>{displayName}
<span>{displayName}
{(share.id === ROOM_OWNER_ID || !isOwner) && (' (' + permissionLabel(share.permission) + ')')}
</h5>
</span>
</div>
{(share.id > ROOM_OWNER_ID && isOwner) && selectPermission(share.permission, (value) => {
setSharePermission(share, value);