Commit Graph

1139 Commits

Author SHA1 Message Date
Pierre Rudloff e93ab7ed13 feat: Use ZIP files for playlist archives
It is more widely supported and could be later used for #194
2019-04-21 22:34:45 +02:00
Pierre Rudloff 226f1b8380 fix: Don't use the $url property
It is not reliable
2019-04-21 22:20:05 +02:00
Pierre Rudloff ebed2cea88 refactor: Avoid varible name conflict 2019-04-21 22:19:44 +02:00
Pierre Rudloff 3ca84e144e refactor: We don't need this check anymore 2019-04-21 21:36:14 +02:00
Pierre Rudloff 61cb73dc59 refactor: Fix some types and unused variables 2019-04-21 19:51:16 +02:00
Pierre Rudloff d4e8e32cd6 test(phpunit): Disable testSetOptionsWithoutUpdate() on AppVeyor 2019-04-21 19:28:58 +02:00
Pierre Rudloff 28b99861c2 test(phpunit): Fix ConfigTest on Windows 2019-04-21 19:14:23 +02:00
Pierre Rudloff dc4eafe33f docs: Document magic properties 2019-04-21 19:10:37 +02:00
Pierre Rudloff 4fa604eec3 test(phpunit): Fix ConfigTest setup 2019-04-21 18:56:08 +02:00
Pierre Rudloff 51eaf192b1 refactor: Don't mix static and dynamic methods 2019-04-21 18:53:23 +02:00
Pierre Rudloff 06a631c892 fixup! refactor: New Video class 2019-04-21 18:35:24 +02:00
Pierre Rudloff 4c9af8ad1d refactor: New Video class
The news class provides a cleaner object-oriented logic

BREAKING CHANGE: The VideoDownload class has been removed and the Config constructor is now private
2019-04-21 18:30:02 +02:00
Pierre Rudloff feb8998188 fixup! Typo 2019-04-21 09:21:24 +02:00
Pierre Rudloff 3077872517 Typo 2019-04-21 01:05:19 +02:00
Pierre Rudloff ece51117e6 We don't need to do that anymore 2019-04-21 01:05:12 +02:00
Pierre Rudloff 586f20adb4 style(styleci): Lint 2019-04-21 00:58:04 +02:00
Pierre Rudloff ddc27a8a2c refactor: New PlaylistArchiveVideo class
Cleaner way to handle PlaylistArchiveStream info about videos
2019-04-21 00:56:12 +02:00
Pierre Rudloff f9bf3b8d47 refactor: Use a StreamInterface for PlaylistArchiveStream
It is much cleaner
2019-04-21 00:35:43 +02:00
Pierre Rudloff 5cb8bc30b3 Merge branch 'feature/travis' into develop 2019-04-20 12:28:48 +02:00
Pierre Rudloff ff95b93c20 fixup! ci(travis): Disable Twitter test on CI 2019-04-20 12:23:18 +02:00
Pierre Rudloff f4654c7229 test(phpunit): Improve locale-related tests 2019-04-20 12:17:52 +02:00
Pierre Rudloff 0283ef6928 ci(appveyor): Install a specific PHP version 2019-04-20 11:51:07 +02:00
Pierre Rudloff 12747ade59 ci(travis): Disable Twitter test on CI 2019-04-20 11:30:36 +02:00
Pierre Rudloff 07261db27b fix: Don't call PlaylistArchiveStream parent constructor
Because it messes with the output buffer

Fixes #215
2019-04-20 11:27:13 +02:00
Pierre Rudloff 7ab4c55550 docs: Add comments to some tricky parts 2019-04-20 01:19:55 +02:00
Pierre Rudloff c9cc1907ac ci(appveyor): Force phpunit 6 2019-04-20 01:00:04 +02:00
Pierre Rudloff 4537b661e1 fix: Close playlist streams correctly 2019-04-20 00:37:49 +02:00
Pierre Rudloff cd623bfa36 ci(appveyor): Fix path to PHP config 2019-04-19 23:30:44 +02:00
Pierre Rudloff f5408d409a style(csslint): Remove unused CSS class 2019-04-19 23:28:57 +02:00
Pierre Rudloff 71200c80bc test(phpunit): Disable Vimeo tests on CI 2019-04-19 23:28:54 +02:00
Pierre Rudloff 9949a0d32b
Merge pull request #213 from hiwelo/accessibility-improvements
Accessibility improvements
2019-04-19 23:11:39 +02:00
hiwelo a5fbb74094
Fixes attributes used to link label & form inputs 2019-04-18 23:04:22 +02:00
Damien Senger 596d5e2994
Adds and fixes labels for video.tpl inputs
According to the WCAG success criterias 1.3.1 (Info and relationships),
3.3.2 (Labels or Instructions) and 4.1.2 (Name, Role, Value), labels
or instructions are required when content requires user input.

The bit rate label was replaced by a real label announcing the purpose
of the text input _Custom bitrate_. The existing unit indication is now
using a `<span>` attribute and it is linked to the input using an
`aria-describedby` attribute.

