Compare commits
11 Commits
4bcebf8048
...
dd2cc88ea5
Author | SHA1 | Date |
---|---|---|
Charles-Henri BERNARD | dd2cc88ea5 | |
Buster Neece | 996fe4e4c2 | |
Buster Neece | 1c290a9d05 | |
Buster Neece | efd6c8f0de | |
Charles-Henri BERNARD | fd2a0896c0 | |
Charles-Henri BERNARD | 7ba5e5a437 | |
Charles-Henri BERNARD | 9aef2cf2d2 | |
Charles-Henri BERNARD | e49db10137 | |
Charles-Henri BERNARD | 99c288a072 | |
Charles-Henri BERNARD | 460c49b01d | |
Charles-Henri BERNARD | 61db6e5735 |
|
@ -11,6 +11,8 @@ release channel, you can take advantage of these new features and fixes.
|
|||
into your playback, and also creating podcasts with the same media.
|
||||
- You can now disable podcasts from public view while still editing them, similar to playlists.
|
||||
- You can specify season and episode numbers on individual podcast episodes.
|
||||
- Podcasts can have public HTML associated with them that will display on public pages (useful for things like links
|
||||
to third-party syndication sites).
|
||||
|
||||
## Code Quality/Technical Changes
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
"azuracast/nowplaying": "dev-main",
|
||||
"beberlei/doctrineextensions": "^1.5",
|
||||
"br33f/php-ga4-mp": "^0.1.2",
|
||||
"brick/math": "^0.11",
|
||||
"brick/math": "^0.12",
|
||||
"composer/ca-bundle": "^1.2",
|
||||
"doctrine/data-fixtures": "^1.3",
|
||||
"doctrine/dbal": "^4",
|
||||
|
|
|
@ -4,20 +4,20 @@
|
|||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "e787b1c33e7b29a06d97ee12c0ce8810",
|
||||
"content-hash": "663155795fc7a2210f996a12dee13724",
|
||||
"packages": [
|
||||
{
|
||||
"name": "aws/aws-crt-php",
|
||||
"version": "v1.2.4",
|
||||
"version": "v1.2.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/awslabs/aws-crt-php.git",
|
||||
"reference": "eb0c6e4e142224a10b08f49ebf87f32611d162b2"
|
||||
"reference": "0ea1f04ec5aa9f049f97e012d1ed63b76834a31b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/awslabs/aws-crt-php/zipball/eb0c6e4e142224a10b08f49ebf87f32611d162b2",
|
||||
"reference": "eb0c6e4e142224a10b08f49ebf87f32611d162b2",
|
||||
"url": "https://api.github.com/repos/awslabs/aws-crt-php/zipball/0ea1f04ec5aa9f049f97e012d1ed63b76834a31b",
|
||||
"reference": "0ea1f04ec5aa9f049f97e012d1ed63b76834a31b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -56,22 +56,22 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/awslabs/aws-crt-php/issues",
|
||||
"source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.4"
|
||||
"source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.5"
|
||||
},
|
||||
"time": "2023-11-08T00:42:13+00:00"
|
||||
"time": "2024-04-19T21:30:56+00:00"
|
||||
},
|
||||
{
|
||||
"name": "aws/aws-sdk-php",
|
||||
"version": "3.304.8",
|
||||
"version": "3.305.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/aws/aws-sdk-php.git",
|
||||
"reference": "0079eaa0a0eaef2d73d0a4a11389cdfce1d33189"
|
||||
"reference": "fc26a2ebf720e0b75a353d7e8fe206796671e00b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/0079eaa0a0eaef2d73d0a4a11389cdfce1d33189",
|
||||
"reference": "0079eaa0a0eaef2d73d0a4a11389cdfce1d33189",
|
||||
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/fc26a2ebf720e0b75a353d7e8fe206796671e00b",
|
||||
"reference": "fc26a2ebf720e0b75a353d7e8fe206796671e00b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -151,9 +151,9 @@
|
|||
"support": {
|
||||
"forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80",
|
||||
"issues": "https://github.com/aws/aws-sdk-php/issues",
|
||||
"source": "https://github.com/aws/aws-sdk-php/tree/3.304.8"
|
||||
"source": "https://github.com/aws/aws-sdk-php/tree/3.305.4"
|
||||
},
|
||||
"time": "2024-04-19T18:13:09+00:00"
|
||||
"time": "2024-04-26T18:06:31+00:00"
|
||||
},
|
||||
{
|
||||
"name": "azuracast/doctrine-entity-normalizer",
|
||||
|
@ -394,25 +394,25 @@
|
|||
},
|
||||
{
|
||||
"name": "brick/math",
|
||||
"version": "0.11.0",
|
||||
"version": "0.12.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/brick/math.git",
|
||||
"reference": "0ad82ce168c82ba30d1c01ec86116ab52f589478"
|
||||
"reference": "f510c0a40911935b77b86859eb5223d58d660df1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/brick/math/zipball/0ad82ce168c82ba30d1c01ec86116ab52f589478",
|
||||
"reference": "0ad82ce168c82ba30d1c01ec86116ab52f589478",
|
||||
"url": "https://api.github.com/repos/brick/math/zipball/f510c0a40911935b77b86859eb5223d58d660df1",
|
||||
"reference": "f510c0a40911935b77b86859eb5223d58d660df1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^8.0"
|
||||
"php": "^8.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"php-coveralls/php-coveralls": "^2.2",
|
||||
"phpunit/phpunit": "^9.0",
|
||||
"vimeo/psalm": "5.0.0"
|
||||
"phpunit/phpunit": "^10.1",
|
||||
"vimeo/psalm": "5.16.0"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
|
@ -432,12 +432,17 @@
|
|||
"arithmetic",
|
||||
"bigdecimal",
|
||||
"bignum",
|
||||
"bignumber",
|
||||
"brick",
|
||||
"math"
|
||||
"decimal",
|
||||
"integer",
|
||||
"math",
|
||||
"mathematics",
|
||||
"rational"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/brick/math/issues",
|
||||
"source": "https://github.com/brick/math/tree/0.11.0"
|
||||
"source": "https://github.com/brick/math/tree/0.12.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
@ -445,7 +450,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2023-01-15T23:15:59+00:00"
|
||||
"time": "2023-11-29T23:19:16+00:00"
|
||||
},
|
||||
{
|
||||
"name": "carbonphp/carbon-doctrine-types",
|
||||
|
@ -826,16 +831,16 @@
|
|||
},
|
||||
{
|
||||
"name": "doctrine/dbal",
|
||||
"version": "4.0.1",
|
||||
"version": "4.0.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/doctrine/dbal.git",
|
||||
"reference": "9e588fe1f38a443cb17de6b86b803d9e028e2156"
|
||||
"reference": "61d79c6e379a39dc1fea6b4e50a23dfc3cd2076a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/doctrine/dbal/zipball/9e588fe1f38a443cb17de6b86b803d9e028e2156",
|
||||
"reference": "9e588fe1f38a443cb17de6b86b803d9e028e2156",
|
||||
"url": "https://api.github.com/repos/doctrine/dbal/zipball/61d79c6e379a39dc1fea6b4e50a23dfc3cd2076a",
|
||||
"reference": "61d79c6e379a39dc1fea6b4e50a23dfc3cd2076a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -914,7 +919,7 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/doctrine/dbal/issues",
|
||||
"source": "https://github.com/doctrine/dbal/tree/4.0.1"
|
||||
"source": "https://github.com/doctrine/dbal/tree/4.0.2"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
@ -930,7 +935,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-03-03T15:59:11+00:00"
|
||||
"time": "2024-04-25T08:29:52+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/deprecations",
|
||||
|
@ -2614,16 +2619,16 @@
|
|||
},
|
||||
{
|
||||
"name": "intervention/image",
|
||||
"version": "3.6.0",
|
||||
"version": "3.6.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Intervention/image.git",
|
||||
"reference": "e9227300192f9df789fa300aeabb969e4e56d270"
|
||||
"reference": "8e00dd330ff8ef944492037c5dd17da00b85daa6"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Intervention/image/zipball/e9227300192f9df789fa300aeabb969e4e56d270",
|
||||
"reference": "e9227300192f9df789fa300aeabb969e4e56d270",
|
||||
"url": "https://api.github.com/repos/Intervention/image/zipball/8e00dd330ff8ef944492037c5dd17da00b85daa6",
|
||||
"reference": "8e00dd330ff8ef944492037c5dd17da00b85daa6",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -2670,7 +2675,7 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/Intervention/image/issues",
|
||||
"source": "https://github.com/Intervention/image/tree/3.6.0"
|
||||
"source": "https://github.com/Intervention/image/tree/3.6.2"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
@ -2682,7 +2687,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2024-04-17T14:01:15+00:00"
|
||||
"time": "2024-04-26T15:29:43+00:00"
|
||||
},
|
||||
{
|
||||
"name": "james-heinrich/getid3",
|
||||
|
@ -5663,20 +5668,20 @@
|
|||
},
|
||||
{
|
||||
"name": "ramsey/uuid",
|
||||
"version": "4.7.5",
|
||||
"version": "4.7.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/ramsey/uuid.git",
|
||||
"reference": "5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e"
|
||||
"reference": "91039bc1faa45ba123c4328958e620d382ec7088"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/ramsey/uuid/zipball/5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e",
|
||||
"reference": "5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e",
|
||||
"url": "https://api.github.com/repos/ramsey/uuid/zipball/91039bc1faa45ba123c4328958e620d382ec7088",
|
||||
"reference": "91039bc1faa45ba123c4328958e620d382ec7088",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11",
|
||||
"brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12",
|
||||
"ext-json": "*",
|
||||
"php": "^8.0",
|
||||
"ramsey/collection": "^1.2 || ^2.0"
|
||||
|
@ -5739,7 +5744,7 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/ramsey/uuid/issues",
|
||||
"source": "https://github.com/ramsey/uuid/tree/4.7.5"
|
||||
"source": "https://github.com/ramsey/uuid/tree/4.7.6"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
@ -5751,7 +5756,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-11-08T05:53:05+00:00"
|
||||
"time": "2024-04-27T21:32:50+00:00"
|
||||
},
|
||||
{
|
||||
"name": "rlanvin/php-ip",
|
||||
|
@ -6524,16 +6529,16 @@
|
|||
},
|
||||
{
|
||||
"name": "spiral/roadrunner-http",
|
||||
"version": "v3.5.0",
|
||||
"version": "v3.5.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/roadrunner-php/http.git",
|
||||
"reference": "f5c329b3bce485fbc7080bef1d37ff130985de50"
|
||||
"reference": "213cd0d5c0fba1548f22a5f5ff333afa88fe24ae"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/roadrunner-php/http/zipball/f5c329b3bce485fbc7080bef1d37ff130985de50",
|
||||
"reference": "f5c329b3bce485fbc7080bef1d37ff130985de50",
|
||||
"url": "https://api.github.com/repos/roadrunner-php/http/zipball/213cd0d5c0fba1548f22a5f5ff333afa88fe24ae",
|
||||
"reference": "213cd0d5c0fba1548f22a5f5ff333afa88fe24ae",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -6600,7 +6605,7 @@
|
|||
"docs": "https://docs.roadrunner.dev",
|
||||
"forum": "https://forum.roadrunner.dev/",
|
||||
"issues": "https://github.com/roadrunner-server/roadrunner/issues",
|
||||
"source": "https://github.com/roadrunner-php/http/tree/v3.5.0"
|
||||
"source": "https://github.com/roadrunner-php/http/tree/v3.5.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
@ -6608,7 +6613,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2024-04-01T17:33:48+00:00"
|
||||
"time": "2024-04-26T11:16:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "spiral/roadrunner-worker",
|
||||
|
@ -11719,16 +11724,16 @@
|
|||
},
|
||||
{
|
||||
"name": "phpunit/phpunit",
|
||||
"version": "11.1.2",
|
||||
"version": "11.1.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
||||
"reference": "51e342a0bc987e0ea8418105d0711f08ae116de3"
|
||||
"reference": "d475be032238173ca3b0a516f5cc291d174708ae"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/51e342a0bc987e0ea8418105d0711f08ae116de3",
|
||||
"reference": "51e342a0bc987e0ea8418105d0711f08ae116de3",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d475be032238173ca3b0a516f5cc291d174708ae",
|
||||
"reference": "d475be032238173ca3b0a516f5cc291d174708ae",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -11799,7 +11804,7 @@
|
|||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
|
||||
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
|
||||
"source": "https://github.com/sebastianbergmann/phpunit/tree/11.1.2"
|
||||
"source": "https://github.com/sebastianbergmann/phpunit/tree/11.1.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
@ -11815,7 +11820,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-04-14T07:13:56+00:00"
|
||||
"time": "2024-04-24T06:34:25+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psy/psysh",
|
||||
|
@ -11959,12 +11964,12 @@
|
|||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Roave/SecurityAdvisories.git",
|
||||
"reference": "a6fb2a760c95f45ccb6a412599770061c330c624"
|
||||
"reference": "c9920ef42818bc65373cec1acc26bdee7a487e72"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/a6fb2a760c95f45ccb6a412599770061c330c624",
|
||||
"reference": "a6fb2a760c95f45ccb6a412599770061c330c624",
|
||||
"url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/c9920ef42818bc65373cec1acc26bdee7a487e72",
|
||||
"reference": "c9920ef42818bc65373cec1acc26bdee7a487e72",
|
||||
"shasum": ""
|
||||
},
|
||||
"conflict": {
|
||||
|
@ -11997,6 +12002,7 @@
|
|||
"athlon1600/php-proxy-app": "<=3",
|
||||
"austintoddj/canvas": "<=3.4.2",
|
||||
"automad/automad": "<=1.10.9",
|
||||
"automattic/jetpack": "<9.8",
|
||||
"awesome-support/awesome-support": "<=6.0.7",
|
||||
"aws/aws-sdk-php": "<3.288.1",
|
||||
"azuracast/azuracast": "<0.18.3",
|
||||
|
@ -12011,9 +12017,13 @@
|
|||
"barzahlen/barzahlen-php": "<2.0.1",
|
||||
"baserproject/basercms": "<5.0.9",
|
||||
"bassjobsen/bootstrap-3-typeahead": ">4.0.2",
|
||||
"bbpress/bbpress": "<2.6.5",
|
||||
"bcosca/fatfree": "<3.7.2",
|
||||
"bedita/bedita": "<4",
|
||||
"bigfork/silverstripe-form-capture": ">=3,<3.1.1",
|
||||
"billz/raspap-webgui": "<2.9.5",
|
||||
"bk2k/bootstrap-package": ">=7.1,<7.1.2|>=8,<8.0.8|>=9,<9.0.4|>=9.1,<9.1.3|>=10,<10.0.10|>=11,<11.0.3",
|
||||
"blueimp/jquery-file-upload": "==6.4.4",
|
||||
"bmarshall511/wordpress_zero_spam": "<5.2.13",
|
||||
"bolt/bolt": "<3.7.2",
|
||||
"bolt/core": "<=4.2",
|
||||
|
@ -12052,10 +12062,10 @@
|
|||
"concrete5/core": "<8.5.8|>=9,<9.1",
|
||||
"contao-components/mediaelement": ">=2.14.2,<2.21.1",
|
||||
"contao/comments-bundle": ">=2,<4.13.40|>=5.0.0.0-RC1-dev,<5.3.4",
|
||||
"contao/contao": ">=4,<4.4.56|>=4.5,<4.9.40|>=4.10,<4.11.7|>=4.13,<4.13.21|>=5.1,<5.1.4",
|
||||
"contao/core": ">=2,<3.5.39",
|
||||
"contao/contao": ">=3,<3.5.37|>=4,<4.4.56|>=4.5,<4.9.40|>=4.10,<4.11.7|>=4.13,<4.13.21|>=5.1,<5.1.4",
|
||||
"contao/core": "<3.5.39",
|
||||
"contao/core-bundle": "<4.13.40|>=5,<5.3.4",
|
||||
"contao/listing-bundle": ">=4,<4.4.8",
|
||||
"contao/listing-bundle": ">=3,<=3.5.30|>=4,<4.4.8",
|
||||
"contao/managed-edition": "<=1.5",
|
||||
"corveda/phpsandbox": "<1.3.5",
|
||||
"cosenary/instagram": "<=2.3",
|
||||
|
@ -12063,6 +12073,7 @@
|
|||
"croogo/croogo": "<4",
|
||||
"cuyz/valinor": "<0.12",
|
||||
"czproject/git-php": "<4.0.3",
|
||||
"dapphp/securimage": "<3.6.6",
|
||||
"darylldoyle/safe-svg": "<1.9.10",
|
||||
"datadog/dd-trace": ">=0.30,<0.30.2",
|
||||
"datatables/datatables": "<1.10.10",
|
||||
|
@ -12072,6 +12083,7 @@
|
|||
"derhansen/fe_change_pwd": "<2.0.5|>=3,<3.0.3",
|
||||
"derhansen/sf_event_mgt": "<4.3.1|>=5,<5.1.1|>=7,<7.4",
|
||||
"desperado/xml-bundle": "<=0.1.7",
|
||||
"devgroup/dotplant": "<2020.09.14-dev",
|
||||
"directmailteam/direct-mail": "<6.0.3|>=7,<7.0.3|>=8,<9.5.2",
|
||||
"doctrine/annotations": "<1.2.7",
|
||||
"doctrine/cache": ">=1,<1.3.2|>=1.4,<1.4.2",
|
||||
|
@ -12089,9 +12101,10 @@
|
|||
"drupal/drupal": ">=5,<5.11|>=6,<6.38|>=7,<7.80|>=8,<8.9.16|>=9,<9.1.12|>=9.2,<9.2.4",
|
||||
"duncanmcclean/guest-entries": "<3.1.2",
|
||||
"dweeves/magmi": "<=0.7.24",
|
||||
"ec-cube/ec-cube": "<2.4.4",
|
||||
"ec-cube/ec-cube": "<2.4.4|>=2.11,<=2.17.1|>=3,<=3.0.18.0-patch4|>=4,<=4.1.2",
|
||||
"ecodev/newsletter": "<=4",
|
||||
"ectouch/ectouch": "<=2.7.2",
|
||||
"egroupware/egroupware": "<16.1.20170922",
|
||||
"elefant/cms": "<2.0.7",
|
||||
"elgg/elgg": "<3.3.24|>=4,<4.0.5",
|
||||
"elijaa/phpmemcacheadmin": "<=1.3",
|
||||
|
@ -12124,14 +12137,18 @@
|
|||
"ezyang/htmlpurifier": "<4.1.1",
|
||||
"facade/ignition": "<1.16.15|>=2,<2.4.2|>=2.5,<2.5.2",
|
||||
"facturascripts/facturascripts": "<=2022.08",
|
||||
"fastly/magento2": "<1.2.26",
|
||||
"feehi/cms": "<=2.1.1",
|
||||
"feehi/feehicms": "<=2.1.1",
|
||||
"fenom/fenom": "<=2.12.1",
|
||||
"filegator/filegator": "<7.8",
|
||||
"filp/whoops": "<2.1.13",
|
||||
"fineuploader/php-traditional-server": "<=1.2.2",
|
||||
"firebase/php-jwt": "<6",
|
||||
"fixpunkt/fp-masterquiz": "<2.2.1|>=3,<3.5.2",
|
||||
"fixpunkt/fp-newsletter": "<1.1.1|>=2,<2.1.2|>=2.2,<3.2.6",
|
||||
"flarum/core": "<1.8.5",
|
||||
"flarum/flarum": "<0.1.0.0-beta8",
|
||||
"flarum/framework": "<1.8.5",
|
||||
"flarum/mentions": "<1.6.3",
|
||||
"flarum/sticky": ">=0.1.0.0-beta14,<=0.1.0.0-beta15",
|
||||
|
@ -12155,6 +12172,7 @@
|
|||
"friendsoftypo3/openid": ">=4.5,<4.5.31|>=4.7,<4.7.16|>=6,<6.0.11|>=6.1,<6.1.6",
|
||||
"froala/wysiwyg-editor": "<3.2.7|>=4.0.1,<=4.1.3",
|
||||
"froxlor/froxlor": "<=2.1.1",
|
||||
"frozennode/administrator": "<=5.0.12",
|
||||
"fuel/core": "<1.8.1",
|
||||
"funadmin/funadmin": "<=3.2|>=3.3.2,<=3.3.3",
|
||||
"gaoming13/wechat-php-sdk": "<=1.10.2",
|
||||
|
@ -12200,6 +12218,7 @@
|
|||
"illuminate/database": "<6.20.26|>=7,<7.30.5|>=8,<8.40",
|
||||
"illuminate/encryption": ">=4,<=4.0.11|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.40|>=5.6,<5.6.15",
|
||||
"illuminate/view": "<6.20.42|>=7,<7.30.6|>=8,<8.75",
|
||||
"imdbphp/imdbphp": "<=5.1.1",
|
||||
"impresscms/impresscms": "<=1.4.5",
|
||||
"impresspages/impresspages": "<=1.0.12",
|
||||
"in2code/femanager": "<5.5.3|>=6,<6.3.4|>=7,<7.2.3",
|
||||
|
@ -12207,6 +12226,7 @@
|
|||
"in2code/lux": "<17.6.1|>=18,<24.0.2",
|
||||
"innologi/typo3-appointments": "<2.0.6",
|
||||
"intelliants/subrion": "<4.2.2",
|
||||
"inter-mediator/inter-mediator": "==5.5",
|
||||
"islandora/islandora": ">=2,<2.4.1",
|
||||
"ivankristianto/phpwhois": "<=4.3",
|
||||
"jackalope/jackalope-doctrine-dbal": "<1.7.4",
|
||||
|
@ -12238,12 +12258,14 @@
|
|||
"kohana/core": "<3.3.3",
|
||||
"krayin/laravel-crm": "<1.2.2",
|
||||
"kreait/firebase-php": ">=3.2,<3.8.1",
|
||||
"kumbiaphp/kumbiapp": "<=1.1.1",
|
||||
"la-haute-societe/tcpdf": "<6.2.22",
|
||||
"laminas/laminas-diactoros": "<2.18.1|==2.19|==2.20|==2.21|==2.22|==2.23|>=2.24,<2.24.2|>=2.25,<2.25.2",
|
||||
"laminas/laminas-form": "<2.17.1|>=3,<3.0.2|>=3.1,<3.1.1",
|
||||
"laminas/laminas-http": "<2.14.2",
|
||||
"laravel/fortify": "<1.11.1",
|
||||
"laravel/framework": "<6.20.44|>=7,<7.30.6|>=8,<8.75",
|
||||
"laravel/laravel": ">=5.4,<5.4.22",
|
||||
"laravel/socialite": ">=1,<1.0.99|>=2,<2.0.10",
|
||||
"latte/latte": "<2.10.8",
|
||||
"lavalite/cms": "<=9",
|
||||
|
@ -12252,8 +12274,10 @@
|
|||
"league/flysystem": "<1.1.4|>=2,<2.1.1",
|
||||
"league/oauth2-server": ">=8.3.2,<8.4.2|>=8.5,<8.5.3",
|
||||
"lexik/jwt-authentication-bundle": "<2.10.7|>=2.11,<2.11.3",
|
||||
"libreform/libreform": ">=2,<=2.0.8",
|
||||
"librenms/librenms": "<2017.08.18",
|
||||
"liftkit/database": "<2.13.2",
|
||||
"lightsaml/lightsaml": "<1.3.5",
|
||||
"limesurvey/limesurvey": "<3.27.19",
|
||||
"livehelperchat/livehelperchat": "<=3.91",
|
||||
"livewire/livewire": ">2.2.4,<2.2.6|>=3.3.5,<3.4.9",
|
||||
|
@ -12272,6 +12296,7 @@
|
|||
"marcwillmann/turn": "<0.3.3",
|
||||
"matyhtf/framework": "<3.0.6",
|
||||
"mautic/core": "<4.4.12|>=5.0.0.0-alpha,<5.0.4",
|
||||
"mdanter/ecc": "<2",
|
||||
"mediawiki/core": "<1.36.2",
|
||||
"mediawiki/matomo": "<2.4.3",
|
||||
"mediawiki/semantic-media-wiki": "<4.0.2",
|
||||
|
@ -12284,6 +12309,7 @@
|
|||
"microsoft/microsoft-graph-beta": "<2.0.1",
|
||||
"microsoft/microsoft-graph-core": "<2.0.2",
|
||||
"microweber/microweber": "<=2.0.4",
|
||||
"mikehaertl/php-shellcommand": "<1.6.1",
|
||||
"miniorange/miniorange-saml": "<1.4.3",
|
||||
"mittwald/typo3_forum": "<1.2.1",
|
||||
"mobiledetect/mobiledetectlib": "<2.8.32",
|
||||
|
@ -12294,10 +12320,14 @@
|
|||
"moodle/moodle": "<=4.3.3",
|
||||
"mos/cimage": "<0.7.19",
|
||||
"movim/moxl": ">=0.8,<=0.10",
|
||||
"movingbytes/social-network": "<=1.2.1",
|
||||
"mpdf/mpdf": "<=7.1.7",
|
||||
"munkireport/comment": "<4.1",
|
||||
"munkireport/managedinstalls": "<2.6",
|
||||
"munkireport/munki_facts": "<1.5",
|
||||
"munkireport/munkireport": ">=2.5.3,<5.6.3",
|
||||
"munkireport/reportdata": "<3.5",
|
||||
"munkireport/softwareupdate": "<1.6",
|
||||
"mustache/mustache": ">=2,<2.14.1",
|
||||
"namshi/jose": "<2.2",
|
||||
"neoan3-apps/template": "<1.1.1",
|
||||
|
@ -12317,6 +12347,7 @@
|
|||
"nukeviet/nukeviet": "<4.5.02",
|
||||
"nyholm/psr7": "<1.6.1",
|
||||
"nystudio107/craft-seomatic": "<3.4.12",
|
||||
"nzedb/nzedb": "<0.8",
|
||||
"nzo/url-encryptor-bundle": ">=4,<4.3.2|>=5,<5.0.1",
|
||||
"october/backend": "<1.1.2",
|
||||
"october/cms": "<1.0.469|==1.0.469|==1.0.471|==1.1.1",
|
||||
|
@ -12330,6 +12361,7 @@
|
|||
"opencart/opencart": "<=3.0.3.7|>=4,<4.0.2.3-dev",
|
||||
"openid/php-openid": "<2.3",
|
||||
"openmage/magento-lts": "<20.5",
|
||||
"opensolutions/vimbadmin": "<=3.0.15",
|
||||
"opensource-workshop/connect-cms": "<1.7.2|>=2,<2.3.2",
|
||||
"orchid/platform": ">=9,<9.4.4|>=14.0.0.0-alpha4,<14.5",
|
||||
"oro/calendar-bundle": ">=4.2,<=4.2.6|>=5,<=5.0.6|>=5.1,<5.1.1",
|
||||
|
@ -12339,13 +12371,17 @@
|
|||
"oro/customer-portal": ">=4.1,<=4.1.13|>=4.2,<=4.2.10|>=5,<=5.0.11|>=5.1,<=5.1.3",
|
||||
"oro/platform": ">=1.7,<1.7.4|>=3.1,<3.1.29|>=4.1,<4.1.17|>=4.2,<=4.2.10|>=5,<=5.0.12|>=5.1,<=5.1.3",
|
||||
"oxid-esales/oxideshop-ce": "<4.5",
|
||||
"oxid-esales/paymorrow-module": ">=1,<1.0.2|>=2,<2.0.1",
|
||||
"packbackbooks/lti-1-3-php-library": "<5",
|
||||
"padraic/humbug_get_contents": "<1.1.2",
|
||||
"pagarme/pagarme-php": "<3",
|
||||
"pagekit/pagekit": "<=1.0.18",
|
||||
"paragonie/random_compat": "<2",
|
||||
"passbolt/passbolt_api": "<2.11",
|
||||
"passbolt/passbolt_api": "<4.6.2",
|
||||
"paypal/adaptivepayments-sdk-php": "<=3.9.2",
|
||||
"paypal/invoice-sdk-php": "<=3.9",
|
||||
"paypal/merchant-sdk-php": "<3.12",
|
||||
"paypal/permissions-sdk-php": "<=3.9.1",
|
||||
"pear/archive_tar": "<1.4.14",
|
||||
"pear/auth": "<1.2.4",
|
||||
"pear/crypt_gpg": "<1.6.7",
|
||||
|
@ -12362,6 +12398,7 @@
|
|||
"phpmussel/phpmussel": ">=1,<1.6",
|
||||
"phpmyadmin/phpmyadmin": "<5.2.1",
|
||||
"phpmyfaq/phpmyfaq": "<3.2.5|==3.2.5",
|
||||
"phpoffice/common": "<0.2.9",
|
||||
"phpoffice/phpexcel": "<1.8",
|
||||
"phpoffice/phpspreadsheet": "<1.16",
|
||||
"phpseclib/phpseclib": "<2.0.47|>=3,<3.0.36",
|
||||
|
@ -12378,7 +12415,7 @@
|
|||
"pimcore/demo": "<10.3",
|
||||
"pimcore/ecommerce-framework-bundle": "<1.0.10",
|
||||
"pimcore/perspective-editor": "<1.5.1",
|
||||
"pimcore/pimcore": "<11.1.6.1-dev|>=11.2,<11.2.2",
|
||||
"pimcore/pimcore": "<11.2.3",
|
||||
"pixelfed/pixelfed": "<0.11.11",
|
||||
"plotly/plotly.js": "<2.25.2",
|
||||
"pocketmine/bedrock-protocol": "<8.0.2",
|
||||
|
@ -12406,6 +12443,8 @@
|
|||
"pusher/pusher-php-server": "<2.2.1",
|
||||
"pwweb/laravel-core": "<=0.3.6.0-beta",
|
||||
"pyrocms/pyrocms": "<=3.9.1",
|
||||
"qcubed/qcubed": "<=3.1.1",
|
||||
"quickapps/cms": "<=2.0.0.0-beta2",
|
||||
"rainlab/blog-plugin": "<1.4.1",
|
||||
"rainlab/debugbar-plugin": "<3.1",
|
||||
"rainlab/user-plugin": "<=1.4.5",
|
||||
|
@ -12433,7 +12472,7 @@
|
|||
"shopware/core": "<6.5.8.8-dev|>=6.6.0.0-RC1-dev,<6.6.1",
|
||||
"shopware/platform": "<6.5.8.8-dev|>=6.6.0.0-RC1-dev,<6.6.1",
|
||||
"shopware/production": "<=6.3.5.2",
|
||||
"shopware/shopware": "<=5.7.17",
|
||||
"shopware/shopware": "<6.2.3",
|
||||
"shopware/storefront": "<=6.4.8.1|>=6.5.8,<6.5.8.7-dev",
|
||||
"shopxo/shopxo": "<2.2.6",
|
||||
"showdoc/showdoc": "<2.10.4",
|
||||
|
@ -12448,11 +12487,11 @@
|
|||
"silverstripe/hybridsessions": ">=1,<2.4.1|>=2.5,<2.5.1",
|
||||
"silverstripe/recipe-cms": ">=4.5,<4.5.3",
|
||||
"silverstripe/registry": ">=2.1,<2.1.2|>=2.2,<2.2.1",
|
||||
"silverstripe/restfulserver": ">=1,<1.0.9|>=2,<2.0.4",
|
||||
"silverstripe/restfulserver": ">=1,<1.0.9|>=2,<2.0.4|>=2.1,<2.1.2",
|
||||
"silverstripe/silverstripe-omnipay": "<2.5.2|>=3,<3.0.2|>=3.1,<3.1.4|>=3.2,<3.2.1",
|
||||
"silverstripe/subsites": ">=2,<2.6.1",
|
||||
"silverstripe/taxonomy": ">=1.3,<1.3.1|>=2,<2.0.1",
|
||||
"silverstripe/userforms": "<3",
|
||||
"silverstripe/userforms": "<3|>=5,<5.4.2",
|
||||
"silverstripe/versioned-admin": ">=1,<1.11.1",
|
||||
"simple-updates/phpwhois": "<=1",
|
||||
"simplesamlphp/saml2": "<1.10.6|>=2,<2.3.8|>=3,<3.1.4|==5.0.0.0-alpha12",
|
||||
|
@ -12486,14 +12525,14 @@
|
|||
"sumocoders/framework-user-bundle": "<1.4",
|
||||
"superbig/craft-audit": "<3.0.2",
|
||||
"swag/paypal": "<5.4.4",
|
||||
"swiftmailer/swiftmailer": ">=4,<6.2.5",
|
||||
"swiftmailer/swiftmailer": "<6.2.5",
|
||||
"swiftyedit/swiftyedit": "<1.2",
|
||||
"sylius/admin-bundle": ">=1,<1.0.17|>=1.1,<1.1.9|>=1.2,<1.2.2",
|
||||
"sylius/grid": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1",
|
||||
"sylius/grid-bundle": "<1.10.1",
|
||||
"sylius/paypal-plugin": ">=1,<1.2.4|>=1.3,<1.3.1",
|
||||
"sylius/resource-bundle": ">=1,<1.3.14|>=1.4,<1.4.7|>=1.5,<1.5.2|>=1.6,<1.6.4",
|
||||
"sylius/sylius": "<1.9.10|>=1.10,<1.10.11|>=1.11,<1.11.2",
|
||||
"sylius/sylius": "<=1.12.13",
|
||||
"symbiote/silverstripe-multivaluefield": ">=3,<3.0.99",
|
||||
"symbiote/silverstripe-queuedjobs": ">=3,<3.0.2|>=3.1,<3.1.4|>=4,<4.0.7|>=4.1,<4.1.2|>=4.2,<4.2.4|>=4.3,<4.3.3|>=4.4,<4.4.3|>=4.5,<4.5.1|>=4.6,<4.6.4",
|
||||
"symbiote/silverstripe-seed": "<6.0.3",
|
||||
|
@ -12541,7 +12580,7 @@
|
|||
"thelia/backoffice-default-template": ">=2.1,<2.1.2",
|
||||
"thelia/thelia": ">=2.1,<2.1.3",
|
||||
"theonedemon/phpwhois": "<=4.2.5",
|
||||
"thinkcmf/thinkcmf": "<=5.1.7",
|
||||
"thinkcmf/thinkcmf": "<6.0.8",
|
||||
"thorsten/phpmyfaq": "<3.2.2",
|
||||
"tikiwiki/tiki-manager": "<=17.1",
|
||||
"timber/timber": ">=0.16.6,<1.23.1|>=1.24,<1.24.1|>=2,<2.1",
|
||||
|
@ -12581,7 +12620,11 @@
|
|||
"uvdesk/community-skeleton": "<=1.1.1",
|
||||
"uvdesk/core-framework": "<=1.1.1",
|
||||
"vanilla/safecurl": "<0.9.2",
|
||||
"verbb/comments": "<1.5.5",
|
||||
"verbb/image-resizer": "<2.0.9",
|
||||
"verbb/knock-knock": "<1.2.8",
|
||||
"verot/class.upload.php": "<=2.1.6",
|
||||
"villagedefrance/opencart-overclocked": "<=1.11.1",
|
||||
"vova07/yii2-fileapi-widget": "<0.1.9",
|
||||
"vrana/adminer": "<4.8.1",
|
||||
"waldhacker/hcaptcha": "<2.1.2",
|
||||
|
@ -12589,6 +12632,7 @@
|
|||
"wallabag/wallabag": "<2.6.7",
|
||||
"wanglelecc/laracms": "<=1.0.3",
|
||||
"web-auth/webauthn-framework": ">=3.3,<3.3.4",
|
||||
"web-feet/coastercms": "==5.5",
|
||||
"webbuilders-group/silverstripe-kapost-bridge": "<0.4",
|
||||
"webcoast/deferred-image-processing": "<1.0.2",
|
||||
"webklex/laravel-imap": "<5.3",
|
||||
|
@ -12604,11 +12648,14 @@
|
|||
"woocommerce/woocommerce": "<6.6",
|
||||
"wp-cli/wp-cli": ">=0.12,<2.5",
|
||||
"wp-graphql/wp-graphql": "<=1.14.5",
|
||||
"wp-premium/gravityforms": "<2.4.21",
|
||||
"wpanel/wpanel4-cms": "<=4.3.1",
|
||||
"wpcloud/wp-stateless": "<3.2",
|
||||
"wpglobus/wpglobus": "<=1.9.6",
|
||||
"wwbn/avideo": "<=12.4",
|
||||
"xataface/xataface": "<3",
|
||||
"xpressengine/xpressengine": "<3.0.15",
|
||||
"yab/quarx": "<2.4.5",
|
||||
"yeswiki/yeswiki": "<4.1",
|
||||
"yetiforce/yetiforce-crm": "<=6.4",
|
||||
"yidashi/yii2cmf": "<=2",
|
||||
|
@ -12639,7 +12686,7 @@
|
|||
"zendframework/zend-http": "<2.8.1",
|
||||
"zendframework/zend-json": ">=2.1,<2.1.6|>=2.2,<2.2.6",
|
||||
"zendframework/zend-ldap": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.8|>=2.3,<2.3.3",
|
||||
"zendframework/zend-mail": ">=2,<2.4.11|>=2.5,<2.7.2",
|
||||
"zendframework/zend-mail": "<2.4.11|>=2.5,<2.7.2",
|
||||
"zendframework/zend-navigation": ">=2,<2.2.7|>=2.3,<2.3.1",
|
||||
"zendframework/zend-session": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.9|>=2.3,<2.3.4",
|
||||
"zendframework/zend-validator": ">=2.3,<2.3.6",
|
||||
|
@ -12700,7 +12747,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-04-19T20:04:33+00:00"
|
||||
"time": "2024-04-26T17:04:41+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/cli-parser",
|
||||
|
@ -13760,16 +13807,16 @@
|
|||
},
|
||||
{
|
||||
"name": "squizlabs/php_codesniffer",
|
||||
"version": "3.9.1",
|
||||
"version": "3.9.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git",
|
||||
"reference": "267a4405fff1d9c847134db3a3c92f1ab7f77909"
|
||||
"reference": "aac1f6f347a5c5ac6bc98ad395007df00990f480"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/267a4405fff1d9c847134db3a3c92f1ab7f77909",
|
||||
"reference": "267a4405fff1d9c847134db3a3c92f1ab7f77909",
|
||||
"url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/aac1f6f347a5c5ac6bc98ad395007df00990f480",
|
||||
"reference": "aac1f6f347a5c5ac6bc98ad395007df00990f480",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -13836,7 +13883,7 @@
|
|||
"type": "open_collective"
|
||||
}
|
||||
],
|
||||
"time": "2024-03-31T21:03:09+00:00"
|
||||
"time": "2024-04-23T20:25:34+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/browser-kit",
|
||||
|
|
|
@ -120,7 +120,8 @@ return static function (RouteCollectorProxy $group) {
|
|||
$group->get(
|
||||
'/download[.{extension}]',
|
||||
Controller\Api\Stations\Podcasts\Episodes\Media\GetMediaAction::class
|
||||
)->setName('api:stations:public:podcast:episode:download');
|
||||
)->setName('api:stations:public:podcast:episode:download')
|
||||
->add(Middleware\RateLimit::forDownloads());
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
|
@ -46,7 +46,7 @@ return static function (RouteCollectorProxy $group) {
|
|||
$group->get('/ondemand/download/{media_id}', Controller\Api\Stations\OnDemand\DownloadAction::class)
|
||||
->setName('api:stations:ondemand:download')
|
||||
->add(new Middleware\StationSupportsFeature(StationFeatures::OnDemand))
|
||||
->add(new Middleware\RateLimit('ondemand', 1, 2));
|
||||
->add(Middleware\RateLimit::forDownloads());
|
||||
|
||||
// NOTE: See ./api_public.php for podcast public pages.
|
||||
|
||||
|
|
|
@ -90,6 +90,27 @@
|
|||
</template>
|
||||
</form-group-field>
|
||||
|
||||
<form-group-field
|
||||
v-if="enableAdvancedFeatures"
|
||||
id="edit_form_backend_dj_port_secondary"
|
||||
class="col-md-6"
|
||||
:field="v$.backend_config.dj_port_secondary"
|
||||
input-type="number"
|
||||
:input-attrs="{ min: '0' }"
|
||||
advanced
|
||||
:label="$gettext('Customize DJ/Streamer Port Secondary')"
|
||||
>
|
||||
<template #description>
|
||||
{{
|
||||
$gettext('No other program can be using this port. Leave blank to automatically assign a port.')
|
||||
}}
|
||||
<br>
|
||||
{{
|
||||
$gettext('Note: the port after this one will automatically be used for legacy connections.')
|
||||
}}
|
||||
</template>
|
||||
</form-group-field>
|
||||
|
||||
<form-group-field
|
||||
id="edit_form_backend_dj_buffer"
|
||||
class="col-md-6"
|
||||
|
|
|
@ -20,32 +20,8 @@
|
|||
</ol>
|
||||
</nav>
|
||||
|
||||
<h4 class="card-title mb-1">
|
||||
{{ podcast.title }}
|
||||
<br>
|
||||
<small>
|
||||
{{ $gettext('by') }} <a
|
||||
:href="'mailto:'+podcast.email"
|
||||
target="_blank"
|
||||
>{{ podcast.author }}</a>
|
||||
</small>
|
||||
</h4>
|
||||
<podcast-common :podcast="podcast" />
|
||||
|
||||
<div class="badges my-2">
|
||||
<span class="badge text-bg-info">
|
||||
{{ podcast.language_name }}
|
||||
</span>
|
||||
<span
|
||||
v-for="category in podcast.categories"
|
||||
:key="category.category"
|
||||
class="badge text-bg-secondary"
|
||||
>
|
||||
{{ category.text }}
|
||||
</span>
|
||||
</div>
|
||||
<p class="card-text">
|
||||
{{ podcast.description }}
|
||||
</p>
|
||||
<div class="buttons">
|
||||
<a
|
||||
class="btn btn-warning btn-sm"
|
||||
|
@ -145,6 +121,7 @@ import {IconRss} from "~/components/Common/icons.ts";
|
|||
import Icon from "~/components/Common/Icon.vue";
|
||||
import PlayButton from "~/components/Common/PlayButton.vue";
|
||||
import useStationDateTimeFormatter from "~/functions/useStationDateTimeFormatter.ts";
|
||||
import PodcastCommon from "./PodcastCommon.vue";
|
||||
|
||||
const {params} = useRoute();
|
||||
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
<template>
|
||||
<h4 class="card-title mb-1">
|
||||
{{ podcast.title }}
|
||||
<span v-if="podcast.author">
|
||||
<br>
|
||||
<small>
|
||||
{{ $gettext('by') }} <a
|
||||
:href="'mailto:'+podcast.email"
|
||||
target="_blank"
|
||||
>{{ podcast.author }}</a>
|
||||
</small>
|
||||
</span>
|
||||
</h4>
|
||||
|
||||
<div class="badges my-2">
|
||||
<span class="badge text-bg-info">
|
||||
{{ podcast.language_name }}
|
||||
</span>
|
||||
<span
|
||||
v-for="category in podcast.categories"
|
||||
:key="category.category"
|
||||
class="badge text-bg-secondary"
|
||||
>
|
||||
{{ category.text }}
|
||||
</span>
|
||||
</div>
|
||||
<p class="card-text">
|
||||
{{ podcast.description }}
|
||||
</p>
|
||||
<p
|
||||
v-if="podcast.branding_config.public_custom_html"
|
||||
class="card-text"
|
||||
v-html="podcast.branding_config.public_custom_html"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import {ApiPodcast} from "~/entities/ApiInterfaces.ts";
|
||||
|
||||
const props = defineProps<{
|
||||
podcast: ApiPodcast
|
||||
}>();
|
||||
</script>
|
|
@ -33,33 +33,7 @@
|
|||
:loading="podcastLoading"
|
||||
lazy
|
||||
>
|
||||
<h4 class="card-title mb-1">
|
||||
{{ podcast.title }}
|
||||
<br>
|
||||
<small>
|
||||
{{ $gettext('by') }} <a
|
||||
:href="'mailto:'+podcast.email"
|
||||
class="alert-link"
|
||||
target="_blank"
|
||||
>{{ podcast.author }}</a>
|
||||
</small>
|
||||
</h4>
|
||||
|
||||
<div class="badges my-2">
|
||||
<span class="badge text-bg-info">
|
||||
{{ podcast.language_name }}
|
||||
</span>
|
||||
<span
|
||||
v-for="category in podcast.categories"
|
||||
:key="category.category"
|
||||
class="badge text-bg-secondary"
|
||||
>
|
||||
{{ category.text }}
|
||||
</span>
|
||||
</div>
|
||||
<p class="card-text">
|
||||
{{ podcast.description }}
|
||||
</p>
|
||||
<podcast-common :podcast="podcast" />
|
||||
</loading>
|
||||
</div>
|
||||
|
||||
|
@ -126,6 +100,7 @@ import useRefreshableAsyncState from "~/functions/useRefreshableAsyncState.ts";
|
|||
import AlbumArt from "~/components/Common/AlbumArt.vue";
|
||||
import PlayButton from "~/components/Common/PlayButton.vue";
|
||||
import useStationDateTimeFormatter from "~/functions/useStationDateTimeFormatter.ts";
|
||||
import PodcastCommon from "./PodcastCommon.vue";
|
||||
|
||||
const {params} = useRoute();
|
||||
|
||||
|
|
|
@ -39,6 +39,18 @@ class StationBackendConfiguration extends AbstractStationConfiguration
|
|||
$this->set(self::DJ_PORT, $port);
|
||||
}
|
||||
|
||||
public const DJ_PORT_SECONDARY = 'dj_port_decondary';
|
||||
|
||||
public function getDjPortSecondary(): ?int
|
||||
{
|
||||
return Types::intOrNull($this->get(self::DJ_PORT_SECONDARY));
|
||||
}
|
||||
|
||||
public function setDjPortSecondary(?int $port): void
|
||||
{
|
||||
$this->set(self::DJ_PORT_SECONDARY, $port);
|
||||
}
|
||||
|
||||
public const TELNET_PORT = 'telnet_port';
|
||||
|
||||
public function getTelnetPort(): ?int
|
||||
|
|
|
@ -27,4 +27,9 @@ final class RateLimit extends AbstractMiddleware
|
|||
|
||||
return $handler->handle($request);
|
||||
}
|
||||
|
||||
public static function forDownloads(): self
|
||||
{
|
||||
return new self('downloads', 30, 10);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -59,6 +59,27 @@ final class Liquidsoap extends AbstractLocalAdapter
|
|||
return $frontendPort + 5;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the port used for a second DJs/Streamers to connect to LiquidSoap for broadcasting.
|
||||
*
|
||||
* @param Station $station
|
||||
*
|
||||
* @return int The port number to use for this station.
|
||||
*/
|
||||
public function getStreamPortSecondary(Station $station): int
|
||||
{
|
||||
$djPortSecondary = $station->getBackendConfig()->getDjPortSecondary();
|
||||
if (null !== $djPortSecondary) {
|
||||
return $djPortSecondary;
|
||||
}
|
||||
|
||||
// Default to frontend port + 7
|
||||
$frontendConfig = $station->getFrontendConfig();
|
||||
$frontendPort = $frontendConfig->getPort() ?? (8000 + (($station->getId() - 1) * 10));
|
||||
|
||||
return $frontendPort + 7;
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute the specified remote command on LiquidSoap via the telnet API.
|
||||
*
|
||||
|
|
|
@ -1030,7 +1030,41 @@ final class ConfigWriter implements EventSubscriberInterface
|
|||
|
||||
# Live Broadcasting
|
||||
live = input.harbor({$harborParams})
|
||||
LIQ
|
||||
);
|
||||
|
||||
|
||||
// Live Secondary Port
|
||||
$streamPortSecondary = $this->liquidsoap->getStreamPortSecondary($station);
|
||||
// Paramètres pour live Secondary
|
||||
$harborSecondary_params = [
|
||||
'"' . self::cleanUpString($dj_mount) . '"', // Assurez-vous que $dj_mount est défini correctement
|
||||
'id = "input_streamer_live_secondary"', // ID unique pour live1
|
||||
'port = ' . $streamPortSecondary, // Utilisation de getStreamPort1 pour le port
|
||||
'auth = dj_auth', // Authentification, assurez-vous que 'dj_auth' est correctement défini
|
||||
'icy = true', // Paramètres ICY
|
||||
'icy_metadata_charset = "' . $charset . '"', // Charset pour les métadonnées ICY, assurez-vous que $charset est défini
|
||||
'metadata_charset = "' . $charset . '"', // Charset pour les métadonnées, assurez-vous que $charset est défini
|
||||
'on_connect = live_connected', // Action à la connexion
|
||||
'on_disconnect = live_disconnected', // Action à la déconnexion
|
||||
];
|
||||
|
||||
// Ajouter des paramètres de buffer si nécessaire
|
||||
$djBuffer = $settings->getDjBuffer(); // Assurez-vous que $settings est défini et a une méthode getDjBuffer
|
||||
if (0 !== $djBuffer) {
|
||||
$harborSecondary_params[] = 'buffer = ' . self::toFloat($djBuffer);
|
||||
$harborSecondary_params[] = 'max = ' . self::toFloat(max($djBuffer + 5, 10));
|
||||
}
|
||||
|
||||
// Concaténer les paramètres pour former la chaîne de configuration live1
|
||||
$harborSecondaryParams = implode(', ', $harborSecondary_params);
|
||||
|
||||
// Ajout de la configuration live1 au fichier de configuration LiquidSoap
|
||||
// Assurez-vous que cette ligne est placée au bon endroit dans votre script pour écrire dans le fichier de configuration
|
||||
$event->appendBlock("live1 = input.harbor({$harbor1Params})\n");
|
||||
|
||||
$event->appendBlock(
|
||||
<<<LIQ
|
||||
def insert_missing(m) =
|
||||
if m == [] then
|
||||
[("title", "{$liveBroadcastText}"), ("is_live", "true")]
|
||||
|
@ -1039,8 +1073,9 @@ final class ConfigWriter implements EventSubscriberInterface
|
|||
end
|
||||
end
|
||||
live = metadata.map(insert_missing, live)
|
||||
live1 = metadata.map(insert_missing, live1)
|
||||
|
||||
radio = fallback(id="live_fallback", track_sensitive=false, replay_metadata=true, [live, radio])
|
||||
radio = fallback(id="live_fallback", track_sensitive=false, replay_metadata=true, [live, live1, radio])
|
||||
|
||||
# Skip non-live track when live DJ goes live.
|
||||
def check_live() =
|
||||
|
|
|
@ -289,6 +289,12 @@ final class Configuration
|
|||
$station->setBackendConfig($backendConfig);
|
||||
}
|
||||
|
||||
$djPortSecondary = $backendConfig->getDjPortSecondary();
|
||||
if ($force || null === $djPortSecondary) {
|
||||
$backendConfig->setDjPortSecondary($basePort + 7);
|
||||
$station->setBackendConfig($backendConfig);
|
||||
}
|
||||
|
||||
$telnetPort = $backendConfig->getTelnetPort();
|
||||
if ($force || null === $telnetPort) {
|
||||
$backendConfig->setTelnetPort($basePort + 4);
|
||||
|
@ -374,6 +380,11 @@ final class Configuration
|
|||
$usedPorts[$port] = $stationReference;
|
||||
$usedPorts[$port + 1] = $stationReference;
|
||||
}
|
||||
if (!empty($backendConfig['dj_port_secondary'])) {
|
||||
$port = (int)$backendConfig['dj_port_secondary'];
|
||||
$usedPorts[$port] = $stationReference;
|
||||
$usedPorts[$port + 1] = $stationReference;
|
||||
}
|
||||
if (!empty($backendConfig['telnet_port'])) {
|
||||
$port = (int)$backendConfig['telnet_port'];
|
||||
$usedPorts[$port] = $stationReference;
|
||||
|
|
|
@ -32,6 +32,7 @@ final class StationPortCheckerValidator extends ConstraintValidator
|
|||
$portsToCheck = [
|
||||
'frontend_config_port' => $frontendConfig->getPort(),
|
||||
'backend_config_dj_port' => $backendConfig->getDjPort(),
|
||||
'backend_config_dj_port_secondary' => $backendConfig->getDjPortSecondary(),
|
||||
'backend_config_telnet_port' => $backendConfig->getTelnetPort(),
|
||||
];
|
||||
|
||||
|
|
Loading…
Reference in New Issue