Commit Graph

1198 Commits

Author SHA1 Message Date
Pierre Rudloff 790677d13f build(composer): Dependencies update
symfony/yaml, symfony/var-dumper, symfony/process, squizlabs/php_codesniffer
2019-04-22 15:01:53 +02:00
Pierre Rudloff 3b43018b29 docs: Missing docblocks 2019-04-22 00:05:53 +02:00
Pierre Rudloff 5bae668652 test(phpunit): Fix tests that use convert mode 2019-04-21 23:27:36 +02:00
Pierre Rudloff 1edd623c7f fix: Enforce convert mode
So it can't be used by adding "&audio=on" manually
2019-04-21 23:16:27 +02:00
Pierre Rudloff 70475f83d4 feat: Add a way to convert an entire playlist
Closes #194
2019-04-21 22:56:43 +02:00
Pierre Rudloff 4db519c2ef fixup! fix: Don't use the $url property 2019-04-21 22:40:54 +02:00
Pierre Rudloff 97a7830196 refactor: Reuse Video::getHttpResponse() where possible 2019-04-21 22:38:27 +02:00
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 ff5f518c73 ci(heroku): Install required locales
See https://elements.heroku.com/buildpacks/heroku/heroku-buildpack-locale
2019-04-20 12:47:31 +02:00
Pierre Rudloff 4b92015063 ci(heroku): Force Python version
In order to be compatible with the now heroku-18 stack
2019-04-20 12:31:49 +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