Also, the lack of label for the format conversion selectbox is fixed
by using a specific `aria-label` attribute.

Resources:
- https://www.w3.org/TR/WCAG21/#labels-or-instructions
- https://www.w3.org/TR/WCAG21/#info-and-relationships
- https://www.w3.org/TR/WCAG21/#name-role-value
- https://www.w3.org/TR/WCAG20-TECHS/H44.html
- https://www.w3.org/WAI/WCAG21/Understanding/labels-or-instructions.html
- https://www.w3.org/TR/WCAG20-TECHS/ARIA1.html
2019-04-13 13:18:32 +02:00
Damien Senger ce07a621e5
Improves a11y of password protected video form
According to the WCAG success criterias 1.3.1 (Info and relationships),
3.3.2 (Labels or Instructions) and 4.1.2 (Name, Role, Value), labels
or instructions are required when content requires user input.

To do so, this commit adds a label for the password input and hide it
with a CSS visually-hidden method to not alter the design.

Resources:
- https://www.w3.org/TR/WCAG21/#labels-or-instructions
- https://www.w3.org/TR/WCAG21/#info-and-relationships
- https://www.w3.org/TR/WCAG21/#name-role-value
- https://www.w3.org/TR/WCAG20-TECHS/H44.html
- https://www.w3.org/WAI/WCAG21/Understanding/labels-or-instructions.html
- https://gomakethings.com/hidden-content-for-better-a11y/
2019-04-13 13:11:09 +02:00
Damien Senger 726e9bf5c1
Adds a label to audio options inputs
According to the WCAG success criterias 1.3.1 (Info and relationships),
3.3.2 (Labels or Instructions) and 4.1.2 (Name, Role, Value), labels
or instructions are required when content requires user input.

To do so, this commit adds a label for the "From" and the "To" inputs
displayed when a user chose to get the audio of a file only.

Resources:
- https://www.w3.org/TR/WCAG21/#labels-or-instructions
- https://www.w3.org/TR/WCAG21/#info-and-relationships
- https://www.w3.org/TR/WCAG21/#name-role-value
- https://www.w3.org/TR/WCAG20-TECHS/H44.html
- https://www.w3.org/WAI/WCAG21/Understanding/labels-or-instructions.html
2019-04-13 12:57:42 +02:00
Damien Senger 27543f9024
Updates the doctype to be lowercase 2019-04-13 12:51:49 +02:00
Damien Senger 60350747a5
Adds a label to social sharing links
According to the WCAG (success criterias 2.4.4 and 4.1.2), the purpose
of each link should be determined from the link text alone or from the
link text together with its programmatically determined link context.

In this case, because there is no text content, we are using
`aria-label` to have an explicit purpose announced to users of
assisting technologies.

Resources:
- https://dequeuniversity.com/rules/axe/3.2/link-name
- https://www.w3.org/TR/WCAG21/#link-purpose-in-context
- https://www.w3.org/TR/WCAG20-TECHS/ARIA8.html
2019-04-13 12:19:11 +02:00
Pierre Rudloff 8229417fc2 build(composer): Dependencies update 2019-04-10 21:44:57 +02:00
Pierre Rudloff 7583eb1f5f build(composer): Dependencies update
mathmarques/smarty-view
2019-03-31 17:20:20 +02:00
Pierre Rudloff 06f665bdad build(yarn): Add grunt-phpstan 2019-03-31 17:18:57 +02:00
Pierre Rudloff ac3b768b50 refactor(phpstan): Various code improvements 2019-03-31 16:25:17 +02:00
Pierre Rudloff 80b44af772 style: Clarify long conditions 2019-03-30 18:33:05 +01:00
Pierre Rudloff 5835bd67a5 refactor(phpstan): Various code improvements 2019-03-30 18:21:45 +01:00
Pierre Rudloff 0ed788560c refactor: PlaylistArchiveStream should call parent constructor 2019-03-30 18:10:51 +01:00
Pierre Rudloff f315343798 refactor: Cleanup best format logic
Reuse $defaultFormat everywhere instead of duplicating conditions
2019-03-27 00:25:02 +01:00
Pierre Rudloff 506584ceee fix: Specify allowed protocols explicitely
"^=http" also catches http_dash_segments
2019-03-24 15:13:01 +01:00
Pierre Rudloff 2ebe1a5bb0 build(composer): Upgrade rg3/youtube-dl to 2019.03.18
To fix an issue with Vimeo videos
2019-03-24 14:26:11 +01:00
Pierre Rudloff 5594af95c1 build(composer): Dependencies update
symfony/yaml, symfony/process, symfony/var-dumper, phpunit/phpunit, heroku/heroku-buildpack-php,
mockery/mockery
2019-02-14 16:16:56 +01:00
Pierre Rudloff 93878220b5 fix(playlist): Unset title variable 2019-01-25 21:16:58 +01:00
Pierre Rudloff dd034743a3 build(grunt): Don't include unused rinvex/countries files in release 2019-01-20 11:39:06 +01:00